基于ARM開發板+uCLinux的網絡控制系統設計與實現
make dep
make clean
make lib_only
make user_only
make romfs
make image
make
編譯結束后會在uCLinux安裝目錄下生成romfs.img文件,利用它可以制作RAM Disk,然后在linux-2.4.X目錄下生成elf格式的Linux內核文件,并以下列方式將其轉換成bin格式:
#arm-elf-objcopy-O binary linux linux.bin
從而生成下載用的uCLinux內核鏡像文件linux.bin。
(3)制作Ram Disk掛栽根文件系統
首先創建一個512 kB的虛擬磁盤,并將虛擬磁盤文件格式轉化成ext2格式:
dd if/dev/zero of=initrd.img bs=1024 count=512
mkfs.ext2-c init.img
然后將init.img和romfs.img加載到主機文件系統上,并在RAM中建立需要的目錄:/bin,/dev,/etc,/var,進而拷貝ROM中的文件到ram目錄中。
下來在RAM盤dev目錄下創建設備節點:
#mknod ram/dev/ttyS0 c 4 64
#mknod ram/dev/console c 5 1
最后卸載init.img和romfs.img,并應確保init.img修改已保存,至此,RAM DISK便創建完成。
(4)下載內核和文件系統
正確設置主板啟動選擇跳線。主板加電后,在超級終端上便可以看到BootLoader引導信息,可選擇默認的FTP連接,并使用BootLoader默認的IP進行下載,然后啟動gftp,輸入主板默認的IP和端口號。這樣,linux主機就可以和主機連接,最后選擇需要下載的Linux內核文件和RAM盤及相關的配置文件即可。
2 監控系統功能的實現
監控系統主要由3個部分組成:數據采集部分,設備控制部分,數據傳輸部分。數據采集部分可對傳感器信號進行A/D轉換,并對采集到的數據進行簡單的處理,同時提供調整運行參數的接口。數據傳輸部分可將采集的數據傳送到遠端的主機,并接收遠端主機的控制信息。遠端主機則對傳輸過來的遠程數據進行處理、存儲和顯示,并可以修改數據采集部分的參數以控制數據采集,同時依據采集到的數據對設備發出操作指令,或對遠端的設備進行控制,從而實現遠程監控功能。
2.1 數據采集
使用A/D轉換設備前,首先要創建設備節點,并加載ADC驅動,然后通過open()和close()將其打開和關閉.主要的數據采集程序如下:
……
ioctl(fd,ADC_SET_CLKDIV,(Fpclk+fadc1)/fadc-1);//設置A/D轉換速度;
ioctl(fd,ADC_SET_BITS,10);//設置A/D轉換精度;
while(1) {
ad_data=0;
read(fd,ad_data,sizeof(ad_data));//讀取A/D轉換的值;
……
2.2 GPIO設備控制
同A/D轉換設備類似,使用GPIO也需先創建設備節點并加載驅動。對GPIO操作前,應通過open()打開,使用后應通過close()關閉。
評論