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.

[参考译文] 编译器/TM4C1231H6PM:TM4C 如何根据属性保护只读存储器区域

Guru**** 2481465 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/701977/compiler-tm4c1231h6pm-how-tm4c-to-protect-read-only-memory-region-based-on-attribute

器件型号:TM4C1231H6PM

工具/软件:TI C/C++编译器

我们在 FLASH1和 FLASH2上具有如下存储器配置。

当我们希望通过 API 从 Tiva 驱动程序库的闪存 API 将值写入这些区域时、我们发现这些区域的值无法更改。

我们很高兴看到它能正常工作、但我们对它的工作方式很好奇? 是否在 boot.asm 中配置了 MPU? 或者?

存储器配置

名称 原点长度 已使用 未使用的属性填充
--- ---- ------ ---- ---- --------
闪存 00002400 0001a400 00017816 00002bea R X
DumpArea 0001c800 00000400 00000400 00000000 R X ffff
FLASH1 0001cc00 0001b400 00008776 00012c8a R X
SRAM 20000000 00008000 00007c7f 00000381 RW X


段分配映射

运行原点加载原点长度初始化长度 attrs 成员
--- ------ ------ ------ ---- ----
00002400 00002400 0001781A 0001781a r-x
00002400 00002400 0000026c 0000026c r-.intvecs
00002670 00002670 000175aa 000175aa r-x .text
0001c800 0001c800 00008b78 00008b78 r-x
0001c800 000001c800 0000040000100000002c000100- 00000002c000100-
00000002c000100- 00000005000002700000c000100- 0000000500000c000100- 0000000c000100- 0000000100c000500000100c000100-
0000000500000c000100- 00000002c000c000500000500000c000500000c000c0002 c000c000c000c0002
.cinit
20000000 20000000 00007c84 00000000 rw-
20000000 00000 0000026c 00000000 rw-.vtable
20000270 20000270 00006777 00000000 rw-.bss
200069e8 200069e8 00001000 00000000 rw-.stack
200079e8 200079e8 0000029c 00000000 rw-.rw 数据 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    您是否正在使用 TivaWare 库中的引导加载程序? 您使用哪个接口(即 UART、SPI 或其他接口)来加载应用程序?

    请检查系统控制模块中的 FMPREn 和 FMPPEn 寄存器、查看是否有任何闪存块受写保护。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Ying Wei、
    这是否解决了? 您是否检查了 FMPREn 和 FMPPEn 寄存器、以查看是否有块受到写保护?