标题: STC单片机重新烧录程序时,EEPROM被擦除问题 [打印本页]

作者: 最后一个夏天1    时间: 2022-4-27 20:35
标题: STC单片机重新烧录程序时,EEPROM被擦除问题
大佬们,我用的单片机是IAP15W4K58S4,最近在学EEPROM,我配置好以后,可以掉电保存,但是如果我重现烧录程序,eeprom保存的数据就会被清除。这个单片机没有专门的EEPROM,和程序flash共用存储空间

1.png (76.68 KB, 下载次数: 59)

1.png

作者: Y_G_G    时间: 2022-4-27 21:01
下载器下载的时候是有选项的,你取消就可以了



作者: 188610329    时间: 2022-4-27 21:10
没办法的, IAP系列,相当于没有 EEPROM 空间。
你所有的 IAP指令,其实都是在写 Flash(程序空间)
所以,你以为的存在Eeprom 内的东西,其实都是存在 Flash 即程序空间内,所以,重新下载,一定会清除,所以,如果你有需要下载保存已经产生的数据,那么建议用 STC系列,即便STC8系列的可以自由分割 程序空间和Eeprom 空间的版本,只要不改变Eeprom 划分的尺寸,就不会擦除Eeprom 内的东西。
作者: wulin    时间: 2022-4-27 21:21
IAP15W4K58S4没有专门的EEPROM区,STC-ISP下载用户程序时要先将全部用户程序区FLASH擦除,所以无法保留上次的EEPROM数据。STC-ISP的硬件选项中此项无效。通常可以在程序中为下载用户程序后首次上电在指定作为EEPROM的地址写入初始数据。
作者: 最后一个夏天1    时间: 2022-4-27 21:39
Y_G_G 发表于 2022-4-27 21:01
下载器下载的时候是有选项的,你取消就可以了

不行啊,下面大佬给出答复了,感谢老哥。
作者: 最后一个夏天1    时间: 2022-4-27 21:40
188610329 发表于 2022-4-27 21:10
没办法的, IAP系列,相当于没有 EEPROM 空间。
你所有的 IAP指令,其实都是在写 Flash(程序空间)
所以 ...

这样啊,谢谢大佬,明白了。
作者: yzwzfyz    时间: 2022-4-28 12:30
此款只有程序用FLASH,但允许你在线改写。
保密的原因,烧写时,是全擦除。
作者: 188610329    时间: 2022-4-28 14:16
yzwzfyz 发表于 2022-4-28 12:30
此款只有程序用FLASH,但允许你在线改写。
保密的原因,烧写时,是全擦除。

更正一下,所谓的保密原因只是老板给自己脸上贴金,就是设计缺陷,所以到了8系,再无iap系列,全是可自由分割eeprom大小的stc系列。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1