9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
學習啦 > 學習電腦 > 操作系統 > Linux教程 >

linux驅動編寫方法與實現教程

時間: 加城1195 分享

  現在linux驅動比較流行,主要有幾個方面的原因:1)linux平臺免費,很多芯片廠商希望linux平臺支持自己的產品;2)最近android平臺很火,這在無形之中幫了linux的忙,搞linux驅動的人也開始多了起來;本篇文章主要介紹了詳解linux驅動編寫(入門),小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧。

  方法步驟

  (01)找兩臺電腦,一臺電腦安裝windows系統,另外一臺電腦安裝linux系統,至于類型沒有限制;

  (02)查看linux系統的版本類型,輸入uname -r即可;

  (03)根據獲取的linux kernel版本,尋找合適的kernel版本,直接用wget下載即可;

  (04)用tar解壓內核版本,將boot下config文件拷貝到本地,輸入make menuconfig,直接保存即可;

  (05)輸入make -j2 & make modules_install & make install即可,系統重啟;

  (06)在linux系統起來后,注意在grub啟動的時候選擇剛剛編譯的內核版本,這樣就可以在linux上開發kernel驅動了;

  (07)在windows 平臺安裝secureCRT工具,和linux取得連接;

  (08)輸入下面的代碼,分別是hello.c和Makefile,其中hello.c內容如下

  #include

  #include

  #include

  MODULE_LICENSE("GPL");

  MODULE_AUTHOR("feixiaoxing");

  MODULE_DESCRIPTION("This is just a hello module!\n");

  static int __init hello_init(void)

  {

  printk(KERN_EMERG "hello, init\n");

  return 0;

  }

  static void __exit hello_exit(void)

  {

  printk(KERN_EMERG "hello, exit\n");

  }

  module_init(hello_init);

  module_exit(hello_exit);

  Makefile的內容如下所示

  ifneq ($(KERNELRELEASE),)

  obj-m := hello.o

  else

  PWD := $(shell pwd)

  KVER := $(shell uname -r)

  KDIR := /lib/modules/$(KVER)/build

  all:

  $(MAKE) -C $(KDIR) M=$(PWD) modules

  clean:

  rm -rf .*.cmd *.o *.mod.c *.ko .tmp_versions

  endif

  (09)編譯的時候,直接make即可,當然前提是這兩個文件必須在一個目錄下;

  (10)編譯后生成hello.ko文件,大家可以把它想象成一個普通的執行文件;

  (11)如果需要安裝,直接insmod hello.ko即可,輸入dmesg | tail 可以看到打印的內容,輸入lsmod | grep hello也可以看一下模塊是否已經安裝;

  (12)如果刪除模塊,直接輸入rmmod hello即可,當然添加和刪除的操作都需要在root模式下進行操作。

  所以說,linux驅動簡單的開發步驟就是這些。

  補充:Linux基本命令

  ①ls 意為list 列出當前文件夾中的文件

  -l 顯示文件的屬性 可用ll來表示

  ②alias 別名 看看是否有別名的文件

  ③cd dir 跳躍目錄 -P選項 將路徑中的鏈接文件替換成鏈接指向的文件路徑

  ④pwd 查看當前工作的文件夾名 使用-P的選項,會直接進入到其中,相當于cd

  相關閱讀:Linuxshell腳本不執行問題實例分析

  shell腳本不執行問題:某天研發某同事找我說幫他看看他寫的shell腳本,死活不執行,報錯。我看了下,腳本很簡單,也沒有常規性的錯誤,報“:badinterpreter:Nosuchfileordirectory”錯。看這錯,我就問他是不是在windows下編寫的腳本,然后在上傳到linux服務器的……果然。原因:在DOS/windows里,文本文件的換行符為rn,而在*nix系統里則為n,所以DOS/Windows里編輯過的文本文件到了*nix里,每一行都多了個^M。解決:

  1)重新在linux下編寫腳本;

  2)vi:%s/r//g:%s/^M//g(^M輸入用Ctrl+v,Ctrl+m)附:sh-x腳本文件名,可以單步執行并回顯結果,有助于排查復雜腳本問題。


Linux驅動相關文章:

1.linux安裝顯卡驅動命令

2.如何編譯加載linux驅動和內核模塊

3.linux安裝usb驅動命令

4.如何在Linux系統安裝騰達U1網卡

5.linux瀏覽器命令

4016657 主站蜘蛛池模板: 亚洲精品在线少妇内射| 日韩区二区三区中文字幕| 少妇高潮激情一区二区三| 亚洲午夜无码久久久久蜜臀av| 少妇人妻偷人精品视蜜桃| 日韩狼人精品在线观看| 亚洲综合视频一区二区三区| 国产亚洲国产精品二区| 国产在线观看黄| 国产精品高清国产三级囯产AV| 成人综合人人爽一区二区| 国产精品亚洲二区亚瑟| 亚洲精品国产一区二区三区在线观看| 午夜一区二区三区视频| 亚洲AV无码秘?蜜桃蘑菇| 日本一区二区三区小视频| 亚洲午夜精品毛片成人播放| 日韩精品中文字幕人妻| 亚洲免费成人av一区| 日韩不卡在线观看视频不卡| 亚洲自在精品网久久一区| 国产精品免费视频不卡| 东京热人妻无码一区二区AV| 成人无码h真人在线网站| 熟女熟妇乱女乱妇综合网| 亚洲av日韩av永久无码电影| 50路熟女| 少妇爽到呻吟的视频| 九九热在线精品视频99| 九九电影网午夜理论片| mm1313亚洲国产精品| 老色鬼在线精品视频在线观看| 色偷偷亚洲精品一区二区| 啊轻点灬大JI巴太粗太长了欧美| 国产无遮挡无码视频在线观看| 亚洲gv天堂无码男同在线观看| 中文字幕日韩精品国产| 亚洲精品午夜国产VA久久成人 | 精品久久久无码中文字幕| 日本久久久www成人免费毛片丨| 日韩狼人精品在线观看|