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.

[参考译文] RM44L520:FreeRTOS的内存映射问题

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1090719/rm44l520-memory-mapping-issue-with-freertos

部件号:RM44L520
主题中讨论的其他部件:HALCOGEN

您好,  

我一直在与RM44L520PZ合作进行一个项目,我注意到没有可用于包含FreeRTOS的处理器的项目类型。 为了解决这个问题,我从另一个项目中提取了FreeRTOS文件,并将它们添加到项目中,Halcogen创建 了RM44L520PZ设备配置文件。 当我尝试创建一个任务以测试它是否有效时,我收到了以下错误:

warning #10247-D: creating output section ".kernelTEXT" without a SECTIONS specification
warning #10247-D: creating output section ".kernelHEAP" without a SECTIONS specification
warning #10247-D: creating output section ".kernelBSS" without a SECTIONS specification


以下是生成的sys_link内存映射和部分配置:

/*----------------------------------------------------------------------------*/
/* Memory Map                                                                 */

MEMORY
{
    VECTORS (X)  : origin=0x00000000 length=0x00000020
    FLASH0  (RX) : origin=0x00000020 length=0x000BFFE0
    STACKS  (RW) : origin=0x08000000 length=0x00001500
    RAM     (RW) : origin=0x08001500 length=0x0001EB00

/* USER CODE BEGIN (2) */
/* USER CODE END */
}

/* USER CODE BEGIN (3) */
/* USER CODE END */

/*----------------------------------------------------------------------------*/
/* Section Configuration                                                      */

SECTIONS
{
    .intvecs : {} > VECTORS
    .text    : {} > FLASH0 
    .const   : {} > FLASH0 
    .cinit   : {} > FLASH0 
    .pinit   : {} > FLASH0 
    .bss     : {} > RAM
    .data    : {} > RAM
    .sysmem  : {} > RAM
    

由于Halcogen没有生成FreeRTOS所需的内存映射和分区配置,我在 halcogen中创建了一个新项目,使用RM44L520PGE_FreeRTOS模板,我  从生成的sys_link文件中获得了以下内存映射和分区配置:

/*----------------------------------------------------------------------------*/
/* Memory Map                                                                 */

MEMORY
{
    VECTORS (X)  : origin=0x00000000 length=0x00000020
    KERNEL  (RX) : origin=0x00000020 length=0x00008000 
    FLASH0  (RX) : origin=0x00008020 length=0x000B7FE0
    STACKS  (RW) : origin=0x08000000 length=0x00000800
    KRAM    (RW) : origin=0x08000800 length=0x00000800
    RAM     (RW) : origin=(0x08000800+0x00000800) length=(0x0001EB00 - 0x00000800)
    
/* USER CODE BEGIN (2) */
/* USER CODE END */
}

/* USER CODE BEGIN (3) */
/* USER CODE END */

/*----------------------------------------------------------------------------*/
/* Section Configuration                                                      */

SECTIONS
{
    .intvecs : {} > VECTORS
    /* FreeRTOS Kernel in protected region of Flash */
    .kernelTEXT   : {} > KERNEL
    .cinit        : {} > KERNEL
    .pinit        : {} > KERNEL
    /* Rest of code to user mode flash region */
    .text         : {} > FLASH0 
    .const        : {} > FLASH0 
    /* FreeRTOS Kernel data in protected region of RAM */
    .kernelBSS    : {} > KRAM
    .kernelHEAP   : {} > RAM
    .bss          : {} > RAM
    .data         : {} > RAM    

我将这些文件复制到原始项目的sys_link文件中,以前的错误已经消失,但项目无法在我的板上正常运行。 使用RTOS时,此处理器的100针版本是否需要与144针版本不同的内存映射,或者是否缺少其他问题?

 

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

    您好,我们的专家在4月7日之前不在办公室。 请期待回复延迟。
    此外,请参阅此常见问题解答: software-dl.ti.com/.../index.html

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

    您好,Andrew,

    对于RM44L520PZ,您可以使用RM44L520PGE的链接cmd文件。 两个软件包的RAM和闪存大小相同。

    您是否按照步骤为RM44L520PGE生成FreeRTOS项目?  

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

    我发现了这个问题。 我错过了文档中为其他项目配置FreeRTOS的步骤。  

    谢谢