十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
本文小編為大家詳細介紹“如何以modules的方式編譯驅(qū)動”,內(nèi)容詳細,步驟清晰,細節(jié)處理妥當,希望這篇“如何以modules的方式編譯驅(qū)動”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習新知識吧。
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),兗州企業(yè)網(wǎng)站建設(shè),兗州品牌網(wǎng)站建設(shè),網(wǎng)站定制,兗州網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,兗州網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
本文檔主要講解在iTOP-i.MX6Q開發(fā)板,設(shè)備樹內(nèi)核中以 modules 方式編譯驅(qū)動。
這里以 imx6q(imx6d 和 plus 的類似)的 qt 系統(tǒng)內(nèi)核編譯為例,Ubuntu16 的內(nèi)核和
qt 通用,android6.0 的配置和 qt 的類似。
文檔先介紹和驅(qū)動編譯相關(guān)的幾個文件,Kconfig、Makefile。另外.config 文件和
menuconfig 文件,可以參考“iTOP-iMX6-設(shè)備樹內(nèi)核-缺省文件文件的配置_V1.X”文檔和
“iTOP-iMX6-設(shè)備樹內(nèi)核-menuconfig 的使用_V1.X”文檔。
這里以 led 驅(qū)動為例,驅(qū)動源碼為“drivers/char/”下的“itop6x_led.c”文件,如下圖
所示。
打開“drivers/char/”下的 Makefile 文件,如下圖所示,可以看到編譯 led 的宏為
“CONFIG_LEDS_CTL”。
上面這個文件不用修改,打開“drivers/char/”下的“Kconfig”文件,搜索
“LEDS_CTL”,如下圖所示,將 bool 修改為 tristate。
修改保存。
重新配置缺省文件,參考“iTOP-iMX6-設(shè)備樹內(nèi)核-缺省文件文件的配置_V1.X”配置缺
省文件,重新編譯內(nèi)核,如下圖所示,可以看到有“itop6x_led.ko”文件生成。
將重新生成的內(nèi)核燒寫到開發(fā)板(注意不能燒寫光盤中自帶的鏡像,那個鏡像里已經(jīng)添加
了 led 驅(qū)動),新的鏡像燒寫之后,在控制臺查詢“/dev/led*”,應(yīng)該沒有這個設(shè)備節(jié)點。
將“itop6x_led.ko”拷貝到開發(fā)板,如下圖所示,使用命令“insmod itop6x_led.ko”
加載驅(qū)動。
使用命令“l(fā)s /dev/led8”,可以看到設(shè)備節(jié)點生成,如下圖所示。
讀到這里,這篇“如何以modules的方式編譯驅(qū)動”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。