реклама на сайте
подробности

 
 
> В IAR 4.20a, при старте программы с вектора сброса нужно ли очищать память SRAM (записью нулей) в контроллере?
Alex ma
сообщение Aug 19 2006, 06:35
Сообщение #1


Частый гость
**

Группа: Новичок
Сообщений: 81
Регистрация: 9-08-06
Пользователь №: 19 445



Например CodeVisionAVR,если проект создается в Wizarde, добавляет код очистки ОЗУ:
CLEAR SRAM
000024 e080 LDI R24,LOW(0x400)
000025 e094 LDI R25,HIGH(0x400)
000026 e6a0 LDI R26,0x60
__CLEAR_SRAM:
000027 93ed ST X+,R30
000028 9701 SBIW R24,1
000029 f7e9 BRNE __CLEAR_SRAM
В принципе и добавляет код очистки рабочих регистров:
CLEAR R2-R14
00001e e08d LDI R24,13
00001f e0a2 LDI R26,2
000020 27bb CLR R27
__CLEAR_REG:
000021 93ed ST X+,R30
000022 958a DEC R24
000023 f7e9 BRNE __CLEAR_REG
Проблема в том как запихнуть код очитки ОЗУ в IAR 4.20a, после старта программы с вектора сброса. А нужно ли вообще?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alex ma
сообщение Aug 19 2006, 15:51
Сообщение #2


Частый гость
**

Группа: Новичок
Сообщений: 81
Регистрация: 9-08-06
Пользователь №: 19 445



Раньше программировал на ассемблере, и один раз долго отлавливал глюк. Оказалось все просто, программа большая(относительно), проблема была и за инициализации переменной в ОЗУ нулями. Тут перешел на СИ CodeVisionAVR(Присматриваюсь к IAR). Действительно если, компилятор отслеживает инициализацию переменных, проблем быть не должно, в общем ассемблер заставляет очень осторожно работать с данными - начинаешь верить в чудеса, перешел на си сомнения остались. Привык просто видеть чистое ОЗУ. biggrin.gif
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 21:05
Рейтинг@Mail.ru


Страница сгенерированна за 0.01503 секунд с 7
ELECTRONIX ©2004-2016