接到一个客户反映:使用STM8S207R8,FLASH是64K。使用IAR编译自己的程序的时候,超出64K,编译器报错。将编译器工程下的芯片型号设置成STM8S207RB,128K,然后编译完成。直接下载程序到64K这款IC,居然成功了。然后所有功能运行都还正常。 问:1.编译器不认具体芯片的型号。这个核实过了。 2.编译器编译完成已经超过芯片自身的flash容量了,还有超出的数据单独下的。据说超出总共近20K。为什么程序还能正常运行? 3.这样做有什么风险? PS:ST这芯片有这么不靠谱吗?太神奇了,期待大神解答! |
测试标签123
IAR FOR ARM和IAR FOR STM8无法共存,
STM8L052,液晶内部电源怎么用?
STM8S103飞线外接芯片,I2C不能得到slaveAddress应答,通讯失败。
STM8S105C6T6 UART2串口,能接收数据,不能发送数据
STM8S105K4 串口2 无奇偶校验,也能接收 偶校验的 数据
在STM8S的IAP使用中断和APP使用中断问题
STM8L151 SMBUS设计
STM8S103F复位异常
STM8L的LCD调试时不亮
RE:STM8S207RB 64K的芯片烧进去近100K的程序!
可以开优化,让编译器帮你优化一下,这样减少代码。
RE:STM8S207RB 64K的芯片烧进去近100K的程序!
RE:STM8S207RB 64K的芯片烧进去近100K的程序!
如果是HEX的话,大小应该在50K左右。因为同系列的芯片寄存器是一样的,而寄存器一般都是在RAM中,所以不会发生寄存器操作不成功的问题。
具体写入的空间可以看手册的FALSH这一章。
回复:STM8S207RB 64K的芯片烧进去近100K的程序!
这个可以自己测试一下,另外,你说的100K是bin文件还是HEX?
如果是HEX的话,大小应该在50K左右。因为同系列的芯片寄存器是一样的,而寄存器一般都是在RAM中,所以不会发生寄存器操作不成功的问题。
具体写入的空间可以看手册的FALSH这一章。
文件是HEX文件,但大小已经为256k,另外请问下,MAP文件该如何查看(编译器为IAR)。。。麻烦了
RE:STM8S207RB 64K的芯片烧进去近100K的程序!
RE:STM8S207RB 64K的芯片烧进去近100K的程序!
RE:STM8S207RB 64K的芯片烧进去近100K的程序!