完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
【创龙AM4379Cortex-A9试用体验】之开发环境搭建 上一篇试用报告,介绍了一下对开发板的上电操作,简单体验了一下多LED灯、Hello World、网络等基本功能的试用。在使用过程中,发现按键功能的试用没用任何反应,但是从开发板启动后的/dev设备驱动中确实加载了/dev/input/event2,看来还是需要我们自己去开始、实现相关的驱动,自己编写应用层的程序,以更好的探索AM4379的强大功能。 要想做更加深入的研究与功能挖掘,一个操作方便、高效的开发环境是必不可少的。根据创龙公司提供的开发板配套光盘,及开发环境搭建手册,发现不管是32位还是64位Ubuntu虚拟机都无法完成对ti SDK的安装,而交叉编译工具链、QT、内核相关的配置均在成功安装了TI SDK的前提下。后来,干脆用创龙给提供的Ubuntu版本,重新安装基于虚拟机的Linux系统,最后还是没有成功安装TI SDK。不知道是资料的问题,还是我个人的操作问题,怎么办呢? 当然还是有办法的,创龙除了TI SDK,还提供了与AM4379本身架构想匹配的交叉编译工具链,内核源码,这就好办了,我们一步一步的操作,为我们后续的QT移植、Python移植,以及字符设备驱动程序的开发,创建一个稳定可靠的开发环境。 1. 安装交叉编译工具链 在光盘资料中,到tools/linux下,找到gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux.tar文件,如图所示: 将该交叉编译工具压缩包拷贝到Ubuntu虚拟机,执行如下命令: tar -xvf gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux.tar-C /opt 将讲编译工具解压到/opt目录下(注:该工具包是个打包文件,并不是压缩文件,后缀不带.gz或bz2),如图所示: 我们在利用交叉编译工具编译C或C++程序时,可以直接使用arm-li nux-gcc或使用命令的绝对路径,显示采用绝对路径是相当麻烦的,我们设置一下环境变量,使我们今后交叉编译程序时只需输入arm-linux-gnueabi-gcc即可。 输入命令: sudo gedit /etc/profile 在打开的文件末尾输入如下图所示的内容: 执行命令是环境变量设置生效: sudo source /etc/profile 执行命令,如果出现如图所示的信息,说明交叉编译链设置完成: 2. 编译内核 由于后续的试用过程中,会涉及到驱动程序的开发,我们必须先编译好内核,以备我们后续工作中使用。 创龙公司给我我们提供了三个版本的内核源码,我们先看一下当前开发板安装的是哪一个版本,在TL-4379开发板中执行命令, uname -a 结果如图所示: 从上图信息中,我们需要编译与给内核一致的版本,从kernel文件夹中将文件linux-3.14.43.tar拷贝到ubuntu虚拟机,执行如下命令: sudo tar -jxvf linux-3.14.43.tar.bz2-C /opt/linux3.14.43 将内核源码解压到/opt/linux3.14.43目录下,如图所示: 执行命令清理内核: cd linux-3.14-43 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-distclean 执行命令,生成.config文件: sudo make ARCH=armCROSS_COMPILE=arm-linux-gnueabihf- tisdk_am437x-evm_de fconfig 结果如图所示: 执行命令配置内核树: make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-am437x-gp-evm.dtb 执行结果如图所示: 执行命令开始编译内核: sudo make ARCH=armCROSS_COMPILE=arm-linux-gnueabihf- zImage -j2 编译结果如图所示: 3. 配置NFS服务 我们在Linux主机上交叉编译后的程序需要拷贝到TL-4379开发板上运行,这里我采用NFS网络文件系统的方式。在Linux主机上安装NFS服务软件,创建并配置NFS文件夹,具体步骤如下: sudo apt-getinstall nfs-kernel-server 安装 NFS 服务器端 创建NFS共享目录:sudo mkdir /nfsshare 编辑/etc/exports文件,在该文件中设置/nfsshare为共享目录,并设置其访问权限。 输入命令:sudo gedit /etc/exports 打开/etc/exports文件后,把“/nfsshare”目录设置为 NFS 共享目录,在该文件末尾添加下面的一行: /nfsshare *(rw,sync,no_root_squash) 如图所示: 修改完成后,保存退出/etc/exports文件,在命令行执行如下命令: sudo chmod -R 777/nfsshare sudo chown –Rnobody /nfsshare 至此,我们就在PC机端设置了NFS共享目录。 执行如下命令启动NFS服务: sudo /etc/init.d/nfs-kernel-server start 4. 交叉编译C运行并通过NFS在开发板上运行 在Ubuntu虚拟机上编写一个C程序,交叉编译,将编译后的可行执行文件拷贝到上一节创建的NFS共享目录,以便开发板挂载NFS,执行目标程序。 4.1 创建C程序 执行命令: gedit hello.c #include int main(void) { printf("HelloWorld!n"); return0; } 4.2 交叉编译C程序 执行命令: arm-linux-gnueabihf-gcc -o hello hello.c 编译结果如图所示: |
|
相关推荐
|
|
你正在撰写讨论
如果你是对讨论或其他讨论精选点评或询问,请使用“评论”功能。
飞凌嵌入式ElfBoard ELF 1板卡-CAN编程示例之开发板测试
654 浏览 0 评论
该问题是用APP给芯海科技的CST92F25芯片发指令是出现的
2242 浏览 1 评论
771 浏览 0 评论
1530 浏览 1 评论
2276 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 13:44 , Processed in 0.708533 second(s), Total 63, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号