文档首页> LiteOS> 移植教程> 移植适配> 修改链接脚本
更新时间:2021-07-08 GMT+08:00
分享

修改链接脚本

STM32F407_OpenEdv\liteos.ld是新开发板的链接脚本,需要根据开发板实际情况修改stack,flash,ram的值,可以参考裸机工程链接脚本STM32F407ZGTx_FLASH.ld中的设定值进行设置。

  • stack在链接脚本中对应的是“_estack”变量。
  • flash 对应的是“FLASH”变量。
  • ram对应的是“RAM ”变量。

同时为适配LiteOS操作系统,链接脚本中增加了如下代码:

  1. 增加了一个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
  2. 在.bss段中增加“__bss_end”变量的定义,因为在LiteOS中使用的是这个变量而非“__bss_end__”变量:
    __bss_end = _ebss;
  3. 设置LiteOS使用的内存池的地址,包括起始地址和结束地址:
    . = ALIGN(8);
    __los_heap_addr_start__ = .;
    __los_heap_addr_end__ = ORIGIN(RAM) + LENGTH(RAM) - _Min_Stack_Size - 1;
分享:

    相关文档

    相关产品