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.

[参考译文] RTOS/TM4C129XNCZAD:写入内部闪存-如何在闪存中添加一个 rwx 部分?

Guru**** 2394295 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/765203/rtos-tm4c129xnczad-writing-to-internal-flash---how-can-i-add-a-rwx-section-in-the-flash

器件型号:TM4C129XNCZAD

工具/软件:TI-RTOS

你好

我想在闪存中存储正在运行的数据(很少写入、经常读取的数据)、因为 RAM 中的空间非常有限。

我看到了包含相关函数的 Flash.c 库、希望能够使用它们。 但我不知道如何在闪存中定义一个不会包含在程序代码中且可写的区域。

我的.map 文件现在显示:

名称源长度使用未使用的属性填充
------------ ---- ------ ---- ---- --------
闪存00000000 00100000 00085bb6 0007a44a R X
SRAM 20000000 00040000 00033e4d 0000c1b3 RW X

谢谢

Shlomo

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的、我在 cmd 文件中找到它:
    #define APP_BASE 0x00000000
    #define FLASH_RAM_base 0x000B0000
    #define RAM_base 0x20000000

    /*系统内存映射*/

    存储器

    /*存储在内部闪存中并从内部闪存执行的应用程序*/
    闪存(RX):origin = APP_BASE,length = 0x000B0000
    /*存储在内部闪存中并从内部闪存执行的应用程序*/
    Flash_RAM (rwx):origin = flash_RAM_base,length = 0x00050000
    /*应用程序使用内部 RAM 进行数据*/
    SRAM (rwx):origin = 0x20000000,length = 0x00040000


    我对这一问题的任何见解都很高兴,但问题已经解决