五分钟带你掌握Linux编译驱动、内核及应用程序

ZLG致远电子
关注

三、应用程序编译及文件传输

1应用程序编译

例如需要编译的应用程序文件为test.c,需要把该程序编译放到arm开发板上运行。编译命令如下。

这是一个非常简单的程序,并且只有一个文件,所以可以采用直接输入命令进行交叉编译。如果工程较大,这种方式就不可取了,通常需要编写Makefile文件,通过make程序来进行工程管理。应用程序的Makefile范例如下。

编写完Makefile后执行make命令即可生成目标文件test。

2文件传输

编译生成的可执行文件可以通过TFTP,NFS等方式下载到开发板,关于TFTP,NFS服务器在PC上的搭建可参考网络上相关文章,这里不赘述。

1、NFS文件传输

将目标板接入局域网或通过交叉网线与PC主机相连,设定目标板的IP,使之与主机在同一网段,然后进行远程mount操作。将需要传输的文件放在PC机搭建的NFS服务器目录下。在开发板上执行如下操作。

在进行远程挂载之前,最好先用ping命令检查网络通信是否正常,只有在能ping通的情况下,才能进行正常挂载,否则请检查网络。如果在已经ping通的情况下,远程挂载出现错误,请检查主机和目标机的其它设置。

2、TFTP文件传输

把需要传输的文件放在PC机的tftp服务器目录下。TFTP下载命令格式如下。

例如:下载IP为192.168.1.168的tftp服务器的hellodrv.ko文件,在开发板的当前目录下执行如下命令。

通过以上任一方式将在PC机上编译完成的驱动模块hellodrv.ko和test应用程序拷贝到目标板上。

四、驱动模块的加载及移除

执行如下命令把驱动模块动态加载进内核。

查看加载的模块使用如下命令。

如需要移除模块使用如下命令。

IoT9000A-LI是广州致远电子有限公司开发的基于M6708-T系列核心板的ARM工控主板,核心板标配处理器为i.MX 6U,Cortex?-A9简单双核。板上集成了大量的外设接口,包括千兆以太网、音频、USB、HDMI、LVDS、LCD、miniPCIE、摄像头、CAN信号、UART信号等接口,同时整合的多功能HD视频引擎可提供1080P 60fps视频解码、1080P 30fps视频编码,并带有2D、3D图形引擎,可满足消费电子、工业和汽车车载娱乐系统等新一代应用,以及医疗应用的丰富图形和高响应需求。

图2 IoT9000A_LI产品图

声明: 本文由入驻OFweek维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。
侵权投诉

下载OFweek,一手掌握高科技全行业资讯

还不是OFweek会员,马上注册
打开app,查看更多精彩资讯 >
  • 长按识别二维码
  • 进入OFweek阅读全文
长按图片进行保存