来详细的说一说这个Blackfin的LDF文件。
首先我们使用图形打开:
在 LDF 文件上进行双击鼠标左键,或者按右键在弹出菜单中按下图选择,会弹出LDF 文件的图形界面。
图形界面分左右两个窗口,左边为 LDF 文件分配的空间片断的标识符。右边为DSP 整个空间的分配地址和使用情况。从左边的标识符中可以看到SDRAM 区域分为sdram0,sdram0_bank1, sdram0_bank2, sdram0_bank3 等区域,如果要使用SDRAM 的空间,就可以通过这些描述符来定义。
可以点击右上角放大按钮,将内存分布放大,观察当前内存使用情况。
使用代码也可以代开:
在 LDF 文件上按右键在弹出菜单中按下图选择,会以代码方式打开文件。
在代码中,可以找到如下图代码,该代码是指定DSP 所使用空间的大小分配表,可以根据需要修改其空间分配的大小。
搜索“MEM_SDRAM0_BANK1”,可以找到如下代码,该代码中调用了很多库函数,来定义空间功能,最后对该空间片断做了标识符映射,其标识符为“sdram0_bank1”,通过调用该标识符,可以使用该空间。如果自己定义一个空间片断,可以在上面的空间地址中定义一个空间片断的地址区域,注意不要使空间重复,然后复制下面的代码,建立一个自定义空间的功能描述,修改为自己定义的描述符即可。
在 LDF 文件定义空间时,常在空间片断描述符后面看到“ZERO_INIT”标志,该标志表示在编译代码时,将该段空间清为0,也可以不对该空间操作,其标识符作“NO_INIT”
将 sdram0_bank0 初始化时数据清为0:
在正常使用时,原则上不建议大家来修改 LDF 的代码,以免因为LDF 文件问题,为开发后期来带麻烦。 |