嵌入式軟件工程師筆試面試指南-Linux驅動

哈嘍,你們好。今天更新一篇驅動筆試面試總結。因爲百度網盤分享的資料老是失效。因此,我把PDF版本,放在了百度網盤羣組中,出現問題,能夠和我及時反饋。linux

你們能夠加我好友,好友經過後,發送【資料羣】給我,會自動拉進羣裏。本文內容已同步更新在github,點擊閱讀原文能夠直達github。git

Linux驅動

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

相關文章
相關標籤/搜索