我的程序在仿真模式下运行数据正常,但是烧入flash之后, 发现里面数据都是错的,而且还都是随机数。
请问这两种模式有什么不同???
是不是CMD文件那里分配的不对?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我的程序在仿真模式下运行数据正常,但是烧入flash之后, 发现里面数据都是错的,而且还都是随机数。
请问这两种模式有什么不同???
是不是CMD文件那里分配的不对?
谢谢您! 问题找到了,的确是CMD文件的问题。 同时上次调我的程序,在CMD文件里改了一些东西,后来改回来的时候没改全。
把CMD文件中的“.econst : > RAMH0 PAGE = 1 ” 改为“.econst : > FLASHA PAGE = 0” 就好了。
之前的现象是所有初始化好的数组中的数据会乱,而且经常变化。因为.econst段里保存的都是静态变量和已初始化的变量,所以定位到flash中就没问题了。
很高兴得知问题已经解决!
建议您在修改 cmd 文件之前,可以保留一份原始的文件作为备份,这样有助于在出现问题时进行对比。
当然也得感谢您的热心相助!
我同事拿过去试了个东西,改完之后没告诉我。 多备份的确是好办法,有时是程序改动大的时候。改一点测试一点,总比全改完一测试进非法中断在去检查要好得多。