2014-11-24 2 views
1

우리는 BBB를 기반으로 한 사용자 정의 보드에서/쓰기,
을 읽고 우리가 SPI NOR 보드에 플래시 및 NAND 플래시,
우리는 NAND에 대한 MTD 파티션을 만들 수 있었다. 그러나 NOR 분할 우리가 정의 MTD NOR 파티션을 만들기 위해 다음과 같은 추가 :(
을 작동하지 않습니다.SPI NOR 파티션 및 U-부팅 C 코드

#define MTDIDS_DEFAULT "nand0=omap2-nand.0, nor0=omap2-nor.0" 
#define MTDPARTS_DEFAULT "mtdparts=omap2-nand.0:" \ 
"128k(SPL)," \ 
"128k(SPL.backup1)," \ 
"128k(SPL.backup2)," \ 
"128k(SPL.backup3)," \ 
"1024k(u-boot)," \ 
"1024k(u-boot.backup1)," \ 
"128k(u-boot-env)," \ 
"5m(kernel)," \ 
"5m(kernel.backup1)," \ 
"512k(fdt)," \ 
"512k(fdt.backup1)," \ 
"100m(rootfs)," \ 
"100m(rootfs.backup1)," \ 
"13m(reserved)," \ 
";" \ 
"mtdparts=omap2-nor.0:" \ 
"128k(SPL1_nor)," \ 
"128k(SPL2_nor)," \ 
"128k(SPL3_nor)," \ 
"128k(SPL4_nor)," \ 
"512k(usr_nor)," \ 

또 다른 의심의 여지가, 는 읽기/U-부팅에 MTD 장치 파일을 사용하여 기록 할 수 있습니까?
내가 알고있는 것처럼 는 U-부트는 또한
이 같은 일을 할 수 있는가, 리눅스의 MTD 드라이버를 사용 U-부트 코드에서 ("는/dev/mtd0", O_WRONLY)?

+0

"u-boot 코드에서 fd = open ("/ dev/mtd0 ", O_WRONLY)와 같은 작업을 수행 할 수 있습니까?" u-boot는 OS가 아닌 부트 로더입니다. u-boot에서는이 코드를 수행 할 수 없습니다. –

+0

@ sessyargc.jp주의 해 주셔서 감사합니다. 유닉스 부팅 코드는 불가능할 수도 있습니다.하지만 가능한지 아닌지 알고 싶습니다. 나는 u-boot가 리눅스 mtd 드라이버를 사용하고 있는지 궁금해서 리눅스와 같이 사용할 수 없을 것이다. – AnkurTank

+0

실제로 u-boot는 Linux mtd 드라이버의 버려진 버전을 사용하고 있지만 u-boot를 사용하기위한 다른 요구 사항은 u-boot에서 사용할 수 없습니다. 하나는 u-boot가 완전한 파일 시스템을 가지고 있지 않다는 것입니다. –

답변

1

위해 FD = 개방 SPI NOR를 파티셔닝 할 수 있도록 spi_flash_probe() 끝에 다음을 추가했습니다.예를 들어, "읽기/쓰기/삭제"의 개념은 없지만, 이것은 NAND 및 SPIFLASH에 대해 개별적으로 존재한다. 따라서 일반 mtd 명령 (mtd 쓰기, mtd 읽기, mtd erase ...)이 작성되는 경우를 제외하고 SPI NOR에 파티션을 정의하는 것은 그리 유용하지 않습니다.

+0

답장을 보내 주셔서 감사합니다. 현재 우리는 전체 SPI + NAND 조합을 eMMC로 교체 했으므로 이러한 변경이 필요하지 않았습니다. 변경 사항으로 인해 mtd 파티션처럼 보이는 것도 이러한 변경 사항과 함께 작동합니다. – AnkurTank