飛凌fl-2440開發板上實現模擬u盤
開發板脫離window時,它執行資料採集程式,把採集到的資料寫成檔案儲存在nand flash中。window系統需要讀取開發板採集的資料時,只需通過usb線把開發板和window電腦連線起來,此時開發板就相當於乙個u盤,window像訪問u盤一樣訪問開發板上nand flash的資料檔案。
這裡我們先不**模擬u盤的實現原理,只是告訴大家的移植步驟,開發板模擬u盤的實現原理我們後續再專門討論。
本次開發的軟硬體環境配置如下:
硬體環境: 飛凌fl2440開發板
軟體環境: linux-3.6.30.9 busybox-1.15.2
編譯器版本:arm-linux-gcc 4.3.2
桌面linux版本: ubuntu 8.10版本
嵌入式linux環境下實現模擬u盤主要分為一下幾個步驟:修改核心配置,配置核心支援模擬u盤;製作fat32檔案系統映像;修改busybox配置,配置mount命令支援loopback;增加模擬u盤模組到核心中;具體實現操作步驟如下:
一、修改核心配置,配置核心支援模擬u盤功能
1. 配置linux 2.6.30.9 支援模擬u盤功能,
將配置選項
usb gadget drivers
和file-backed storage gadget
配置為模組編譯方式,同時在
usb peripheral controller
選擇s3c2410 usb device controller,
表示我們選擇的
s3c2410 usb
裝置控器。
如下圖所示:
2. 配置linux檔案系統支援fat32檔案系統,如下圖所示:
3.修改drivers/usb/gadget/file_storage.c
static void start_transfer(struct fsg_dev *fsg, struct usb_ep *ep, struct usb_request *req, int *pbusy, enum fsg_buffer_state *state)
將mod_data的初始化修改為:
mod_data = ;
4. 重新編譯核心和模組
#make zimage
#make modules
編譯完成後,在目錄drivers/usb/gadget下生成g_file_storage.ko
這樣我們就完成了核心的配置與編譯,新生成的核心支援模擬u盤功能。
二、 修改 busybox配置
修改busybox的配置,配置busybox的mount命令支援loopback, 如下圖所示:
重新編譯busybox.
#make
#make install
將新生成的busybox 檔案替換原來根檔案系統的busybox 檔案。這樣開發板上的mount命令就支援loopback功能。
三、製作fat32檔案系統映像
製作fat32檔案系統映像的步驟如下:
1. 在ubuntu目錄下執行如下命令,建立fat32映像,大小為32m:
#dd if=/dev/zero of=udisk32m.img bs=1k count = 32768
#mkfs.vfat udisk32m.img
2. 將製作好的fat32檔案系統映像複製到系統的根檔案系統中,重新製作根檔案系統;
3.燒寫重新編譯好的核心和根檔案系統到fl2440開發板中;
四、啟動系統,載入u盤模擬模組到核心中
開發板上電啟動系統 1.
2.在開發板的控制終端上執行如下命令載入g_file_storage.ko模組到核心中;
#insmod g_file_storage.ko file=udisk32m.img stall=0 removable=1
#mknod /dev/loop0 b 7 0
#mount -o loop /home/udisk32m.img /tmp
這樣我們就講fat32檔案系統映像udisk32m掛載到 /tmp目錄下。
fat32檔案系統映像udisk32m就相當於我們的模擬u盤,容量為32m.
五、測試模擬u盤是否正常工作
為了測試我們的模擬u盤是否能正常工作,我們測試在開發板和xp系統是否能正常進行資料交換。 1)
開發板往模擬u盤寫檔案,xp系統上可以訪問該檔案;
在開發板上往 /tmp目錄寫 mdev.conf 檔案,命令如下
cp ./etc/mdev.conf ./tmp
在xp系統上重新插拔連線開發板的usb線,在行動硬碟j中我們可以看到mdev.conf 檔案,可以在xp系統上訪問。從而驗證開發板往模擬u盤寫檔案,xp系統上可以訪問該檔案。
2)xp系統往模擬u盤寫檔案,開發板可以訪問該檔案;
在xp系統上網u盤寫wwtarm.txt檔案,重新掛載檔案系統映像到 /tmp目錄
#umount tmp
#mount -o loop /home/udisk32m.img /tmp
在開發板上可以在 /tmp目錄下訪問剛才xp系統寫到u盤的wwtarm.txt 檔案。
到此,我們基於飛凌fl2440開發板在嵌入式linux系統下的模擬u盤功能就驗證完成了。
**
fl2440開發板上移植dropbear的過程
背景 開發板fl2440與pc的securecrt連線的傳統方式是用串列埠轉usb線連線,但是我在使用的過程中發現串列埠轉usb線有時連線不穩定,另外串列埠也需要用於收發資料,所以我在開發板上移植 輕量級的ssh軟體dropbear,一根網線輕鬆解決開發板與securecrt連線,話不多說,進入正題...
FL2440開發板Jlink操作
fl2440開發板主控晶元為s3c2440。h halt,停止cpu執行 j link hspeed 設定 j link的速率 j link speed 12000loadbin 從本地硬碟載入檔案到記憶體中去 sram和sdram j link loadbin d bin 0 載入bootstra...
控制fl2440開發板led燈亮滅,蜂鳴器發聲
led燈亮滅,蜂鳴器發聲是通過設定相應暫存器的值來控制的,主要有gpbcon gpbdat gpbup等,gpbcon有gpb0 10,每乙個gpbi設定不同的值來表示輸入輸出等,設定gpbdat的每一位表示高低電平,gpbup設定gpbi是否有效,通過對這三個暫存器的設定則可實現led燈和蜂鳴器。...