在IAR for AVR中定义一个e2prom变量用__eeprom定义就可以了,如:
uint8
__eeprom a[2] = {0x01, 0x02};
这样就可以对变量a进行读写操作了,IAR会自动调用__EEGET和__EEPUT函数对e2prom操作。
但是由此引发的问题是在Release时,选择Intel-externed格式时,会出现如下错误:
Error[e133]: The output format intel-extended cannot handle multiple
address spaces. Use format variants (-y -O) to specify which address space
is wanted
明显的:Intel hex格式肯定是不能同时包含FLASH和EEPROM的数据内容的。
解决办法是在linker的EXTRA OPTION加
-y(CODE) |
Release时就可以在Release\Exe中生成ProjName_flash.hex和ProjName_eeprom.hex两个文件。用PonyProg2000分别装人这两个文件来烧写,就可以了。
文章评论(0条评论)
登录后参与讨论