我製作了一個代碼,用於從閃存Nand(無文件系統)讀取數據。C錯誤在只讀閃存上打開O_RDWR NAND NAND MTD0
fd = open("/dev/mtd0", O_RDONLY)
它的工作原理,那麼我想嘗試讀寫它.. 所以我的代碼更改爲:
fd = open("/dev/mtd0", O_RDWR)
但它返回-1
,手段無法打開。但對於其他MTD,它的工作原理。
然後我看到cat /proc/mtd
說MTD0是RO
,另一個是RW
(我認爲這是隻讀和讀寫)
我試圖用MEMUNLOCK
ioctl(fd, MEMUNLOCK, &mtdLockInfo)
,因爲它需要fd
,需要open
,所以我使用O_RDONLY
而不是O_RDWR
(返回-1
)。
但它返回錯誤Bad file description
。它必須是因爲O_RDONLY
,,必須使用O_WRONLY
或O_RDWR
。
有什麼辦法解開這MTD0,或寫在它上面沒有解鎖?
所以..有沒有任何選項來解鎖它?無需修改內核? –
檢查dmesg是否有關該設備的任何相關消息。什麼是物理硬件?哪位司機選擇了它?是否有任何參數傳遞給模塊? –
(ST Micro NAND 256MiB 3.3V 8位),我正在使用Linux嵌入式 –