STC8A8K64D4的EEPROM地址问题
用STC8A8K64D4这个芯片做远程升级。ISP程序用前10K,4K分配给存储数据用。
剩下的50K分配给用户程序,开始的扇区序号是20。
烧写ISP程序的时候选择用户EEPROM的大小为54K。
然后把用户程序用远程升级的方式写进去。
计划用户EEPROM的最后一个扇区存储设备序列号,读写地址是128-20=108个扇区,序号是107。
地址是107*512=0xFE00。
用户程序也需要读取这个设备序列号发送给服务器,建立连接。
现在的问题是,用户程序读不到这个序列号,分析原因可能是地址不对。
由于EEPROM的读写是相对方式,相对ISP程序的第107个扇区,那么对于用户程序来说,
这个存储了设备序列号的扇区是哪一个呢?
相对访问方式的地址是多少?
那你不要用IAP读取,直接用MOVC读取呗,参考书里面有
实际序列号什么时候写入的?
ISP和APP区分别读出什么内容?
打包上传下工程看看?
烧写ISP程序的时候选择用户EEPROM的大小为54K。
那么这54K的空间IAP地址从0x0000~0xD7FF。
存储数据地址根据在EEPROM空间划分的位置进行判断。
页:
[1]