簡體   English   中英

卸載后SD卡數據損壞

[英]sd card data broken after 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

我知道原因 司機有問題。 我添加了一些調試代碼,在驅動程序寫入寄存器時讀取寄存器。 Data Port寄存器是特殊的,訪問該寄存器時,控制器內部的緩沖區指針將自動遞增。 調試代碼在寫入寄存器之前和之后讀取,因此對寄存器進行了3次訪問,但預期只有1次訪問(寫入)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM