嵌入式开发怎么用tftp烧写自己的Uimage内核
许久不接触嵌入式了,今天拿到一个板子被要求升级内核的时候一脸懵,研究了一天,终于成功实现了内核的烧写以及NFS挂载和ubuntu与windows的映射,分享一下
硬件连接
拿到设备的板子首先给连接电源,插上网线,板子另一端用串口转接板和串口线连到电脑COM口。
可以在电脑的设备管理器上查看新增的是哪个COM口,应该是通讯接口COM1
secure CRT操作
确保硬件连接好之后,打开secure CRT->quick connect
如果有ubuntu服务器,使用服务器账号密码登录,可以在secure CRT里直接进入ubuntu 的命令行。
另一方面,可以在quick connect 里面连接刚才插上的板子即COM1口,选择正确的波特率,其他的不要改用也不要勾选。
连接好了之后,可以在secure CRT里面登入板子的系统。
tftp 操作
需要的软件是tftpd32,可以在网上找到绿色软件,不用安装,解压后直接用。
双击tftpd32.exe文件,在current dir里面选择存放有uimage内核的路径,在ip地址那一栏选择自己电脑的IP地址
要升级内核首先要配置uboot的ip
secure CRT输入reboot
指令,可以启动板子
在板子启动进入倒计时的时候,按住Ctrl+U可以暂停启动
暂停启动后,输入pri
指令可以看uboot 的各种参数,包括目前的IP
我们需要做的是把IP地址改掉,在自己电脑的IP下重新分一个ip给uboot,保证与自己电脑的ip在同一个网段内,且不跟其他人重复。
可以在secureCRT下面创建new botton,其实就跟宏差不多,把自己的指令放进去,按以下botton,botton里保存的指令就直接运行一次。不同每次都输入很多行。
在更改uboot ip的时候可以创建一下ubootip的botton,输入下列指令:
#setenv serverip +ip %(这里加上自己电脑的ip)\r
#setenv ipaddr +ip %这里加上自己要分给板子的ip,需要ping以下,ping不同的才能被分给板子,ping通了说明这个ip被人用了)
#sa %(save指令的缩写)
保存这个botton,每次给板子配置IP的时候,进入暂停启动状态,按一下这个botton就可以了。
配置好了之后,可以再输入pri指令,检查IP地址有没有配置成功。
说一下怎么ping一个地址
打开自己电脑的cmd,输入ping (加上要ping 的ip),比如
ping 192.168.1.10
如果显示信息传输成功,说明这个IP被人用了;
如果显示无法访问目标主机,说明这个ip目前没人用,自己可以分这个IP给设备。
升级或烧写Uimage 内核
目前板子仍然是暂停启动状态
# help % 输入 help指令可以看各个指令的用法,找到update uimage 的指令,我的电脑是upk指令
# upk %直接输入upk指令,tftp已经预先设定好了uimage 的路径的电脑的ip,tftp可以自动将内核文件进行烧写
# re %烧写成功之后需要重启板子,在内核里重启,指令是 re(reset指令的缩写)
烧写完毕之后,可以通过查找有没有内核的必要文件来检查是否烧写成功
比如说,如果烧写成功,在哪个目录下应该出现哪些文件,这样可以检查。
一般来说,这样就烧写成功了。
如何实现nfs 目录挂载
以板子的nfs文件夹和ubuntu服务器的nfs文件夹挂载为例。
首先配置uimage内核的ip
在secure CRT里面输入
iptables -F;
ifconfig eth0 (加上自己分给板子的ip)netmask (一般是255.255.255.0);
route add default gw (加上自己所在域的网关);
以我的电脑为例,输入
ifconfig eth0 10.17.99.206 netmask 255.255.255.0;route add default gw 10.17.99.254;
这样就可以配置uimage 内核的ip
配置好了之后继续输入
mount -t nfs (加上ubuntu服务器的ip):/(加上ubuntu下要挂载的nfs 文件的绝对路径) /mnt -o nolock \n
以我的电脑为例,输入
mount -t nfs 10.1.14.104:/data3/quhbsbcib/nfs /mnt -o nolock \n
这一步可以实现板子与ubuntu服务器上nfs目录的挂载。
上面两段指令也可以制作new botton ,以后方便使用。
输入umount /mnt
指令可以解除挂载
挂载成功后,可以在板子的mnt 路径下,访问ubuntu服务器被挂载的目录下面的文件,cp、mkdir、rm等指令都可以用。
ubuntu向本机映射
如果想在window 系统的文件资源管理器里面直接看到ubuntu的某些文件夹,可以将Ubuntu向自己的电脑进行映射
方式很简单,只要在windows 下,打开文件资源管理器,点击计算机,映射网络驱动器,就会弹出登录ubuntu的界面
只要能成功登入ubuntu服务器,在windows 下的文件资源管理器就会多出一个ubuntu服务器的文件夹,Ubuntu里面的文件发生改动,windows系统可以同步看到。
同时,如果板子挂载了ubuntu 服务器的目录,在板子里面进行文件的更改,在ubuntu服务器可以同时改动,如果ubuntu又实现了和Windows系统的映射,那么在板子里进行的文件改动,也同时在windows 文件资源管理器下直接看到,非常方便。
今天就分享这么多啦