LiteOS
LiteOS
本文导读
展开导读
链接复制成功!
修改链接脚本
STM32F407_OpenEdv\liteos.ld是新开发板的链接脚本,需要根据开发板实际情况修改stack,flash,ram的值,可以参考裸机工程链接脚本STM32F407ZGTx_FLASH.ld中的设定值进行设置。
- stack在链接脚本中对应的是“_estack”变量。
- flash 对应的是“FLASH”变量。
- ram对应的是“RAM ”变量。
同时为适配LiteOS操作系统,链接脚本中增加了如下代码:
- 增加了一个vector,用于初始化LiteOS:
/* used by the startup to initialize liteos vector */ _si_liteos_vector_data = LOADADDR(.vector_ram); /* Initialized liteos vector sections goes into RAM, load LMA copy after code */ .vector_ram : { . = ORIGIN(RAM); _s_liteos_vector = .; *(.data.vector) /* liteos vector in ram */ _e_liteos_vector = .; } > RAM AT> FLASH
- 在.bss段中增加“__bss_end”变量的定义,因为在LiteOS中使用的是这个变量而非“__bss_end__”变量:
__bss_end = _ebss;
- 设置LiteOS使用的内存池的地址,包括起始地址和结束地址:
. = ALIGN(8); __los_heap_addr_start__ = .; __los_heap_addr_end__ = ORIGIN(RAM) + LENGTH(RAM) - _Min_Stack_Size - 1;
父主题: 移植适配