实验目标:
1、Linux环境的建立,Hello_World编辑编译
2、Hello_World多种下载方法实验并比较各的优劣
1、建立Linux开发环境
Step1、编译器安装:arm-linux-gcc
将光盘目录 linux\ 中的arm-linux-gcc-4.3.2.tgz 复制到某个目录下如 tmp\ ,然后
进入到该目录,执行解压命令:
#cd \tmp
#tar xvzf arm-linux-gcc-4.3.2.tgz –C /
注意:C 后面有个空格,并且 C 是大写的,它是英文单词“Change”的第一个字母,
在此是改变目录的意思。
执行该命令,将把arm-linux-gcc 安装到/usr/loca/arm/4.3.2目录。
在root权限下进行
Step2:把编译器路径加入系统环境变量,运行命令
#gedit /root/.bashrc
编辑/root/.bashrc 文件,在最后一行 export PATH=$PATH:/usr/local/arm/4.3.2/bin
重新登录系统( 不必重启机器,开始->logout 即可) ,使以上设置生效 或则使用source .bashrc (
最好在root权限下运行)
Step3:编辑、编译hello.c
在tmp下新建hello.c,编辑好后,编译arm-linux-gcc -o hello hello.c
或自己编写makefile 用makefile编译
CROSS=arm-linux-
all: hello
hello:
$(CROSS)gcc -o hello hello.c
clean:
@rm -vf hello *.o *~
Step4:把Hello,World下载到开发板运行
将编译好的可执行文件下载到目标板目前主要四种方式:
第一种:复制到介质( 如优盘)
第二种:通过网络传送文件到开发板( 推荐使用)
第三种:通过串口传送文件到开发板
第四种:通过NFS(网络文件系统) 直接运行
软硬件环境所限:先试下第三种,串口传送。
波特率115200,数据流控制无,其他保持默认状态。 试了串口调试助手,接受和发送独立的,不好调试,
还是换超级终端
远程系统没响应。。。。终端一堆乱码。可能是串口线一折腾,硬件不稳定。串口失败!!!!(应该没问题,可能操作有误)
尝试下第二种,网络传送。
但前提是:PC和开发板能够ping通吧。
ip必须在同一网段,即PC 和MINI2440需要连接在同一个路由上,分配固定IP;如果不相同,可以用命令改过来;或则直接用网线直连PC和开发板。
在终端中ifconfig查看到
mini2440的ip
eth0 Link encap:Ethernet HWaddr 08:90:90:90:90:90
inet addr:192.168.1.230 Bcast:192.168.1.255 Mask:255.255.255.0
但是在虚拟机的Fedora9中,ifconfig command not found
直接运行/sbin/ifconfig 就会显示正确指令
哎,环境变量的原因,配置下环境吧
1. 直接输入:/sbin/ifconfig
2. 临时修改环境变量:在shell中输入
$export PATH = $PATH:/sbin
然后再输入ifconfig命令,但是这只是临时更改了shell中的PATH,如果关闭shell,则修改消失,下次还需要重复如上操作
3.永久修改PATH变量使之包含/sbin路径:
打开/etc/profile文件,在其中输入export PATH=$PATH:/sbin,
保存并source /etc/profile,这样一来,PATH路径永久修改成功,以后任何时候只需输入ifconfig命令即可
两个ip在同一网段,并且能够互相ping通后,就可以利用ftp进行传输了。
图中第3步:put hello 需在hello当前目录下,要不无法传输
传送成功后,在mini2440 /home/plg目录下就可一看到响应文件,在终端可运行hello文件 ./hello
第四种是最强大的了,直接在虚拟机编辑,编译,mini2440对应的挂载文件会同步改变。在终端中在挂载的文件夹中调试程序。相当于扩大了硬盘。
虚拟机编辑编译,终端运行测试。
配置网络文件系统NFS 服务
1、设置共享目录
注意:要使用共享目录,必须先按照 5.4.2章节解压安装好root_qtopia 目标板文件系统包。
设置参照mini2440说明手册5.5章节
2、搭建好NFS 服务器系统(
不用什么NFS启动开发板系统,其作用未知),然后在
开发板终端命令行输入(在PC Linux终端输入相应命令却没法连上???)以下命令(虚拟机的IP 地址为192.168.1.101 )
#mount –t nfs –o nolock 192.168.1.101:/opt/FriendlyARM/mini2440/root_qtopia /mnt
挂接成功,您就可以进入/mnt 目录进行操作了,在您的 PC Linux 终端把hello复制到
opt/FriendlyARM/mini2440/root_qtopia目录,然后在开发板的串口终端执行
#cd /mnt
#./hello
测试OK 疑问:这个hello World在开发板内存哪个位置???
如果开发板重启,则开发板的mnt文件夹没有文件了,说明hello world并没有下载下来,只是用于调试。调试好了再下载到开发板中,节省很多下载时间。
Hello World!通过
阅读(578) | 评论(0) | 转发(0) |