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.

[参考译文] CCS/MSP432P401R:解决问题:内存映射阻止读取0x2001万

Guru**** 2563960 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/592118/ccs-msp432p401r-resolving-problem-memory-map-prevents-reading-0x20010000

部件号:MSP432P401R

工具/软件:Code Composer Studio

在MSP432P401R目标中加载程序时遇到问题。 初始问题是:

一        未知          内存映射阻止读取0x2001万
N        未知          内存映射阻止读取0x2001.0014万
结果   unsigned char[16][???                         0x2001.0004万
[0]       未知         内存映射阻止读取0x2001.0004万
[1]       未知         内存映射阻止读取0x2001.0005万

我试图修改msp43.2401万r.gel文件,认为其长度太短。  

(旧) GEL_MapAddStr (0x2000万,0,0x1万,"R|W",0);   /* MEM_SRAM64K */

(新) GEL_MapAddStr (0x2000万,0,0x2万,"R|W",0);   /* MEM_SRAM64K */

其结果是:

一       未知          目标读取0x2001万失败
N      未知          目标读取0x2001.0014万失败
结果  unsigned char[16][???   0x2001.0004万

接下来转至msp432p401r.cmd文件并更改SRAM_DATA长度

别名

(旧) SRAM_CODE (rwx):原始= 0x100万

(旧) SRAM_DATA (RW):Origin = 0x2000万

    }长度= 0x1万

(新) SRAM_CODE (rwx):原始= 0x100万

(新) SRAM_DATA (RW):Origin = 0x200万
   }长度= 0x2万 //已从0x1万更改

一旦我尝试调试,这将导致软件循环:

德州仪器(TI) XDS110 USB调试探头/Cortex_M4_0 (复位)

德州仪器(TI) XDS110 USB调试探头/Cortex_M4_0 (正在运行-目标上发生重置)

我暂停时,会显示以下消息:

德州仪器(TI) XDS110 USB调试探头/Cortex_M4_0 (挂起-目标上发生重置)  
default_Handler() at startup_msp432p401r_CCS.c:201 0x0.1956万  
0xFFFFFFF8 (没有为0xFFFFFFF8定义符号)

可能是因为SRAM_CODE地址与SRAM_DATA地址重叠,但我不确定。 需要一点帮助

提前感谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

      将长度更改为2万将导致访问保留的内存空间,因为堆栈将放置在SRAM的上部(高)部分。  在您的原始代码中,IDE尝试将变量放入此受限空间,这表明未正确读取.cmd文件。  您能否提供有关设置的更多背景信息?

    Chris

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Chris,

    感谢您的回复。 我相信,当我在项目进行过程中更改编译器时,就会发生此错误。 我开始了一个新项目并导入了I2C示例进行测试,一切都正常。

    谢谢