[英]sd card data broken after umount
我使用IP TE4395為完全定制的板編寫了SD主機控制器Linux驅動程序。
我寫的司機
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.