我在做一个实验关于条形码扫描器的实验,买了个用stm32F103VCt6做芯片的扫描器。看了下Flash是256K的用了180k还有空余的空间。我现在想在那段空余的空间上再烧录一段程序,用于做为一个自己的用户程序实现一些条形码在电脑上的工作比如入库,出库等。但是我可能要调用到一些函数如点亮LED灯,启动扫描枪进行扫描等等,那些函数都已经烧录在原来的ROM中了,我现在不想再我自己写的BIN文件中再次链入那些函数了,我想直接调用在原来FLASH那里的函数,我知道那些函数在flash中的地址,如何在用GCC链接我的源文件的.o文件时直接告诉链接器,那些被调用的函数的地址。
此帖出自
小平头技术问答
找了一天资料发现了,在RealView 编译工具 链接器中可以生成一种复合我要求的symdefs 文件。
可以将 symdefs 文件视为一个对象文件,其中包含符号信息,但不包含代码或数据。 就像任何对象文件一样,要读取 symdefs 文件,请将其添加到文件列表中。 链接器将读取该文件,并将符号及其值添加到输出符号表中。 添加的符号具有
ABSOLUTE
和GLOBAL
属性。但是有谁知道在arm-none-eabi-ld中如何生成那种文件吗?资料又不知道去哪里找了,郁闷。。一周热门 更多>