注意:minicom只有在pc机与开发板连接好才会正常。(这就是之前一直不能正确显示的原因)
1.首先在PC机上安装minicom.
sudo apt-get install minicom
关于minicom的一些设置:ctrl+A,然后松开,紧接着按Z,开始设置。退出,ctrl+A,然后松开,紧接着按Q。
2.在PC机上安装nfs.
sudo apt-get install nfs-kernel-server nfs-common
3.修改配置文件:
vi /etc/exports
在里面加入
/home/nfs *(rw,sync,no_root_squash)
/home/nfs是要共享的目录
4.重启nfs服务
sudo /etc/init.d/portmap restart
sudo /etc/init.d/nfs-kernel-server restart
5.OK!基本设置已经搞定.
现在将板子与pc机的串口线连好,进入minicom.那么现在的这个minicom就相当于arm的终端了,只不过让他显示在我们的PC机上而已.在minicom下挂载PC机的nfs共享目录.在minicom登录了arm开发板后,在minicom的终端输入命令:
mount -t nfs -o nolock 192.168.1.88:/home/nfs /mnt或者:mount -t nfs 192.168.1.88:/home/nfs /mnt -o nolock
即我们将PC机做成nfs服务器,arm开发板作为客户机来访问它.
192.168.1.88是这台PC机的IP地址,/mnt/nfs是这快arm开发板可以共享到的PC机的目录。将192.168.1.88:/home/nfs下的文件挂载到arm开发板的/mnt目录下.
6.然后我们在我们的PC机上开发,完了之后直接将生成的内容cp到pc机的/home/nfs目录下(或则我们直接在此目录下编译也可以),arm板通过minicom就可以共享了.
ubuntu中安装tftp服务
1、安装相关软件包
apt-get install tftpd (服务端)
apt-get install tftp (客户端)
apt-get install xinetd
2、建立配置文件
cd /etc/xinetd.d/
vi tftp
输入
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
存盘退出
3、建立tftp服务文件目录
mkdir /tftpboot
4、从新启动服务
/etc/init.d/xinetd restart
安装完成!测试方法:
切换到/tftpboot目录下,
在/tftpboot (注意这里必须是这个目录,与前面的红色设置相对应)目录下随便放个文件abc
然后在pc机上面运行tftp 192.168.1.230(目标板IP)进入tftp命令行
(如果不正常可以试着把网线插好,或者重启一下开发板)
输入get abc 看看是不是能把文件下下来,如果可以就可以了,也可以put 文件上去。
用ftp上传文件并执行之(测试成功)
在经历了几万年的努力之后,我终于把交叉编译之后的二进制文件上传到arm板上面,并运行成功!
其过程如下:
1.在pc机上面切换到要上传的目录下,我的是/ftpboot这个目录,hello程序就在这个目录里面
输入:
#ftp 192.168.1.230.
(上面的IP是目标板IP,pc机ip为192.168.1.88,二者必须在同一个网段)
2.如果pc机和目标板的连接良好,就会出现Connected to 192.168.1.230的字样。(不会停留很长时间,如果等了半天没反应,就说明没连上,有可能ip不在同一网段,不过有时重启一下目标板就会解决或则个问题)。根据提示依次输入用户名plg,和密码plg。如下:
3.ftp>后面输入bin将改变传输模式为binary。如下:
4.现在可以用put hello命令将hello文件上传至开发板上面了。上传完后,如下:
5.输入by退出ftp
6.用minicom登陆开发板,切换到/home/plg目录下
7.输入./hello即可运行之,运行结果如下。
8.在等待了几千年之后,我们盼望的画面终于出现了!!!!!
激动不已!
9.在编译hello.c源文件的时候,应注意一下问题:
己编写的程序在文件系统上运行必须采用静态编
译,否则会报诸如:bin/sh: hello :not found的错误
。
静态编译如:
arm-linux-gcc –static hello.c –o hello
在开发板上直接./hello,便会有你要的惊喜~~~
kermit的安装与使用
1、先到来下载C-Kermit。如果你下载的是cku211.tar.gz的话,执行:
gunzip cku211.tar.gz
tar xvf cku211.tar
rm -rf cku211.tar
make linux
mv wermit /usr/local/bin/kermit
执行以上命令,就可以在终端上输入kermit就可运行了。
2. kermit脚本设置:
# vi ~/.kermrc
set line /dev/ttyS0
set speed 115200
set carrier-watch off
set handshake none
set flow-control none
robust
set file type bin
set file name lit
set rec pack 1000
set send pack 1000
set window 5
c
保存后退出即可。然后启动kermit,你会看到:
# kermit
Connecting to /dev/ttyS0, speed 115200
Escape character: Ctrl-\ (ASCII 28, FS): enabled
Type the escape character followed by C to get back,
or followed by ? to see other options.
出现以上提示,则说明串口已经打开。
切换:按下Ctrl + \ ,再按c 就跳回kermit。跳回串口控制,可以输入c,即connect命令
发送文件:
kermit中输入connect后,跳到u-boot串口界面。
输入loadb 0x0c008000 回车
按下 ctrl + \ ,再按c,切换到kermit。
输入命令:send /home/zImage
kermit开始传送数据了,并可以看到传送进度,发送完后,输入c,再回到u-boot界面,然后,再输入:go 0x0c008000
内核开始运行了
kermit在启动时会查找~/.kermrc文件,调用里面的命令来初始化kermit。只要将你所需的命令写到~/.kermrc文件里,启动后就不这么麻烦了