0

이 드라이버를 사용한 적이 있습니까? 어떤 헤더를 포함시켜야합니까? 커널 코드 포함 헤더의 m25p80.c 파일에 구현 된 함수 선언을 찾을 수 없습니다. 어떤 구조체가 채워질 필요가 있고 SPI를 통해 마이크로 프로세서에 연결된 Micron SD 카드에 읽고 쓰기를 수행하기 위해 어떤 함수가 호출 되었습니까?마이크론 M25P80 장치 드라이버

가능한 경우 찾고 있거나 찾을 수있는 예제 코드를 제공해주십시오. 커널에서

: 드라이버/MTD/장치/m25p80.c 자일링스 커널 위치에

: https://github.com/Xilinx/linux-xlnx/blob/master/drivers/mtd/devices/m25p80.c

답변

0

난 당신이 보드에 대한 DTS 설명을 사용해야합니다 이해합니다. 당신의 DTS 파일에서, 당신은 선 아래에 추가하여 SPI 컨트롤러 노드에서이 플래시에 대한 지원을 포함 할 수 있습니다 :

[email protected] { 
      /* your SPI Controller Node settings here */ 
      /* Add/Modify/ delete below settings as per your HW */ 
      compatible = "your compatible string"; 
      reg = <0x1000d000 0x1000>; 
      num-cs = <0x4>; 
      clocks = <0x2>; 
      interrupt-parent = <&intc>; 
      interrupts = <0x0 0x86 0x4>; 
      #address-cells = <0x1>; 
      #size-cells = <0x0>; 

      [email protected] { 
        compatible = "n25q00"; 
        reg = <0x0>; 
        spi-max-frequency = <25000000>; 
        spi-rx-bus-width = <0x4>; 
        spi-tx-bus-width = <0x4>; 
        #address-cells = <0x1>; 
        #size-cells = <0x1>; 
        [email protected] { 
          label = "part1"; 
          reg = <0x0 0x000c0000>; 
        }; 

        [email protected] { 
          label = "part2"; 
          reg = <0x000c0000 0x00020000>; 
        }; 
      }; 
    }; 

은 또한이 같은 모든 관련 커널 설정을 활성화해야합니다. like :

CONFIG_MTD_M25P80=y 
CONFIG_MTD_SPI_NOR=y 
CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y (if required) 
CONFIG_SPI=y 
CONFIG_SPI_DEBUG=y 
CONFIG_SPI_MASTER=y 

또한 SPI 컨트롤러를 활성화하십시오. 모든 설정이 정확하면 검사되어 파티션이 나열된 것을 볼 수 있습니다.

+0

시도해 보겠습니다. 또한 QEMU가 n25q00을 에뮬레이션 할 수있는 문제도 있습니다. QEMU가 n25p80 카드를 지원한다는 것을 알고 있습니다. QEMU 에뮬레이션 내에서이 모든 작업을 수행하려고합니다. –