国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 3055|回復(fù): 0
打印 上一主題 下一主題

迅為4412開發(fā)板編寫簡(jiǎn)單應(yīng)用調(diào)用驅(qū)動(dòng)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2015-9-10 14:47:57 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

本文轉(zhuǎn)自迅為4412精英版群:
本期實(shí)驗(yàn)比較簡(jiǎn)單,就是寫一個(gè)簡(jiǎn)單的應(yīng)用程序調(diào)用前面寫的驅(qū)動(dòng)。
硬件工具
1iTOP4412 開發(fā)板
2U 盤或者 TF
3PC 機(jī)
4)串口
9.1.1.2軟件工具
1)虛擬機(jī) Vmware
2Ubuntu12.04.2
3)超級(jí)終端(串口助手)
4)實(shí)驗(yàn)配套源碼文件夾“invoke_hello
視頻資源
本節(jié)配套視頻為“視頻 09-編寫簡(jiǎn)單應(yīng)用調(diào)用驅(qū)動(dòng)”
學(xué)習(xí)目標(biāo)
本章需要學(xué)習(xí)以下內(nèi)容:
學(xué)會(huì)調(diào)用設(shè)備節(jié)點(diǎn)
實(shí)驗(yàn)操作
本期實(shí)驗(yàn)很簡(jiǎn)單,在前面 Linux 應(yīng)用中就已經(jīng)學(xué)習(xí)過設(shè)備節(jié)點(diǎn)的調(diào)用。
需要用到函數(shù) extern void printf(const char *format,...);定義在標(biāo)準(zhǔn) C 語言頭文件
stdio.h 中。
下面幾個(gè)頭文件在應(yīng)用中一般一起調(diào)用。
頭文件 #include 包含基本系統(tǒng)數(shù)據(jù)類型。系統(tǒng)的基本數(shù)據(jù)類型在 32
譯環(huán)境中保持為 32 位值,并會(huì)在 64 編譯環(huán)境中增長(zhǎng)為 64 位值。
頭文件包含系統(tǒng)調(diào)用文件的函數(shù)。可以調(diào)用普通文件、目錄、管道、socket
字符、塊的屬性。
定義了 open 函數(shù)
定義了 close 函數(shù)
定義了 ioctl 函數(shù)
另外提醒一下,這些頭文件是和編譯器在一起。
這里使用,如下圖所示,進(jìn)入目錄“/usr/local/arm/arm-2009q3”。
使用查找命令“find ./ -name stat.h,如下圖所示,使用的頭文件是目錄
/arm-none-linux-gnueabi/libc/usr/include/sys/stat.h”中的.

其它幾個(gè)頭文件可以采用類似的方法查找,這里給大家提醒這一點(diǎn),因?yàn)橛袝r(shí)候拿到源碼
之后,可能編譯器版本和源碼不完全對(duì)應(yīng),這個(gè)時(shí)候就有可能需要修改和處理一下頭文件。不過這種問題一般都可以通過網(wǎng)絡(luò)查找錯(cuò)誤提示的方法一個(gè)一個(gè)解決。
如下圖所示,是一個(gè)簡(jiǎn)單的調(diào)用程序。
新建“invoke_hello”文件夾,將上圖的中的文件拷貝進(jìn)入,進(jìn)入新建的“invoke_hello
目錄,使用編譯命令
arm-none-linux-gnueabi-gcc -o invoke_hello invoke_hello.c -static
編譯,如下圖所示。
將 “invoke_hello” 拷貝到 U 盤, 啟動(dòng)開發(fā)板, 加載前一期的 “devicenode_linux_module
驅(qū)動(dòng),如下圖所示,使用 invoke_hello 調(diào)用設(shè)備節(jié)點(diǎn)“/dev/hello_ctl123”。
先使用命令“mount /dev/sda1 /mnt/udisk/”加載 U 盤;
使用命令“insmod /mnt/udisk/devicenode_linux_module.ko”加載驅(qū)動(dòng);
使用命令“./mnt/udisk/invoke_hello,運(yùn)行 invoke_hello
如上圖所示,運(yùn)行“invoke_hello”之后,會(huì)打印以下內(nèi)容”
hello open
cmd is 1,arg is 6
hello release
如下圖所示,設(shè)備節(jié)點(diǎn) opencloseioctl 分別對(duì)應(yīng)打印信息
printk(KERN_EMERG "hello open\n");
printk(KERN_EMERG "hello release\n");
printk("cmd is %d,arg is %d\n",cmd,arg);ioctl 會(huì)打印第二個(gè)和第三個(gè)參數(shù)。
通過前面的分析,可以看到上層應(yīng)用對(duì)設(shè)備節(jié)點(diǎn) opencloseioctl 分別對(duì)應(yīng)驅(qū)動(dòng)層的
openreleaseunlocked_ioctl

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩激情一区二区三区 | 国产四虎免费精品视频 | 黑人激情| 亚洲国产欧美久久香综合 | 国产精品久久久久影院色 | 亚洲视频国产 | 超色网站| 日韩综合在线视频 | 色婷婷综合久久久 | 欧美影院 | 9香蕉视频 | 日韩精品在线一区 | 久久久高清日本道免费观看 | 欧美一区二区日韩一区二区 | 成人国产日本亚洲精品 | 妻子的诱惑03中文字幕 | 成人综合色站 | 国产在线91 | 一区视频在线 | 欧美线在线精品观看视频 | 日日夜夜国产 | 成人亚洲网站www在线观看 | 成人a毛片 | 91社区在线观看 | 欧美日韩国产超高清免费看片 | 91视频国产免费 | 成人免费观看的视频黄页 | 欧美日韩中文在线观看 | 精品中文字幕一区二区三区四区 | 欧美在线中文 | 午夜影院色 | 国产精品久久久久久永久牛牛 | 91在线播放国产 | 国产aⅴ一区二区三区 | 久久四虎| 91麻豆国产| 日本黄色不卡视频 | 91磁力 | 毛片大全高清免费 | 欧美日韩三级在线 | 国产午夜精品理论片影院 |