上篇文章(智能手表音乐播放功耗的优化)讲了怎么优化音乐场景下的功耗,其中第二点是优化memory的布局。那么在哪里优化memory的布局呢?就是在本文要讲的链接脚本(ld)文件里。作为audio DSP 软件工程师,ld文件要能看懂和会修改。作为程序来说,先编译后链接。编译得到目标文件,链接就是把这些目标文件合成一个输出文件。链接过程都由链接脚本控制,链接脚本主要用于规定如何把输入文件内的section放入输出文件内, 并控制输出文件内各部分在程序地址空间内的布局。链接脚本有其语法,把语法搞懂了,就能看懂和会修改ld文件。本文就通过具体的例子来解析ld文件,使其通俗易懂。
链接脚本语法中有很多关键字,如OUTPUT等。本文要举的例子中都是一些基本的。如在工作中遇到没见过的,可以去网上搜,搞清楚意思,并能应用就可以了。我把例子按前后顺序分成了5张图,下面具体来看。
图1是ld文件的开头部分。

图 1
蓝框1处是关键字OUTPUT,格式为OUTPUT(filename),表示执行ld文件后的输出文件是什么。在CEVA DSP上,输出是elf文件。Elf文件是可执行链接文件,是执行链接的产物(编译后的产物是*.o),elf文件可以在CEVA的IDE集成开发环境上运行,但是不能在芯片上运行。要想在芯片上运行,需要将其转化为bin。至于怎么转,后面再讲。蓝框2处是关键字ENTRY,格式为ENTRY(symbol),是将symbol设为软
Audio DSP链接脚本文件详细解析

最低0.47元/天 解锁文章
730

被折叠的 条评论
为什么被折叠?



