Linux交叉编译开发报告.docx
《Linux交叉编译开发报告.docx》由会员分享,可在线阅读,更多相关《Linux交叉编译开发报告.docx(17页珍藏版)》请在冰豆网上搜索。
![Linux交叉编译开发报告.docx](https://file1.bdocx.com/fileroot1/2022-10/16/06b54c6a-cde2-41db-8944-b7aa17a281b1/06b54c6a-cde2-41db-8944-b7aa17a281b11.gif)
Linux交叉编译开发报告
Linux交叉编译开发报告
Linux交叉编译开发报告
1.基本文件和相关工作的准备.........................................1
2.配置以太网.....................................................................2
3.配置tftp服务器.............................................................3
4.配置nfs服务器..............................................................4
5.设置交叉编译环境并编译helloworld.c程序..........................5
6.虚拟机通过串口线连接开发板.....................................6
7.设置minicom...................................................................7
8.通过NFS将helloworld应用程序下载到jxarm9-2410中.......8
9.实验过程的问题与解决方法......................................................9
一.基本文件和相关工作的准备
1.虚拟机vm10.0:
Linux:
redhat9.0:
交叉编译工具ram-linux:
2.关于虚拟机和redhat9.0的安装在此笔者就不再赘述,值得注意的是由于后面的实验我们将用到tftp和nfs服务以及minicom超级终端所以在安装linux时请选择完整安装。
二.配置以太网
1.打开虚拟机启动redhat9.0,进行网络配置:
2.点击“编辑”将网络设置如下:
地址:
192.168.1.180子网掩码:
255.255.255.0
默认网关可不用设置并激活网卡然后重启系统使设置生效
三.配置TFTP服务器
新建终端输入:
setup
在systemservice中
将其中的tftp一项选中,并去掉ipchains和iptables两项服务。
然后选择Firewallconfiguration,选中Nofirewall
配置完成后,保存退出setup,执行如下命令以启动TFTP服务:
servicexinetdrestart
四.配置NFS服务器
新建终端编辑/etc/exports,输入vi/etc/export在该空文件中添加如下行:
/(rw)
重启NFS服务,在终端输入:
/etc/init.d/nfsrestart重启两次
注意,在使用nfs服务的请大家确认防火墙没有限制nfs服务,现在我们测试一下nfs服务。
假设有nfs服务的主机的IP为192.168.1.180,我们在192.168.1.180上测试,首先在home目录下建立tmp文件夹,然后用超级用户执行下列命令:
mount192.168.1.180:
/tftpboot//home/tmp
查看一下目录“/home/tmp”里面的内容是否和192.168.1.180上目录“/tftpboot”里面的内容完全一样,确定NFS服务可用。
五.设置交叉编译环境并编译helloworld.c程序
1进入根目录home文件夹下解压缩cross-2.95.3.tar.bz2生成2.95.3文件
2.进入/usr/local/新建一个arm文件夹
3.进入arm文件夹复制2.95.3到arm文件夹下
4.添加系统环境变量如下
5.在最低端添加如下命令:
exportPATH=$PATH:
/usr/local/arm/2.95.3/bin
6.在终端运行source/etc/profile刷新系统变量
7.在根目录下的tftpboot文件夹下用vi编辑器编写helloworld.c程序
编写程序并保存退出
使用arm-linux-gcc编译helloworld.c程序
六.虚拟机通过串口连接开发板
1.首先关闭虚拟机中的linux操作系统
2.右键点击radhat9.0选择“设置”
选择“添加”串行端口
设置完成后则可以用linux中的minicom超级终端通过串口线连接卡发版了
七.设置minicom
在Linux操作系统下,使用minicom作为超级终端,输入#minicom-s,如下图进行设置
配置完成后,然后选择Exit菜单,将启动minicom程序,此时请将JXARM9-2410的UART0连接到PC机串口并将JXARM9-2410重新上电,在minicom中,将出现如下所示界面:
八.通过NFS将helloworld应用程序下载到jxarm9-2410中
JXARM9-2410通过NFS将主机的/tftpboot/目录挂接到目标机的/mnt/nfs目录中,因此,需要将上面编译生成的程序helloworld拷贝到主机的/tftpboot/目录下,在Linux命令行下输入如下命令将主机端/tftpboot/目录挂载到/mnt/nfs/目录下。
命令:
#mount192.168.1.180:
/tftpboot//mnt/nfs
然后运行helloworld,正确结果将打印在minicom上:
helloworld!
九.实验过程的问题与解决方法
1.minicom不能正确连接问题:
基本上是minicom的设置问题,波特率要设置成和开发板波特率相同,还有就是设备号要设置正确。
如果minicom能连接开发板但出现乱码问题则有可能是开发板的问题,可以更换开发板重新设置连接。
2.TFTP的连接失败问题:
分析原因应该有网络连接问题:
配置错误,网线不对,机器问题,网卡运行问题,tftpboot文件目录不存在。