1、linux驱动和应用程序的编译
因为驱动最终是在开发板上跑,所以板子是arm架构的使用的编译器是arm架构的编译器(这块没仔细研究),并且在Makefile文件中指定板子上内核在Ubuntu平台下的源码位置,否则可能会出现在Ubuntu下能编译过去在板子上跑不起来。Ubuntu和板子用的linux内核可能不一样,有些函数的实现也存在差异。
应用程序也需要指定编译器,因为最终生成的可执行文件要在arm平台上运行,但是不需要指定源码位置,因为linux应用接口函数都是标准的。但是如果不指定arm架构的编译器,在Ubuntu上能编译过去,但是在板子上跑不起来,提示“cannot execute binary file”。
gcc xxx.c -o mine 改为 arm-fsl-... xxx.c -o mine 生成可执行文件,将可执行文件拷贝到板子上或者nfs挂载,然后./mine 执行就可以了
。

本文介绍了在Ubuntu环境下为ARM架构设备编译Linux驱动及应用程序的方法。重点讲述了如何指定正确的编译器及参数以确保软件能在目标板上正常运行。

4万+

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



