freeman 发表于 2023-6-30 14:14:45

EEPROM中定义数据 与 ISP烧录的问题

本帖最后由 freeman 于 2023-6-30 14:23 编辑

版主你好:
             STC8G1K08 Flash大小为8K,8K后面紧跟着EEPROM空间,依据如下
            

             我在0x2000出定义了数据,按理说应该在EEPROM的0地址出,怎么ISP烧录的时候却不在EEPROM的0地址处
             我的操作如下:
            

            ISP烧录时
         
         

            两个问题:
         1. Keil生成的hex文件里面只用到了前面4K左右的代码区,和0x2000处的定义的数据, STC-ISP 软件会把其他没用到的flash到0x2000
               之间的填充00或者ff,烧录后会不会覆盖特殊参数?或者如何操作STC-ISP ,让其只烧录使用到的flash

            2.0x2000处定义的数据,为什么在STC-ISP上却不在EERPOM0地址处?












hsrzq 发表于 2023-6-30 15:15:44





1. 烧录后会不会覆盖特殊参数?



2. 0x2000处定义的数据,为什么在STC-ISP上却不在EERPOM0地址处?
为了让开唯一ID,整体偏移了7字节

freeman 发表于 2023-6-30 16:02:46

本帖最后由 freeman 于 2023-6-30 16:09 编辑

整体偏移了7个字节,STC-ISP EEPROM 显示的数据是从1FF9开始的喽,但是我程序里定义的读取数据的地址是 0x2000,程序还会修改0x2000上的数据,我预定义的数据 怎么办才能烧录后,直接在0x2000处读取到呢?
flash的内容偏移到EEPROM里了,我感觉不合理,程序里面定义的数据明明是在0x2000处,STC-ISP软件却给偏移到0x2007处。

szhsbsiq 发表于 2023-7-20 17:07:06

楼主问题解决没,我也是读可以写不行,

泰勒soc 发表于 2023-8-24 09:20:52

szhsbsiq 发表于 2023-7-20 17:07
楼主问题解决没,我也是读可以写不行,

写的前提条件是要擦除这片扇区,flash只能以扇区为单位写,不能以字节为单位写。

梁工 发表于 2023-8-24 10:25:33

8K程序,最大地址为8191(0x1FFF),定义在CODE中的常数不能超过0x1FFF。EEPROM是不能用CODE来定义的。

freeman 发表于 2023-8-25 16:39:34

梁工 发表于 2023-8-24 10:25
8K程序,最大地址为8191(0x1FFF),定义在CODE中的常数不能超过0x1FFF。EEPROM是不能用CODE来定义的。 ...

谢谢支持,这次是明白了!

泰勒soc 发表于 2023-9-21 16:51:01

梁工 发表于 2023-8-24 10:25
8K程序,最大地址为8191(0x1FFF),定义在CODE中的常数不能超过0x1FFF。EEPROM是不能用CODE来定义的。 ...

在烧写程序时,怎么同时去写EEPROM一些数据

梁工 发表于 2023-9-21 17:48:01

泰勒soc 发表于 2023-9-21 16:51
在烧写程序时,怎么同时去写EEPROM一些数据

下载时打开EEPROM文件或在EEPROM文件中输入数据



泰勒soc 发表于 2023-9-21 19:13:47

梁工 发表于 2023-9-21 17:48
下载时打开EEPROM文件或在EEPROM文件中输入数据

有没有能读单片机eeprom的功能
页: [1] 2
查看完整版本: EEPROM中定义数据 与 ISP烧录的问题