1. 什么是驅動模塊?
官方定義: 可在運行時添加到內核中的代碼被稱為“模塊”。
Linux設備驅動只有在Linux內核中才能工作,內核是驅動運行所依賴的環境(Linux內核中有驅動運行所需要的庫等)。
所以驅動編譯、運行有兩種方式:
一種方式是直接將驅動代碼放入內核中,作為內核的一部分進行編譯,然后Linux內核啟動的時候,驅動也即運行。
另一種方式是將驅動單獨編譯成一個模塊,當Linux內核運行起來后,需要某個驅動的時候,再將對應的驅動模塊添加到當前的Linux內核中,當不需要某個驅動的時候,可以從內核中將對應的驅動模塊卸載掉
2. 模塊化編程有什么好處?
1)可以減小內核鏡像的體積,因為模塊本身不被編譯到內核鏡像里面。
2)可以在內核中添加或刪除功能(模塊化的形式)而不用重新編譯內核(每一次從新編譯內核很耗時):
非模塊化驅動編程過程: 編寫驅動->編譯內核(驅動放入內核代碼中一起編譯)->生成鏡像燒寫到硬件->如果驅動出現問題則從新回到步修改然后開始直到成功。
模塊化驅動編程過程: 編寫驅動->單獨將驅動編譯成一個模塊->將模塊下載到正在運行的硬件上并插入到內核中->如果有問題則回到步驟一從新開始,整個過程無需重新編譯和燒寫內核。
一直以來粵嵌科技都是以嵌入式培訓作為我們公司發展的主要核心,每年為企業培養了上萬的嵌入式人才,給市場輸送了一部分的嵌入式人才。如果說你是想要學習嵌入式linux技術的話,那么可以來我們粵嵌科技實地考察,也可以點擊我們文章下面的獲取試聽資格按鈕來獲取我們的嵌入式linux培訓免費課程試聽資格,來和我們的講師進行面對面的交流和溝通,并更加深入的了解我們粵嵌科技。