Zephyr> microSD (SPI 모드 연결) + FAT> STM32L476에서 성공, STM32F769로 실패> 로직 모니터

운영 환경
Ubuntu 18.04 LTS
ボード: STM32L476 Nucleo_64 (以下、STM32L476)
ボード: STM32F769 Discovery Kit (以下、STM32F769)
Zephyr 2.1.0-rc1
microSDモジュール: CK-40 (サンハヤト)
ロジック確認: Analog Discovery 2 (AD2)

개요


  • STM32L476에서 microSD로 FAT 읽기에 성공 (파일명과 디렉토리)
  • samples/subsys/fs/fat_fs

  • STM32F769에서 동일한 프로젝트가 실패합니다.

    양자의 무엇이 다른가.
    AD2를 사용하여 로직을 확인했습니다.

    STM32L476의 파형 모니터


  • SPI1에서 사용



















  • 의문점


  • SPI 모드 시작 클럭 (74 클럭) 없음

  • STM32F769 로직


  • SPI2에서 사용

  • stm32f769i_disco.overlay
    /*
    2019-12-15
    branched from [nrf52840_blip.overlay]
    */
    
    /*
     * Copyright (c) 2019 Tavish Naruka <[email protected]>
     *
     * SPDX-License-Identifier: Apache-2.0
     */
    
    &spi2 {
            status = "okay";
            cs-gpios = <&gpioh 6 0>;
    
            sdhc0: sdhc@0 {
                    compatible = "zephyr,mmc-spi-slot";
                    reg = <0>;
                    status = "okay";
                    label = "SDHC0";
                    spi-max-frequency = <24000000>;
            };
    };
    











    비고


  • STM32F769의 로직은 SPI 모드를 시작하는 74 클럭을 가지고 있습니다
  • STM32F476과의 로직과는 근본적으로 다르다
  • STM32F769 처리가 중간에 실패했습니다.

    gdb에서 확인 중이지만 STM32F769는 disk_spi_sdhc_access_init()에서 호출되는 sdhc_spi_detect()에서 실패한 것 같습니다.
  • 좋은 웹페이지 즐겨찾기