最速Lチカの夢をみた。

#0. はじめに
STM32H743 ボードを見つけてしまったので、さっそくLチカをやってみましたよ。
Cortex-M7 で480MHz という、軽自動車にアフターバーナー付けました的なやつです。、

#1. ボードは
DevEBoxとシルク印刷されたものです。
aliexpress で stm32h750 で検索するとでてきました。
![stm32h7pin.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/198b4ada-8c46-e398-8147-27e690601302.gif)
なお、回路図などの紹介図もaliexpress商品ページ内で開示されていますが、雑な仕上りで、回路図がつぶれていますので、判別不能です。
ということで、情報を求めるために、手元の情報をさらすものです。
追記：2020.03.12
https://github.com/mcauser/MCUDEV_DEVEBOX_H7XX_M
回路図でてきた。

#2. STM32F407
実はDevEBoxにはSTM32F407ボードもあり、これは回路図が判別可能でした。これを手掛かりに回路を推測してゆきます。
#3. PIN配置
##3.1 TFT/OLED
1 3.3V
2 GND
3 SDI PB15
4 SCL PB13
5 CS  PB12
6 SDO PB14
7 D/C PB1
8 BLK PB0
##3.2 QSPI FLASH(W25Q64)
1 NCS PB6
2 DO  PD12
3 WP  PE2
4 GND
5 DI  PD11
6 CLK PB2
7 HOLD PD13
8 3.3V
QUADSPIモードで動作するようです。
##3.3 USB
1 VCC
2 D- PA11
3 D+ PA12
4 ID NC
5 GND
STM32H743自体はHS,FSをサポートしていますが、今回はFSのみです。
HSは外付けのPHYがないと使えないのかな？
##3.4 microSD
1 SDIO_D2 PC10
2 SDIO_D3 PC11
3 SDIO_CMD PD2
4 3.3V
5 SDIO_CLK PC12
6 GND
7 SDIO_D0 PC8
8 SDIO_D1 PC9
9 SD_NC NC
##3.5 SW & LED
RST SW NRST
K1 SW PE3
K2 SW PC5
D1 LED 3.3V
D2 LED PA1
##3.6 SWD
1 BT0 BOOT0
2 3.3V
3 GND
4 DIO PA13
5 CLK PA14
##3.7 Camera
調査未
##3.8 USART1(動作確認用に接続)
TX1 PA9
RX1 PA10
#4. 設定
STM32CubeIDE 1.2.1での設定を示します。
##4.1 Memory map
![memmap.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/6d788930-752f-e41e-ff04-85e537451409.gif)
RAM_D1:主記憶が512Kbyteあります、笑いが止まりませんね。
RAM_D2,RAM_D3 は不連続なので、使いづらいかな。
##4.2 Clock
![clock.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/97f3d765-a379-4b70-5db3-19041d83b513.gif)
HSE 25MHz
LSE 32.768kHz
##4.3 Cache
![cache.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/dd796292-9bab-5b85-34ab-13fb5af13baa.gif)
ICache,DCache ともに有効にす。
##4.4 SWD
![swd.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/e9d8bf7c-1520-5aa1-fee8-308ffaafe0cf.gif)
##4.5 USART1
![usart1.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/bd8b1f16-39a0-03e8-ea98-9a2fbe388d5f.gif)
FiFoモードを有効にします。16段FiFoが使えます。
##4.5 USB/CDC
USB_FSを選択
![usb1.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/f4652b90-0035-d431-23cf-035b2b83d7e8.gif)
USB_CDCを有効化
![cdc1.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/850bdedd-aad1-5ae2-0c24-02f085af22c7.gif)
##4.6 NVIC
![nvic.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/5738d495-f90d-9c9b-6ec7-f68b132b5833.gif)
FDCAN は今回未使用です。
USART1 のCallback の設定を外します。
![nvic2.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/3676a754-eb15-e5e0-5e7f-7f59ccd52ca8.gif)
##4.7 Clock

![clock_480m.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/757a4ef9-d64e-ce25-49fc-2d5c6755c8a1.gif)
CPU 480MHz
USB 48MHz
#5. Lチカ
ソフトウエアの構成をみてみましょう。
追加、変更箇所付近を紹介。
##5.1 Core
![core.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/c0db3b6d-cf31-f0e2-7154-a293c9c121d3.gif)
###5.1.1 os.h
![os_h.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/b6d8351f-8ca4-5922-5f01-e0942bd4a40c.gif)
###5.1.2 main.c
修正箇所のみ
![main_c.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/acabe1ce-09bb-1732-3dc5-a6d1f798e798.gif)

###5.1.3 stm32h7xx_it.c
修正箇所のみ
![it_c.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/66b1df79-6440-e282-c962-5373546592a1.gif)

###5.1.4 tmr.c
![tmr_c.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/b2a36b39-76f0-8566-c5a6-15299ebef2fd.gif)
##5.2 USB
![usb_app.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/42afdb1f-9998-d171-ec9e-3489a12200c1.gif)
###5.2.1 usbd_cdc_if.c
修正箇所のみ
![usb_if_c.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295124/cd6496ef-fc3e-973c-97e6-6441eab2c678.gif)
#6. おわり
FLASHの書き込みは ST-Link V2を利用しました。
USB DFUでも行けるかも。（未確認です）