發表文章

目前顯示的是 4月, 2017的文章

linux : firmware 簡介

我以為device要可以運作, 只要在linux安裝相關的driver即可 最近看到原來device除了driver之外, 還是需要firmware這東西才可以運作... 稍微做個筆記.... Firmware 基本上device要可以正常運作是需要driver和firmware. driver可以看成是系統跟device溝通的橋樑. firmware則是執行在device上面的程式. Firmware除了可以預先寫死在device上外,另一方式就是driver初始化device的時候. 從系統讀取firmware, 在寫入到device. Firmware讀取流程 linux放置firmware的地方為/lib/firmware. 讀取firmware的時候就是透過此. (1) 流程參考[2] Driver跟kernel要求 "ar9170.fw" kernel傳遞event給udev來要求firmware udev執行對應的script,把firmware傳送至kernel所創建的一個特殊檔案 kernel從此特殊檔案讀取firmware, 再把資料傳送給driver driver再把資料傳給device (2) 流程參考[3][5] 1), kernel(driver): - calls request_firmware(&fw_entry, $FIRMWARE, device) - kernel searchs the fimware image with name $FIRMWARE directly in the below search path of root filesystem: User customized search path by module parameter 'path'[1] "/lib/firmware/updates/" UTS_RELEASE, "/lib/firmware/updates", "/lib/firmware/" UTS_RELEASE, ...