linux识别sd卡_kafka存储结构

linux识别sd卡_kafka存储结构浅析Linux下sdio接口对sd卡硬件检测流程staticstructpxamci_platform_dataluther_mci_platform_data={.detect_delay=20,//检测到sd设备插入之后,延时detect_delay个tick之后,执行函数.ocr_mask=MMC_VDD_32_33|MMC_VDD_33_34,.init…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

浅析Linux下sdio接口对sd卡硬件检测流程

static struct pxamci_platform_data luther_mci_platform_data = {

.detect_delay    = 20,//检测到sd设备插入之后,延时detect_delay个tick之后,执行函数

.ocr_mask    = MMC_VDD_32_33|MMC_VDD_33_34,

.init         = luther_mci_init,

.setpower    = luther_mci_setpower,

.exit        = luther_mci_exit,

};

在luther_init()->

//luther_mmc_slot[0].gpio_cd = mfp_to_gpio(MFP_CFG_PIN(GPIO8_GPIO_MMC_DETECT));

所以设置GPIO8作为sd卡插入的中断检测IO

//pxamci_probe()->该函数是和platform的设备匹配上之后,会立即调用的probe

//host->pdata->init(&pdev->dev, pxamci_detect_irq, mmc); 将mmc作为devid的传递参数

//就是调用设备函数luther_mci_platform_data->luther_mci_init()

//request_irq(cd_irq, luther_detect_int,IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,”MMC card detect”, data);

//这样将中断注册到了物理硬件系统

当GPIO8检测到电平变化,将触发pxamci_detect_irq()中断处理函数,

该函数会继续调用mmc_detect_change()->mmc_schedule_delayed_work(&host->detect, delay);调度该host的自动检测函数

对于host->detect的初始化是这样完成的:

pxamci_probe()->mmc_alloc_host()申请平台SD单元对应的mmc_host结构体->

INIT_DELAYED_WORK(&host->detect, mmc_rescan)创建该平台SD单元对应的sdio设备插入

检测内核work_queue工作队列函数mmc_rescan->mmc_rescan()这是一个共用函数,如果有4个SD卡控制器在你的arm平台上,

那么4个SD控制器将分别对应4个mmc_host结构体,分别对应4个sdio设备插入检测内核work_queue工作队列,

但工作队列都将调用mmc_rescan()这1个函数,所以linux内核的面向对象的类共用机制做得很好->

使用mmc_alloc_host()函数申请的平台mmc_host结构体,没有对其分配bus总线指针,仅分配了它所属的parent,即这个mmc不属于某个bus,所以这个mmc_host对应的dev也不会从任何bus总线上分配到任何driver驱动,这也是应该的.

mmc_attach_sdio()->mmc_attach_bus(host, &mmc_sdio_ops);

mmc_sdio_init_card()->sdio_init_func()->sdio_alloc_func()->这样当detect到sdio设备之后,

将分配dev对应的sdio_func结构题,

调用sdio_read_func_cis()的cistpl_manfid()来填充sd卡的vendor,这样当wlan驱动probe的时候,

就会和wlan驱动的id表中的vendor尝试匹配,如果成功,那么wlan驱动将接管该检测到的sd卡[gliethttp_20080626].

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186462.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • oracle字符串拼接

    一、“||”拼接类似于“+”号二、CONCAT()函数除了“||”,Oracle还支持使用CONCAT()函数进行字符串拼接,但是只支持两个字符:三、多个CONCAT()函数嵌套如果需要拼接多个字符串,可以进行嵌套:…

    2022年4月5日
    120
  • ModifyStyle, ModifyStyleEx

    ModifyStyle, ModifyStyleEx1.wtl中的CListViewCtrl调用ModifyStyle,ModifyStyleEx,不起作用,改成_listCtrl.SetExtendedListViewStyle(_listCtrl.GetExtendedListViewStyle()|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES,0);参照http://www.cppblo

    2022年7月19日
    18
  • 网线RJ45接口排线示意图(做网线备用)「建议收藏」

    网线RJ45接口排线示意图(做网线备用)「建议收藏」网线RJ45接口排线示意图(做网线备用)RJ45有两种绕线方式,T-568A和T-568B。注意:绝大多数设备用的都是T-568B!!!请参照T-568B的线序!!!我的热门文章推荐多路视频直播用在线云导播切换的效果测试 如何把视频转换生成二维码,扫码直接播放? 有哪些网站上传视频是不会插入广告的? 怎么把视频生成二维码?微信扫二维码就可以观看?不要广告的 常用照片尺寸对照表,照片大小看这个表就对了 视频直播推流攻略(整理的各大平台推流界面) html5视频倍.

    2025年12月14日
    8
  • intel(r)wireless-ac9462异常//笔记本电脑网络无法连接???吐血后总结 :一次解决,史上最全,N种方案[通俗易懂]

    intel(r)wireless-ac9462异常//笔记本电脑网络无法连接???吐血后总结 :一次解决,史上最全,N种方案[通俗易懂]intel®wireless-ac9462出现黄色感叹号intel®wireless-ac9560出现黄色感叹号笔记本联网出现异常如图所示:简单介绍:这种情况是无线网卡驱动出现问题解决方案一:简单快捷,快速解决治标不治本,长期如此不行,故障率高适用于暂时性解决的朋友。方法:**1.进入设备管理器** 1.1:右键——管理——设备管理器 1.2:如图 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200819160153338.png?x

    2022年5月9日
    255
  • 如何运行.java文件

    首先按“Windows+R”键打开运行,输入“cmd”打开命令行窗口。然后通过cd进入.java文件所在的文件夹,生成与.Java文件同名的.class字节码文件。再输入“java 文件名”运行该.java文件。

    2022年1月17日
    46
  • 云打码实现验证码识别功能_打验证码赚钱真的吗

    云打码实现验证码识别功能_打验证码赚钱真的吗云打码官网:http://www.yundama.com/API接口:http://www.yundama.com/apidoc/YDM_SDK.html#DEMO以下验证码识别使用的”pythonHTTP“方法:1.注册开发者账号,进入开发者中心,点击”我的软件“→”添加新软件“,获取软件代码和通讯密钥;2.调用示例:importhttp.client,mimetype…

    2025年8月19日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号