嵌入式bootloader开发Tiny6410
在看尚观发布的嵌入式bootloader开发视频,听起来感觉还行,都基本会,但手里面只有友善之臂TIny6410开发板,还好这个开发板上已经有移植好的u-boot,而且SOC和视频上所说的差不多,一个是2410,一个是6410.只是后者是基于ARM11,而前者是比较老的ARM9.
首先搭建开发环境,CentOS6.4x64版本,系统相对比较新
minicom安装:yum -y install minicom
minicom设置:minicom -s 去掉硬件控制位,并设置波特率和数据传输模式,并且注意要设置设备如: /dev/ttyS0(默认情况下是这个)
并保存成默认设置
现在在命令行下输入minicom,进入uboot.此时就可以看到Friendly ARM移植成功后的uboot了。
此时,我们的PC机器和ARM开发板间数据传输还是不太方便,为此我们可以使用tftp协议,在PC机端构建tftp服务器,并通过网口来进行数据传输.
具体步骤如下:
安装tftp服务器:
yum -y instal tftp-server
yum -y install tftp
yum -y install xinetd
编辑/etc/xinetd.d/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
}
启动tftpd服务,具体命令如下:sevice xinetd restart:如果出现
stop和start说明启动成功。
然后在根目录下新建上一步中所指示的共享目录/tftpboot,然后我们在该目录下新建一个名为abc的文件,vi abc内容如下:
0123,并保存。
然后在终端那里我们下载该文件,具体命令如下:
tftp 50000000 abc@传输abc文件到内存50000000处
注意:此过程可能会失败,一般情况下是因为防火墙的原因,解决方法是关闭SELinux和防火墙,输入命令:
> setenforce 0@关闭SELinux
>iptables -F @清除防火墙
完成后,使用命令md进行显示,具体如图1所示:
可以看出我们已经成功的将文件传送到内存5000_0000处了,这里需要注意的一点是tftp服务器一定要搭建成功哦!配置时需要小心在意!
下一步安装arm-linux-gcc软件,安装方法:
解压缩arm-linux-gcc软件,并切换到bin下运行arm-linux-gcc -v,查看prefix并将该文件夹移动到该目标文件下,然后export环境变量.