在为定制板构建和使用linux内核时,当使用Android时,MMC分区通常出现在/dev/block/mmcblkXpY中。还有在/dev/block/**/<by-name or by-uuid>等中创建的符号链接。这种映射可以在Ubuntu中看到,用于硬盘分区。
当我使用openwrt时,mmc块设备显示为/dev/mmcblkXpY。这种行为是否是可配置的?这是在用户空间完成的吗?
我对Linux设备驱动程序和内核非常陌生。我基本上想同步一个workque线程(让我们称之为A())与另一个函数(让我们称之为B())。我在这里的目的是在A运行时使B失败。
目前,我所做的工作如下。
A(){
active = true; // a variable shared b/w both A and B
...
...
...
active = false;
}
B(){
if(active){
return -EBUSY
}
}
这是同步这两个函数的正确方法吗?还有其他我应该遵循的策略吗?
在我把这个问题贴在这里之前,我用谷歌搜索了很多,但我没有找到任何确切的答案或原因。 我想知道/读取SD-Card的ext csd寄存器信息。我知道mmc-utils能够在extcsd中显示这些信息。但是mmc-utils似乎不能让SD卡获取extcsd信息。我试过了 mmc extcsd read /dev/mmcblk1 结果表明: ioctl: Connection timed out
Could not read EXT_CSD from /dev/mmcblk1 有没有人能建议一些变通方法来解决SD卡的mmc-utils问题? 或者有没有人可以参考这样的linux工具来监控SD卡信
我正在使用请求在一个运行Linux的小型嵌入式设备上下载一个大文件(~50MiB)。
文件将写入附加的MMC。
不幸的是,MMC写入速度低于网络速度,我看到内存消耗增加,在一些情况下,我甚至让内核“无法处理页面……”错误。
设备只有128MiB内存。
我使用的代码是:
with requests.get(URL, stream=True) as r:
if r.status_code != 200:
log.error(f'??? download returned {r.status_c