嵌入式的固件烧录方式

1、固件
固件,firmware

所谓固件,就是文件,固化在存储介质上的文件,而文件,其实就是数据。

嵌入式开发中,尤其是Linux开发,常见的方式是,从板子(个人用的是arm的板子)上启动,会允许Uboot,然后Uboot去加载kernel内核,个人常用的kernel是uImage,然后Linux运行后,去加载根文件系统rootfs,个人常用到的yaffs2文件系统。

前后系统运行所需要的文件,总的来说,就是这三个:

Uboot,比如u-boot.bin
Kernel,比如uImage
Rootfs,比如yaffs2.rootfs.arm
而大家一直说的固件,在系统是Linux系统的情况下,常常就是指的是这些文件。

嵌入式开发,很多用的是Linux系统,也有用WinCE和其他系统,此文只介绍Linux系统下面的情况。

Linux系统中,多数为 bootloader + kernel + rootfs 的模式。

其中,bootloader多为uboot,负责初始化硬件和设置好软件环境;然后加载kernel,运行kernel,kernel运行后;再去加载rootfs,之后就是你所看到的运行的Linux了。

其中,在开发过程中,常常会遇到,需要把某个文件,比如U-boot.bin,uImage,rootfs等文件从PC上,下载到Uboot的SDRAM,即内存中,然后再用对应命令或工具,将数据写入到某存储介质中。

2、烧写
所谓烧写,就是写数据,把文件(固件/数据)写到存储介质(Nand Flash, Nor Flash等)上。而对于烧写这个词,说法很多,常见的有:

烧写=烧录=flash=编程=program=programming

更新固件,其实也指的是将新的固件烧写进去,即所谓更新系统。

3、存储介质
存储介质,此处主要是指嵌入式中存放firmware的地方,多数是Nor Flash加上Nand Flash的组合。也有单独是Nor Flash,单独是Nand Flash,单独是SD/MMC卡等方式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章