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 执行就可以了
。