完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
` 【EVB-335X-II试用体验】之开发环境搭建 俗话说,“磨刀不误砍柴工”,“工欲善其事必先利其器”,想要高效测试开发板的各项功能,必须先搭建好一个好的开发环境。 我们后续要介绍关于驱动程序开发、数据库移植等测试,所以,交叉编译环境,内核编译是必须前期需要做好的,本篇试用报告,主要介绍开发环境的搭建。 1.安装samba系统文件共享工具 由于搭建开发环境所用到的文件均在Windows系统下,我们需要采用一些常用的办法实现Windows系统与Linux系统共享数据,关于如何将Windows下的文件拷贝到运行在虚拟机的linux系统,通常采用ftp和samba,我们这里采用samba。在linux主机上安装samba服务器端软件,执行如下命令: 1)安装samba服务器端软件 sudo apt-get update sudo apt-get upgrade sudo install samba samba-common-bin 2)创建共享文件夹 sudo mkdir /share sudo chmod 777 -R /share 3) 配置运行在Linux主机上的samba软件 sudo gedit /etc/samba/smb.conf 添加如下所示的内容: 4)创建登陆samba服务器的用户名及密码 sudo useradd xxx (xxx为你设置用户名) sudo smbpasswd -a xxx 输入你设定的密码 5)重启samba服务 sudo /etc/init.d/samba restart 2.安装交叉编译器 1)拷贝文件 由于EVB-335X开发板本身资源的限制,我们需要在PC机的Linux环境下编写、编译能够在EVB-335X开发板上运行的程序,由于PC机与ARM的CPU架构不同,无法直接采用PC上的GCC编译工具链,而是需要基于ARM的arm-linux-gcc等工具。 EVB-335X开发板厂家在配套的光盘资料中已经包含了能够用于交叉编译的工具包,我们只需将该工具包解压,设置环境变量即可。 进入光盘目录下的linux/toolchains,看到包含两个源码包,如图所示: 根据readme.txt介绍,arm-2010.09.tar.bz2用于交叉编译uboot, gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux.tar.bz2用于交叉编译内核与应用程序,所以我需要把这个两个工具包拷贝到PC机端的ubuntu系统中。 在Windows系统下,开始菜单——运行,输入:192.168.1.xxx,如下图所示: IP地址要与你自己的Linux主机IP地址一致,按确定按钮,弹出用户名、密码输入界面,输入我们上一步骤设定的samba服务器登陆名和密码,弹出如下所示的界面: 我们直接把toolchains这个文件夹全部拷贝到共享的ubuntusmb文件夹中。 2)解压工具链包 cd/share/toolchains sudo tar –jxvfarm-2010.09.tar.bz2 –C /opt sudo tar –jxvfgcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux.tar.bz2 –C / opt cd /opt 发现已经将工具链压缩包解压到了/opt目录下,如图所示: 由于我的当前系统已经包含了另外一套板子的交叉编译工具链,在此就不再 介绍设置环境变量PATH了。 3.交叉编译内核 如何要做驱动程序开发的测试,首先必须把与目标板相对应的Linux内核编译成功,才能正确的执行内核编译的make命令。 EVB-335X开发板自带的光盘资料中,已经包含了linux内核源码,有基于emmc和nand的两种内核源码,我们通过上一节介绍的方法,将两套内核源码拷贝到linux主机下的/share目录下,如图所示: 执行如下命令编译内核: sudo tar -jxvflinux-3.2-evb335x-ii-nand.tar.bz2 cd linux-3.2-evb335x-ii-nand cpevb335x_demo_config .config sudo makeARCH=arm CROSS_COMPILE=/opt/gcc-xxxxx/bin/arm-linux-gnueabihf- uImage 4.配置NFS服务 我们在Linux主机上交叉编译后的程序需要拷贝到EVB-335X开发板上运行,这里我采用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 5.交叉编译ARM架构程序 我们在/nfsshare共享目录下创建一个C程序,交叉编译,以便在EVB-335X开发板上挂载/nfsshare后,测试是否能够成功。 首先执行如下命令: cd /nfsshare sudo gedit test.c 在打开的test.c文件中输入代码: #include int main() { printf("Hello world,I come from NFSdir! "); return 0; } 然后执行命令: arm-linux-gcc -otest test.c 交叉编译生成test可执行文件 6.EVB-335X开发板运行交叉编译ARM架构程序 将EVB-335X开发板通过网线挂接到无线路由器,并连接好串口线,上电启动,在超级终端输入如下命令,看看网卡的IP地址是否和Linux主机在同一网段内,执行命令: ifconfig 如下图所示: 发现系统默认设置的IP地址跟我的PC机不在同一网段,输入如下命令,修改开发板的IP地址; ifconfig eth0 192.168.1.211 再次执行ifconfig命令,结果如下: 通过上述的设置,发现开发板的IP地址已经与我的Linux主机的IP地址处于同一网段,下面我们来测试一下,EVB-335X开发板是否能够PING通我的Linux主机,执行如下命令: ping 192.168.1.102 结果如下: 以上结果说明我们可以通过EVB-335X开发板以太网口经无线路由器与Linux主机建立通讯连接。 以上网络设置好后,我们在EVB-335X开发板上通过网络挂载运行在Linux主机上的NFS文件系统: mount -t nfs 192.168.1.102:/nfsshare /mnt-o nolock cd /mnt 结果如下: |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
【盈鹏飞RK3399安卓主板 XPC-3399Pro免费试用】+烧写出厂固件
10281 浏览 0 评论
【盈鹏飞EVB-T335开发板试用体验】debian系统烧写
3304 浏览 1 评论
【盈鹏飞I.MX6UL工控开发板试用体验】linux can 测试
3201 浏览 0 评论
269浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 05:14 , Processed in 0.547257 second(s), Total 68, Slave 50 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号