嵌入式系統
韌體(Firmware)
韌體是專門為某一特定硬體撰寫、並永久存放在其中的軟體——它既不全然是「硬體」,也不是你雙擊就能開的那種應用程式。這個名字正好點出它的中間屬性:它是軟的(是程式碼,可被改寫),卻又是硬的(住在裝置的快閃記憶體裡,斷電後仍在,且很少更動)。可以想像飛機椅背口袋裡那張安全須知卡:它像軟體一樣是資訊,卻是隨產品出廠就固定在那裡,乘客不會天天替換。
在微控制器上,韌體就是全部的主角——底下通常沒有作業系統,所以你的程式直接對著暫存器下令:切換腳位、啟動計時器、讀取感測器。一上電它就從位址零開機,然後永遠迴圈下去。更新它叫做「燒錄(flashing)」,透過 USB、除錯器或無線方式寫入新碼;一次失敗的更新可能把裝置「變磚(brick)」,所以關鍵系統會保留一小段永遠能救回來的開機載入程式(bootloader)。你的路由器、SSD、耳機、洗衣機,跑的全是你從沒見過的韌體。
韌體與一般軟體的界線本就模糊,而且越來越模糊:現代韌體可達數 MB、每週更新。真正有用的區分是:韌體與特定硬體綁定,並儲存在裝置本身的非揮發性記憶體中。
又称
另见