ARM智能家居控制器的設(shè)計與實現(xiàn)_第1頁
ARM智能家居控制器的設(shè)計與實現(xiàn)_第2頁
ARM智能家居控制器的設(shè)計與實現(xiàn)_第3頁
ARM智能家居控制器的設(shè)計與實現(xiàn)_第4頁
ARM智能家居控制器的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

Linux系統(tǒng)移植到硬件平臺上,然后設(shè)計好對應(yīng)的驅(qū)動程序行智能化管理和操作?這是人們非常關(guān)懷的一種問題。智能家居控制器可以將器硬件設(shè)計成關(guān)鍵板和控制板2部分。關(guān)鍵板重要用來構(gòu)成一臺嵌入式計算機(jī)系統(tǒng),控制板重要是某些外圍接口。系統(tǒng)硬件如圖1所示。它的起始地址為:0x00000000。RAM采用2片HY57V561620AT-H構(gòu)成64M,將地址總線、控制總線、外部中斷等信號所有連接到關(guān)鍵板上的200芯插座上。家電進(jìn)行控制時,只需向指定的端口寫入0或1,然后再由家電控制接口發(fā)遙Linux操作系統(tǒng)。目前發(fā)行的Linux操作系統(tǒng)都能支持ARM機(jī)的體系構(gòu)造,因內(nèi)核源碼、內(nèi)核裁剪和內(nèi)核編譯4等個環(huán)節(jié)。使用configure配置好Makefile文獻(xiàn)。系構(gòu)造無關(guān)的部分。在移植工作中要修改的中可用頁面的數(shù)目、文獻(xiàn)系統(tǒng)大小等信息以參數(shù)形式從啟動代碼傳給內(nèi)核,完畢設(shè)置陷阱,初始化中斷,初始化計時器,初始化控制臺等一系列操作而使內(nèi)核正常啟動。2.3內(nèi)核裁剪和編譯內(nèi)核裁剪是根據(jù)控制系統(tǒng)的規(guī)定將不需要的模塊從內(nèi)核中裁剪了,Linux內(nèi)核的裁剪有好幾種版本,可以使用命令makemenuconfig對系統(tǒng)進(jìn)行內(nèi)核裁剪之后,最終要進(jìn)行交叉編譯生成內(nèi)核映象文獻(xiàn)zImage。詳細(xì)makedep//編譯依賴文獻(xiàn)makezImage//編譯內(nèi)核3驅(qū)動程序的設(shè)計智能家居控制器要多種設(shè)備驅(qū)動程序,有的驅(qū)動程序可以采用原則的驅(qū)動程序,有的要專門設(shè)計。芯片SIM100-E是通過第三個串口與S3C2410相連的,因此可以直接使用原則的串口驅(qū)動程序。傳感器接口和家電控制接口要設(shè)計專用的驅(qū)動程序。控制器的處理器通過外部中斷來檢測傳感器,通過GPIO端很大差異,由于在嵌入式Linux系統(tǒng)中設(shè)備驅(qū)動程序有一種原則的框架,設(shè)計jntinitset_external_irq(IRQ_EINT9,---);//設(shè)置外部中斷request_irq(IRQ_EINT9,demo_int_handler,---);//申請外部中斷注冊設(shè)備文獻(xiàn)void_exits3c2410_int_exit(voifree_irq(IRQ_EINT9,NULL);//釋放中斷devfs_unregister(devfs_int_demo);//刪除設(shè)備文獻(xiàn)unregister_chrdev(exioMajor,DEVICE_NAME);//釋放主設(shè)備號3.2打開模塊和釋放模塊打開模塊的重要功能是:初始化某些變量。詳細(xì)實現(xiàn)函數(shù)如下:init_waitqueue_head(&(demodev.wait));初始化隊列MOD_INC_USE_COUNT;//使用計數(shù)加13.3讀數(shù)據(jù)模塊讀數(shù)據(jù)模塊的重要功能是:使線程休眼,然后等待中斷來喚醒。詳細(xì)實staticint3.4中斷處理模塊序設(shè)計成多線程構(gòu)造,如圖2所示。應(yīng)用程序由7個線程和一種共享數(shù)據(jù)構(gòu)造如圖2應(yīng)用程序構(gòu)造框圖共享數(shù)據(jù)重要用于寄存家電啟動和關(guān)閉時間,發(fā)送短信的號和短信內(nèi)容等信息。共享數(shù)據(jù)是通過2個設(shè)置線程來修改的。家電控制線程重要是根據(jù)控制數(shù)據(jù)、檢測短信線程的內(nèi)容和操作線程的內(nèi)容來#include<pthread.h>pthread_creat(&th_a,NULL,send_msg,0);//創(chuàng)立發(fā)送短信線程pthread_creat(&th_b,NULL,control_driver,0);//創(chuàng)立家電控制線程pthread_join(th_b,&retval);//等待家電控制線程結(jié)束pthread_join(th_a,&retval);//tty_init();//初始化串口gprs_init();//初始化GPRS模塊tty_writecmd("at",strlen(“at”));//發(fā)送AT命令tty_writecmd(“at+cmgf=1”,strlen("at+cmgf=1”));//發(fā)送修改字符集命令tty_write("at+cmgs=",strlen(“at+cmgs=”));發(fā)送短信命令tty_writecmd(msg.send_tel,strlen(msg.send_tel));//發(fā)送tty_writecmd(msg.send_text,strlen(msg.send_text));//發(fā)送短信內(nèi)容其他線程的設(shè)計措施有諸多相似之處。應(yīng)用程序設(shè)計完畢之后,再通過交叉編譯就可生成目的文獻(xiàn)。將移植好的系統(tǒng)、驅(qū)動程序和應(yīng)用程序下載到智能測試

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論