Chinaunix首页 | 论坛 | 博客

分类: 嵌入式

2009-10-27 09:50:06

嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。

一、移植环境

  • 主  机:VMWare--Fedora 9
  • 开发板:Mini2440--64MB Nand
  • 编译器:arm-linux-gcc-4.3.2

二、移植步骤

1. 添加SD卡设备到系统设备初始化列表中。2.6.30.4内核对MMC/SD卡的支持已经非常完善了,而且支持超大容量32GB,所以这里我们只需把s3c_device_sdi添加到列表中即可,该设备在arch/arm/plat-s3c24xx/devs.c中定义

2. 修改MMC/SD驱动源码。主要是添加SD卡的中断处理,去掉驱动的Bug和一些多余的调试信息

#gedit drivers/mmc/host/s3cmci.c

3. 修改内核配置选项。完成后重新编译内核下载到开发板上

Device Drivers --->
    <*> MMC/SD/SDIO card support --->
        --- MMC/SD/SDIO card support
        [ ] MMC debugging
        [ ] Allow unsafe resume (DANGEROUS)
        *** MMC/SD/SDIO Card Drivers ***
        <*> MMC block device driver
        [*] Use bounce buffer for simple hosts
        < > SDIO UART/GPS class support
        < > MMC host test driver
        *** MMC/SD/SDIO Host Controller Drivers ***
        < > Secure Digital Host Controller Interface support
        < > MMC/SD/SDIO over SPI
        <*> Samsung S3C SD/MMC Card Interface support


4. 插入SD卡。当系统启动后插入SD卡就会出现一些信息,还可以看到mmcblk0就是SD设备了
 
 
5. 挂载SD卡。执行mount命令将SD卡挂载到/mnt/mmc/目录下,但是没成功,出错啦
 
 
6. 错误分析处理。首先查看/dev/目录下并没有mmcblk0p1节点所以出错,我们查看/proc/partitions/目录发现SD卡的主设备号是179,次设备号是1,那么我们就创建这个设备的节点,b代表块设备,最后再执行mount命令,没有出错
 
 
7. SD卡成功挂载。查看SD卡中的内容
 
 
 
阅读(6363) | 评论(4) | 转发(18) |
给主人留下些什么吧!~~

chinaunix网友2010-06-17 09:50:44

gpio_wprotect=S3C2410_GPH8, 是针对1335行的 仅仅改dodma=1是肯定不行的。还有几个bug。

chinaunix网友2010-06-14 06:20:24

这个是非DMA方式吧。DMA方式的话好像还要改。 在s3cmci_def_pdata中直接添加: .gpio_wprotect=S3C2410_GPH8, ...... 不就可以了吗,在数据中添加比在函数中加应该要更好些。

chinaunix网友2010-06-14 06:20:12

这个是非DMA方式吧。DMA方式的话好像还要改。 在s3cmci_def_pdata中直接添加: .gpio_wprotect=S3C2410_GPH8, ...... 不就可以了吗,在数据中添加比在函数中加应该要更好些。

clever07252010-02-02 09:58:50

你好 我看天嵌TQ2440的手册 添加命令是在 mach-s3c24xx/common-smdk.c 里添加的&s3c_device_sdi 请问和这里的有什么区别吗?