sd卡reread调用 ioctl(fd, BLKRRPART)) 之后/dev下概率性出现没有设备节点问题(sigmstar 335芯片)
1、实际sd分区创建的位置,用的256G的sd卡,有两个分区,/sys/class/block下的文件只是链接到下面的文件
/sys/devices/soc0/soc/soc:sdmmc/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p1
/sys/devices/soc0/soc/soc:sdmmc/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0/mmcblk0p2
2、函数调用的时候不管/dev下是否有设备节点 ,以上的文件都创建成功了,驱动创建设备文件没问题
3、以下是创建设备节点/dev/* 调用的函数

int kobject_uevent_env(struct kobject *kobj, enum kobject_action action,char *envp_ext[])
{#ifdef CONFIG_UEVENT_HELPER/* call uevent_helper, usually only enabled during early boot */if (uevent_helper[0] && !kobj_usermode_filter(kobj)) {struct subprocess_info *info;retval = add_uevent_var(env, "HOME=/");if (retval)goto exit;retval = add_uevent_var(env,"PATH=/sbin:/bin:/usr/sbin:/usr/bin");if (retval)goto exit;retval = init_uevent_argv(env, subsystem);if (retval)goto exit;retval = -ENOMEM;info = call_usermodehelper_setup(env->argv[0], env->argv,env->envp, GFP_KERNEL,NULL, cleanup_uevent_env, env);if (info) {//通过mknod的方式创建设备节点,最终调用应用层的mdev或者udev,原:retval = call_usermodehelper_exec(info, UMH_NO_WAIT);//不等待直接返回改:retval = call_usermodehelper_exec(info, UMH_WAIT_PROC);//等待创建完成再返回,该处改成UMH_WAIT_EXEC的时候还是不行,不得己改成UMH_WAIT_PROCenv = NULL;  /* freed by cleanup_uevent_env */}}
}

4、修改原因:64G的sd卡没问题,基本可以正常格式化,但是128G的时候概率性出现问题,256G概率更大,最终在mdev源码加打印发现出错的原因都是创建的时候该UMH_NO_WAIT没等创建就返回,最后创建的内核线程在后台执行的时候先add了在remove(随机性),导致/dev下无设备节点,由于在后台执行只能输出重定向查看打印,基本原因是cpu性能不够,导致执行缓慢,最后随机执行add和remove操作,改完之后都会等先remove在add,最后就不会格式化失败了

大容量sd卡reread之后/dev下概率性出现无设备文件相关推荐

  1. WINCE5.0+S3C2440支持大容量SD卡(SDHC卡)

    ********************************LoongEmbedded************************ 作者:LoongEmbedded(kandi) 时间:201 ...

  2. Linux格式化sd卡博客,Linux下格式化U盘或者SD卡

    前段时间用SD卡刻了用一个Linux系统(存储系统),插在windows下显示只有32MB(原卡16GB的).好了,问题来了,其他的空间去哪里了呢? 1.如何释放其他未使用的空间? 2.如何重新找回所 ...

  3. linux sd卡挂载脚本,Linux下实现U盘、SD卡自动挂载功能 .

    在 Linux中我们经常用到U盘.SD卡的挂载问题,每次都手动挂载或卸载非常麻烦,我们可以采取以下方法实现自动挂载或卸载U盘.SD卡 1.首先在/etc/init.d/rsC中加入以下语句 echo ...

  4. SD卡在SPI模式下的初始化和详细的代码分析

    SD卡在spi下的初始化: 1.初始化与SD卡链接的硬件条件(mcu的spi配置, IO口配置) 2.上电延时(>74个CLK) 3.复位卡(CMD0),进入idle状态 4.发送CMD8,检查 ...

  5. STC15单片机读写大容量SD卡(IO口模拟SPI模式)

    使用的芯片是STC15系列的IAP15F2K61S2,开发板是51的xl2000.把芯片座上的51芯片拔掉换成STC的,混合模式.(配置够低吧) 源码由51开发板例程的实验26修改而来. 浏览了网上的 ...

  6. 【SD卡】关于DJYOS下SD卡驱动开发详解

    关于DJYOS下SD卡驱动开发详解 王建忠 2011/6/21 1      开发环境及说明 硬件平台:tq2440(CPU: s3c2440) 操作系统:DJYOS1.0.0 1.1    说明 T ...

  7. esp32 支持 sd卡 micropython 文件系统_ESP32 下 micropython 使用 SD卡

    此处讨论的是使用 SD 卡接口的使用,相对速度较快,不讨论以 SPI 方式的使用. 上下拉要求 直接使用会出现 CRC 校验错误的问题,报 0x107 或者 0x109 错误.见此Issues. 开启 ...

  8. linux sd卡修复工具,如何使用'fsck'修复Linux中的文件系统错误

    文件系统负责组织数据的存储和恢复方式. 无论如何,随着时间的推移,文件系统可能会被破坏,并且可能无法访问它的某些部分. 如果您的文件系统出现这种不一致,建议验证其完整性. 这可以通过名为fsck的系统 ...

  9. linux更改文件属性宁静,shell /dev/null 21 ( linux空设备文件和重定向)

    /dev/null代表 空文件设备 1表示系统标准输出,系统默认值是1, > /dev/null等同于1> /dev/null 对于 >dev/null 2>&11&g ...

  10. SD卡驱动分析(二)

    三.下面分析一下高通的android2.3的代码中SD卡驱动的流程. 在kernel中,SD卡是作为平台设备加入到内核中去的,在/kernel/arch/arm/mach-msm/devices-ms ...

最新文章

  1. 硅谷初创公司工资期权调查报告出炉,你羡慕吗?
  2. 智源学者韩银和、蔡一茂入选2020年度国家杰出青年科学基金建议资助项目申请人名单...
  3. 各种登录源码来了!基础登录、验证码登录、小程序登录...全都要!
  4. python单词大全-python词汇大全
  5. LeetCode Edit Distance(动态规划)
  6. 移动网络安全不容忽视 对恶意程序打好防范补丁
  7. 作业3:基于墨刀的短视频APP
  8. 博客园是否提供trackback的rss
  9. ArcGIS中文注记图层发布服务后变乱码(方框乱码)/如何有效修改注记要素类文字样式
  10. Arts 第九周(5/13 ~ 5/19)
  11. syslog函数输出在哪个文件中_syslog服务详解
  12. 区块链“搅局”中介风云
  13. element上传图片校验尺寸
  14. AE自带抠像插件解释
  15. 安全扫描工具-appscan
  16. 小木虫网站登录返回404
  17. linux文件属性详细说明(网络转载,仅供学习之用)
  18. PHP水仙花数程序设计思路,php实现水仙花数示例分享
  19. java程序开发实用教程上机实训答案,京东高级java面试
  20. Win11网络适配器错误代码(10)WLAN消失

热门文章

  1. 软件测试有效性指标,软件测试用例评审有效性的44个衡量标准[1]
  2. 通过 百度网盘 分享文件
  3. Android之Material Dialogs详解(非原创)
  4. 电容或电感的电压_电容、电感是如何储能的?
  5. 用matlab开环增益,自控原理实验仿真部份
  6. 【高数】如何由解倒求微分方程?及微分方程的阶数、任意常数、特征根的关系
  7. 我的世界java追踪光影_探索MC的光线追踪 真实光影下的马赛克世界
  8. 一部手机背后的小镇青年:吃着蜜糖、喝着毒药
  9. 时间与空间的相对性——思想实验推导狭义相对论(四)
  10. 怎么把cad的图导入ps_CAD图如何导入Photoshop的方法