神农鼎
发表于 2023-1-19 10:30:06
我试验了7.3.12U,7.3.13都相同的故障
===不是故障,是如何理解应用场景,STC8G1K17, 全部17K都是程序区,
===下载程序时强制擦除全部用户程序区是传统主流思维
STC8G1K17 从固件版本 V7.3.13开始,
可以在烧录程序时设置下一次下载程序时,
不插除你上一次从程序区划分出来的DATA-FLASH/EEPROM区
如上图,默认设置是擦除 你上一次从程序区划分出来的DATA-FLASH/EEPROM区 的
如上图,才是
在烧录程序时设置下一次下载程序时,
不插除你上一次从程序区划分出来的DATA-FLASH/EEPROM区
乘风飞扬
发表于 2023-1-19 11:24:38
本帖最后由 乘风飞扬 于 2023-1-19 11:26 编辑
yycl 发表于 2023-1-18 23:36
我的问题不是重新下载时格式化用户EEPROM,是每次一上电就格式化了,以前使用STC12,15从来没有此问题,例如S ...
IAP类型芯片旧版固件每次烧录时都会擦除整个Flash(包括EEPROM空间)。非IAP类型(固定EEPROM大小芯片)可以在烧录时通过硬件选型设置烧录时是否需要擦除EEPROM。
上电时芯片是不会自动擦除EEPROM的,只能通过程序指令进行擦写EEPROM。你直接烧录附件例程里面的hex文件到芯片里试试,每次上电读取EEPROM指定地址内容,然后擦除EEPROM,再将读取的数据+1写回原地址。这样每次上电通过串口打印出来的数据都会在上次基础上加1.
yycl
发表于 2023-1-19 21:38:43
谢谢指导,但是,我使用是是有4KEEPROM的STC8G1K08A,写入的内容,只要不掉电,读出都是正确的,只要掉电,上电后读出全是FF,芯片有7.3.12u,也有7.3.13.让我十分费解。也是通过串口及串口助手查看EEPROM数据,问题出在什么地方。
神农鼎
发表于 2023-1-19 21:49:07
问题可能 你寄存器地址错,EEPROM地址错,命令错,程序错,你以为写进去了,实际 MCU就没理你,继续往下执行了
神农鼎
发表于 2023-2-7 10:55:51
案例:
客户急用 STC8A8K32D4-45I-LQFP44,现货不够,
===有足够的STC8A8K48D4-45I-LQFP44和STC8A8K64D4-45I-LQFP44
解决方案:
1,用STC8A8K48D4-45I-LQFP44 取代 STC8A8K32D4-45I-LQFP44,只要 16K EEPROM/Data-Flash够用;
2,用最新固件的STC8A8K64D4-45I-LQFP44 取代 STC8A8K32D4-45I-LQFP44,
烧录时选择 EEPROM大小为32K, 不选择下次程序时将EEPROM一并擦除
要确保采购的STC8系列MCU的固件版本是最新的如下或以后的版本
https://www.stcaimcu.com/data/attachment/forum/202301/14/101737yhwbduhdzz3007b7.png
_奶咖君_
发表于 2023-4-6 17:19:40
有一个问题 STC8AK64D4 固件版本号 是7.4.3U 算是7.4.3以后的型号么? 我这里的问题是,,设置1K的EEPROM区,取消勾选 下次下载擦除EEPROM区。然后出现有其中一个扇区的数据擦除,另一个扇区数据没被擦除的情况。
lhj
发表于 2024-4-6 16:21:23
神农鼎 发表于 2023-1-14 10:02
之前将STC8H1K28的28K程序区全部擦除,这是传统思维,
现在的新固件版本,可以不擦除你从程序区自己划分的E ...
你好,STC8H1K08T这个芯片EEPROM可以不擦除整 个扇区再写吗?我想单独一个地址操作,不影响到扇区的其它地址。
神农鼎
发表于 2024-4-6 16:45:34
内容是 FFH, 就可以写成功,否则不会成功,要擦除整个芯片
vip2128
发表于 2024-10-6 15:31:41
乘风飞扬 发表于 2023-1-19 11:24
IAP类型芯片旧版固件每次烧录时都会擦除整个Flash(包括EEPROM空间)。非IAP类型(固定EEPROM大小芯片)可 ...
stc8g1g08a 7.3.13u ,用范例的串口送出eeprom ,打印都是空白, 下载读写EEPROM测试程序-数据自增-通过串口1输出.zip 可以打印,改多种fosc波特率11.0592 9600都正常,
每次打印都是03开始,开关几次能叠加,u8 Temp; 不是从0开始打印?
关闭下载擦除eeprom 刷写,打印又是从03开始
乘风飞扬
发表于 2024-10-8 09:35:24
vip2128 发表于 2024-10-6 15:31
stc8g1g08a 7.3.13u ,用范例的串口送出eeprom ,打印都是空白, 下载读写EEPROM测试程序-数据自增-通 ...
硬件选项设置IRC频率22.1184MHz,其他设置保持默认,直接烧录例程里面的Hex文件到芯片里试试。
除非上次写入的数据是03,如果下载擦除EEPROM后第一次打印应该从FF开始。