嵌入式系统烧写

本文使用的是厦门铂士莱信息科技有限公司的实验箱,同时,也是在它公司提供的实验指导书的基础上,进行了本文的编写。


本文主要是嵌入式系统的烧写,因为实验指导书使用了三种烧写方式,因此,我也就从它的基础上进行讲解。

 

首先咱们需要给实验箱和电脑之间连上串口线,然后通上电源。

因为在烧写时会用到超级终端或者是串口调试工具,所以咱们需要提前做好准备工作。我使用的是SecureCRT 7.1,这个软件在“嵌入式Linux试验箱资料\嵌入式实验箱7.0寸--实验内容\tools”中,当然,网上也是可以找到的。

安装教程:http://jingyan.baidu.com/article/76a7e409deed5efc3b6e15c4.html

 

第一种:基于SD卡(TF卡)的下载

相信看见小标题就知道了,本实验需要用到SD卡(TF卡),所谓的SD卡就是咱们平时插在相机里面的内存卡,TF卡呢就是以前咱们插在手机上的内存卡。或许有的小伙伴看见了会感到有点诧异,现在除了相机,谁还在用SD卡,更别说TF卡这种“上古怪兽”了。是的,没错,咱们计算机行业都是用“别人剩下的”。当然,这只是玩笑话。要使用SD卡,因此,咱们需要自己准备一个读卡器。

因为我使用的实验箱的串口线是一个双母头的串口线,而且一般来说,笔记本电脑上的串口都是母头,很巧,我的电脑也是。因此,用这种方法进行烧写时,咱们使用台式机。

 

1、  对SD卡进行格式化

在”嵌入式Linux试验箱资料\嵌入式实验箱7.0寸--实验内容\配套实验\实验代码\嵌入式Linux系统开发实验\嵌入式Linux系统开发\嵌入式系统烧写实验”中,咱们可以找到一个名为“format.sh”的文件,将这个文件拷贝到虚拟机中,将SD卡插入到ubuntu系统下。

因为我把文件放在了桌面上,所以具体步骤如下:

cd     /home/stand/桌面

mv    format.sh ~/Linux4412

sudo  ./format.sh  /dev/sdb

 

重新拔插SD卡,返回到windows下,再次格式化(选择FAT32格式,不要选择快速格式化)

 

2、  拷贝编译完成的文件下载

在格式化完成的SD卡中,新建文件夹sdupdate,从“嵌入式Linux试验箱资料\OS盘内容\linux\image”路径下,找到u-boot-Boxlab-4412.bin文件,将其拷贝到sdupdate中。

同时,也将之前实验完成的system.img(实验:Linux嵌入式内核编译过程)、zImage(实验:Linux嵌入式内核编译过程)、ramdisk-uboot.img(基于busybox的根文件系统制作)拷贝到sdupdate。

拷贝完成之后,就可将SD卡插在实验箱SD卡槽处。

 

3、  打开SecureCRT,设置一个串口连接,如下图所示:

com1、com2的选择,请右键点击桌面上的计算机,选择管理,再选择设备管理器,打开端口,就可以查看电脑的通信端口。一般来说,都是com1。

 

4、  启动串口连接,给实验箱上电,在uboot启动进入倒计时的时候,按下回车进入uboot模式

 

5、  在SecureCRT中,输入命令sdfuseflashall,等待实验箱下载完成。在完成之后,可以在uboot模式下,输入boot,就可以进入系统了。

 

 

第二种:Windows下使用fastboot工具烧写

现在SD卡(TF卡)的使用确实比较少,因此,咱们也可以使用此种方式进行烧写。

1、  将OTG接口(就是咱们平时使用的USB线,在这里被叫做miniusb)和串口连接到PC机上,为了防止出现问题,连接OTG接口时,强烈建议插在PC机机箱的后面!

 

2、  在“\嵌入式Linux试验箱资料\嵌入式实验箱7.0寸--实验内容\tools”中找到fastboot.rar文件,拷贝到一个系统盘中,如D盘,并将其解压

 

3、  拷贝文件u-boot-Boxlab-4412.bin、zImage、ramdisk-uboot.img、system.img到fastboot目录的imageLinux4412目录下(如果没有此文件夹,那么请新建)

 

4、  使用SecureCRT连接串口,启动开发板后,进入uboot命令状态,然后在SecureCRT中输入命令fastboot

 

5、  确认miniusb与实验箱连接后,在PC端,进入到fastboot目录下。按住shift的同时,鼠标点击右键,选择“在此处打开命令窗口”,即咱们平时说的cmd命令行窗口,输入以下指令:

fastboot.exe  flash bootloader .\imageLinux4412\u-boot-Boxlab-4412.bin

fastboot.exe  flash kernel  .\imageLinux4412\zImage

fastboot.exe  flash ramdisk  .\imageLinux4412\ramdisk-uboot.img

fastboot.exe  flash system .\imageLinux4412\system.img

fastboot  -w

 

如果在命令输入之后,出现“<waitingfor device>”,那么请检查自己的虚拟机是否开着,如果开着,请将它关闭


如上图,因为PC只有一个com1口,因此咱们无论在使用SercureCRT还是命令行下载时,都需要双击虚拟机的“串行端口2”,将其改为“自动检测”,如下图所示


 

6、  下载完成后,重启实验箱,就可以进入自己烧写的系统了。

 

7、  为了节省时间,还有一个快捷下载的方式,将自己需要下载的文件拷贝到fastboot\firmware目录下,启动开发板,进入uboot命令状态,然后在SercureCRT中,输入命令fastboot

 

8、  确认miniusb连接后,在PC端,进入\fastboot目录,双击flash_all.bat批处理文件,等待其下载完成即可。

 

 

第三种:基于tftp方式烧写

因为此种方式下载速度慢,而且system.img文件比较大,经常容易发生下载不能完成的情况,所以,在这里就不再赘述了。如果有兴趣的小伙伴,可以自己百度一下过程,或者翻看我们的实验指导书。