플래시 Nand (파일 시스템 없음)에서 데이터를 읽는 코드를 만들었습니다. 그것은 작동C 읽기 오류 플래시에서 O_RDWR 열기 NAND MTD0
fd = open("/dev/mtd0", O_RDONLY)
은, 그때 그래서 나는에 코드를 변경 .. 그것을 쓰기 읽으려고 할 :
fd = open("/dev/mtd0", O_RDWR)
그러나 그것은 수단을 열 수 없습니다, -1
반환합니다. 하지만 다른 MTD에서는 작동합니다.
가 그럼 난 cat /proc/mtd
이 MTD0이 RO
이고 다른 하나는 RW
이라고 말했다 볼
이 fd
을 필요로하기 때문에 내가 MEMUNLOCK
ioctl(fd, MEMUNLOCK, &mtdLockInfo)
을 사용하려고 (내가 그것을 읽기 전용 및 읽기 쓰기 생각) , open
이 필요하므로 O_RDONLY
이 아닌 O_RDWR
(return -1
)을 사용하십시오.
그러나 오류 Bad file description
을 반환합니다. O_RDONLY
이므로 O_WRONLY
또는 O_RDWR
을 사용해야합니다.
이 MTD0을 잠금 해제하거나 잠금 해제하지 않고 쓸 수있는 방법이 있습니까 ??
그래서 .. 잠금을 해제 할 수있는 옵션이 있습니까? 커널을 수정하지 않고? –
해당 장치에 대한 관련 메시지가 있는지 dmesg를 확인하십시오. 물리적 하드웨어 란 무엇입니까? 어떤 운전자가 그것을 집어 들고 있습니까? 모듈에 전달되는 매개 변수가 있습니까? –
(ST 마이크로 NAND 256MiB 3,3V 8 비트), Linux Embedded를 사용하고 있습니다. –