智慧型家居實訓第七天 驅動使用

2021-08-31 09:14:47 字數 1559 閱讀 1586

一、嵌入式領域

軟體開發    -----》linux環境/邏輯/演算法(上層應用)

系統開發    -----》linux核心運維(shell指令碼)

驅動開發    -----》電路分析/硬體構造/驅動設計

二、led燈

驅動工程師:

1)驅動原始碼:led.c

2)驅動檔案:ked.ko

三、軟體應用層如何去使用底層的驅動?

1.分析原始碼led.c

1.1驅動裡面沒有主函式(main)

應用層才會出主函式

1.2驅動中輸入字串使用的是printk();

檢視列印等級:

cat /proc/sys/kernel/printk

7       7       1       7    

#define kern_emerg      "<0>" /* system is unusable */

/*緊急事件訊息,系統崩潰之前提示,表示系統不可用*/

#define kern_alert      "<1>" /* action must be taken immediately */

/*報告訊息,表示必須立即採取措施*/

#define kern_crit       "<2>" /* critical conditions */

/*臨界條件,通常涉及嚴重的硬體或軟體操作失敗*/

#define kern_err        "<3>" /* error conditions */

/*錯誤條件,驅動程式常用kern_err來報告硬體的錯誤*/

#define kern_warning    "<4>" /* warning conditions */

/*警告條件,對可能出現問題的情況進行警告*/

#define kern_notice     "<5>" /* normal but significant condition */

/*正常但又重要的條件,用於提醒*/

#define kern_info       "<6>" /* informational */

/*提示資訊,如驅動程式啟動時,列印硬體資訊*/

#define kern_debug      "<7>" /* debug-level messages */ 

/*除錯級別的訊息*/

應用層中輸出字串使用的是printf();

2.led.c結構

1)初始化函式

module_init(led_init);

2)為4盞燈led申請gpio口

gpio_request(led_gpios[i].gpio, led_gpios[i].name);

3)把4個gpio口設定為輸出模式

gpio_direction_output(led_gpios[i].gpio,0); 

4)註冊乙個雜項裝置(結構體)

misc_register(&gec6818_led_dev);

5)定義的雜項裝置的成員

static struct miscdevice gec6818_led_dev = ;  

實訓第七天

姓名 祖東科 日期 2018.7.15 作業training4 字串訓練 1.題目 請編寫乙個c函式,該函式將乙個字串逆序 include include include int main scanf s ptr begin ptr ptr strlen ptr 1 while ptr begin ...

校內實訓第七天學習筆記

通過ip實現今天天氣及未來七天天氣的展示 先通過設定ip實現api接入,修改函式得到當前定位的天氣。對頁面總體布局進行設定,實現滑動顯示七天天氣。js設定自動獲取定位,顯示本地地區 wx獲取位置介面 wx.getlocation success function res 設定接入今日天氣和七天天氣的...

智慧型家居實訓第三天

練習 翻 最後一行的資料和第一行交換 u盤掛載 步驟 1.把這個u盤插到開發板,最左邊的usb介面 2.使用crt軟體在終端輸入 cd mnt 3.使用ls命令,sd 記憶體卡 udisk u盤 4.進到udisk裡面 cd udisk 5.使用複製命令 cp 檔名 路徑 6.使用cd命令 cd 注...