新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM設(shè)計(jì)的多生理參數(shù)嵌入式監(jiān)護(hù)系統(tǒng)

        基于ARM設(shè)計(jì)的多生理參數(shù)嵌入式監(jiān)護(hù)系統(tǒng)

        作者: 時(shí)間:2012-04-18 來源:網(wǎng)絡(luò) 收藏

        在明確I/O方式,alarm設(shè)備對應(yīng)的硬件資源之后,可以采用ioctl控制alarm設(shè)備。而編寫Linux設(shè)備驅(qū)動(dòng)程序的主要工作就是編寫子函數(shù)填充file_operations的各個(gè)字段。下面就是填充之后的file_operations,

        struct file_operations test_fops = {read: read_test,

        write: write_test,

        open: open_test,

        release: release_test};

        上述各個(gè)子函數(shù)的功能如下:

        open_test函數(shù)實(shí)現(xiàn)請求I/O內(nèi)存資源;映射寄存器地址并保存;讀取寄存器初始值并重新設(shè)置控制寄存器。release_test函數(shù)實(shí)現(xiàn) I/O內(nèi)存資源的釋放。read_test函數(shù)實(shí)現(xiàn)對寄存器當(dāng)前狀態(tài)的讀取,并將讀到的數(shù)據(jù)傳遞給應(yīng)用程序。write_test函數(shù)實(shí)現(xiàn)將應(yīng)用程序傳來的數(shù)據(jù)輸出。

        PC機(jī)上調(diào)試完畢后,將此驅(qū)動(dòng)程序編譯進(jìn)Linux的內(nèi)核前,需要進(jìn)行一定的修改和設(shè)置。在交叉編譯內(nèi)核時(shí),alarm.c文件會(huì)被自動(dòng)編譯并嵌入內(nèi)核。然后將編譯好的內(nèi)核制作成映像文件以備下載。最后編寫一個(gè)測試程序,交叉編譯測試程序并將其添加到文件中去。將新的內(nèi)核映像以及文件下載到開發(fā)板上。新的內(nèi)核運(yùn)行之后,在目錄/dev下創(chuàng)建設(shè)備,然后執(zhí)行測試程序即可。

        3.2軟件的實(shí)現(xiàn)

        Linux中,采用功能強(qiáng)大而全面的GUI開發(fā)工具能夠縮短開發(fā)周期和降低開發(fā)難度,本采用Qt/Embedded開發(fā)軟件[6]。

        3.2.1程序及功能模塊結(jié)構(gòu)

        Qt編程的優(yōu)點(diǎn)是Signal Slot機(jī)制,當(dāng)一個(gè)組件發(fā)出Signal時(shí),其他一個(gè)組件或多個(gè)組件可以通過Slot接收發(fā)來的Signal,組件本身也可以接收自己的Signal,這樣處理一個(gè)事件將變得非常容易[6]。在通用計(jì)算機(jī)系統(tǒng)開發(fā)中普遍使用的模塊化技術(shù)需要更好地應(yīng)用于系統(tǒng)[3]。從軟件層次角度而言,應(yīng)用軟件的模塊化相對容易實(shí)現(xiàn)。圖3所示是應(yīng)用軟件的功能模塊結(jié)構(gòu)圖,圖4所示是主程序的流程圖。

        69.jpg

        70.jpg

        linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 屏南县| 如皋市| 青川县| 保德县| 张北县| 龙山县| 长岭县| 铜川市| 涿州市| 安陆市| 伊吾县| 鄯善县| 长岭县| 砚山县| 聂拉木县| 葵青区| 张北县| 堆龙德庆县| 二连浩特市| 汉阴县| 昭觉县| 小金县| 罗田县| 云和县| 漳浦县| 安阳县| 大冶市| 凌海市| 加查县| 岱山县| 武邑县| 双峰县| 云林县| 钟山县| 满洲里市| 栾川县| 房产| 固阳县| 新密市| 肇庆市| 镇康县|