卸载后SD卡数据坏了

时间:2016-08-30 07:49:39

标签: linux driver sd-card umount

我使用IP TE4395为完全定制的电路板编写了一个SD主控制器Linux驱动程序。

用我写的驱动程序

  • 我可以装SD卡,读写。
  • 安装后,一旦umount,下一个mount将失败。
  • 命令mount -o remount /dev/mmcblk0p1正常工作....
# ls /mnt/
aaa.txt     lost+found
# mount -o remount /dev/mmcblk0p1
EXT4-fs (mmcblk0p1): re-mounted. Opts: block_validity,delalloc,barrier,user_xattr,acl
# echo adfaf >/mnt/bbb.txt
# ls /mnt/
aaa.txt     bbb.txt     lost+found
# cat /mnt/bbb.txt
adfaf
# sync
# ls /mnt/
aaa.txt     bbb.txt     lost+found
# umount /mnt/
# mount /dev/mmcblk0p1 /mnt
mount: mounting /dev/mmcblk0p1 on /mnt failed: Invalid argument

1 个答案:

答案 0 :(得分:0)

我知道原因。 司机有问题。我添加了一些用于调试的代码,当驱动程序写入寄存器时读取寄存器 并且Data Port寄存器是特殊的,当访问寄存器时,控制器内的缓冲区指针将自动递增。 调试代码在写入寄存器之前和之后读取,因此访问寄存器3次,但预计只需1次访问(写入)。