STM32H743ボード、味見してみた。

#0 はじめに
stm32h743 DevEBox の回路図をいまだ、入手していないが
1)SDMMC1<->microSD
2)QSPI<->w25q64 8Mbyte Flash Memory
3)SPI2<->LCD OLED/TFT液晶
の配線を推定したので、動作確認をしてみる。
[Lチカの記事](https://qiita.com/blackLED/items/f5b6cde12baa055e4ff7)
#1 設定
##1.1 SDMMC1<->microSD
PC8 SDMMC1_D0
PC9 SDMMC1_D1
PC10 SDMMC1_D2
PC11 SDMMC1_D3
PC12 SDMMC1_CK
PD2 SDMMC1_CMD

![1sdmmc.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/5c4fd9fc-8bdc-e680-ba1b-999419c6306f.gif)
クロックなど初期設定のまま。
![11fatfs.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/6ac0d6d8-871e-2c6b-5358-829bda52a194.gif)
FatFsをSDカードに割り付けます。
##1.2 QSPI<->w25q64
PB2 QUADSPI_CLK
PB6 QUADSPI_BK1_NSS
PD11 QUADSPI_BK1_IO0
PD12 QUADSPI_BK1_IO1
PD13 QUADSPI_NK1_IO3
PE2 QUADSPI_BK1_IO2
![2qspi.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/337db2f8-76f5-6a16-9f71-c9d21f5f977b.gif)
クロックプリスケーラーなど初期設定のまま。
##1.3 SPI2<->LCD 
今回は 2.4 TFT SPI 240x320 ボードを接続
![3spi2tft2.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/faa0ee48-ea0f-e1ad-5ed9-278724c5fa7a.gif)

PB0 GPIO_Out:BLK LED
PB1 GPIO_Out:D/C DC
PB12 GPIO_Out:CS CS
PB12 SPI2_CLK:SCL SCK
PB14 GPIO_Out:SDO RESET
PB15 SPI2_MOSI:SDI SDI 
![3spi2tft.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/4e107aea-4f62-85b7-1cb6-f21f56aa09ef.gif)

SPI2の機能を利用するのは CLK,MOSIの2本であとはGPIO扱いです。
TFT側のCLK規定は10MHz以下とのこと

#2 動作検証
速度、割り込み、DMAなどの検証はなし、配線確認のための検証です。
##2.1 準備
まづはprintfが使えるようにします。
[ChaNさんのxprintf](http://elm-chan.org/fsw/strf/xprintf_j.html)
putch を usb_cdc に出力します。
##2.2 検証方法
###2.2.1 microSD
[ChaNさんのFatFs](http://elm-chan.org/fsw/ff/00index_e.html)
最低限、disk_initialize(),disk_read(),disk_write()が動作すれば、microSDカードをFatFsで使えるので、今回はdisk_read()を確認します。
###2.2.2 w25q64
DeviceIDのリードを確認、本来は4bitモードも確認したいが、1bit モードで。
###2.2.3 LCD
なにかが表示できれば。
#3 コード
![4main_tree.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/27d36439-ab73-7273-f532-0c99ce38d950.gif)
##3.1 main
修正箇所を示します。
![51main.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/074a3d0c-cf70-07e5-05bf-bd88a9e071a4.gif)
fatfs.h, xprintf.h を追加
![52main.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/36f24753-5934-4955-dc1f-e30aaee8cf4e.gif)
putch を準備
![53main.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/113d579a-f9d4-ff52-d40d-67194520b5ed.gif)
w25q64 DeviceId表示関数

TFT表示用関数群
![54main.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/c65ac3ab-ba7a-e2af-7c2f-506f7799f3e9.gif)

![55mian.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/5bc8824e-7879-a457-1b45-564b54d90492.gif)

![56mian.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/1c45edd0-29e5-fc2d-0ea9-81f10d633d34.gif)

![57main.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/111b3f65-0c89-0127-8c82-15eb82a4aeeb.gif)

![58main.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/6a5a55b9-e7ae-fc99-8950-370e243de847.gif)
putch をxprintf に接続
disk_initialize()
![59main.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/30679bd7-065f-0d54-8f82-61474875458e.gif)
disk_read()で uSDカードのセクタ0 をbuffへ読み出し、頭の16byte とお尻の16byte をダンプ。
![60main.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/618afab3-b94e-7c9e-2f0e-0de9772ca3c7.gif)


#4 おわり
とりあえず、推定した配線が正しいのは確認できたと考えます。