基于ARM處理器S3C2440的無線監控系統設計
(2)創建項目。根據WinCE無線監控系統的要求,在定制系統的過程中選擇合適的組件來實現。其中包括的組件有:支持應用程序開發的MFC組件和支持網絡的相關組件等。
本文引用地址:http://www.104case.com/article/272369.htm(3)編譯項目:點擊菜單“Build OS”→“Sysgen”開始編譯項目。
(4)下載運行時映像,調試成功后啟動。編譯成功后會在目WinCES00PBWorkspacestestlRelDirsmdk2 440_ARMV4I_Release下生成nk.bin和nk.nb0等文件,將nk.nb0下載到硬件平臺上運行。
4 驅動程序的開發
4.1 攝像頭驅動的開發
攝像頭驅動開發是設計中的一個難點,也是一個關鍵部分。由于攝像頭采集的視頻數據可以當作數據流來處理,所以對于攝像頭的驅動將采用流式接口的方法來開發。
(1)在Platform Builder中打開前面定制的操作系統工程,然后在新建一個WIN32 DLL項目,添加2個C++的源文件,即:camera.cpp和IIc.cpp,其中camer—a.cpp包含驅動的入口函數DLLMain();驅動的前綴為“CIS”,IIc.cpp包含通過ICC接口對攝像頭相關寄存器進行配置的函數。
(2)根據前面的硬件電路和OV9650芯片的工作時序,通過編寫流接口的CIS_Init函數實現OV9650初始化。主要包括以下3步:調用InterruptInitialize(SYSINTR_CAM,CameraEvent,NULL,0)函數通知系統注冊中斷;調用CreateEvent()函數創建一個CameraEvent事件;調用CreateThread()函數創建CameraThread線程。在Camera Capture Thread服務函數中調用WaitForSingleObject(CameraEvent,Dis—play Time)函數等待Camera Event事件的發生。此事件由與其關聯的SYSINTR_CAM中斷來觸發。此外還有其它流接口函數(CIS_IOControl等)也可以以類似的方法實現。
攝像頭相關文章:攝像頭原理
評論