動作環境
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 <tavishnaruka@gmail.com>
*
* 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()にて失敗しているようだ。