1. 名词说明
1.1 什么是固件
固件,也成为firmware。下面引用百度的定义:
固件(firmware)一般存储于设备中的电可擦除只读存储器EEPROM(Electrically Erasable Programmable ROM)或FLASH芯片中,一般可由用户通过特定的刷新程序进行升级的程序。一般来说,担任着一个数码产品最基础、最底层工作的软件才可以称之为固件,比如计算机主板上的基本输入/输出系统BIOS(Basic Input/output System),在以前其实更多的专业人士叫它固件。
我的理解为:固件其实就是放在存储介质上的数据,当嵌入式板子启动时,能够从特定的位置找到这些文件,使得板子能够跑起来,这些文件就是固件。那么在嵌入式linux系统中,经常用到的文件如下:
- uboot:如uboot.bin
- kernel:如uImage
- rootfs:如system.yaffs2文件
嵌入式板子上电后,会去特定的位置寻找uboot,uboot初始化内存,初始化串口,设置linux启动参数以后,会将内核从flash中加载到内存。然后内核会去挂载根文件系统并启动init。所以上面所说的三种文件可以理解为固件。
1.2 什么是烧录?
烧录的意思是将一些嵌入式启动所必须的硬件下载到嵌入式的储存设备中,这可能是norflash, 有可能是nandflash,也有可能是SD卡。当这些固件烧录到储存器中,板子下次启动的时候,直接从这些储