Склихасовский (17.02.2010 21:26, просмотров: 2521)
:-) где только можно пытаюсь спросить 0Ю (может здесь повезет?)
Вопрос по поводу софтового программирования FLASH памяти
не могу заставить NVM контроллер ни то что записать - стреть не могу.
Хочу держать кило таблицы в памяти программ Xmega128a3
3 часа бъюсь? ни каких реакций от контроллера NVM
Для теста пытаюсь тупо очистить страницу памяти по адресу 0 (пускай затрет код - мне для теста)
---------------
Код
.macro wait_nvm
_wait_nvm:
lds temp,NVM_STATUS
sbrc temp,NVM_NVMBUSY_bp
rjmp _wait_nvm
stsi NVM_CMD,0
.endm
--------------
Код
LDZ 0X0000; addr page
CLR TEMP
OUT CCP_RAMPZ,TEMP
WAIT_NVM
STSI NVM_CMD,$2b;NVM_CMD_ERASE_WRITE_FLASH_PAGE_gc;2F
STSI CPU_CCP,CCP_SPM_gc
SPM
RET
--------------
И тишина - не пишет не стирает ничего!!!
Контролирую все это дело из студии - есть сомнение:
а рельно ли в окне PROGRAM данные берутся из камня?
может тупо из хекса идет отбражение?
---------
Вот ещё полистал, как всегда в последнюю очередь, ERRATA
правда вроде касается xmega256а3 - если правильно понял
так похожая проблема - решается введением проц в идле режим.