固件是嵌入式系統(tǒng)基本軟件組成部分之一, 具有操作系統(tǒng)和應(yīng)用程序相似的功能,通常位于硬件設(shè)備中類(lèi)似于芯片內(nèi)部或存儲(chǔ)器內(nèi)。 固件負(fù)責(zé)控制硬件設(shè)備,使之能夠正確運(yùn)行,同時(shí)也提供更高層次(如操作系統(tǒng))所需和相關(guān)的抽象、接口和服務(wù),從而支持外圍設(shè)備(例如: 驅(qū)動(dòng)程序、API)的正常運(yùn)行。
1.固件的作用
固件可以被視為連接硬件和軟件的橋梁。 不同類(lèi)型的硬件設(shè)備都需要具有特定的固件(例如:路由器、打印機(jī)、電視機(jī)頂盒等)。 固件不僅控制硬件,還允許軟件與硬件進(jìn)行有效的交互,將數(shù)據(jù)和命令發(fā)送到硬件設(shè)備,以實(shí)現(xiàn)預(yù)期的功能。
2.固件開(kāi)發(fā)過(guò)程
固件開(kāi)發(fā)過(guò)程需要制定一系列規(guī)范和標(biāo)準(zhǔn),例如固件的代碼規(guī)范和編程語(yǔ)言選用等。 因?yàn)橥ǔG闆r下固件的代碼量很大,同時(shí)與硬件極其緊密相關(guān),代碼質(zhì)量管理和測(cè)試十分重要。
3.固件升級(jí)
由于不斷出現(xiàn)新的軟件需求或者安全漏洞, 固件升級(jí)是非常常見(jiàn)的行為。 固件升級(jí)可能涉及到對(duì)設(shè)備進(jìn)行重新燒錄(擦除之前的固件并替換為新的固件)或通過(guò)網(wǎng)絡(luò)遠(yuǎn)程傳輸后更新固件。現(xiàn)代化應(yīng)用多數(shù)支持下載最新固件版以獲取功能性、性能上的改進(jìn)和修復(fù)安全漏洞。