原创 IAR中定义EEPROM的几个问题

2010-4-19 15:21 7071 9 7 分类: MCU/ 嵌入式


IAR中定义EEPROM的几个问题



       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格式肯定是不能同时包含FLASHEEPROM的数据内容的。



       解决办法是在linkerEXTRA OPTION




-y(CODE)

-Ointel-extended,(CODE)=$EXE_DIR$\$PROJ_FNAME$_flash.hex

-Ointel-extended,(XDATA)=$EXE_DIR$\$PROJ_FNAME$_eeprom.hex




       Release时就可以在Release\Exe中生成ProjName_flash.hexProjName_eeprom.hex两个文件。PonyProg2000分别装人这两个文件来烧写,就可以了。



PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
9
关闭 站长推荐上一条 /3 下一条