DSP

C程序引用LDF文件中定义的变量的方法

2019-07-13 19:26发布

 在ADI DSP开发中,LDF文件扮演了相当重要的角 {MOD},它定义了系统存储空间的划分方式和可执行程序在存储空间中的装载位置。 LDF文件还有一个重要的作用,就是在程序链接时定义变量,汇编语言和C语言都可以对这个变量进行引用。 如我们在LDF文件中定义程序执行的堆空间的大小和位置: heap
{
// Allocate a heap for the application
ldf_heap_space = .;
ldf_heap_end = ldf_heap_space + MEMORY_SIZEOF(MEM_STD_HEAP) - 1;
ldf_heap_length = ldf_heap_end - ldf_heap_space; _ldf_heap_space = ldf_heap_space;
_ldf_heap_length = ldf_heap_length + 1;
} >MEM_STD_HEAP 变量ldf_heap_space被赋予了堆空间的起始位置。如果我们在程序中能够引用ldf_heap_space,则我们就知道了堆空间从哪里开始。 引用方法如下: extern int ldf_heap_space; void * pHeapAddr = &ldf_heap_space; 这样,指针 pHeapAddr 就指向堆的起始地址。 注意,变量ldf_heap_space的地址才是所要引用的值。不要弄错了,:p。