wlawei的笔记 https://passport2.21ic.com/?294726 [收藏] [复制] [RSS]

日志

终于可以将文件下载到目标板了

已有 609 次阅读2008-11-4 14:44 |个人分类:嵌入式|系统分类:嵌入式系统

在单位高到了一个ARM9的学习板,高兴之余便开始了进一步的学习。去书店买了华清远见培训中心的《嵌入式linux系统开发技术详解-基于ARM》这本书,孙纪坤、张小全主编的,人民邮电出版社出版的。本来是想在当当书店买的,但是,恰好赶上缺货,哎!
先来说说这本书,买这本书是因为当时网上有人给推荐这本书,说是比较适合入门,又因为看到当当上这本书都没有了,而且买到此书的人对这本书的评价都还不错,所以,决定就买这本书作为我的入门书籍了。我对此书的评价是还不错。此书的确如别人说说存在一些打印错误,但整体来说还是比较适合作为入门 的人进行阅读的。虽然书中关于内核的介绍让我摸不着头脑,但硬着头皮读下来还是有一些收获的。因为对linux接触不多,所以开始接触linux的时候感觉很生涩,看到Makefile、开发环境还有bootloader时,就感觉有些费劲。不过幸好前一段时间在网上下载了一个讲ARM+linux的视频,结合着看,似乎更好理解。单看书和单看视频都觉得不好理解。
再来说说最近取得的一些成绩。
1、安装linux。删掉了不少资料才给linux腾出了10个G的空间,开始想安装RedHat 9.0,在虚拟机上试了试感觉不是很好用,最后选择了Fedora 7。我的感觉是Fedora 7要比RedHat好用一些,这篇文章就是在Fedora 7下写的。不过有一点是需要说明的,R用的是2.4的内核,而F用的是2.6的内核。
2、创建交叉环境。因为板子自己带了光盘,光盘上带有一个交叉编译环境,就没有再去网上下载,所以直接拷过来用了。在/usr/local/下创建arm目录,用tar命令将其解包在了3.3.2目录下(tar命令的使用:tar -jxvf 文件名或tar -zxvf 文件名(分别是bz和gz))。交叉编译环境即创建完毕。
3、使用交叉编译环境编译目标板上的程序。在/usr/local/arm/目录下用vi创建一个hello的C程序。如下:
#include <stdio.h>
int main()
{
    printf("Hello,this is a test!\n");
    return 0;
}
执行程序就是在在终端上打印
Hello,this is a test!,保存文件并取名为hello.c。
用刚才工具链下的gcc进行编译。
[root@localhost 3.3.2]# ./arm-linux/bin/gcc hello.c hello。
4、下载到目标板。将目标板和主机连接,串口、网线等。我在用串口传送文件时没有成功,所以在这儿主要来说一下用FTP下载。我所使用的目标板带有FTP协议(可以通过查阅目标板的/usr/bin/里是否有FTP来了解,当然还有可能存在以下位置:/usr/sbin,/bin,/sbin)。
连接网线后,在目标板的终端上使用ipconfig命令查询了目标板的IP为:192.168.2.223,于是将主机的IP设为192.168.2.2。
在主机使用命令ping 192.168.2.223,来确定网线是否连通。在目标板使用ping 192.168.2.2,来确定是否连通。
确定主机FTP服务是否开通,也可以用service vsftpd start确定一下。然后将刚才编译的hello拷贝到/var/ftp下。
将主机的防火墙关闭,不关闭会出现FTP能连接,但是无法下载文件的问题。
在目标板上执行以下命令:/usr/bin/ftp 192.168.2.2提示输入用户名和密码均输入ftp。
执行命令:get hello
如果成功,就可以将hello下载到目标板上了。
执行命令:chmod 755 hello改变读写权限
然后执行命令:hello,即可在终端上显示
Hello,this is a test!
这样就成功了。
一个问题:minicom使用的不是很好,我用minicom一直无法传递文件,我怀疑是因为目标板的启动信息是通过minicom打印到主机上的,这样是否就可以说串口被占用,从而无法用串口传递文件呢?

路过

鸡蛋

鲜花

握手

雷人

全部作者的其他最新日志

评论 (0 个评论)