1

フラッシュNand(ファイルシステムなし)からデータを読み取るコードを作成しました。

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_RDONLYnot O_RDWR(return -1) を使用します。

しかし、それはエラーを返しますBad file descriptionO_RDONLY、、O_WRONLYまたはを使用する必要があるためですO_RDWR

この MTD0 のロックを解除する方法、またはロックを解除せずに書き込む方法はありますか??

4

2 に答える 2

1

この操作は、デバイスのカーネル ドライバーによって禁止されている可能性があります。デバイスが実際には読み取り専用であるか、ドライバーによってそのようにマークされている可能性があります。

于 2012-05-25T03:26:08.040 に答える
1

デバイス ツリー ソース (DTS) で NAND フラッシュのパーティションを変更しようとしました。

読み取り専用オプションがあります。しかし、私はそれらのサイズを変更しただけです。

そして、それは完了しました.. 私の NAND フラッシュにアクセスできます。

于 2012-06-11T04:22:22.787 に答える