大家好! 我的引导加载程序有问题。 我通过 Bare Metal 上的 CAN 协议升级了电路板。 现在、我要传递一个具有 RTOS 的程序。
我的 sys_link.cmd 有问题、因为我不确定它应该是什么样的。 如果有人举例说明 RTOS 可用于通过引导加载程序更新我的电路板、我将不胜感激!
我保留 sys_link.cmd 代码:
--retain="*(.intvecs)"
/*用户代码开始(1)*/
/*用户代码结束*/
/*------------------ *
/*内存映射*/
存储器
{
引导程序(X):origin=0x00020020 length=0x00000020
内核(RX):origin=0x00020040 length=0x00008000
FLASH0 (RX):origin=0x00028040 length=0x00177FE0
FLASH1 (RX):origin=0x001A0020 length=0x00180000
堆栈(RW):origin=0x08000000 length=0x00000800
Kram (RW):origin=0x08000800 length=0x00000800
RAM (RW):origin=(0x08000800+0x00000800) length=(0x0003F800 - 0x00000800)
}
/*------------------ *
/*段配置*/
部分
{
.intvecs:{}>向量
闪存受保护区域中的/* FreeRTOS 内核*/
.kernelTEXT:{}>内核
.cinit:{}>内核
.pinit:{}>内核
/*将其余代码转换为用户模式闪存区域*/
.text:{}> FLASH0| FLASH1
.const:{}> FLASH0| FLASH1
/* RAM 受保护区域中的 FreeRTOS 内核数据*/
.kernelbss:{}> RAM //kram
.kernelHEAP:{}> RAM
.bss:{}> RAM
.data :{}> RAM
}