米尔科技提醒您:您的浏览器版本过低或者使用了兼容模式,为了获得更好的浏览体验,建议使用IE10以上的浏览器或使用极速模式。 请升级浏览器以获得更好的体验!

使用MDK-ARM中国版现在不了STR912大容量512K的FLASH该怎么办?

问题类别: > 浏览次数:4104
发布日期:2012/4/23 17:44:36 文章来源:米尔科技
回复日期:2020/12/20 9:32:24

环境说明

RealView MDK中国版3.05以上 ST半导体公司STR91XFA Rev H芯片

分析描述

当我使用RealView MDK中国版调试STR91XFA Rev H的时候,在编程的时候经常出现Memory Mismatch error at address 0x00008000.调试其他芯片的时候就不会出现这个问题,请问该如何解决。

问题解答

      问题分析: 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