
# 修改链接脚本
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;
   ```
   
 
