博客專欄

        EEPW首頁 > 博客 > RK3568驅動指南|第二篇 字符設備基礎-第8章 驅動模塊編譯進內核實驗

        RK3568驅動指南|第二篇 字符設備基礎-第8章 驅動模塊編譯進內核實驗

        發布人:紅李亞 時間:2024-03-11 來源:工程師 發布文章
        瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工藝,搭載一顆四核Cortex-A55處理器和Mali G52 2EE 圖形處理器。RK3568 支持4K 解碼和 1080P 編碼,支持SATA/PCIE/USB3.0 外圍接口。RK3568內置獨立NPU,可用于輕量級人工智能應用。RK3568 支持安卓 11 和 linux 系統,主要面向物聯網網關、NVR 存儲、工控平板、工業檢測、工控盒、卡拉 OK、云終端、車載中控等行業。
        第8章 驅動模塊編譯進內核實驗
        通過上一章的學習,我們學會了使用menuconfig圖形化配置工具,以及了解了menuconfig相關的文件:Kconfig .config XXXdefconfig。本章節學習將helloworld驅動編譯進內核。
        輸入“cd drivers/char”進入到 drivers/char 目錄下,然后輸入“mkdir hello”建立hello文件夾,并輸入“cd hello”進入hello文件夾,如下(圖8-1)所示:

        然后將第三章編寫的hello.c文件拷貝到hello文件夾內。如下(圖8-2)所示:

        輸入“touch Kconfig”命令創建Kconfig文件,Kconfig文件內容如下所示:

        然后“touch Makefile”命令創建Makefile文件,Makefile文件內容如下所示:

        obj-$(CONFIG_HELLO)+=helloworld.o

        接下來修改上一級目錄的Kconfig文件和Makefile文件,也就是driver/char目錄。Makefile添加如下圖(圖8-3)所示內容。

        obj-y += hello/

        Kconfig添加如下圖(圖8-4)所示內容:

        source “drivers/char/hello/Kconfig”

        最后打開menuconfig圖形化配置工具,在配置界面選擇helloworld驅動。把驅動編譯進Linux內核,用 * 來表示,所以配置選項改為*。如果想要將驅動編譯為模塊,則用M來表示,配置選項改為M。這里我們選擇成 *

        然后將光標移動到save,保存配置,如下圖(圖8-6)所示:

        保存到.config文件,如下(圖8-7)所示:

        退出配置界面,然后輸入以下命令便可以編譯源碼了。

        編譯成功之后,進入到drivers/char/hello目錄下,可以看到會生成對應的.o文件。就說明已經成功將驅動編譯進內核。

        將編譯好的內核鏡像燒寫到開發板上后,在開發板系統啟動的時候也可以成功看到加載helloworld驅動,如下圖(圖8-10)所示:

        如果在圖形化配置界面中選擇的M,也就是編譯成驅動模塊,則生成helloworld.ko文件如下圖(圖8-11)所示:

        更多內容:可以關注北京迅為公眾號,B站搜索迅為RK3568開發板



        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: 開發板

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 广汉市| 泽州县| 金昌市| 禄劝| 洛浦县| 陕西省| 梁平县| 石林| 富蕴县| 平果县| 仪陇县| 定兴县| 大城县| 青冈县| 大埔县| 金溪县| 监利县| 望谟县| 沐川县| 郓城县| 三河市| 公安县| 大兴区| 巴塘县| 永兴县| 马公市| 衡南县| 沙田区| 兴业县| 东港市| 临桂县| 台南县| 临清市| 洱源县| 鄂伦春自治旗| 喀喇| 宣化县| 阿巴嘎旗| 理塘县| 景宁| 亳州市|