哈嘍,你們好。今天更新一篇驅動筆試面試總結。因爲百度網盤分享的資料老是失效。因此,我把PDF版本,放在了百度網盤羣組中,出現問題,能夠和我及時反饋。linux
你們能夠加我好友,好友經過後,發送【資料羣】給我,會自動拉進羣裏。本文內容已同步更新在github,點擊閱讀原文能夠直達github。git
Linux驅動
指令
經常使用的Linux指令
怎麼查看當前進程?怎麼執行退出?怎麼查看當前路徑?
ls 命令執行什麼功能? 能夠帶哪些參數,有什麼區別?
建立目錄用什麼命令?
建立文件用什麼命令?
複製文件用什麼命令?
查看文件內容有哪些命令可使用?
怎麼向屏幕輸出帶空格的字符串,好比」hello world」?
移動文件用哪一個命令?更名用哪一個命令?
刪除文件用哪一個命令?若是須要連目錄及目錄下文件一塊刪除呢?刪除空文件夾用什麼命令?
查找文件內容用哪一個命令?
查找文件用哪一個命令?
cat命令
經常使用的GCC指令
預處理
編譯爲彙編代碼
彙編
連接
一步到位編譯
多文件編譯
警告處理
經常使用的GDB調試指令
經常使用的驅動開發指令
加載/卸載驅動
Linux驅動如何查看驅動模塊中打印信息?
如何查看內核中已有的字符設備的信息?
如何查看正在使用的有哪些中斷號?
uboot
什麼是bootloader?
uboot啓動過程當中作了那些事?
爲何要給內核傳遞參數呢?
uboot和內核如何完成參數傳遞?
爲何uboot要關掉cache?
文件系統
什麼是根文件系統?
根文件系統爲何這麼重要?
可執行映像文件一般由幾部分構成,它們有什麼特色?
中斷
硬中斷 / 軟中斷是什麼?有什麼區別?
中斷爲何要區分上半部和下半部?
中斷下半部通常如何實現?
linux中斷的響應執行流程?中斷的申請及什麼時候執行(什麼時候執行中斷處理函數)?
Linux驅動模型
字符設備驅動模型
LCD驅動模型
總線設備驅動模型
輸入子系統模型
platform總線的匹配規則是什麼?在具體應用上要不要先註冊驅動再註冊設備?有前後順序沒?
Linux內核
內核鏡像格式有幾種?分別有什麼區別?
內核中申請內存有哪幾個函數?有什麼區別?
什麼是內核空間,用戶空間?
爲何須要區份內核空間與用戶空間?
什麼是內核態和用戶態?
用戶空間與內核通訊方式有哪些?
內核鏈表爲何具備通用性?
應用程序中open()在linux中執行過程當中是如何從用戶空間到內核空間?
怎樣申請大塊內核內存?
設備驅動
請簡述主設備號和次設備號的用途。
字符型驅動設備怎麼建立設備文件?
設備驅動程序中如何註冊一個字符設備?分別解釋一下它的幾個參數的含義。
/dev/下面的設備文件是怎麼建立出來的?
Linux設備中字符設備和塊設備有什麼主要區別?分別舉例。
驅動中操做物理絕對地址爲何要先ioremap?
insmod,rmmod一個驅動模塊,會執行模塊中的哪一個函數?在設計上要注意哪些問題?
NAND驅動的probe流程
Linux驅動開發中,經常使用的調試方法有哪些?
Linux驅動開發經常使用函數
# 結語github
資料中,不免會有一些錯誤,有任何問題,均可以在github向我提交issue。文中的勘誤,我都會更新在github中。點擊閱讀原文能夠直達github。面試
微信公衆號近期改變了推送規則,若是您想常常看到個人文章,能夠選擇置頂星標公衆號。在每次閱讀後,在頁面下方點一個「贊」或「在看」,這樣,每次推送的文章纔會第一時間出如今您的訂閱列表裏。微信
文章來源函數
嵌入式軟件工程師筆試面試指南-Linux驅動 spa