Linux下SD卡驱动移植



使用Linux3.2.81内核

 

1.arch/arm/mach-s3c2440/mach-smdk2440.c platform结构中增加&s3c_device_sdi语句。

static structplatform_device*smdk2440_devices[] __initdata =

{

&s3c_device_usb,

&s3c_device_lcd,

&s3c_device_wdt,

&s3c_device_i2c,

&s3c_device_iis,

&s3c_device_nand,

&s3c_device_sdi,                //add here

};

 

2、添加和开发板相关的 SD 卡插拔引发的中断:drivers/mmc/host/s3cmci.c

  host->sdio_irqen= enable;

      //添加以下两行,根据原理图进行相应引脚的修改

      host->irq_cd = IRQ_EINT16;

      s3c2410_gpio_cfgpin(S3C2410_GPG(8),S3C2410_GPG8_EINT16);

 

      if (enable == host->sdio_irqen)

             goto same_state;

 

3、执行make menuconfig

             Device Driversà

                    <*> MMC/SD/SDIO cardsupportà

                             <*>  MMC block device driver

                             <*>  Samsung S3C SD/MMC Card Interface support

                             [*]    Hardware support for SDIO IRQ      //一定要选

  

      Filesystemsà

                    DOS/FAT/NT Filesystemsà

                           (936) Default codepage for FAT

                    Native language supportà

                           <*>   Simplified Chinese charset (CP936, GB2312)   //支持中文

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

 

4、重新编译内核,然后下载

5、挂载SD :  mount -tvfat /dev/mmcblk0 /mnt

SD 卡驱动分析...................................................................................................................................1 块请求处理(linux/driver/mmc/card).....................................................................................2 1.probe.................................................................................................................................................2 2.do_request......................................................................................................................................13 3.小结................................................................................................................................................24 core 层处理(linux/driver/mmc/core)...................................................................................25 1.core 层初始化................................................................................................................................25 2.mmc_claim_host............................................................................................................................28 3.mmc_release_host..........................................................................................................................31 4.mmc_wait_for_req.........................................................................................................................33 5.mmc_wait_for_cmd.......................................................................................................................35 SD 控制器之初始化(linux/driver/mmc/host).....................................................................37 core 层续集之 mmc_add_host..................................................................................................49 SD 控制器之真正的硬件操作.................................................................................................82 1.s3cmci_get_ro................................................................................................................................83 2.s3cmci_set_ios...............................................................................................................................84 3.s3cmci_request 之命令处理..........................................................................................................86 4.s3cmci_request 之数据传输..........................................................................................................97 小结.........................................................................................................................................113
linux移植驱动编写最详细教程,Linux 操作系统的安装以及配置............................................................................................3 1 如何安装RedHat9.0 ................................................................................................3 2 在RedHat 中添加新用户.......................................................................................16 3 配置PC 机Linux 的ftp 服务...................................................................................16 4 配置PC 机Linux 的telnet .....................................................................................17 5 建立交叉编译环境...................................................................................................17 6 编译内核..................................................................................................................17 Linux移植.......................................................................................................................19 1 Bootloader 的移植.................................................................................................19 1.1 vivi 的配置与编译..........................................................................................19 1.2 配置和编译vivi .............................................................................................20 1.3 vivi 代码分析..................................................................................................21 1.4 vivi 的运行.....................................................................................................21 1.5 启动代码执行流程图.....................................................................................45 1.6 vivi 的配置文件..............................................................................................45 2 Linux 内核
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值