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.

[参考译文] TMS570LC4357:链接器在 HALCOGEN 中的图像更改时随时更改

Guru**** 2474130 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/1023660/tms570lc4357-linker-changing-whenever-changes-mage-in-halcogen

器件型号:TMS570LC4357
主题中讨论的其他器件:HALCOGEN

您好!

我已根据自定义要求更改链接器文件。 每当我在 HALCOGEN 中进行更改时、链接器脚本(HL_SYS_LINK_cmd )都会更改。 这不是所需的行为。 每次我们在 HALCOGEN 中进行更改时、链接器脚本是否不会受到任何影响。

此致、

Ariya

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

    您好、 Ariya、

    在 HAL GUI 中更改配置时、不应更改链接器 cmd 文件。

    请告诉我哪个器件发生了更改吗? 哪个配置会导致测试中的链接器 cmd 更改?

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

    您好!

    这是我们的定制代码:

    /*内存映射*/

    存储器

    /*用户代码开始(2)*/
    引导程序(X):origin=0x002000A0 length=0x00000020
    MYSEGMENT1 (RX):origin=0x002000C0 length=0x00000020
    MYSEGMENT2 (RX):origin=0x002000E0 length=0x00000020
    MYSEGMENT3 (RX):origin=0x00200100 length=0x00019000
    FLASH1 (RX):origin=0x00219100 length=0x001E6EFF
    堆栈(RW):origin=0x08000000 length=0x00000700
    RAM (RW):origin=0x08000700 length=0x0007f900
    /*用户代码结束*/
    引导程序(X):origin=0x00000000 length=0x00000020
    FLASH0 (RX):origin=0x00000020 length=0x001FFFE0
    FLASH1 (RX):origin=0x00200000 length=0x00200000
    堆栈(RW):origin=0x08000000 length=0x00000700
    RAM (RW):origin=0x08000700 length=0x0007f900

    /*用户代码开始(3)*/
    /*用户代码结束*/

    /*用户代码开始(4)*/
    /*用户代码结束*/


    /*------------------ *
    /*段配置*/

    部分

    /*用户代码开始(5)*/
    .intvecs:{}>向量
    .text palign (32):{}> FLASH1
    .const palign (32):{}> FLASH1
    .cinit palign (32):{}> FLASH1
    .pinit palign (32):{}> FLASH1
    .bss:{}> RAM
    .data :{}> RAM
    .sysmem:{}>RAM
    PCTESTSEGMENT1:{}> MYSEGMENT1
    PCTESTSEGMENT2:{}> MYSEGMENT2
    .SAFETYCRCFUNCHONS:{}> MYSEGMENT3
    fee_text_section:{}> FLASH1
    fee_const_section:{}> FLASH1
    fee_data_section:{}> RAM
    /*用户代码结束*/
    .intvecs:{}>向量
    .text align (32):{}> FLASH0 | FLASH1
    .const align (32):{}> FLASH0 | FLASH1
    .cinit align (32):{}> FLASH0| FLASH1
    .pinit align (32):{}> FLASH0 | FLASH1
    .bss:{}> RAM
    .data :{}> RAM
    .sysmem:{}>RAM

    FEE _文本_部分:{}> FLASH0 | FLASH1
    FEE _ CONST_SECTION:{}> FLASH0 | FLASH1
    fee_data_section:{}> RAM

    /*用户代码开始(6)*/
    log_data:start( ulLOGStartAddr ),end( ulLOGEndAddr )> RAM

    sl_stflash_SRAM:run = RAM、load = FLASH1、load_start (high_handlerload_start)、load_end (ulHighHandlerLoadEnd)、load_size (high_handler_size)、 run_start( high_handler_start_addr )、run_end( ulHighHandlerEndAddr )
    /*用户代码结束*/

    每次在 HALCOGEN 中更改任何配置时、都会更改此代码。

    此致、

    Ariya

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

    您好、Ariya、

     不会更改/* USER CODE BEGIN (x)*/和/* USER CODE END */之间的代码。 如果您想在"用户代码"部分将 HAL 生成的代码替换为您自己的代码、请使用 #if 0注释掉 HAL 生成的代码:

    存储器

    /*用户代码开始(2)*/
    引导程序(X):origin=0x002000A0 length=0x00000020
    MYSEGMENT1 (RX):origin=0x002000C0 length=0x00000020
    MYSEGMENT2 (RX):origin=0x002000E0 length=0x00000020
    MYSEGMENT3 (RX):origin=0x00200100 length=0x00019000
    FLASH1 (RX):origin=0x00219100 length=0x001E6EFF
    堆栈(RW):origin=0x08000000 length=0x00000700
    RAM (RW):origin=0x08000700 length=0x0007f900

    #if 0
    /*用户代码结束*/
    引导程序(X):origin=0x00000000 length=0x00000020
    FLASH0 (RX):origin=0x00000020 length=0x001FFFE0
    FLASH1 (RX):origin=0x00200000 length=0x00200000
    堆栈(RW):origin=0x08000000 length=0x00000700
    RAM (RW):origin=0x08000700 length=0x0007f900

    /*用户代码开始(3)*/

    #endif


    /*用户代码结束*/

    /*用户代码开始(4)*/
    /*用户代码结束*/


    /*------------------ *
    /*段配置*/

    部分

    /*用户代码开始(5)*/
    .intvecs:{}>向量
    .text palign (32):{}> FLASH1
    .const palign (32):{}> FLASH1
    .cinit palign (32):{}> FLASH1
    .pinit palign (32):{}> FLASH1
    .bss:{}> RAM
    .data :{}> RAM
    .sysmem:{}>RAM
    PCTESTSEGMENT1:{}> MYSEGMENT1
    PCTESTSEGMENT2:{}> MYSEGMENT2
    .SAFETYCRCFUNCHONS:{}> MYSEGMENT3
    fee_text_section:{}> FLASH1
    fee_const_section:{}> FLASH1
    fee_data_section:{}> RAM

    #if 0
    /*用户代码结束*/
    .intvecs:{}>向量
    .text align (32):{}> FLASH0 | FLASH1
    .const align (32):{}> FLASH0 | FLASH1
    .cinit align (32):{}> FLASH0| FLASH1
    .pinit align (32):{}> FLASH0 | FLASH1
    .bss:{}> RAM
    .data :{}> RAM
    .sysmem:{}>RAM

    FEE _文本_部分:{}> FLASH0 | FLASH1
    FEE _ CONST_SECTION:{}> FLASH0 | FLASH1
    fee_data_section:{}> RAM

    /*用户代码开始(6)*/

    #endif


    log_data:start( ulLOGStartAddr ),end( ulLOGEndAddr )> RAM

    sl_stflash_SRAM:run = RAM、load = FLASH1、load_start (high_handlerload_start)、load_end (ulHighHandlerLoadEnd)、load_size (high_handler_size)、 run_start( high_handler_start_addr )、run_end( ulHighHandlerEndAddr )
    /*用户代码结束*/