firmware的加载,更新一些基本概念

firmware是写在nand或者某些rom里面,供具体某个硬件模块如modem,wifi运行时,加载到他们各自的ram里面,从而使得这个小模块运行起来的固件。它是个相比driver来说,硬件运行起来需要的一个在ram中运行的更基本的程序。

现在,如果某个小的moduel,没有nand或rom,那么他的firmware改放在哪里? 很显然可以放在一个主板上的大rom里面,比如c:\firmware\wififirmware.bin ,在系统启动的时候,由wifi的driver负责把这个wififirmware.bin 读取出来(比如通过requestfirmware()函数),再写到wifi的ram里面,让wifi运行起来。


同理,别的firmware甚至是系统更新都是相同的原理,比如ota更新, 是通过网络,将某个firmware download下来,替换掉原来在nand中的firmware的一个过程。更新之后,重新开机的时候,模块甚至系统,就会将新的 firmware 加载到ram中运行。



你可能感兴趣的:(firmware)