单片机的数据存储问题
我现在在用syncmos的SM59R09A3,有几个概念问题还是搞不懂:1.我需要在单片机内保存数据(断电可保留的那种保存),是存在EEPROM中,还是RAM,或者是IS...
我现在在用syncmos 的SM59R09A3,有几个概念问题还是搞不懂:
1.我需要在单片机内保存数据(断电可保留的那种保存),是存在EEPROM中,还是RAM,或者是ISP CODE 中?(我看了半天,觉得是存在EEPROM中,但EEPROM中前面的一部分空间不能用,还要避开前面的)另外,可否进行单独的Byte进行读或擦或写?
2看PDF文档,RAM有256+2KB,这什么意思? ISP CODE 有4KB, ISP service program最大可设计为4KB,未用到部分可用做CODE FLASH 用?这又什么意思?CODE FLASH 是指用来存数据还是程序区? 展开
1.我需要在单片机内保存数据(断电可保留的那种保存),是存在EEPROM中,还是RAM,或者是ISP CODE 中?(我看了半天,觉得是存在EEPROM中,但EEPROM中前面的一部分空间不能用,还要避开前面的)另外,可否进行单独的Byte进行读或擦或写?
2看PDF文档,RAM有256+2KB,这什么意思? ISP CODE 有4KB, ISP service program最大可设计为4KB,未用到部分可用做CODE FLASH 用?这又什么意思?CODE FLASH 是指用来存数据还是程序区? 展开
2个回答
展开全部
1.保存在EEPROM中,RAM掉电会丢失,想保存在CODE段FLASH中,需具备IAP功能。
EEPROM应该可以进行字节读、写。
2. 2KB应该是片内外部SRAM,与256字节的RAM读写指令不同,在IAR C编译器中定义应加__ixdata。ISP CODE理论上不用于用户CODE FLASH,在芯片出厂时会封装程序,以用于支持芯片在系统仿真。CODE FLASH目的用于存储程序代码,也可存储常量数据。
EEPROM应该可以进行字节读、写。
2. 2KB应该是片内外部SRAM,与256字节的RAM读写指令不同,在IAR C编译器中定义应加__ixdata。ISP CODE理论上不用于用户CODE FLASH,在芯片出厂时会封装程序,以用于支持芯片在系统仿真。CODE FLASH目的用于存储程序代码,也可存储常量数据。
追问
1.保存在EEPROM中,这个明白了,不有1疑问:片子在提供ISP时的isp service program 是不是占用了部分EEPROM空间?我是所以ISP service program程序如果有用到EEPROM空间,我一乱用EEPROM会导致今后这个IC不能再升级程序之类
追答
特意下了 SM59R09A3的datasheet看。
这片子内部没有真正的EEPROM,只是说FLASH可当作EEPROM用。
芯片内部带ISP控制器,可以对FLASH进行字节读写和页擦除操作。
ISP用到的指令是由硬件处理的,但是读写程序需要用户来编写。
用户可以将对FLASH的读写程序放置在ISP CODE区,也可以放在FLASH其它地方。放置在ISP CODE区的好处是在FLASH擦除时,能够不擦除ISP CODE区,以实现在系统程序升级等操作。
用户可以设置ISP CODE区的大小,也可以不用ISP CODE区保存程序。64K减去ISP CODE区的空间,都可用作程序存储空间或常量数据存储空间。
出厂的该芯片内部ISP CODE区应该是没有程序的。应用FLASH存储数据,应先设置好CODE段的空间范围,以预留空间用于存储数据。你做的工程若不用具备在线升级功能,将ISP CODE段作为数据存储区是最好的选择,因为烧写程序时,可不擦除ISP CODE段。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-12-30
展开全部
看看说明书
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询