文章目录

  • 原理图补充说明
  • 开机串口输出
  • 开发板硬件配置
  • 参考文档
  • 工具下载
  • 代码下载
  • 安装交叉编译器
  • 编译kernel
  • 制作文件系统
  • 配置nfs
  • 配置smb
    • Minimal client-only SAMBA configuration
  • 下载新内核运行
  • 使用u-boot
  • cs8900网卡驱动
  • MMC驱动
  • USB驱动

缺少文档,以下信息是试出来的。。。

串口设置:115200/数据位8/奇偶校验无/停止位1/流控无

正常开机:D4红灯常亮,D1、D2、D5绿灯常亮

不正常开机1:D1、D2不亮

不正常开机2:D1、D2每秒一闪,每闪一次串口输出网址

uart下载:D1、D2亮一秒灭一秒

原理图补充说明

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

2: u1d(s3c2410), u2, u3

3: u4(E28F128J3A150, 3 Volt Intel StrataFlash), u28 (E28F128J3A150, 缓存),
j1(3p)

4: u5, u6 (K4S561632C, 内存)

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.netPower on resetRead chip id = ec76Nand flash status = c0Env.Os_Auto_Flag=1NAND Flash BootPlease select function :0 : USB download file1 : Uart download file2 : Write Nand flash with download file3 : Load Pragram from Nand flash and run4 : Erase Nand flash regions5 : Set boot params6 : Run Wince7 : Set AutoBoot parameter,1:linux 2:wince8 : Test Power off9 : test SDRAM Memory4Read chip id = ec76Nand flash status = c0Please select which region to erase : Esc to abort0 : 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,16M5 : 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

参考文档

  • hfrk2410_A1.1 电路原理图

    http://www.pudn.com/downloads169/sourcecode/embed/detail777772.html

  • hfrk2410开发板使用手册

    http://wenku.baidu.com/view/becb1907bcd126fff7050b6c.html

    (注:该手册错字错句特别多,有的地方代码错误,不和A1.1开发板完全匹配。A1.1的手册没找到)

  • s3c2410 datasheet

    http://www.pudn.com/downloads137/sourcecode/embed/detail586505.html

  • ARM 汇编指令参考手册

    http://www.pudn.com/downloads32/sourcecode/embed/detail101963.html

  • bin和elf文件的关系和区别

    http://blog.163.com/zhangmaochu@126/blog/static/3736062220105299305566/

  • U-Boot启动过程完全分析

    http://www.cnblogs.com/heaad/archive/2010/07/17/1779829.html

  • S3C2410-2440 bios启动流程

    http://wenku.baidu.com/view/a7976e67f5335a8102d220bc.html

  • arm-linux启动流程

    http://blog.csdn.net/linyt/article/details/6582399

工具下载

  • dnw.exe 串口调试软件(经常造成xp蓝屏重启,但是又找不到更好用的)

    http://www.pudn.com/downloads63/sourcecode/windows/csharp/detail220105.html

  • bootusb usb驱动

    http://www.pudn.com/downloads75/sourcecode/others/detail278486.html

  • ads1.2

    http://download.csdn.net/detail/hivdg/1987511 (不是必须的)

  • sjf2410.exe jtag烧制工具

    http://www.pudn.com/downloads37/sourcecode/embed/detail118295.html (不是必须的)

代码下载

  • arm-linux-gcc3.4.1 (用来编译linux-2.6.14和busybox-1.1.0)

    http://www.pudn.com/downloads57/sourcecode/embed/detail202446.html

  • arm-linux-gcc3.3.2 (用来编译u-boot-1.1.6)

    http://download.csdn.net/detail/vkbbpfwxf/4187342 (用这个版本来编u-boot-1.1.6)

  • u-boot-1.1.6

    ftp://ftp.denx.de/pub/u-boot/u-boot-1.1.6.tar.bz2

  • s3c2410 bios v2

    http://www.pudn.com/downloads93/sourcecode/embed/detail367341.html

    (注:copy_proc_beg函数的第三行cmpr0, r1应为cmpr0, r2,不改也能凑合用)

  • linux-2.6.14

    http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.14.tar.bz2

    (注:Floating point emulation配置中需选择至少一项,否则内核加载后,用busybox制作的文件系统用户空间程序启动不了。我选的是NWFPE)
    yaffs2

    http://www.pudn.com/downloads125/sourcecode/unix_linux/detail530519.html

  • cs8900a驱动

    http://www.pudn.com/downloads102/sourcecode/embed/detail417250.html

    (注:文档中网卡驱动指定的irq是IRQ_EINT9,而电路图中是EINT8,以图为准)

  • busybox-1.1.0

    http://busybox.net/downloads/busybox-1.1.0.tar.bz2

安装交叉编译器

只要解压到某个路径即可

编译kernel

1、首先修改Makefile

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

2、在内核中加入yaffs和cs8900a网卡支持,方法参考hfrk开发板手册

3、配置内核

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的支持,我没有这样做

4、编译生成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 = cp437unix charset = ISO-8859-1security = 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。

1、下载u-boot-1.1.6,修改Makefile

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

2、make smdk2410_config

3、make,顺利生成u-boot.bin

4、下载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所在的任意内存区。

6、重新编译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 &amp;&amp; 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_EINT8static 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 driverSCSI device support->SCSI device supportlegacy /proc/scsi/ supportSCSI disk supportSCSI generic supportProbe all LUNs on each SCSI deviceSCSI low-level driversHID Devices->Generic HID supportUSB Human Interface Device (full HID) supportUSB support->Support for Host-side USBUSB device filesystem (DEPRECATED)OHCI HCD supportUSB Mass Storage support 及其子项全选
  1. 重新编译内核、模块

  2. 用新内核启动,并加载模块

insmod scsi_mod.ko
insmod scsi_wait_scan.ko
insmod sg.ko
insmod sd_mod.koinsmod nls_base.koinsmod 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

转载于:https://www.cnblogs.com/realplay/p/9867541.html

s3c2410 开发板笔记相关推荐

  1. 洋桃开发板笔记(六 ) STM32自带的Flash闪存使用,主要配合其他外设

    Flash闪存与其他外设的使用 杜洋工作室 www.DoYoung.net 洋桃电子 www.DoYoung.net/YT 在此声明一下所有代码均为 杜洋工作室 的不允许复制,转发等,本人只是在此程序 ...

  2. 洋桃开发板笔记(三) 最基本的USART的串口使用

    USART的使用 杜洋工作室 www.DoYoung.net 洋桃电子 www.DoYoung.net/YT 在此声明一下所有代码均为 杜洋工作室 的不允许复制,转发等,本人只是在此程序上进行理解和注 ...

  3. linux rootfs编译进内核,九鼎x6818开发板笔记:uboot、kernel、rootfs编译和烧写

    下面记录了如何搭建嵌入开发环境,如何编译uboot.kernel.和文件系统,如何烧写镜像以及如何配置uboot环境变量. 阅读注意:记录中(Base框中的内容)一些操作故意被添加,为了展示文件内容, ...

  4. Nucleo-64开发板笔记

    最近入手了一块Nucleo-64开发板,顺手记录下学习过程. STM32 Nucleo-64开发板通过从STM32微控制器提供的性能和功耗特性的各种组合中进行选择,为用户提供了一种经济实惠且灵活的方式 ...

  5. 洋桃开发板笔记(八 )ADC初识——模数转换

    STM32的ADC初识 杜洋工作室 www.DoYoung.net 洋桃电子 www.DoYoung.net/YT 在此声明一下所有代码均为杜洋工作室的不允许复制,转发以及在商业上的行为等,本人只是在 ...

  6. 嵌入式:Altium Designer18提升速度的操作(画开发板笔记)

    注意事项 华强pcb最小线宽/线距4mil:最小孔径0.3mm 视图 -->面板 -->project :找到最左边的菜单栏 视图–>状态栏:打开右下角的panels 0805封装后 ...

  7. 洋桃开发板笔记(一) 最基本的GPIO接口控制

    点亮LED灯,本质是对GPIO口的控制 _ 杜洋工作室 www.DoYoung.net _ _ 洋桃电子 www.DoYoung.net/YT _ 在此声明一下所有代码均为__杜洋工作室__的不允许复 ...

  8. 开发板的lcd 显示

    http://hi.baidu.com/guoggn/blog/item/018ed7f28932261eb07ec59a.html 转]S3c2410 LCD驱动学习心得 2010-07-26 14 ...

  9. linux内核移植开发板,mini2440学习之(一)-------移植linux内核

    请 登录 后使用快捷导航 没有帐号?注册 阅 4622|回 2 最后登录2013-8-22 在线时间22 小时 威望2878分 芯积分608分(兑换) E金币好友 发表于2009-9-22 15:02 ...

最新文章

  1. eslint 学习笔记
  2. 里面如何创建新的module_硬盘分区:如何一次为新硬盘创建多个分区?
  3. 秒懂云通信:选云通信到底哪家强?
  4. qt-项目部署(某些情况下编译器中运行异常的话可以使用命令windeployqt 程序名在安装的qt dos命令下补全部分依赖库在运行项目或发布)
  5. python与linux关系_如何处理Linux / Python依赖关系?
  6. 今天工作中碰到一个clone的问题
  7. 在html中使用javascript注意事项
  8. 麻省、北大、清华等顶尖高校与企业 20 位强化学习专家齐聚,RLChina 2021 强化学习暑期课免费报名啦!...
  9. mysql索引和事务_MySQL事务和索引
  10. 统计正数和负数的个数然后计算这些数的平均值_计算机中的二进制原来是这样:原码、反码和补码
  11. 上位机和下位机计算机联锁,上位机与下位机之间的连接
  12. html转换为jpg格式,JPG转换成HTML的两种方法
  13. 企业微信之网页授权登录
  14. latex 显示黑色的点命令 black dot.
  15. 如何恢复录音删除的录音文件_手机通话录音后!点击这个按钮,就能将录音文件一键转为文字...
  16. 通过免费采集软件做网站方法
  17. 奥克兰大学计算机科学硕士,奥克兰大学计算机硕士解析
  18. 无代码五月大事件|微软低代码矩阵更新;多份行业报告发布...
  19. 2022-2028年中国医药零售行业市场研究及前瞻分析报告
  20. 程序员如何成为一个风一样的男子!?

热门文章

  1. 萤石网络IPO过会:年营收42亿 海康威视为大股东
  2. 程序员的自我修养--编译链接资料收集
  3. ❤️大家中秋节快乐❤️接下来请欣赏Python Opencv实战之图像阈值和模糊处理,万字实战,收藏起来吧~
  4. html怎样做成视频代码,如何在网页上插入视频(用html制作)
  5. raspberry fm电台
  6. android-skin-support使用和原理分析
  7. 多目相机同步拍照四目相机同步拍照设计方案(多个SENSOR+FPGA+DDR+千兆网)
  8. Progress语法
  9. C语言 字符数据输入输出
  10. Linux命令:unmount