![]() |
|
Модераторы: PILOT, ManiaK, Mazzi |
![]()
|
|
| Denver |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 4.2.2005 Репутация: нет Всего: нет |
Требуется читать/записывать данные в память программ.
Нашел литературу про соответствующие команды LPM и SPM, но не получается их использовать, т.к. необходимо написать программу-загрузчик. Как описывается загрузчик и где он должен находиться? Может кто подскажет? Могу выложить пример из книги. |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 3 Всего: 146 |
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Denver |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 4.2.2005 Репутация: нет Всего: нет |
короче, вот так не получается
ldi zh,$FF ldi zl,$00 ldi r16,7 mov r0,r16 clr r1 ldi r16,3 sts SPMCR,r16 spm ldi r16,1 sts SPMCR,r16 spm затем читаю от туда же ldi zh,$FF ldi zl,$00 lpm sts SN+1,r0 adiw zl,1 lpm sts SN,r0 и в SN:SN+1 записывается 65535(FF), а должно быть 00007 В чем ошибка? Хотя так написанно в книге Может еще что то надо? |
|||
|
||||
| ShadeSt |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 256 Регистрация: 9.8.2005 Где: Россия, г. Ставро поль Репутация: 4 Всего: 7 |
Если я правильно ошибаюсь, загрузчик должен находится в области выделенной под него.
Область эта выбирается конфигурацией контроллера, и может быть либо "вверху", либо "внизу" памяти, размер соответственно тоже выбирается, а так же конфигурируется адрес с которого начнется исполнение программы либо 0h либо начало блока загрузчика, если он находится "внизу". По идее писать память программ можно, только из области загрузчика, хотя тут я могу ошибаться. Почитай DataSheet, там должен быть отдельный раздел про это. И посмотри на boot.h /avr_boot Bootloader Support Utilities/, если есть WinAvr. -------------------- It's nice to be importand, but it's more importand to be nice © Scooter |
|||
|
||||
| Denver |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 4.2.2005 Репутация: нет Всего: нет |
А по конкретней можно! Как и где, если можно с примером.
Неужели никто не писал в память программ? Ну очень нужно. |
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: 20 Всего: 54 |
-------------------- тут могла быть Ваша реклама... |
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: 20 Всего: 54 |
-------------------- тут могла быть Ваша реклама... |
|||
|
||||
| ShadeSt |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 256 Регистрация: 9.8.2005 Где: Россия, г. Ставро поль Репутация: 4 Всего: 7 |
Цитаты выше взяты из мануала к ATmega8535. Почитай сначала мануал, что бы понять как это все работает.. хотя уже приблизительно должно быть понятно направление в котором надо копать. SPM инструкции не будут работать если их выполнять из памяти программ. Сконфигурируй контроллер так, что бы твой код, который должен писать в память, был в области загрузчика, тогда все будет нормально. -------------------- It's nice to be importand, but it's more importand to be nice © Scooter |
||||||
|
|||||||
![]()
|
| Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)" | |
|
|
На данный раздел помимо Правил форума распространяются текже следующие правила:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |