EC20 写入数据至TF卡 提示IO错误

TF卡在windows上可以正常读写,当前固件号:EC20CEFARGR06A06M4G

是用AT指令去读写TF卡吗?其他譬如RAM和UFS是否可以正常读写。

ec20是open的,读写tf卡是 调用linux系统的write操作的

发个内核日志看看

IO error的错误是偶然存在的

现在我们又发现了新问题,内核日志 limit=3780355

[ 1020.189610] attempt to access beyond end of device

[ 1020.189629] mmcblk0p1: rw=0, want=3780411 ,这个问题是在某批设备中存在,请问这种问题如何排查并解决

[ 474.693099] mmcblk0: error -84 transferring data, sector 22786942, nr 72, cmd response 0x900, card status 0x800c00
[ 474.694467] blk_update_request: I/O error, dev mmcblk0, sector 22786956
[ 474.694498] blk_update_request: I/O error, dev mmcblk0, sector 22786964
[ 474.694514] blk_update_request: I/O error, dev mmcblk0, sector 22786972
[ 474.694529] blk_update_request: I/O error, dev mmcblk0, sector 22786980
[ 474.694543] blk_update_request: I/O error, dev mmcblk0, sector 22786988
[ 474.694558] blk_update_request: I/O error, dev mmcblk0, sector 22786996
[ 474.694572] blk_update_request: I/O error, dev mmcblk0, sector 22787004
[ 474.694586] blk_update_request: I/O error, dev mmcblk0, sector 22787012

mmc已经检测成功了。

从这个日志看是怀疑和硬件干扰有关。

可以试试降低下mmc速率,是否可以避免问题

我们现在用的SD NAND FLASH 协议是sd2.0。EC20默认频率是50MHz么?如何降低MMC速率?

删掉SDR104 试下

image

时钟可以通过AT+QCFG=”SDIO_CLK” 修改,也可以修改设备树。

image

image目前修改成了25MHz,但是目前尝试的是循环向卡里写数据,还是出现这个错误

image

我们这种情况,应该使用哪种速率?25000000还是50000000?

降低速率看看是否有改善,是因为高速更容易被干扰。400K 都可以试试。

TF卡不用fat格式,用其他格式是否有改善

呃,我们现在的需求是这个设备需要在windows上识别为U盘,所以选择的是FAT格式

这个需要和时钟同时修改么?

可以只改一个试下。

目前的日志看不出什么问题。