完美体育·(中国)手机网页版科技提醒您:您的浏览器版本过低或者使用了兼容模式,为了获得更好的浏览体验,建议使用IE10以上的浏览器或使用极速模式。 请升级浏览器以获得更好的体验!

完美体育·(中国)手机网页版 > 技术文章 > ARM软件工具 > Keil MDK > memory missmatch;address:0x00000000;value=0xff

memory missmatch;address:0x00000000;value=0xff

问题类别:ARM软件工具 > Keil MDK 浏览次数:7866
发布日期:2012/4/23 15:05:26 文章来源:完美体育·(中国)手机网页版科技
回复日期:2020/12/20 10:20:50

环境说明

MDK 3.05 及以上,LPC229x系列开发板

分析描述

在调试工程的时候出现 memory missmatch ; address:0x00000000; value=0xff 无法调试。

问题解答

 

相似的工程已经提供在C:\Keil\ARM\Boards\Phytec\LPC229x\Hello工程下。
需要定义两种不同的targets:一种用于Flash Programming;一种用于Debugging in RAM。
      在RAM下调试需要:
      1.将片选CS0和RAM连接;
      2.在STARTUP.S文件中的MEMMAP设置做如下修改:
        $SET (RAM_INTVEC)        ; enable code below
        $IF (RAM_INTVEC)
                LDR     R0, =MEMMAP
                MOV     R1, #3   ; redirect interrupt vectors to off-chip memory
                STR     R1, [R0]
        $ENDIF

      3.在工程中的Project--->Options for Target...--->:
        做如下设置:
        Target: 关闭Use on-chip ROM;设置好External Memory 的地址空间
        选择相应的ROM地址和大小
        ASM - Set: EXTERNAL_MODE:
        Debug - Use ULINK ARM Debugger - disable Load Application at Startup:
        Debug - Use ULINK ARM Debugger - Initialization File参照
        ..\ARM\Boards\Phytec\LPC229x\Hello\Flash.ini 创建一个XRAM.INI
        设置需要的PC指针等。
        例如:
        //*** <<< Use Configuration Wizard in Context Menu >>> ***
        FUNC void Setup (void) {

        // <h> External Memory Controller (EMC)

        //   <h> Bank Configuration 0 (BCFG0)
        //     <o1.0..3>   IDCY: Idle Cycles <0-15>
        //     <o1.5..9>   WST1: Wait States 1 <0-31>
        //     <o1.11..15> WST2: Wait States 2 <0-31>
        //     <o1.10>     RBLE: Read Byte Lane Enable
        //     <o1.26>     WP: Write Protect
        //     <o1.27>     BM: Burst ROM
        //     <o1.28..29> MW: Memory Width  <0=>  8-bit  <1=> 16-bit
        //                                   <2=> 32-bit  <3=> Reserved
        //   </h>
       _WDWORD(0xFFE00000, 0x20003CE3);   // BCFG0: Flash Bus Configuration

       _WDWORD(0xE002C014, 0x0E6001E4);   // PINSEL2: CS0, OE, WE, BLS0..3
                                          //          D0..31, A2..23, JTAG

       // </h>
       }

       Setup();                             // Setup for Flash
       Load MyApp INCREMENTAL
       PC = 0x80000000