初级会员

- 积分
- 137
- 金钱
- 137
- 注册时间
- 2014-8-11
- 在线时间
- 3 小时
|
5金钱
看到一个STM32的链接文件, 很多语法不懂:
/* Declare libc Heap to start at end of allocated RAM */
PROVIDE( _heap = link_stack_end );
/* End of the heap is top of RAM, aligned 8 byte */
PROVIDE( _eheap = ALIGN( ORIGIN( SRAM ) + LENGTH( SRAM ) - 8, 8 ) );
/* ThreadX aliases */
PROVIDE( __RAM_segment_used_end__ = link_stack_end );
PROVIDE( __tx_free_memory_start = link_stack_end );
PROVIDE( __tx_vectors = link_interrupt_vectors_location );
在.map文件有这样的描述:
0x20005b5c PROVIDE (_heap, link_stack_end)
0x2001fff8 PROVIDE (_eheap, ALIGN (((ORIGIN (SRAM) + 0x20000) - 0x8), 0x8))
0x20005b5c PROVIDE (__RAM_segment_used_end__, link_stack_end)
0x20005b5c PROVIDE (__tx_free_memory_start, link_stack_end)
0x08000000 PROVIDE (__tx_vectors, link_interrupt_vectors_location)
上面的那个PROVIDE函数是什么意思? ORIGIN( SRAM )这个函数的意思是什么呢?
_heap 和_eheap 是什么意思? 两者有哪些区别?
关于链接文件的语法在哪儿能学到? 求大侠指点啊.
|
|