USB 카드 리더기 Olympus MAUSB-10이 있습니다. Linux 드라이버를 사용하여 alauda
SmartMedia 또는 xD 카드에 대한 직접 플래시 액세스를 제공합니다. 이는 단순히 표준 USB 대용량 저장 장치로 표시되는 일반적인 카드 리더기와 다릅니다.
Linux 커널의 드라이버는 FTL 작업을 수행하고 이를 표준 블록 장치로 노출할 수 있지만 플래시 메모리에 직접 액세스하고 싶습니다. 다양한 유틸리티를 이용하여 mtd-tools
직접 읽고 쓰고 지울 수 있는지 알고 싶습니다.
그러면 장치가 인식 lsusb
되고 드라이버가 로드 aluada
됩니다 nand_ecc
. 하지만 cat /proc/mtd
사용 가능한 다른 MTD 장치에 대한 공개는 없으며 나는 /dev
. 새 mtd 장치를 생성하고 aalauda 드라이버에 연결하는 방법은 무엇입니까?
답변1
Linux 커널( )에서 드라이버 소스 코드를 살펴보면 drivers/mtd/nand/alauda.c
mtd 장치를 "alauda"라고 불러야 함을 알 수 있습니다.
예를 들어 cmx270_nand.c에서 mtd 이름은 cmx270-0입니다. 이에 대한 커널 로그 정보는 다음과 같습니다.
Creating 1 MTD partitions on "NAND 512MiB 3,3V 8-bit":
0x00000000-0x20000000 : "cmx270-0"
dmesg(grep alauda, MTD)를 확인하여 xD 카드가 성공적으로 인식되면 마지막으로 MTD 장치에 액세스하여 생성 /dev/mtdblockX
하고 /dev/mtdX
사용할 수 있습니다 mknod
.
답변2
- (rmmod) ums-alauda 드라이버 제거
- 장치를 연결한 후 alauda 모듈의 프로브 프린트가 보이는지 dmesg를 통해 확인합니다.
- /dev/mtd0 장치가 표시되지 않으면 rmmod alauda를 실행한 다음 insmod를 다시 실행하세요.
- 고개를 끄덕일 필요가 없습니다. ("뚜껑"을 닫아보세요).