Linux 3 6 配置S3C2416支援模擬U盤

2021-06-27 00:19:05 字數 2341 閱讀 5788

環境:

pc: debian-7.6.0

arm cpu: s3c2416

linux: 3.6.0

busybox: busybox-1.20.2

最終目的是:arm採集資料,按日期寫到某個資料夾中,完了通過usb線纜連線pc,把資料拷到pc。

實現流程如下:

1、配置核心,使其支援虛擬u盤

2、配置busybox,使

mount命令支援loopback(busybox預設支援該功能,為保無虞,檢視哈)

3、製作u盤檔案系統映象檔案

4、燒寫到開發板,進行測試

1、配置

linux 

3.6.0

核心使其支援虛擬u盤                         

:在

linux 

3.6.0版本中,虛擬

u盤的實現不再是使用

g_file_storage.ko模組,

而是g_mass_storage.ko模組

。 如果載入

g_file_storage.ko

note: this driver is deprecated. 

consider using g_mass_storage instead.

file_storage.c的int __init fsg_bind(struct usb_gadget *gadget)函式。

配置項如下:

修改核心相關檔案:drivers/usb/gadget/file_storage.c

/* use this for bulk or interrupt transfers, not ep0 */

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 = ;
2、配置

編譯好之後,替換原檔案系統的相關檔案

3、製作

u盤檔案系統映象檔案                                    

dd if=/dev/zero of=udisk32m.img  bs=1k  count=32768

mkfs.vfat udisk32m.img

將該檔案製作到檔案系統中,或者系統啟動後複製到檔案系統

4、燒寫到開發板,進行測試                                    

檔案存放位置:

g_mass_storage.ko:/lib/modules/

udisk32m.img:/home/

載入模組:

insmod /lib/modules/g_mass_storage.ko file=/home/udisk32m.img stall=0 removable=1
掛載u盤:

mount -o loop /home/udisk32m.img  /tmp
此命令有個前提:在/dev目錄下存在

/dev/loop節點,否則需要建立(mknod /dev/loop  b  7  0)

資料測試:

1)s3c2416到pc機:

cp /home/test.file /tmp

用usb線連線arm到pc機,在pc機上顯示我們的u盤,開啟它可以看到

test.file檔案,檢視裡面的資料

2)pc機

到s3c2416:

複製檔案到u盤,在arm板上重新掛載:

umount /tmp

mount -o loop /home/udisk32m.img  /tmp

即可看到從pc機寫入的檔案

skyeye模擬s3c2410 linux下程式

在前面的基礎上,下面開始利用skyeye自帶的testsuites中的資源來執行自己的程式的方法 2.使用skyeye模擬板子s3c2410執行某個linux 首先進入解壓完的目錄,然後 cd linux s3c2410 s3c2410x 2.6.14 skyeye c skyeye.conf e ...

S3C6410同步 非同步時鐘配置

在配置s3c6410的時鐘時有乙個叫other的暫存器,位址為0x7e00 f900 其中syncmode配置同步或非同步模式,syncmuxsel選擇hclk是由mpll提供還是apll提供。這裡就有乙個問題了,那什麼時候選同步模式,什麼時候選非同步模式呢?s3c6410手冊裡沒找到答案,不過另乙...

S3C2440 Linux驅動移植 NAND驅動

開發板 tq2440 核心 linux 2.6.32 pc os ubuntu 11.04 本文將對nand驅動的移植進行簡單介紹。其中,將對nand控制器所需要的引數進行詳細說明。開啟檔案arch arm plat s3c24xx common smdk.c,修改mtd partition結構體陣...