主题中讨论的其他器件:HALCOGEN
您好!
我已根据自定义要求更改链接器文件。 每当我在 HALCOGEN 中进行更改时、链接器脚本(HL_SYS_LINK_cmd )都会更改。 这不是所需的行为。 每次我们在 HALCOGEN 中进行更改时、链接器脚本是否不会受到任何影响。
此致、
Ariya
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.
您好!
我已根据自定义要求更改链接器文件。 每当我在 HALCOGEN 中进行更改时、链接器脚本(HL_SYS_LINK_cmd )都会更改。 这不是所需的行为。 每次我们在 HALCOGEN 中进行更改时、链接器脚本是否不会受到任何影响。
此致、
Ariya
您好!
这是我们的定制代码:
/*内存映射*/
存储器
{
/*用户代码开始(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 )
/*用户代码结束*/
}