s3c2410 開發板筆記

 

 


缺乏文檔,如下信息是試出來的。。。html

 

串口設置:115200/數據位8/奇偶校驗無/中止位1/流控無node

正常開機:D4紅燈常亮,D一、D二、D5綠燈常亮linux

不正常開機1:D一、D2不亮ios

不正常開機2:D一、D2每秒一閃,每閃一次串口輸出網址windows

uart下載:D一、D2亮一秒滅一秒緩存

原理圖補充說明

1: lcd, exbus, sdram, iis/uart/iic,bash

2: u1d(s3c2410), u2, u3服務器

3: u4(E28F128J3A150, 3 Volt Intel StrataFlash), u28 (E28F128J3A150, 緩存),
j1(3p)網絡

4: u5, u6 (K4S561632C, 內存)ide

5: u1a(s3c2410), j2(6p)

6: u1c(s3c2410), d1, d2

7: u1b (s3c2410), u7, sd1

8: u8, u9, u10 (UDA1341TS,音頻編解碼), j6, j7(20p)

9: u11, u12 (MAX3232, uart)

10: u13, d3

11: u14(K9F1208, nand flash)

12: u15, u16(K9F1208, 電源管理), u27, j3(sw), j8(dc jack), j9(20p), sw[1…6], d11

13: con1a, con1b, con3 (usb), j10(6p)

14: u17, u18, u19 (SN74LVTH162245, 總線收發器)

15: j11(30p), j12(30p)

16: u20(TL5632, DC轉換), u21(VGAIN), u22, u29, u30(74LVXC3245, 電壓電平轉換)

17: u23(cs8900a), u24(HR601627, 網絡濾波), u25(RJ45), j5(3p)

18: j13(40p), j14(16p), j15(10p)

19: u26(EPM3032, cpld), j16(10p)

開機串口輸出

http://www.hfrk.net

Power on reset

Read chip id = ec76

Nand flash status = c0

Env.Os_Auto_Flag=1

NAND Flash Boot



Please select function :

0 : USB download file

1 : Uart download file

2 : Write Nand flash with download file

3 : Load Pragram from Nand flash and run

4 : Erase Nand flash regions

5 : Set boot params

6 : Run Wince

7 : Set AutoBoot parameter,1:linux 2:wince

8 : Test Power off

9 : test SDRAM Memory

4

Read chip id = ec76

Nand flash status = c0

Please select which region to erase : Esc to abort

0 : offset 0x0       , size 0x30000    [boot]

1 : offset 0x30000   , size 0x1d0000   [kernel]

2 : offset 0x200000  , size 0x600000   [rootfs]

3 : offset 0x800000  , size 0x800000   [ext-fs1]

4 : offset 0x1000000 , size 0x1000000  [ext-fs2]

5 : offset 0x2000000 , size 0x2000000  [ext-fs3]

以上分區設置爲:

0 : offset 0x0      , size 0x30000    [boot]     0-192k,192k  
1 : offset 0x30000   , size 0x1d0000   [kernel]    192k-2M,1856k  
2 : offset 0x200000  , size 0x600000   [rootfs]    2M-8M,6M  
3 : offset 0x800000  , size 0x800000   [ext-fs1]     8M-16M,8M  
4 : offset 0x1000000 , size 0x1000000  [ext-fs2]     16M-32M,16M

5 : offset 0x2000000 , size 0x2000000  [ext-fs3]     32M-64M,32M

開發板硬件配置

(看器件上印刷的文字,到網上搜索獲得的結果)

text description
E28F128J3A150 Intel StrataFlash® Memory (J3)
k4s561632h-uc75 256Mb H-die SDRAM 兩條 (samsung)
k9f1208u0b 64M x 8 Bit NAND Flash Memory (samsung)
CS8900A 10Base-T (crystal)
HR601627 10BASE-TX Isolation Transformer Modules (hanrun)
lvth162245 3.3-V ABT 16-BIT BUS TRANSCEIVERS WITH 3-STATE OUTPUTS (TI)
EPM3032A Altera Corporation - Programmable Logic Device Family

參考文檔

工具下載

代碼下載

安裝交叉編譯器

只要解壓到某個路徑便可

編譯kernel

一、首先修改Makefile

ARCH        = arm  
CROSS_COMPILE   = /mnt/sdb1/arm/3.4.1/bin/arm-linux-

二、在內核中加入yaffs和cs8900a網卡支持,方法參考hfrk開發板手冊

三、配置內核

boot option: 選擇啓動命令,因爲我將以後生成的文件系統安裝在nfs上,因此個人命令行是:

console=ttySAC0,115200 root=/dev/nfs
nfsroot=192.168.55.2:/mnt/sdb1/arm/nfsroot rw
ip=192.168.55.3:192.168.55.2:192.168.55.1:255.255.255.0:hfrk2410:eth0:off init=/linuxrc

其中192.168.55.1是路由器地址,192.168.55.2是nfs服務器的地址,192.168.55.3是將要啓動的linux的地址。

個人開發板自帶bootloader中能夠指定啓動命令行,可是實際不起做用,我只能在內核編譯選項裏指定了。

Floating point emulation: 選擇NWFPE
device drivers->memory technology devices: 支持MTD
device drivers->network devices support->Ethernet (10 or 100Mbit): 支持cs8900
device drivers->character devices->serial drivers: 帶有s3c2410字樣的都選上
file system->network filesystem: 支持nfs(由於我要將文件系統安裝在nfs上)
file system->misc filesystem: 支持yaffs和cramfs
file system->pseudo filesystem: 有的文檔說須要加入devfs的支持,我沒有這樣作

四、編譯生成zImage,用來download到開發板內存中運行

製做文件系統

使用busybox, make menuconfig->build option,

選擇cross compiler的路徑和前綴

若是不選擇static binary,則編譯安裝完成後,須要將交叉編譯工具庫中的ld-linux.so.2
libc.so.6複製到目標文件系統的/lib目錄

配置nfs

root [ /mnt/sdb1/arm/u-boot-1.1.6 ]# cat /etc/exports 
/mnt/sdb1/arm/nfsroot *(rw,sync,no_root_squash)

執行portmap和/etc/rc.d/init.d/nfs-server start

配置smb

root [ /mnt/sdb1/arm/u-boot-1.1.6 ]# cat /etc/samba/smb.conf 

Minimal client-only SAMBA configuration

[global]  
        workgroup = WORKGROUP  
        dos charset = cp437
        unix charset = ISO-8859-1
        security = share #
  
[download]  
    path = /mnt/sdb1/smb  
    read only = no  
  
[uboot]  
    path = /mnt/sdb1/arm/u-boot-1.1.6  
    read only = no  
  
[share]  
    path = /usr/share  
    read only = yes

執行smbd,中止killall smbd

下載新內核運行

建議使用usb下載,比串口快不少。DNW軟件的USB配置地址默認爲0x30500000,無需修改。

開發板上電,按0下載剛纔生成的Image,並在下載完成後按Y運行。

http://www.hfrk.net  
Power on reset  
Read chip id = ec76  
Nand flash status = c0  
Env.Os_Auto_Flag=1  
NAND Flash Boot  
  
Please select function :  
0 : USB download file  
1 : Uart download file  
2 : Write Nand flash with download file  
3 : Load Pragram from Nand flash and run  
4 : Erase Nand flash regions  
5 : Set boot params  
6 : Run Wince  
7 : Set AutoBoot parameter,1:linux 2:wince  
8 : Test Power off  
9 : test SDRAM Memory

使用u-boot

本人沒有清除nand flash上自帶的bootloader,由於JTAG燒錄器是並口的,並且淘寶上USB轉並口的線不少只能用於打印機,而不能用於接JTAG
。我準備在nand上放兩個bootloader:一個是板子上原有的,很方便,可是功能少了點,另外一個就是u-boot。

一、下載u-boot-1.1.6,修改Makefile

ifeq ($(ARCH),arm)
CROSS_COMPILE = /mnt/sdb1/arm/3.3.2/bin/arm-linux-

二、make smdk2410_config

三、make,順利生成u-boot.bin

四、下載u-boot.bin到開發板,運行。木有反應。

此時不能printf,又沒有仿真器,咋整?

想到開發板手冊中有一段測試彙編代碼,讓板上的LED燈閃爍的,能夠拿來插入到u-boot的啓動代碼中,若是u-
boot運行後燈閃了,說明已經運行到此處,若是不閃,則說明在此以前系統已經over了。

注意,手冊中這段代碼不支持GNU編譯器,且註釋中有不少錯誤。現修改成以下:

@============:  
@ zLed32  
@============:  
#define rGPFCON 0x56000050  
#define rGPFDAT 0x56000054  
#define rGPFUP 0x56000058  
  
   .global zLed32  
zLed32:  
zLed32go:  
 mov r1, r0  
 mov r3, #32  
zLoop:  
 /*show r2*/  
 cmp r3, #0x0  
 beq zLoopEnd  
 sub r3, r3, #2  
 mov r2, r1, lsr r3  
 and r2, r2, #3  
 bl zLedBlink  
 bl zLedShow  
 b zLoop  
zLoopEnd:  
 mov ip,lr  
  
zloop2:  
 b zloop2  
  
zLedBlink:  
 ldr r4,=rGPFCON  
 ldr r5,=0x5000  
 str r5,[r4]  
 ldr r4,=rGPFUP  
 ldr r5,=0xffff  
 str r5,[r4]  
 ldr r4,=rGPFDAT  
  
 ldr r5,=0x00c0  
 str r5,[r4]  
 ldr r6,=0x200000  
zBlinkDelay1:  
 sub r6,r6,#1  
 cmp r6,#0x0  
 bne zBlinkDelay1  
  
 ldr r5,=0x0000  
 str r5,[r4]  
 ldr r6,=0x200000  
zBlinkDelay2:  
 sub r6,r6,#1  
 cmp r6,#0x0  
 bne zBlinkDelay2  
  
 mov pc,lr  
  
zLedShow:  
 ldr r4,=rGPFCON  
 ldr r5,=0x5000  
 str r5,[r4]  
 ldr r4,=rGPFUP  
 ldr r5,=0xffff  
 str r5,[r4]  
 ldr r4,=rGPFDAT  
 eor r2, r2, #0x3  
 mov r5, r2, lsl #6  
 str r5,[r4]  
 ldr r6,=0x2000000  
zShowDelay:  
 sub r6,r6,#1  
 cmp r6,#0x0  
 bne zShowDelay  
 mov pc,lr

通過本人屢次測試,發現程序在此處掛住:

board/smdk2410/lowlevel_init.S文件->lowlevel_init函數->str r3, [r1], #4

爲何會掛住呢?哥的思考結果以下:

在此以前把r0設置爲SMRDATA-_TEXT_BASE,也就是SMRDATA在程序中的偏移量。爲啥要這樣作,由於正常狀況下,u-boot是燒寫在nand的
最開始處,也就是0地址,執行這段代碼時,u-boot還未拷貝到RAM中,所以須要從nand內讀取須要的數據。而此時,程序是被原有的bootloader下載到
內存中運行的,nand中的數據顯然不適合此處,咱們須要從內存中讀取數據。那麼咱們把r0的值保持爲SMRDATA便可,注意,此處不能用原來代碼中的ldr
r0, =SMRDATA,由於ldr指令裝載的是_TEXT_BASE+offset,而不是SMRDATA在當前內存中的真正位置(_start+offset)
,咱們須要將這樣改爲adr r0,SMRDATA,另外,註釋掉該行:sub r0, r0, r1 (若是不註釋,則從0+offset開始讀取)

注:在此以後,relocate(cpu/arm920t/start.S)程序會將內存中的uboot程序複製到_TEXT_BASE(0x33f80000),並
將pc改成_start_armboot函數的地址:ldr pc,
_start_armboot,此處用ldr而不是adr,就是讓cpu到正確的地方(鏈接時決定的邏輯地址)開始運行,而不是剛纔uboot所在的任意內存區。

六、從新編譯u-boot,下載到任意地址(不要和自己的bootloader衝突),並運行,ok。如今把下載的內容寫到nand的第二個分區(以前被kernel
佔據),在老bootloader下按3,便可啓動u-boot。

http://www.hfrk.net  
Power on reset  
Read chip id = ec76  
Nand flash status = c0  
Env.Os_Auto_Flag=1  
NAND Flash Boot  
  
Please select function :  
0 : USB download file  
1 : Uart download file  
2 : Write Nand flash with download file  
3 : Load Pragram from Nand flash and run  
4 : Erase Nand flash regions  
5 : Set boot params  
6 : Run Wince  
7 : Set AutoBoot parameter,1:linux 2:wince  
8 : Test Power off  
9 : test SDRAM Memory  
3  
Read chip id = ec76  
Nand flash status = c0  
úøt boot params = root=/dev/mtdblock2 load_ramdisk=0 init=/linuxrc
console=ttyS0 mem=64M devfs=mount  
  
U-Boot 1.1.6 (Oct  5 2013 - 13:29:50)  
  
U-Boot code: 33F80000 -> 33F97B58  BSS: -> 33F9C280  
RAM Configuration:  
Bank #0: 30000000 64 MB  
Flash: 512 kB  
* Warning - bad CRC, using default environment  
  
In:    serial  
Out:   serial  
Err:   serial  
SMDK2410 #  
SMDK2410 #  
SMDK2410 # bdinfo  
arch_number = 0x000000C1  
env_t       = 0x00000000  
boot_params = 0x30000100  
DRAM bank   = 0x00000000  
-> start    = 0x30000000  
-> size     = 0x04000000  
ethaddr     = 00:00:00:00:00:00  
ip_addr     = 10.0.0.110  
baudrate    = 115200 bps  
SMDK2410 #

啓動u-boot後,發現完美支持cs8900a網卡,配置好地址就能夠經過tftp直接下載linux內核了。

SMDK2410 # setenv ethaddr 00:11:22:33:44:55 
SMDK2410 # setenv ipaddr 192.168.55.9 
SMDK2410 # setenv serverip 192.168.55.1 
SMDK2410 # tftpboot 32000000 zImage

可是,u-boot不支持啓動zImage鏡像,必須轉換爲uImage才行。因而仿照go命令加了個新命令,用於執行zImage,不就是把PC指針指向下載zIm
age的物理內存地址麼,這個簡單,呵呵。(注意要設置r0,r1,r2三個寄存器,我只設置了前兩個(0,193),也能湊合啓動內核)。

zImage內核解壓後,掛住了。用點燈的方式,能看到在enable mmu後,系統就馬上玩完了,可是爲啥呢,百思不得其解,折騰了好幾天,終於發現,是內核啓動
參數的問題。。。)在2.6以前的內核中0x30000100是內核啓動參數的所在區域,其中命令行位於0x30000600。板子自帶的坑爹bootloader,
把這塊區域頭寫了個00001000 00004000,哥用uboot的mw命令將其清零(mw.l 30000100 0 2),再啓動內核(go1 32000
000)。這回總算OK了。zImage的解壓代碼貌似會分析30000100開頭的區域,並基於分析結果設置頁的大小和數量,2.6的參數區格式與2.4不同,2
.4用的是struct param_struct,而2.6用的是tag,貌似不大兼容之前的格式,這段我沒有展開分析,總之系統起來了就OK,哥的側重點不在這。

cs8900網卡驅動

  1. 將cs8900驅動源代碼文件拷貝至drivers/net/,修改drivers/net/Kconfig文件
config ARM_CS8900  
tristate "CS8900 support"  
  depends on NET_ETHERNET && ARM &&
  Support for CS8900A chipset based Ethernet cards. If you have a network (Ethernet) card of this type, say Y and read the Ethernet-HOWTO, available from <http://www.tldp.org/docs.html#howto> as well as <file:Documentation/networking/cs89x0.txt>. To compile this driver as a
module, choose  M here and read <file:Documentation/networking/net-modules.txt>. The
module will be called cs8900.o.
  1. 修改drivers/net/Makefile
obj-$(CONFIG_ARM_CS8900) += cs8900.o
  1. 修改arch/arm/mach-s3c2410/mach-smdk2410.c
#define pSMDK2410_ETH_IO 0x19000000 
#define vSMDK2410_ETH_IO 0xE0000000 
#define SMDK2410_ETH_IRQ IRQ_EINT8 

static struct map_desc smdk2410_iodesc[] __initdata = {  
 {vSMDK2410_ETH_IO, __phys_to_pfn(pSMDK2410_ETH_IO), SZ_1M, MT_DEVICE},  
  /* nothing here yet */  
};
  1. make menuconfig,選中該驅動
Device Drivers -->  
  Network device support --> 
    Ethernet(10 or 100Mbit)--> 
      <*>CS8900 support
  1. 從新編譯內核/模塊

MMC驅動

  1. 修改arch/arm/mach-s3c2410/mach-smdk2410.c
static struct platform_device *smdk2410_devices[] __initdata = {  
    &s3c_device_usb,  
    &s3c_device_lcd,  
    &s3c_device_wdt,  
    &s3c_device_i2c0,  
    &s3c_device_iis,  
    &s3c_device_sdi, //zws 
};

2.修改drivers/mmc/host/s3cmci.c

static struct s3c24xx_mci_pdata s3cmci_def_pdata = {  
    /* This is currently here to avoid a number of if (host-&gt;pdata) * checks. Any zero fields to ensure reaonable defaults are picked. */  
    /*zws .no_wprotect = 1, .no_detect = 1, */  
    .use_dma = 0,  
    .gpio_detect = S3C2410_GPG(10),  
    .gpio_wprotect = S3C2410_GPH(8),  
    .set_power = NULL,  
    .ocr_avail = MMC_VDD_32_33,  
};

3. make menuconfig

device driver -> mmc/sd/sdio card support,選中

MMC block device driver

Use bounce buffer for simple hosts(這個也許能夠不選,我沒試過)

Samsung S3C SD/MMC Card Interface support

file systems -> DOS/FAT/NT Filesystems,選中

VFAT (Windows-95) fs support

file systems -> Native language support,選中

Codepage 437 (United States, Canada)

NLS ISO 8859-1 (Latin 1; Western European Languages)

4.從新編譯內核/模塊

5.加載模塊

insmod mmc_core.ko  
insmod mmc_block.ko
insmod s3cmci.ko

會有如下輸出:

s3c-sdi s3c2410-sdi: powered down.
s3c-sdi s3c2410-sdi: mmc0 - using pio, sw SDIO IRQ

6.建立node文件

/ # ls /dev -l 
crw--w--w-    1 0        4          5,   1 Sep 27  2013 console  
brw-rw-rw-    1 0        0         31,   0 Sep 27  2013 mtdblk0  
brw-rw-rw-    1 0        0         31,   1 Sep 27  2013 mtdblk1  
brw-rw-rw-    1 0        0         31,   2 Sep 27  2013 mtdblk2  
brw-rw-rw-    1 0        0         31,   3 Sep 27  2013 mtdblk3  
brw-rw-rw-    1 0        0         31,   4 Sep 27  2013 mtdblk4  
brw-rw-rw-    1 0        0         31,   5 Sep 27  2013 mtdblk5  
crw-rw-rw-    1 0        0          1,   3 Sep 26  2013 null  
brw-r--r--    1 0        0        179,   0 Feb 26  2014 sd  
brw-r--r--    1 0        0        179,   1 Feb 27  2014 sd1

若是有卡,就能夠直接mount -t vfs /dev/sd1 /mnt/sd

USB驅動

注意:如下工做(特別是內核選項)不少應該是沒必要要的,尚待精簡驗證。

  1. 修改arch/arm/mach-s3c2410/mach-smdk2410.c
#include &lt;linux/delay.h&gt;

#include &lt;mach/regs-gpio.h&gt; 
#include &lt;mach/regs-clock.h&gt;

#include &lt;plat/usb-control.h&gt;

//...

static struct s3c2410_hcd_info usb_s3c2410_info = { /*zws*/  
       .port[0]        = {  
               .flags  = S3C_HCDFLG_USED  
       },  
       .port[1]        = {  
               .flags  = S3C_HCDFLG_USED  
       }  
};  
int __init s3c2410_init_usb(void) /*zws*/  
{  
    unsigned long upllvalue;  
    printk("USB Control, (c) 2006 pc104/n");  
    s3c_device_usb.dev.platform_data = &amp;usb_s3c2410_info;  
  
  
    s3c2410_modify_misccr(S3C2410_MISCCR_USBSUSPND0 |  
                  S3C2410_MISCCR_USBSUSPND1, 0x8);  
  
  
    upllvalue = (0x78&lt;&lt;12)|(0x02&lt;&lt;4)|(0x03);  
    while(upllvalue!=__raw_readl(S3C2410_UPLLCON))  
    {  
        __raw_writel(upllvalue,S3C2410_UPLLCON);  
        mdelay(1);  
    }  
    return 0;  
}
//...

static void __init smdk2410_init(void)  
{  
    s3c_i2c0_set_platdata(NULL);  
    platform_add_devices(smdk2410_devices, ARRAY_SIZE(smdk2410_devices));  
    smdk_machine_init();  
    s3c2410_init_usb();/*zws*/  
}

2. make menuconfig

general setup->

    Configure standard kernel features (for small systems)

        #除去Do an extra kallsyms pass,都選上

device drivers->

    Block devices-&gt;Low Performance USB Block driver

    SCSI device support->

        SCSI device support

        legacy /proc/scsi/ support

        SCSI disk support

        SCSI generic support

        Probe all LUNs on each SCSI device

        SCSI low-level drivers

    HID Devices->

        Generic HID support

        USB Human Interface Device (full HID) support

    USB support->

        Support for Host-side USB

        USB device filesystem (DEPRECATED)

        OHCI HCD support

        USB Mass Storage support 及其子項全選
  1. 從新編譯內核、模塊

  2. 用新內核啓動,並加載模塊

insmod scsi_mod.ko  
insmod scsi_wait_scan.ko  
insmod sg.ko  
insmod sd_mod.ko

insmod nls_base.ko

insmod fat.ko  
insmod vfat.ko  
insmod nls_cp437.ko  
insmod nls_iso8859-1.ko  
  
  

insmod usbcore.ko  
insmod ohci-hcd.ko  
insmod usb-storage.ko  
insmod ums-alauda.ko  
insmod ums-cypress.ko  
insmod ums-datafab.ko  
insmod ums-freecom.ko  
insmod ums-isd200.ko  
insmod ums-jumpshot.ko  
insmod ums-karma.ko  
insmod ums-onetouch.ko  
insmod ums-sddr09.ko  
insmod ums-sddr55.ko  
insmod ums-usbat.ko  
insmod ub.ko  
insmod usbhid.ko

輸出:

SCSI subsystem initialized  
nls_base: exports duplicate symbol load_nls_default (owned by kernel)  
insmod: cannot insert `nls_base.ko': Invalid module format (-1): Exec format
error  
usbcore: registered new interface driver usbfs  
usbcore: registered new interface driver hub  
usbcore: registered new device driver usb  
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver  
s3c2410-ohci s3c2410-ohci: S3C24XX OHCI  
s3c2410-ohci s3c2410-ohci: new USB bus registered, assigned bus number 1  
s3c2410-ohci s3c2410-ohci: irq 42, io mem 0x49000000  
usb usb1: configuration #1 chosen from 1 choice  
hub 1-0:1.0: USB hub found  
hub 1-0:1.0: 2 ports detected  
usb 1-1: new full speed USB device using s3c2410-ohci and address 2  
Initializing USB Mass Storage driver...  
usbcore: registered new interface driver usb-storage  
USB Mass Storage support registered.  
usb 1-1: configuration #1 chosen from 1 choice  
scsi0 : SCSI emulation for USB Mass Storage devices  
usbcore: registered new interface driver ums-alauda  
usbcore: registered new interface driver ums-cypress  
usbcore: registered new interface driver ums-datafab  
usbcore: registered new interface driver ums-freecom  
usbcore: registered new interface driver ums-isd200  
usbcore: registered new interface driver ums-jumpshot  
usbcore: registered new interface driver ums-karma  
usbcore: registered new interface driver ums-onetouch  
usbcore: registered new interface driver ums-sddr09  
usbcore: registered new interface driver ums-sddr55  
usbcore: registered new interface driver ums-usbat  
usbcore: registered new interface driver ub  
usbcore: registered new interface driver usbhid  
usbhid: v2.6:USB HID core driver  
/zws # scsi 0:0:0:0: Direct-Access     Generic- SD/MMC           1.00 PQ: 0
ANSI: 0 CCS  
sd 0:0:0:0: Attached scsi generic sg0 type 0  
sd 0:0:0:0: [sda] 996352 512-byte logical blocks: (510 MB/486 MiB)  
sd 0:0:0:0: [sda] Write Protect is off  
sd 0:0:0:0: [sda] Assuming drive cache: write through  
sd 0:0:0:0: [sda] Assuming drive cache: write through  
 sda:  
 sda1  
sd 0:0:0:0: [sda] Assuming drive cache: write through  
sd 0:0:0:0: [sda] Attached SCSI removable disk
  1. 建立設備文件
/ # ls /dev/ -l 
crw--w--w-    1 0        4          5,   1 Sep 27  2013 console  
brw-rw-rw-    1 0        0         31,   0 Sep 27  2013 mtdblk0  
brw-rw-rw-    1 0        0         31,   1 Sep 27  2013 mtdblk1  
brw-rw-rw-    1 0        0         31,   2 Sep 27  2013 mtdblk2  
brw-rw-rw-    1 0        0         31,   3 Sep 27  2013 mtdblk3  
brw-rw-rw-    1 0        0         31,   4 Sep 27  2013 mtdblk4  
brw-rw-rw-    1 0        0         31,   5 Sep 27  2013 mtdblk5  
crw-rw-rw-    1 0        0          1,   3 Sep 26  2013 null  
brw-r--r--    1 0        0        179,   0 Feb 26  2014 sd  
brw-r--r--    1 0        0        179,   1 Feb 27  2014 sd1  
brw-r--r--    1 0        0          8,   0 Feb 28  2014 sda  
brw-r--r--    1 0        0          8,   1 Feb 28  2014 sda1  
brw-r--r--    1 0        0          8,  16 Feb 28  2014 sdb  
brw-r--r--    1 0        0          8,  17 Feb 28  2014 sdb1  
/ # mount -t vfat /dev/sda1 /mnt/sda1 
/ # ls /mnt/sda1 
360                             anjuke613.apk  
4779.zip                        atadspgresu.txt  
Android                         baidu  
BaiduMap                        bluetooth
相關文章
相關標籤/搜索