问题分析: memory mismatch说明芯片跟仿真器之间通信出现了问题。由于之前的str9系列芯片是256k的flash,升级为h版之后将flash的容量扩大为512k,当芯片复位初始化之后fmi_bbsr寄存器的值为0,也就是对应的只有32k(0x00008000)的flash空间,因此超过32k之后的就无法进行编程。这时候应该修改mdk对flash控制器的寄存器。
操作步骤:
1.关闭 verify code download 选项,停止对flash的校验。
2. 在debug选项中增加配置文件,首先将load application at startup 选项去掉,在初始化配置对话框中增加有如下内容的ini文件。
_wdword(0x54000000, 0x00000004); // boot bank size = 512kb
load filename.axf
g,main