i.MX8MP開發板移植驅動全過程
forlinx@ubuntu:~$ cd /home/forlinx/work/OK8MP-linux-sdk/OK8MP-linux-kernel/driversforlinx@ubuntu:~/work/OK8MP-linux-sdk/OK8MP-linux-kernel/drivers$mkdir hello
forlinx@ubuntu:~/work/OK8MP-linux-sdk/OK8MP-linux-kernel/drivers$ cd helloforlinx@ubuntu:~/work/OK8MP-linux-sdk/OK8MP-linux-kernel/drivers/hello$ vi hello.c
#include <linux/init.h>#include <linux/module.h>static int hello_init(void){printk(KERN_ALERT "Hello world\n");return 0;}static void hello_exit(void){printk(KERN_ALERT "Goodbye world\n");}module_init(hello_init);module_exit(hello_exit);MODULE_LICENSE("Dual BSD/GPL");
forlinx@ubuntu:~/work/OK8MP-linux-sdk/OK8MP-linux-kernel/drivers/hello$ vi Kconfig
config HAVE_HELLOtristate "hello driver"helpThis hello driver is just to show how to develop driver process.This driver can also be built as a module. If so, the module will be called .default y#endmenu
forlinx@ubuntu:~/work/OK8MP-linux-sdk/OK8MP-linux-kernel/drivers/hello$ vi Kconfig
obj-$(CONFIG_HAVE_HELLO) += hello.o
forlinx@ubuntu:~/work/OK8MP-linux-sdk/OK8MP-linux-kernel/drivers/hello$ chmod 777 hello.cforlinx@ubuntu:~/work/OK8MP-linux-sdk/OK8MP-linux-kernel/drivers/hello$ chmod 777 Kconfigforlinx@ubuntu:~/work/OK8MP-linux-sdk/OK8MP-linux-kernel/drivers/hello$ chmod 777 Makefile
forlinx@ubuntu:~/work/OK8MP-linux-sdk/OK8MP-linux-kernel/drivers/hello$ cd ..forlinx@ubuntu:~/work/OK8MP-linux-sdk/OK8MP-linux-kernel/drivers$ vi Kconfig
source "drivers/counter/Kconfig"source "drivers/mxc/Kconfig"source "drivers/hello/Kconfig" //在endmenu前新增hello資料夾的配置檔案解析endmenu
forlinx@ubuntu:~/work/OK8MP-linux-sdk/OK8MP-linux-kernel/drivers$ vi Makefile
obj-$(CONFIG_COUNTER) += counter/obj-y += mxc/obj-$(CONFIG_HAVE_HELLO) += hello/ //在Makefile最後加入這一句
forlinx@ubuntu:~/work/OK8MP-linux-sdk/OK8MP-linux-kernel/$ ls drivers/hellohello.c hello.ko hello.mod hello.mod.c hello.mod.o hello.o Kconfig Makefile modules.order
root@OK8MP:~# cd /run/media/sda1/ //進入隨身碟的路徑下root@OK8MP:/run/media/sda1# insmod hello.ko //掛載hello.ko[ 138.679964] Hello world //掛載驅動列印資訊root@OK8MP:/run/media/sda1# rmmod hello.ko //解除安裝hello.ko[ 142.022115] Goodbye world //解除安裝驅動列印資訊root@OK8MP:/run/media/sda1#
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69989353/viewspace-2921866/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 編譯移植Mplayer到mini2440開發板的過程及問題解決辦法編譯
- 全志T113-i開發板適配LVDS螢幕的過程
- IMX6ULL開發板spi OLED驅動
- RK3399主機板硬體開發過程
- 驅動開發:配置Visual Studio驅動開發環境開發環境
- 小白自制Linux開發板 六. SPI TFT螢幕修改與移植Linux
- 全志 A64開發板設定qt程式自啟動QT
- 微信公眾號支付開發全過程(Java 版)Java
- 麻將遊戲開發全過程步驟瞭解遊戲開發
- 理解 Android 程式啟動之全過程Android
- nvidia驅動安裝過程中報已有nouveau驅動錯誤解決
- 小白自制Linux開發板 三. Linux核心與檔案系統移植Linux
- 熊磊:成功移植OpenHarmony到多套開發板,是最開心的事
- SpinalHDL上板過程記錄
- linux3.4.2核心-LCD驅動程式的移植Linux
- 驅動開發:探索DRIVER_OBJECT驅動物件Object物件
- 驅動開發入門
- RK3399開發板 RK818 電量計 驅動檔案和 menuconfig
- 10_QT系統移植之在開發板上部署QT執行環境QT
- 【AI應用開發全流程】使用AscendCL開發板完成模型推理AI模型
- 安卓平臺Flutter啟動過程全解析安卓Flutter
- 驅動開發:透過應用堆實現多次通訊
- 驅動開發:透過MDL對映實現多次通訊
- Meteor:全棧JavaScript開發框架的先驅全棧JavaScript框架
- 【Spring註解驅動開發】聊聊Spring註解驅動開發那些事兒!Spring
- Android開發之音訊配置檔案audio_policy.conf解析全過程Android音訊
- window驅動開發總結
- 驅動開發書籍大全
- 驅動程式開發步驟
- Xilinx_HLS上板過程記錄
- Hydro OJ搭建全過程
- 產品經理必讀:敏捷開發中的需求管理過程全解敏捷
- 開發一個Node命令列小玩具全過程--高顏統計工具命令列
- 教程|Debian系統上移植USBWIFI RTL8192EU驅動並設定開機自啟動WiFi
- 領域模型驅動開發(1)模型
- RK3399 camera驅動開發
- 談“測試驅動的開發”
- 驅動開發常見縮寫