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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Android系統移植與驅動開發Android
- Beaglebone Black開發板安裝驅動
- 基於EJB3.0的留言板專案的開發全過程
- 編譯移植Mplayer到mini2440開發板的過程及問題解決辦法編譯
- IMX6ULL開發板spi OLED驅動
- 讓開發板發出聲音:蜂鳴器驅動
- 驅動開發 鍵盤過濾驅動程式-- 傳統的鍵盤過濾
- iOS開發 APP啟動過程iOSAPP
- 透過例項看VCL元件開發全過程(一) (轉)元件
- 透過例項看VCL元件開發全過程(二) (轉)元件
- RK3399主機板硬體開發過程
- 微信公眾號支付開發全過程(Java 版)Java
- 全志 A64開發板設定qt程式自啟動QT
- 東芝181影印機安裝驅動全過程出現開啟埠COM3失敗
- 麻將遊戲開發全過程步驟瞭解遊戲開發
- Java初學者:Jsp開發環境配置全過程JavaJS開發環境
- java web開發--Servlet學習之HelloWorld 從部署到開發全過程JavaWebServlet
- 抱怨驅動開發
- Oracle-解析啟動的全過程Oracle
- 驅動開發:配置Visual Studio驅動開發環境開發環境
- 你聽說過“風格指南驅動開發”嗎?
- 熊磊:成功移植OpenHarmony到多套開發板,是最開心的事
- 小白自制Linux開發板 六. SPI TFT螢幕修改與移植Linux
- 敏捷開發過程敏捷
- 驅動開發:探索DRIVER_OBJECT驅動物件Object物件
- Linux2.4.18核心移植到s3c2410全過程(轉)LinuxS3
- 【敏捷開發】驅動測試開發敏捷
- 安卓平臺Flutter啟動過程全解析安卓Flutter
- 理解 Android 程式啟動之全過程Android
- 【AI應用開發全流程】使用AscendCL開發板完成模型推理AI模型
- 驅動開發入門
- 白痴驅動開發方法
- "測試"驅動開發
- Meteor:全棧JavaScript開發框架的先驅全棧JavaScript框架
- nvidia驅動安裝過程中報已有nouveau驅動錯誤解決
- 驅動開發書籍大全
- 驅動程式開發步驟
- Windows的驅動開發模型Windows模型