From 19672b7c3af2343f2136f1da5e25dfadf191fcf2 Mon Sep 17 00:00:00 2001
From: Meco Man <920369182@qq.com>
Date: Fri, 13 May 2022 14:08:53 -0400
Subject: update stm32 ci checking list
---
.github/workflows/action.yml | 20 +-
bsp/stm32/stm32h743-armfly-V7/.config | 668 ------
bsp/stm32/stm32h743-armfly-V7/.gitignore | 42 -
.../stm32h743-armfly-V7/EventRecorderStub.scvd | 9 -
bsp/stm32/stm32h743-armfly-V7/Kconfig | 21 -
bsp/stm32/stm32h743-armfly-V7/README.md | 175 --
bsp/stm32/stm32h743-armfly-V7/SConscript | 14 -
bsp/stm32/stm32h743-armfly-V7/SConstruct | 60 -
.../stm32h743-armfly-V7/applications/SConscript | 12 -
bsp/stm32/stm32h743-armfly-V7/applications/main.c | 23 -
.../stm32h743-armfly-V7/board/.ignore_format.yml | 6 -
.../board/CubeMX_Config/.mxproject | 14 -
.../board/CubeMX_Config/CubeMX_Config.ioc | 165 --
.../board/CubeMX_Config/Inc/main.h | 71 -
.../board/CubeMX_Config/Inc/stm32h7xx_hal_conf.h | 512 -----
.../board/CubeMX_Config/Inc/stm32h7xx_it.h | 69 -
.../board/CubeMX_Config/Src/stm32h7xx_hal_msp.c | 159 --
.../board/CubeMX_Config/Src/stm32h7xx_it.c | 205 --
bsp/stm32/stm32h743-armfly-V7/board/Kconfig | 40 -
bsp/stm32/stm32h743-armfly-V7/board/SConscript | 29 -
bsp/stm32/stm32h743-armfly-V7/board/board.c | 62 -
bsp/stm32/stm32h743-armfly-V7/board/board.h | 49 -
.../board/linker_scripts/link.icf | 28 -
.../board/linker_scripts/link.lds | 157 --
.../board/linker_scripts/link.sct | 15 -
bsp/stm32/stm32h743-armfly-V7/figures/board.jpg | Bin 1627061 -> 0 bytes
bsp/stm32/stm32h743-armfly-V7/project.ewp | 2341 -------------------
bsp/stm32/stm32h743-armfly-V7/project.eww | 10 -
bsp/stm32/stm32h743-armfly-V7/project.uvoptx | 183 --
bsp/stm32/stm32h743-armfly-V7/project.uvprojx | 858 -------
bsp/stm32/stm32h743-armfly-V7/rtconfig.h | 197 --
bsp/stm32/stm32h743-armfly-V7/rtconfig.py | 185 --
bsp/stm32/stm32h743-armfly-V7/template.ewp | 2058 -----------------
bsp/stm32/stm32h743-armfly-V7/template.eww | 10 -
bsp/stm32/stm32h743-armfly-V7/template.uvoptx | 183 --
bsp/stm32/stm32h743-armfly-V7/template.uvprojx | 389 ----
bsp/stm32/stm32h750-artpi-h750/.config | 705 ------
bsp/stm32/stm32h750-artpi-h750/.gitignore | 42 -
.../stm32h750-artpi-h750/EventRecorderStub.scvd | 9 -
bsp/stm32/stm32h750-artpi-h750/Kconfig | 21 -
bsp/stm32/stm32h750-artpi-h750/README.md | 128 --
bsp/stm32/stm32h750-artpi-h750/SConscript | 14 -
bsp/stm32/stm32h750-artpi-h750/SConstruct | 60 -
.../stm32h750-artpi-h750/applications/SConscript | 16 -
.../applications/lvgl/SConscript | 16 -
.../applications/lvgl/lv_conf.h | 32 -
.../applications/lvgl/lv_demo.c | 51 -
.../applications/lvgl/lv_port_disp.c | 60 -
.../applications/lvgl/lv_port_disp.h | 24 -
.../applications/lvgl/lv_port_indev.c | 115 -
.../applications/lvgl/lv_port_indev.h | 24 -
bsp/stm32/stm32h750-artpi-h750/applications/main.c | 49 -
.../stm32h750-artpi-h750/board/.ignore_format.yml | 6 -
.../board/CubeMX_Config/Core/Inc/main.h | 71 -
.../CubeMX_Config/Core/Inc/stm32h7xx_hal_conf.h | 511 -----
.../CubeMX_Config/Core/Src/stm32h7xx_hal_msp.c | 1211 ----------
.../board/CubeMX_Config/CubeMX_Config.ioc | 732 ------
bsp/stm32/stm32h750-artpi-h750/board/Kconfig | 349 ---
bsp/stm32/stm32h750-artpi-h750/board/SConscript | 62 -
bsp/stm32/stm32h750-artpi-h750/board/board.c | 111 -
bsp/stm32/stm32h750-artpi-h750/board/board.h | 105 -
.../board/linker_scripts/link.icf | 28 -
.../board/linker_scripts/link.lds | 206 --
.../board/linker_scripts/link.sct | 17 -
.../stm32h750-artpi-h750/board/port/SConscript | 12 -
.../stm32h750-artpi-h750/board/port/drv_eth.c | 577 -----
.../stm32h750-artpi-h750/board/port/drv_eth.h | 92 -
.../stm32h750-artpi-h750/board/port/drv_lcd_font.h | 795 -------
.../board/port/drv_qspi_flash.c | 72 -
.../stm32h750-artpi-h750/board/port/drv_sdio.c | 537 -----
.../stm32h750-artpi-h750/board/port/drv_sdio.h | 112 -
.../board/port/drv_spi_ili9488.c | 1167 ----------
.../board/port/drv_spi_ili9488.h | 64 -
.../stm32h750-artpi-h750/board/port/drv_wlan.c | 211 --
.../stm32h750-artpi-h750/board/port/ef_fal_port.c | 208 --
.../stm32h750-artpi-h750/board/port/fal_cfg.h | 54 -
.../stm32h750-artpi-h750/board/port/filesystem.c | 180 --
.../stm32h750-artpi-h750/board/port/lcd_port.h | 48 -
.../stm32h750-artpi-h750/board/port/lcd_spi_port.h | 39 -
.../stm32h750-artpi-h750/board/port/rttlogo.h | 2072 -----------------
.../stm32h750-artpi-h750/board/port/sdram_port.h | 65 -
.../board/port/spi_flash_init.c | 30 -
.../stm32h750-artpi-h750/board/port/wifi_config.c | 263 ---
.../board/port/wlan_wiced_lib/SConscript | 20 -
.../libwifi_6212_armcm7_2.1.2_armcc.lib | Bin 5854284 -> 0 bytes
bsp/stm32/stm32h750-artpi-h750/figures/board.jpg | Bin 295607 -> 0 bytes
bsp/stm32/stm32h750-artpi-h750/project.ewp | 2407 --------------------
bsp/stm32/stm32h750-artpi-h750/project.eww | 10 -
bsp/stm32/stm32h750-artpi-h750/project.uvoptx | 184 --
bsp/stm32/stm32h750-artpi-h750/project.uvprojx | 957 --------
bsp/stm32/stm32h750-artpi-h750/rtconfig.h | 207 --
bsp/stm32/stm32h750-artpi-h750/rtconfig.py | 185 --
bsp/stm32/stm32h750-artpi-h750/template.ewp | 2074 -----------------
bsp/stm32/stm32h750-artpi-h750/template.eww | 10 -
bsp/stm32/stm32h750-artpi-h750/template.uvoptx | 184 --
bsp/stm32/stm32h750-artpi-h750/template.uvprojx | 390 ----
bsp/stm32/stm32h750-artpi/.config | 705 ++++++
bsp/stm32/stm32h750-artpi/.gitignore | 42 +
bsp/stm32/stm32h750-artpi/EventRecorderStub.scvd | 9 +
bsp/stm32/stm32h750-artpi/Kconfig | 21 +
bsp/stm32/stm32h750-artpi/README.md | 128 ++
bsp/stm32/stm32h750-artpi/SConscript | 14 +
bsp/stm32/stm32h750-artpi/SConstruct | 60 +
bsp/stm32/stm32h750-artpi/applications/SConscript | 16 +
.../stm32h750-artpi/applications/lvgl/SConscript | 16 +
.../stm32h750-artpi/applications/lvgl/lv_conf.h | 32 +
.../stm32h750-artpi/applications/lvgl/lv_demo.c | 51 +
.../applications/lvgl/lv_port_disp.c | 60 +
.../applications/lvgl/lv_port_disp.h | 24 +
.../applications/lvgl/lv_port_indev.c | 115 +
.../applications/lvgl/lv_port_indev.h | 24 +
bsp/stm32/stm32h750-artpi/applications/main.c | 49 +
bsp/stm32/stm32h750-artpi/board/.ignore_format.yml | 6 +
.../board/CubeMX_Config/Core/Inc/main.h | 71 +
.../CubeMX_Config/Core/Inc/stm32h7xx_hal_conf.h | 511 +++++
.../CubeMX_Config/Core/Src/stm32h7xx_hal_msp.c | 1211 ++++++++++
.../board/CubeMX_Config/CubeMX_Config.ioc | 732 ++++++
bsp/stm32/stm32h750-artpi/board/Kconfig | 349 +++
bsp/stm32/stm32h750-artpi/board/SConscript | 62 +
bsp/stm32/stm32h750-artpi/board/board.c | 111 +
bsp/stm32/stm32h750-artpi/board/board.h | 105 +
.../stm32h750-artpi/board/linker_scripts/link.icf | 28 +
.../stm32h750-artpi/board/linker_scripts/link.lds | 206 ++
.../stm32h750-artpi/board/linker_scripts/link.sct | 17 +
bsp/stm32/stm32h750-artpi/board/port/SConscript | 12 +
bsp/stm32/stm32h750-artpi/board/port/drv_eth.c | 577 +++++
bsp/stm32/stm32h750-artpi/board/port/drv_eth.h | 92 +
.../stm32h750-artpi/board/port/drv_lcd_font.h | 795 +++++++
.../stm32h750-artpi/board/port/drv_qspi_flash.c | 72 +
bsp/stm32/stm32h750-artpi/board/port/drv_sdio.c | 537 +++++
bsp/stm32/stm32h750-artpi/board/port/drv_sdio.h | 112 +
.../stm32h750-artpi/board/port/drv_spi_ili9488.c | 1167 ++++++++++
.../stm32h750-artpi/board/port/drv_spi_ili9488.h | 64 +
bsp/stm32/stm32h750-artpi/board/port/drv_wlan.c | 211 ++
bsp/stm32/stm32h750-artpi/board/port/ef_fal_port.c | 208 ++
bsp/stm32/stm32h750-artpi/board/port/fal_cfg.h | 54 +
bsp/stm32/stm32h750-artpi/board/port/filesystem.c | 180 ++
bsp/stm32/stm32h750-artpi/board/port/lcd_port.h | 48 +
.../stm32h750-artpi/board/port/lcd_spi_port.h | 39 +
bsp/stm32/stm32h750-artpi/board/port/rttlogo.h | 2072 +++++++++++++++++
bsp/stm32/stm32h750-artpi/board/port/sdram_port.h | 65 +
.../stm32h750-artpi/board/port/spi_flash_init.c | 30 +
bsp/stm32/stm32h750-artpi/board/port/wifi_config.c | 263 +++
.../board/port/wlan_wiced_lib/SConscript | 20 +
bsp/stm32/stm32h750-artpi/figures/board.jpg | Bin 0 -> 295607 bytes
bsp/stm32/stm32h750-artpi/project.ewp | 2407 ++++++++++++++++++++
bsp/stm32/stm32h750-artpi/project.eww | 10 +
bsp/stm32/stm32h750-artpi/project.uvoptx | 184 ++
bsp/stm32/stm32h750-artpi/project.uvprojx | 957 ++++++++
bsp/stm32/stm32h750-artpi/rtconfig.h | 207 ++
bsp/stm32/stm32h750-artpi/rtconfig.py | 185 ++
bsp/stm32/stm32h750-artpi/template.ewp | 2074 +++++++++++++++++
bsp/stm32/stm32h750-artpi/template.eww | 10 +
bsp/stm32/stm32h750-artpi/template.uvoptx | 184 ++
bsp/stm32/stm32h750-artpi/template.uvprojx | 390 ++++
155 files changed, 18018 insertions(+), 27023 deletions(-)
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/.config
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/.gitignore
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/EventRecorderStub.scvd
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/Kconfig
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/README.md
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/SConscript
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/SConstruct
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/applications/SConscript
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/applications/main.c
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/board/.ignore_format.yml
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/board/CubeMX_Config/.mxproject
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/board/CubeMX_Config/CubeMX_Config.ioc
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/board/CubeMX_Config/Inc/main.h
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/board/CubeMX_Config/Inc/stm32h7xx_hal_conf.h
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/board/CubeMX_Config/Inc/stm32h7xx_it.h
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/board/CubeMX_Config/Src/stm32h7xx_hal_msp.c
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/board/CubeMX_Config/Src/stm32h7xx_it.c
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/board/Kconfig
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/board/SConscript
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/board/board.c
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/board/board.h
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/board/linker_scripts/link.icf
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/board/linker_scripts/link.lds
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/board/linker_scripts/link.sct
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/figures/board.jpg
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/project.ewp
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/project.eww
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/project.uvoptx
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/project.uvprojx
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/rtconfig.h
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/rtconfig.py
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/template.ewp
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/template.eww
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/template.uvoptx
delete mode 100644 bsp/stm32/stm32h743-armfly-V7/template.uvprojx
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/.config
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/.gitignore
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/EventRecorderStub.scvd
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/Kconfig
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/README.md
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/SConscript
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/SConstruct
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/applications/SConscript
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/applications/lvgl/SConscript
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/applications/lvgl/lv_conf.h
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/applications/lvgl/lv_demo.c
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/applications/lvgl/lv_port_disp.c
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/applications/lvgl/lv_port_disp.h
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/applications/lvgl/lv_port_indev.c
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/applications/lvgl/lv_port_indev.h
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/applications/main.c
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/.ignore_format.yml
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/CubeMX_Config/Core/Inc/main.h
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/CubeMX_Config/Core/Inc/stm32h7xx_hal_conf.h
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/CubeMX_Config/Core/Src/stm32h7xx_hal_msp.c
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/CubeMX_Config/CubeMX_Config.ioc
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/Kconfig
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/SConscript
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/board.c
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/board.h
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/linker_scripts/link.icf
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/linker_scripts/link.lds
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/linker_scripts/link.sct
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/port/SConscript
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/port/drv_eth.c
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/port/drv_eth.h
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/port/drv_lcd_font.h
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/port/drv_qspi_flash.c
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/port/drv_sdio.c
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/port/drv_sdio.h
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/port/drv_spi_ili9488.c
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/port/drv_spi_ili9488.h
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/port/drv_wlan.c
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/port/ef_fal_port.c
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/port/fal_cfg.h
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/port/filesystem.c
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/port/lcd_port.h
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/port/lcd_spi_port.h
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/port/rttlogo.h
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/port/sdram_port.h
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/port/spi_flash_init.c
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/port/wifi_config.c
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/port/wlan_wiced_lib/SConscript
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/board/port/wlan_wiced_lib/libwifi_6212_armcm7_2.1.2_armcc.lib
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/figures/board.jpg
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/project.ewp
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/project.eww
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/project.uvoptx
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/project.uvprojx
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/rtconfig.h
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/rtconfig.py
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/template.ewp
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/template.eww
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/template.uvoptx
delete mode 100644 bsp/stm32/stm32h750-artpi-h750/template.uvprojx
create mode 100644 bsp/stm32/stm32h750-artpi/.config
create mode 100644 bsp/stm32/stm32h750-artpi/.gitignore
create mode 100644 bsp/stm32/stm32h750-artpi/EventRecorderStub.scvd
create mode 100644 bsp/stm32/stm32h750-artpi/Kconfig
create mode 100644 bsp/stm32/stm32h750-artpi/README.md
create mode 100644 bsp/stm32/stm32h750-artpi/SConscript
create mode 100644 bsp/stm32/stm32h750-artpi/SConstruct
create mode 100644 bsp/stm32/stm32h750-artpi/applications/SConscript
create mode 100644 bsp/stm32/stm32h750-artpi/applications/lvgl/SConscript
create mode 100644 bsp/stm32/stm32h750-artpi/applications/lvgl/lv_conf.h
create mode 100644 bsp/stm32/stm32h750-artpi/applications/lvgl/lv_demo.c
create mode 100644 bsp/stm32/stm32h750-artpi/applications/lvgl/lv_port_disp.c
create mode 100644 bsp/stm32/stm32h750-artpi/applications/lvgl/lv_port_disp.h
create mode 100644 bsp/stm32/stm32h750-artpi/applications/lvgl/lv_port_indev.c
create mode 100644 bsp/stm32/stm32h750-artpi/applications/lvgl/lv_port_indev.h
create mode 100644 bsp/stm32/stm32h750-artpi/applications/main.c
create mode 100644 bsp/stm32/stm32h750-artpi/board/.ignore_format.yml
create mode 100644 bsp/stm32/stm32h750-artpi/board/CubeMX_Config/Core/Inc/main.h
create mode 100644 bsp/stm32/stm32h750-artpi/board/CubeMX_Config/Core/Inc/stm32h7xx_hal_conf.h
create mode 100644 bsp/stm32/stm32h750-artpi/board/CubeMX_Config/Core/Src/stm32h7xx_hal_msp.c
create mode 100644 bsp/stm32/stm32h750-artpi/board/CubeMX_Config/CubeMX_Config.ioc
create mode 100644 bsp/stm32/stm32h750-artpi/board/Kconfig
create mode 100644 bsp/stm32/stm32h750-artpi/board/SConscript
create mode 100644 bsp/stm32/stm32h750-artpi/board/board.c
create mode 100644 bsp/stm32/stm32h750-artpi/board/board.h
create mode 100644 bsp/stm32/stm32h750-artpi/board/linker_scripts/link.icf
create mode 100644 bsp/stm32/stm32h750-artpi/board/linker_scripts/link.lds
create mode 100644 bsp/stm32/stm32h750-artpi/board/linker_scripts/link.sct
create mode 100644 bsp/stm32/stm32h750-artpi/board/port/SConscript
create mode 100644 bsp/stm32/stm32h750-artpi/board/port/drv_eth.c
create mode 100644 bsp/stm32/stm32h750-artpi/board/port/drv_eth.h
create mode 100644 bsp/stm32/stm32h750-artpi/board/port/drv_lcd_font.h
create mode 100644 bsp/stm32/stm32h750-artpi/board/port/drv_qspi_flash.c
create mode 100644 bsp/stm32/stm32h750-artpi/board/port/drv_sdio.c
create mode 100644 bsp/stm32/stm32h750-artpi/board/port/drv_sdio.h
create mode 100644 bsp/stm32/stm32h750-artpi/board/port/drv_spi_ili9488.c
create mode 100644 bsp/stm32/stm32h750-artpi/board/port/drv_spi_ili9488.h
create mode 100644 bsp/stm32/stm32h750-artpi/board/port/drv_wlan.c
create mode 100644 bsp/stm32/stm32h750-artpi/board/port/ef_fal_port.c
create mode 100644 bsp/stm32/stm32h750-artpi/board/port/fal_cfg.h
create mode 100644 bsp/stm32/stm32h750-artpi/board/port/filesystem.c
create mode 100644 bsp/stm32/stm32h750-artpi/board/port/lcd_port.h
create mode 100644 bsp/stm32/stm32h750-artpi/board/port/lcd_spi_port.h
create mode 100644 bsp/stm32/stm32h750-artpi/board/port/rttlogo.h
create mode 100644 bsp/stm32/stm32h750-artpi/board/port/sdram_port.h
create mode 100644 bsp/stm32/stm32h750-artpi/board/port/spi_flash_init.c
create mode 100644 bsp/stm32/stm32h750-artpi/board/port/wifi_config.c
create mode 100644 bsp/stm32/stm32h750-artpi/board/port/wlan_wiced_lib/SConscript
create mode 100644 bsp/stm32/stm32h750-artpi/figures/board.jpg
create mode 100644 bsp/stm32/stm32h750-artpi/project.ewp
create mode 100644 bsp/stm32/stm32h750-artpi/project.eww
create mode 100644 bsp/stm32/stm32h750-artpi/project.uvoptx
create mode 100644 bsp/stm32/stm32h750-artpi/project.uvprojx
create mode 100644 bsp/stm32/stm32h750-artpi/rtconfig.h
create mode 100644 bsp/stm32/stm32h750-artpi/rtconfig.py
create mode 100644 bsp/stm32/stm32h750-artpi/template.ewp
create mode 100644 bsp/stm32/stm32h750-artpi/template.eww
create mode 100644 bsp/stm32/stm32h750-artpi/template.uvoptx
create mode 100644 bsp/stm32/stm32h750-artpi/template.uvprojx
diff --git a/.github/workflows/action.yml b/.github/workflows/action.yml
index 6408ae5e52..1ca895bb9f 100644
--- a/.github/workflows/action.yml
+++ b/.github/workflows/action.yml
@@ -93,11 +93,12 @@ jobs:
- {RTT_BSP: "stm32/stm32f091-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32f103-atk-nano", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32f103-atk-warshipv3", RTT_TOOL_CHAIN: "sourcery-arm"}
+ - {RTT_BSP: "stm32/stm32f103-blue-pill", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32f103-dofly-lyc8", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32f103-dofly-M3S", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32f103-fire-arbitrary", RTT_TOOL_CHAIN: "sourcery-arm"}
+ - {RTT_BSP: "stm32/stm32f103-gizwits-gokitv21", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32f103-hw100k-ibox", RTT_TOOL_CHAIN: "sourcery-arm"}
- - {RTT_BSP: "stm32/stm32f103-blue-pill", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32f103-onenet-nbiot", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32f103-yf-ufun", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32f107-uc-eval", RTT_TOOL_CHAIN: "sourcery-arm"}
@@ -105,6 +106,7 @@ jobs:
- {RTT_BSP: "stm32/stm32f302-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32f401-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32f405-smdz-breadfruit", RTT_TOOL_CHAIN: "sourcery-arm"}
+ - {RTT_BSP: "stm32/stm32f407-armfly-v5", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32f407-atk-explorer", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32f407-robomaster-c", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32f407-st-discovery", RTT_TOOL_CHAIN: "sourcery-arm"}
@@ -112,6 +114,7 @@ jobs:
- {RTT_BSP: "stm32/stm32f411-atk-nano", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32f411-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32f411-weact-MiniF4", RTT_TOOL_CHAIN: "sourcery-arm"}
+ - {RTT_BSP: "stm32/stm32f412-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32f413-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32f427-robomaster-a", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32f429-armfly-v6", RTT_TOOL_CHAIN: "sourcery-arm"}
@@ -121,28 +124,36 @@ jobs:
- {RTT_BSP: "stm32/stm32f446-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32f469-st-disco", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32f746-st-disco", RTT_TOOL_CHAIN: "sourcery-arm"}
+ - {RTT_BSP: "stm32/stm32f746-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32f767-atk-apollo", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32f767-fire-challenger-v1", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32f767-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
+ - {RTT_BSP: "stm32/stm32f769-st-disco", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32g070-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32g071-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32g431-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
+ - {RTT_BSP: "stm32/stm32g474-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
+ - {RTT_BSP: "stm32/stm32h743-armfly-V7", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32h743-atk-apollo", RTT_TOOL_CHAIN: "sourcery-arm"}
- - {RTT_BSP: "stm32/stm32h743-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32h743-openmv-h7plus", RTT_TOOL_CHAIN: "sourcery-arm"}
+ - {RTT_BSP: "stm32/stm32h743-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32h747-st-discovery", RTT_TOOL_CHAIN: "sourcery-arm"}
+ - {RTT_BSP: "stm32h750-armfly-h7-tool", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32h750-artpi-h750", RTT_TOOL_CHAIN: "sourcery-arm"}
+ - {RTT_BSP: "stm32/stm32l4r5-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32l4r9-st-eval", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32l4r9-st-sensortile-box", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32l010-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32l053-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32l412-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
+ - {RTT_BSP: "stm32/stm32l431-BearPi", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32l432-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
+ - {RTT_BSP: "stm32/stm32l433-ali-startkit", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32l433-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
+ - {RTT_BSP: "stm32/stm32l452-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32l475-atk-pandora", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32l475-st-discovery", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32l476-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
- - {RTT_BSP: "stm32/stm32l433-ali-startkit", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32l496-ali-developer", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32l496-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32l552-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
@@ -150,6 +161,9 @@ jobs:
- {RTT_BSP: "stm32/stm32mp157a-st-ev1", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32u575-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "stm32/stm32wb55-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
+ - {RTT_BSP: "stm32/stm32wl55-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
+ - {RTT_BSP: "stm32/stm32wle5-yizhilian-lm401", RTT_TOOL_CHAIN: "sourcery-arm"}
+ - {RTT_BSP: "stm32/stm32wle5-yizhilian-lm402", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "wch/arm/ch32f103c8-core", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "wch/arm/ch32f203r-evt", RTT_TOOL_CHAIN: "sourcery-arm"}
- {RTT_BSP: "swm320", RTT_TOOL_CHAIN: "sourcery-arm"}
diff --git a/bsp/stm32/stm32h743-armfly-V7/.config b/bsp/stm32/stm32h743-armfly-V7/.config
deleted file mode 100644
index 1b77afa018..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/.config
+++ /dev/null
@@ -1,668 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# RT-Thread Configuration
-#
-
-#
-# RT-Thread Kernel
-#
-CONFIG_RT_NAME_MAX=8
-# CONFIG_RT_USING_ARCH_DATA_TYPE is not set
-# CONFIG_RT_USING_SMP is not set
-CONFIG_RT_ALIGN_SIZE=4
-# CONFIG_RT_THREAD_PRIORITY_8 is not set
-CONFIG_RT_THREAD_PRIORITY_32=y
-# CONFIG_RT_THREAD_PRIORITY_256 is not set
-CONFIG_RT_THREAD_PRIORITY_MAX=32
-CONFIG_RT_TICK_PER_SECOND=1000
-CONFIG_RT_USING_OVERFLOW_CHECK=y
-CONFIG_RT_USING_HOOK=y
-CONFIG_RT_HOOK_USING_FUNC_PTR=y
-CONFIG_RT_USING_IDLE_HOOK=y
-CONFIG_RT_IDLE_HOOK_LIST_SIZE=4
-CONFIG_IDLE_THREAD_STACK_SIZE=256
-# CONFIG_RT_USING_TIMER_SOFT is not set
-
-#
-# kservice optimization
-#
-# CONFIG_RT_KSERVICE_USING_STDLIB is not set
-# CONFIG_RT_KSERVICE_USING_TINY_SIZE is not set
-# CONFIG_RT_USING_TINY_FFS is not set
-# CONFIG_RT_PRINTF_LONGLONG is not set
-CONFIG_RT_DEBUG=y
-# CONFIG_RT_DEBUG_COLOR is not set
-# CONFIG_RT_DEBUG_INIT_CONFIG is not set
-# CONFIG_RT_DEBUG_THREAD_CONFIG is not set
-# CONFIG_RT_DEBUG_SCHEDULER_CONFIG is not set
-# CONFIG_RT_DEBUG_IPC_CONFIG is not set
-# CONFIG_RT_DEBUG_TIMER_CONFIG is not set
-# CONFIG_RT_DEBUG_IRQ_CONFIG is not set
-# CONFIG_RT_DEBUG_MEM_CONFIG is not set
-# CONFIG_RT_DEBUG_SLAB_CONFIG is not set
-# CONFIG_RT_DEBUG_MEMHEAP_CONFIG is not set
-# CONFIG_RT_DEBUG_MODULE_CONFIG is not set
-
-#
-# Inter-Thread communication
-#
-CONFIG_RT_USING_SEMAPHORE=y
-CONFIG_RT_USING_MUTEX=y
-CONFIG_RT_USING_EVENT=y
-CONFIG_RT_USING_MAILBOX=y
-CONFIG_RT_USING_MESSAGEQUEUE=y
-# CONFIG_RT_USING_SIGNALS is not set
-
-#
-# Memory Management
-#
-CONFIG_RT_USING_MEMPOOL=y
-CONFIG_RT_USING_SMALL_MEM=y
-# CONFIG_RT_USING_SLAB is not set
-# CONFIG_RT_USING_MEMHEAP is not set
-CONFIG_RT_USING_SMALL_MEM_AS_HEAP=y
-# CONFIG_RT_USING_MEMHEAP_AS_HEAP is not set
-# CONFIG_RT_USING_SLAB_AS_HEAP is not set
-# CONFIG_RT_USING_USERHEAP is not set
-# CONFIG_RT_USING_NOHEAP is not set
-# CONFIG_RT_USING_MEMTRACE is not set
-# CONFIG_RT_USING_HEAP_ISR is not set
-CONFIG_RT_USING_HEAP=y
-
-#
-# Kernel Device Object
-#
-CONFIG_RT_USING_DEVICE=y
-# CONFIG_RT_USING_DEVICE_OPS is not set
-# CONFIG_RT_USING_INTERRUPT_INFO is not set
-CONFIG_RT_USING_CONSOLE=y
-CONFIG_RT_CONSOLEBUF_SIZE=128
-CONFIG_RT_CONSOLE_DEVICE_NAME="uart1"
-CONFIG_RT_VER_NUM=0x40100
-CONFIG_ARCH_ARM=y
-CONFIG_RT_USING_CPU_FFS=y
-CONFIG_ARCH_ARM_CORTEX_M=y
-CONFIG_ARCH_ARM_CORTEX_M7=y
-# CONFIG_ARCH_CPU_STACK_GROWS_UPWARD is not set
-
-#
-# RT-Thread Components
-#
-CONFIG_RT_USING_COMPONENTS_INIT=y
-CONFIG_RT_USING_USER_MAIN=y
-CONFIG_RT_MAIN_THREAD_STACK_SIZE=2048
-CONFIG_RT_MAIN_THREAD_PRIORITY=10
-# CONFIG_RT_USING_LEGACY is not set
-CONFIG_RT_USING_MSH=y
-CONFIG_RT_USING_FINSH=y
-CONFIG_FINSH_USING_MSH=y
-CONFIG_FINSH_THREAD_NAME="tshell"
-CONFIG_FINSH_THREAD_PRIORITY=20
-CONFIG_FINSH_THREAD_STACK_SIZE=4096
-CONFIG_FINSH_USING_HISTORY=y
-CONFIG_FINSH_HISTORY_LINES=5
-CONFIG_FINSH_USING_SYMTAB=y
-CONFIG_FINSH_CMD_SIZE=80
-CONFIG_MSH_USING_BUILT_IN_COMMANDS=y
-CONFIG_FINSH_USING_DESCRIPTION=y
-# CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set
-# CONFIG_FINSH_USING_AUTH is not set
-CONFIG_FINSH_ARG_MAX=10
-# CONFIG_RT_USING_DFS is not set
-# CONFIG_RT_USING_FAL is not set
-# CONFIG_RT_USING_LWP is not set
-
-#
-# Device Drivers
-#
-CONFIG_RT_USING_DEVICE_IPC=y
-# CONFIG_RT_USING_SYSTEM_WORKQUEUE is not set
-CONFIG_RT_USING_SERIAL=y
-CONFIG_RT_USING_SERIAL_V1=y
-# CONFIG_RT_USING_SERIAL_V2 is not set
-CONFIG_RT_SERIAL_USING_DMA=y
-CONFIG_RT_SERIAL_RB_BUFSZ=64
-# CONFIG_RT_USING_CAN is not set
-# CONFIG_RT_USING_HWTIMER is not set
-# CONFIG_RT_USING_CPUTIME is not set
-# CONFIG_RT_USING_I2C is not set
-# CONFIG_RT_USING_PHY is not set
-CONFIG_RT_USING_PIN=y
-# CONFIG_RT_USING_ADC is not set
-# CONFIG_RT_USING_DAC is not set
-# CONFIG_RT_USING_PWM is not set
-# CONFIG_RT_USING_MTD_NOR is not set
-# CONFIG_RT_USING_MTD_NAND is not set
-# CONFIG_RT_USING_PM is not set
-# CONFIG_RT_USING_RTC is not set
-# CONFIG_RT_USING_SDIO is not set
-# CONFIG_RT_USING_SPI is not set
-# CONFIG_RT_USING_WDT is not set
-# CONFIG_RT_USING_AUDIO is not set
-# CONFIG_RT_USING_SENSOR is not set
-# CONFIG_RT_USING_TOUCH is not set
-# CONFIG_RT_USING_HWCRYPTO is not set
-# CONFIG_RT_USING_PULSE_ENCODER is not set
-# CONFIG_RT_USING_INPUT_CAPTURE is not set
-# CONFIG_RT_USING_WIFI is not set
-
-#
-# Using USB
-#
-# CONFIG_RT_USING_USB is not set
-# CONFIG_RT_USING_USB_HOST is not set
-# CONFIG_RT_USING_USB_DEVICE is not set
-
-#
-# C/C++ and POSIX layer
-#
-CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
-
-#
-# POSIX (Portable Operating System Interface) layer
-#
-# CONFIG_RT_USING_POSIX_FS is not set
-# CONFIG_RT_USING_POSIX_DELAY is not set
-# CONFIG_RT_USING_POSIX_CLOCK is not set
-# CONFIG_RT_USING_POSIX_TIMER is not set
-# CONFIG_RT_USING_PTHREADS is not set
-# CONFIG_RT_USING_MODULE is not set
-
-#
-# Interprocess Communication (IPC)
-#
-# CONFIG_RT_USING_POSIX_PIPE is not set
-# CONFIG_RT_USING_POSIX_MESSAGE_QUEUE is not set
-# CONFIG_RT_USING_POSIX_MESSAGE_SEMAPHORE is not set
-
-#
-# Socket is in the 'Network' category
-#
-# CONFIG_RT_USING_CPLUSPLUS is not set
-
-#
-# Network
-#
-# CONFIG_RT_USING_SAL is not set
-# CONFIG_RT_USING_NETDEV is not set
-# CONFIG_RT_USING_LWIP is not set
-# CONFIG_RT_USING_AT is not set
-
-#
-# Utilities
-#
-# CONFIG_RT_USING_RYM is not set
-# CONFIG_RT_USING_ULOG is not set
-# CONFIG_RT_USING_UTEST is not set
-# CONFIG_RT_USING_VAR_EXPORT is not set
-# CONFIG_RT_USING_RT_LINK is not set
-# CONFIG_RT_USING_VBUS is not set
-
-#
-# RT-Thread Utestcases
-#
-# CONFIG_RT_USING_UTESTCASES is not set
-
-#
-# RT-Thread online packages
-#
-
-#
-# IoT - internet of things
-#
-# CONFIG_PKG_USING_LWIP is not set
-# CONFIG_PKG_USING_LORAWAN_DRIVER is not set
-# CONFIG_PKG_USING_PAHOMQTT is not set
-# CONFIG_PKG_USING_UMQTT is not set
-# CONFIG_PKG_USING_WEBCLIENT is not set
-# CONFIG_PKG_USING_WEBNET is not set
-# CONFIG_PKG_USING_MONGOOSE is not set
-# CONFIG_PKG_USING_MYMQTT is not set
-# CONFIG_PKG_USING_KAWAII_MQTT is not set
-# CONFIG_PKG_USING_BC28_MQTT is not set
-# CONFIG_PKG_USING_WEBTERMINAL is not set
-# CONFIG_PKG_USING_LIBMODBUS is not set
-# CONFIG_PKG_USING_FREEMODBUS is not set
-# CONFIG_PKG_USING_NANOPB is not set
-
-#
-# Wi-Fi
-#
-
-#
-# Marvell WiFi
-#
-# CONFIG_PKG_USING_WLANMARVELL is not set
-
-#
-# Wiced WiFi
-#
-# CONFIG_PKG_USING_WLAN_WICED is not set
-# CONFIG_PKG_USING_RW007 is not set
-# CONFIG_PKG_USING_COAP is not set
-# CONFIG_PKG_USING_NOPOLL is not set
-# CONFIG_PKG_USING_NETUTILS is not set
-# CONFIG_PKG_USING_CMUX is not set
-# CONFIG_PKG_USING_PPP_DEVICE is not set
-# CONFIG_PKG_USING_AT_DEVICE is not set
-# CONFIG_PKG_USING_ATSRV_SOCKET is not set
-# CONFIG_PKG_USING_WIZNET is not set
-# CONFIG_PKG_USING_ZB_COORDINATOR is not set
-
-#
-# IoT Cloud
-#
-# CONFIG_PKG_USING_ONENET is not set
-# CONFIG_PKG_USING_GAGENT_CLOUD is not set
-# CONFIG_PKG_USING_ALI_IOTKIT is not set
-# CONFIG_PKG_USING_AZURE is not set
-# CONFIG_PKG_USING_TENCENT_IOT_EXPLORER is not set
-# CONFIG_PKG_USING_JIOT-C-SDK is not set
-# CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set
-# CONFIG_PKG_USING_JOYLINK is not set
-# CONFIG_PKG_USING_EZ_IOT_OS is not set
-# CONFIG_PKG_USING_NIMBLE is not set
-# CONFIG_PKG_USING_LLSYNC_SDK_ADAPTER is not set
-# CONFIG_PKG_USING_OTA_DOWNLOADER is not set
-# CONFIG_PKG_USING_IPMSG is not set
-# CONFIG_PKG_USING_LSSDP is not set
-# CONFIG_PKG_USING_AIRKISS_OPEN is not set
-# CONFIG_PKG_USING_LIBRWS is not set
-# CONFIG_PKG_USING_TCPSERVER is not set
-# CONFIG_PKG_USING_PROTOBUF_C is not set
-# CONFIG_PKG_USING_DLT645 is not set
-# CONFIG_PKG_USING_QXWZ is not set
-# CONFIG_PKG_USING_SMTP_CLIENT is not set
-# CONFIG_PKG_USING_ABUP_FOTA is not set
-# CONFIG_PKG_USING_LIBCURL2RTT is not set
-# CONFIG_PKG_USING_CAPNP is not set
-# CONFIG_PKG_USING_AGILE_TELNET is not set
-# CONFIG_PKG_USING_NMEALIB is not set
-# CONFIG_PKG_USING_PDULIB is not set
-# CONFIG_PKG_USING_BTSTACK is not set
-# CONFIG_PKG_USING_LORAWAN_ED_STACK is not set
-# CONFIG_PKG_USING_WAYZ_IOTKIT is not set
-# CONFIG_PKG_USING_MAVLINK is not set
-# CONFIG_PKG_USING_BSAL is not set
-# CONFIG_PKG_USING_AGILE_MODBUS is not set
-# CONFIG_PKG_USING_AGILE_FTP is not set
-# CONFIG_PKG_USING_EMBEDDEDPROTO is not set
-# CONFIG_PKG_USING_RT_LINK_HW is not set
-# CONFIG_PKG_USING_LORA_PKT_FWD is not set
-# CONFIG_PKG_USING_LORA_GW_DRIVER_LIB is not set
-# CONFIG_PKG_USING_LORA_PKT_SNIFFER is not set
-# CONFIG_PKG_USING_HM is not set
-# CONFIG_PKG_USING_SMALL_MODBUS is not set
-# CONFIG_PKG_USING_NET_SERVER is not set
-
-#
-# security packages
-#
-# CONFIG_PKG_USING_MBEDTLS is not set
-# CONFIG_PKG_USING_LIBSODIUM is not set
-# CONFIG_PKG_USING_TINYCRYPT is not set
-# CONFIG_PKG_USING_TFM is not set
-# CONFIG_PKG_USING_YD_CRYPTO is not set
-
-#
-# language packages
-#
-
-#
-# JSON: JavaScript Object Notation, a lightweight data-interchange format
-#
-# CONFIG_PKG_USING_CJSON is not set
-# CONFIG_PKG_USING_LJSON is not set
-# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set
-# CONFIG_PKG_USING_RAPIDJSON is not set
-# CONFIG_PKG_USING_JSMN is not set
-# CONFIG_PKG_USING_AGILE_JSMN is not set
-
-#
-# XML: Extensible Markup Language
-#
-# CONFIG_PKG_USING_SIMPLE_XML is not set
-# CONFIG_PKG_USING_EZXML is not set
-# CONFIG_PKG_USING_LUATOS_SOC is not set
-# CONFIG_PKG_USING_LUA is not set
-# CONFIG_PKG_USING_JERRYSCRIPT is not set
-# CONFIG_PKG_USING_MICROPYTHON is not set
-# CONFIG_PKG_USING_PIKASCRIPT is not set
-
-#
-# multimedia packages
-#
-
-#
-# LVGL: powerful and easy-to-use embedded GUI library
-#
-# CONFIG_PKG_USING_LVGL is not set
-# CONFIG_PKG_USING_LITTLEVGL2RTT is not set
-# CONFIG_PKG_USING_LV_MUSIC_DEMO is not set
-
-#
-# u8g2: a monochrome graphic library
-#
-# CONFIG_PKG_USING_U8G2_OFFICIAL is not set
-# CONFIG_PKG_USING_U8G2 is not set
-# CONFIG_PKG_USING_OPENMV is not set
-# CONFIG_PKG_USING_MUPDF is not set
-# CONFIG_PKG_USING_STEMWIN is not set
-# CONFIG_PKG_USING_WAVPLAYER is not set
-# CONFIG_PKG_USING_TJPGD is not set
-# CONFIG_PKG_USING_PDFGEN is not set
-# CONFIG_PKG_USING_HELIX is not set
-# CONFIG_PKG_USING_AZUREGUIX is not set
-# CONFIG_PKG_USING_TOUCHGFX2RTT is not set
-# CONFIG_PKG_USING_NUEMWIN is not set
-# CONFIG_PKG_USING_MP3PLAYER is not set
-# CONFIG_PKG_USING_TINYJPEG is not set
-# CONFIG_PKG_USING_UGUI is not set
-
-#
-# PainterEngine: A cross-platform graphics application framework written in C language
-#
-# CONFIG_PKG_USING_PAINTERENGINE is not set
-# CONFIG_PKG_USING_PAINTERENGINE_AUX is not set
-# CONFIG_PKG_USING_MCURSES is not set
-# CONFIG_PKG_USING_TERMBOX is not set
-# CONFIG_PKG_USING_VT100 is not set
-# CONFIG_PKG_USING_QRCODE is not set
-# CONFIG_PKG_USING_GUIENGINE is not set
-# CONFIG_PKG_USING_PERSIMMON is not set
-
-#
-# tools packages
-#
-# CONFIG_PKG_USING_CMBACKTRACE is not set
-# CONFIG_PKG_USING_EASYFLASH is not set
-# CONFIG_PKG_USING_EASYLOGGER is not set
-# CONFIG_PKG_USING_SYSTEMVIEW is not set
-# CONFIG_PKG_USING_SEGGER_RTT is not set
-# CONFIG_PKG_USING_RDB is not set
-# CONFIG_PKG_USING_ULOG_EASYFLASH is not set
-# CONFIG_PKG_USING_ULOG_FILE is not set
-# CONFIG_PKG_USING_LOGMGR is not set
-# CONFIG_PKG_USING_ADBD is not set
-# CONFIG_PKG_USING_COREMARK is not set
-# CONFIG_PKG_USING_DHRYSTONE is not set
-# CONFIG_PKG_USING_MEMORYPERF is not set
-# CONFIG_PKG_USING_NR_MICRO_SHELL is not set
-# CONFIG_PKG_USING_CHINESE_FONT_LIBRARY is not set
-# CONFIG_PKG_USING_LUNAR_CALENDAR is not set
-# CONFIG_PKG_USING_BS8116A is not set
-# CONFIG_PKG_USING_GPS_RMC is not set
-# CONFIG_PKG_USING_URLENCODE is not set
-# CONFIG_PKG_USING_UMCN is not set
-# CONFIG_PKG_USING_LWRB2RTT is not set
-# CONFIG_PKG_USING_CPU_USAGE is not set
-# CONFIG_PKG_USING_GBK2UTF8 is not set
-# CONFIG_PKG_USING_VCONSOLE is not set
-# CONFIG_PKG_USING_KDB is not set
-# CONFIG_PKG_USING_WAMR is not set
-# CONFIG_PKG_USING_MICRO_XRCE_DDS_CLIENT is not set
-# CONFIG_PKG_USING_LWLOG is not set
-# CONFIG_PKG_USING_ANV_TRACE is not set
-# CONFIG_PKG_USING_ANV_MEMLEAK is not set
-# CONFIG_PKG_USING_ANV_TESTSUIT is not set
-# CONFIG_PKG_USING_ANV_BENCH is not set
-# CONFIG_PKG_USING_DEVMEM is not set
-# CONFIG_PKG_USING_REGEX is not set
-# CONFIG_PKG_USING_MEM_SANDBOX is not set
-# CONFIG_PKG_USING_SOLAR_TERMS is not set
-# CONFIG_PKG_USING_GAN_ZHI is not set
-# CONFIG_PKG_USING_FDT is not set
-# CONFIG_PKG_USING_CBOX is not set
-# CONFIG_PKG_USING_SNOWFLAKE is not set
-
-#
-# system packages
-#
-
-#
-# enhanced kernel services
-#
-# CONFIG_PKG_USING_RT_MEMCPY_CM is not set
-# CONFIG_PKG_USING_RT_KPRINTF_THREADSAFE is not set
-# CONFIG_PKG_USING_RT_VSNPRINTF_FULL is not set
-
-#
-# POSIX extension functions
-#
-# CONFIG_PKG_USING_POSIX_GETLINE is not set
-# CONFIG_PKG_USING_POSIX_WCWIDTH is not set
-# CONFIG_PKG_USING_POSIX_ITOA is not set
-# CONFIG_PKG_USING_POSIX_STRINGS is not set
-
-#
-# acceleration: Assembly language or algorithmic acceleration packages
-#
-# CONFIG_PKG_USING_QFPLIB_M0_FULL is not set
-# CONFIG_PKG_USING_QFPLIB_M0_TINY is not set
-# CONFIG_PKG_USING_QFPLIB_M3 is not set
-
-#
-# CMSIS: ARM Cortex-M Microcontroller Software Interface Standard
-#
-# CONFIG_PKG_USING_CMSIS_5 is not set
-# CONFIG_PKG_USING_CMSIS_RTOS2 is not set
-
-#
-# Micrium: Micrium software products porting for RT-Thread
-#
-# CONFIG_PKG_USING_UCOSIII_WRAPPER is not set
-# CONFIG_PKG_USING_UCOSII_WRAPPER is not set
-# CONFIG_PKG_USING_UC_CRC is not set
-# CONFIG_PKG_USING_UC_CLK is not set
-# CONFIG_PKG_USING_UC_COMMON is not set
-# CONFIG_PKG_USING_UC_MODBUS is not set
-# CONFIG_PKG_USING_RTDUINO is not set
-# CONFIG_PKG_USING_CAIRO is not set
-# CONFIG_PKG_USING_PIXMAN is not set
-# CONFIG_PKG_USING_PARTITION is not set
-# CONFIG_PKG_USING_FLASHDB is not set
-# CONFIG_PKG_USING_SQLITE is not set
-# CONFIG_PKG_USING_RTI is not set
-# CONFIG_PKG_USING_DFS_YAFFS is not set
-# CONFIG_PKG_USING_LITTLEFS is not set
-# CONFIG_PKG_USING_DFS_JFFS2 is not set
-# CONFIG_PKG_USING_DFS_UFFS is not set
-# CONFIG_PKG_USING_LWEXT4 is not set
-# CONFIG_PKG_USING_THREAD_POOL is not set
-# CONFIG_PKG_USING_ROBOTS is not set
-# CONFIG_PKG_USING_EV is not set
-# CONFIG_PKG_USING_SYSWATCH is not set
-# CONFIG_PKG_USING_SYS_LOAD_MONITOR is not set
-# CONFIG_PKG_USING_PLCCORE is not set
-# CONFIG_PKG_USING_RAMDISK is not set
-# CONFIG_PKG_USING_MININI is not set
-# CONFIG_PKG_USING_QBOOT is not set
-# CONFIG_PKG_USING_PPOOL is not set
-# CONFIG_PKG_USING_OPENAMP is not set
-# CONFIG_PKG_USING_LPM is not set
-# CONFIG_PKG_USING_TLSF is not set
-# CONFIG_PKG_USING_EVENT_RECORDER is not set
-# CONFIG_PKG_USING_ARM_2D is not set
-# CONFIG_PKG_USING_MCUBOOT is not set
-# CONFIG_PKG_USING_TINYUSB is not set
-# CONFIG_PKG_USING_CHERRYUSB is not set
-# CONFIG_PKG_USING_KMULTI_RTIMER is not set
-
-#
-# peripheral libraries and drivers
-#
-# CONFIG_PKG_USING_SENSORS_DRIVERS is not set
-# CONFIG_PKG_USING_REALTEK_AMEBA is not set
-# CONFIG_PKG_USING_SHT2X is not set
-# CONFIG_PKG_USING_SHT3X is not set
-# CONFIG_PKG_USING_AS7341 is not set
-# CONFIG_PKG_USING_STM32_SDIO is not set
-# CONFIG_PKG_USING_ICM20608 is not set
-# CONFIG_PKG_USING_BUTTON is not set
-# CONFIG_PKG_USING_PCF8574 is not set
-# CONFIG_PKG_USING_SX12XX is not set
-# CONFIG_PKG_USING_SIGNAL_LED is not set
-# CONFIG_PKG_USING_LEDBLINK is not set
-# CONFIG_PKG_USING_LITTLED is not set
-# CONFIG_PKG_USING_LKDGUI is not set
-# CONFIG_PKG_USING_NRF5X_SDK is not set
-# CONFIG_PKG_USING_NRFX is not set
-# CONFIG_PKG_USING_WM_LIBRARIES is not set
-# CONFIG_PKG_USING_KENDRYTE_SDK is not set
-# CONFIG_PKG_USING_INFRARED is not set
-# CONFIG_PKG_USING_MULTI_INFRARED is not set
-# CONFIG_PKG_USING_AGILE_BUTTON is not set
-# CONFIG_PKG_USING_AGILE_LED is not set
-# CONFIG_PKG_USING_AT24CXX is not set
-# CONFIG_PKG_USING_MOTIONDRIVER2RTT is not set
-# CONFIG_PKG_USING_AD7746 is not set
-# CONFIG_PKG_USING_PCA9685 is not set
-# CONFIG_PKG_USING_I2C_TOOLS is not set
-# CONFIG_PKG_USING_NRF24L01 is not set
-# CONFIG_PKG_USING_TOUCH_DRIVERS is not set
-# CONFIG_PKG_USING_MAX17048 is not set
-# CONFIG_PKG_USING_RPLIDAR is not set
-# CONFIG_PKG_USING_AS608 is not set
-# CONFIG_PKG_USING_RC522 is not set
-# CONFIG_PKG_USING_WS2812B is not set
-# CONFIG_PKG_USING_EMBARC_BSP is not set
-# CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set
-# CONFIG_PKG_USING_MULTI_RTIMER is not set
-# CONFIG_PKG_USING_MAX7219 is not set
-# CONFIG_PKG_USING_BEEP is not set
-# CONFIG_PKG_USING_EASYBLINK is not set
-# CONFIG_PKG_USING_PMS_SERIES is not set
-# CONFIG_PKG_USING_CAN_YMODEM is not set
-# CONFIG_PKG_USING_LORA_RADIO_DRIVER is not set
-# CONFIG_PKG_USING_QLED is not set
-# CONFIG_PKG_USING_PAJ7620 is not set
-# CONFIG_PKG_USING_AGILE_CONSOLE is not set
-# CONFIG_PKG_USING_LD3320 is not set
-# CONFIG_PKG_USING_WK2124 is not set
-# CONFIG_PKG_USING_LY68L6400 is not set
-# CONFIG_PKG_USING_DM9051 is not set
-# CONFIG_PKG_USING_SSD1306 is not set
-# CONFIG_PKG_USING_QKEY is not set
-# CONFIG_PKG_USING_RS485 is not set
-# CONFIG_PKG_USING_RS232 is not set
-# CONFIG_PKG_USING_NES is not set
-# CONFIG_PKG_USING_VIRTUAL_SENSOR is not set
-# CONFIG_PKG_USING_VDEVICE is not set
-# CONFIG_PKG_USING_SGM706 is not set
-# CONFIG_PKG_USING_STM32WB55_SDK is not set
-# CONFIG_PKG_USING_RDA58XX is not set
-# CONFIG_PKG_USING_LIBNFC is not set
-# CONFIG_PKG_USING_MFOC is not set
-# CONFIG_PKG_USING_TMC51XX is not set
-# CONFIG_PKG_USING_TCA9534 is not set
-# CONFIG_PKG_USING_KOBUKI is not set
-# CONFIG_PKG_USING_ROSSERIAL is not set
-# CONFIG_PKG_USING_MICRO_ROS is not set
-# CONFIG_PKG_USING_MCP23008 is not set
-# CONFIG_PKG_USING_BLUETRUM_SDK is not set
-# CONFIG_PKG_USING_MISAKA_AT24CXX is not set
-# CONFIG_PKG_USING_MISAKA_RGB_BLING is not set
-# CONFIG_PKG_USING_LORA_MODEM_DRIVER is not set
-# CONFIG_PKG_USING_BL_MCU_SDK is not set
-# CONFIG_PKG_USING_SOFT_SERIAL is not set
-# CONFIG_PKG_USING_MB85RS16 is not set
-# CONFIG_PKG_USING_CW2015 is not set
-# CONFIG_PKG_USING_RFM300 is not set
-
-#
-# AI packages
-#
-# CONFIG_PKG_USING_LIBANN is not set
-# CONFIG_PKG_USING_NNOM is not set
-# CONFIG_PKG_USING_ONNX_BACKEND is not set
-# CONFIG_PKG_USING_ONNX_PARSER is not set
-# CONFIG_PKG_USING_TENSORFLOWLITEMICRO is not set
-# CONFIG_PKG_USING_ELAPACK is not set
-# CONFIG_PKG_USING_ULAPACK is not set
-# CONFIG_PKG_USING_QUEST is not set
-# CONFIG_PKG_USING_NAXOS is not set
-
-#
-# miscellaneous packages
-#
-
-#
-# project laboratory
-#
-
-#
-# samples: kernel and components samples
-#
-# CONFIG_PKG_USING_KERNEL_SAMPLES is not set
-# CONFIG_PKG_USING_FILESYSTEM_SAMPLES is not set
-# CONFIG_PKG_USING_NETWORK_SAMPLES is not set
-# CONFIG_PKG_USING_PERIPHERAL_SAMPLES is not set
-
-#
-# entertainment: terminal games and other interesting software packages
-#
-# CONFIG_PKG_USING_CMATRIX is not set
-# CONFIG_PKG_USING_SL is not set
-# CONFIG_PKG_USING_CAL is not set
-# CONFIG_PKG_USING_ACLOCK is not set
-# CONFIG_PKG_USING_THREES is not set
-# CONFIG_PKG_USING_2048 is not set
-# CONFIG_PKG_USING_SNAKE is not set
-# CONFIG_PKG_USING_TETRIS is not set
-# CONFIG_PKG_USING_DONUT is not set
-# CONFIG_PKG_USING_COWSAY is not set
-# CONFIG_PKG_USING_LIBCSV is not set
-# CONFIG_PKG_USING_OPTPARSE is not set
-# CONFIG_PKG_USING_FASTLZ is not set
-# CONFIG_PKG_USING_MINILZO is not set
-# CONFIG_PKG_USING_QUICKLZ is not set
-# CONFIG_PKG_USING_LZMA is not set
-# CONFIG_PKG_USING_MULTIBUTTON is not set
-# CONFIG_PKG_USING_FLEXIBLE_BUTTON is not set
-# CONFIG_PKG_USING_CANFESTIVAL is not set
-# CONFIG_PKG_USING_ZLIB is not set
-# CONFIG_PKG_USING_MINIZIP is not set
-# CONFIG_PKG_USING_HEATSHRINK is not set
-# CONFIG_PKG_USING_DSTR is not set
-# CONFIG_PKG_USING_TINYFRAME is not set
-# CONFIG_PKG_USING_KENDRYTE_DEMO is not set
-# CONFIG_PKG_USING_DIGITALCTRL is not set
-# CONFIG_PKG_USING_UPACKER is not set
-# CONFIG_PKG_USING_UPARAM is not set
-# CONFIG_PKG_USING_HELLO is not set
-# CONFIG_PKG_USING_VI is not set
-# CONFIG_PKG_USING_KI is not set
-# CONFIG_PKG_USING_ARMv7M_DWT is not set
-# CONFIG_PKG_USING_UKAL is not set
-# CONFIG_PKG_USING_CRCLIB is not set
-# CONFIG_PKG_USING_LWGPS is not set
-# CONFIG_PKG_USING_STATE_MACHINE is not set
-# CONFIG_PKG_USING_DESIGN_PATTERN is not set
-# CONFIG_PKG_USING_CONTROLLER is not set
-# CONFIG_PKG_USING_PHASE_LOCKED_LOOP is not set
-# CONFIG_PKG_USING_MFBD is not set
-CONFIG_SOC_FAMILY_STM32=y
-CONFIG_SOC_SERIES_STM32H7=y
-
-#
-# Hardware Drivers Config
-#
-CONFIG_SOC_STM32H743XI=y
-
-#
-# Onboard Peripheral Drivers
-#
-
-#
-# On-chip Peripheral Drivers
-#
-CONFIG_BSP_USING_GPIO=y
-CONFIG_BSP_USING_UART=y
-CONFIG_BSP_USING_UART1=y
-# CONFIG_BSP_USING_CRC is not set
-# CONFIG_BSP_USING_RNG is not set
-# CONFIG_BSP_USING_UDID is not set
-
-#
-# Board extended module Drivers
-#
diff --git a/bsp/stm32/stm32h743-armfly-V7/.gitignore b/bsp/stm32/stm32h743-armfly-V7/.gitignore
deleted file mode 100644
index 7221bde019..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/.gitignore
+++ /dev/null
@@ -1,42 +0,0 @@
-*.pyc
-*.map
-*.dblite
-*.elf
-*.bin
-*.hex
-*.axf
-*.exe
-*.pdb
-*.idb
-*.ilk
-*.old
-build
-Debug
-documentation/html
-packages/
-*~
-*.o
-*.obj
-*.out
-*.bak
-*.dep
-*.lib
-*.i
-*.d
-.DS_Stor*
-.config 3
-.config 4
-.config 5
-Midea-X1
-*.uimg
-GPATH
-GRTAGS
-GTAGS
-.vscode
-JLinkLog.txt
-JLinkSettings.ini
-DebugConfig/
-RTE/
-settings/
-*.uvguix*
-cconfig.h
diff --git a/bsp/stm32/stm32h743-armfly-V7/EventRecorderStub.scvd b/bsp/stm32/stm32h743-armfly-V7/EventRecorderStub.scvd
deleted file mode 100644
index 2956b29683..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/EventRecorderStub.scvd
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/bsp/stm32/stm32h743-armfly-V7/Kconfig b/bsp/stm32/stm32h743-armfly-V7/Kconfig
deleted file mode 100644
index 8cbc7b71a8..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/Kconfig
+++ /dev/null
@@ -1,21 +0,0 @@
-mainmenu "RT-Thread Configuration"
-
-config BSP_DIR
- string
- option env="BSP_ROOT"
- default "."
-
-config RTT_DIR
- string
- option env="RTT_ROOT"
- default "../../.."
-
-config PKGS_DIR
- string
- option env="PKGS_ROOT"
- default "packages"
-
-source "$RTT_DIR/Kconfig"
-source "$PKGS_DIR/Kconfig"
-source "../libraries/Kconfig"
-source "board/Kconfig"
diff --git a/bsp/stm32/stm32h743-armfly-V7/README.md b/bsp/stm32/stm32h743-armfly-V7/README.md
deleted file mode 100644
index 0afb5f75b2..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/README.md
+++ /dev/null
@@ -1,175 +0,0 @@
-# STM32H743-armfly-V7 开发板 BSP说明
-
-## 简介
-
-本文档为 STM32H743-armfly-V7 开发板的 BSP (板级支持包) 说明。
-
-主要内容如下:
-
-- 开发板资源介绍
-- BSP 快速上手
-- 进阶使用方法
-
-通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开发者利用 RT-Thread 驱动更多板载资源。
-
-## 开发板介绍
-
-STM32-V7开发板 是安富莱推出的一款基于 ARM Cortex-M7 内核的开发板,最高主频为 400Mhz,该开发板具有丰富的板载资源,可以充分发挥 STM32H743 的芯片性能。
-
-开发板外观如下图所示:
-
-
-
-该开发板常用 **主板硬件配置** 如下:
-
-1. CPU型号 STM32H743XIH6/TFBGA240, Flash 2MB,RAM 1MB,主频480MHz
-
-2. SDRAM:32位总线宽度,容量32MB
-
-3. QSPI Flash : 4线总线宽度,容量32MB,支持XIP,即可运行程序
-
-4. NAND Flash : 8位总线宽度,容量128MB
-
-5. 串行EEPROM:容量16KB
-
-6. SPI串行FLASH: 容量8MB
-
-7. 显示器接口:RGB 24bit、I2C触摸、背光可调
-
-8. 双网口:1个DM9162 PHY芯片(CPU内置MAC),一个DM9000AEP,挂在FMC总线16bit
-
-9. USB口:1个USB HOST 全速,1个USB Device 全速
-
-10. RS485接口1个
-
-11. RS232接口1个(DB9和TTL UART排针引出)
-
-12. CAN接口2个,跳线可配置
-
-13. SD卡插座1个,SDIO排母插座一个(2个TTL串口)
-
-14. 音频部分:WM8978高保真I2S全双工CODEC,板载高音质音腔扬声器,咪头一个可录音,FM收音机SI4704一个
-
-15. PS2键盘/鼠标接口1个
-
-16. 红外接收器一个,红外发射器一个
-
-17. 蜂鸣器一个(和红外发射器二选一)
-
-18. MPU6050加速度计. 陀螺仪一个
-
-19. 光照度芯片BH1750一个
-
-20. BMP180气压传感器一个
-
-21. 3个独立按键. 一个5向摇杆
-
-22. 摄像头接口一个
-
-23. ADC. DAC接口(可外接示波器模块)
-
-24. 扩展排母接口:SPI. TTL串口. I2C,可外接 (和V5. V6开发外扩模块完全兼容)
-
-\- AD7705(TM7705)双路16位ADC采集
-
-\- VS1053B MP3模块
-
-\- GPS模块 (TTL串口)
-
-\- GPRS模块(TTL串口)
-
-\- 串口WiFi模块(ESP8266)
-
-\- OLED模块(8bit并行总线)
-
-\- AD7606 模块 16位ADC 8路同步
-
-\- ADS1256 8路24位ADC数据采集模块
-
-\- DAC8501双路DAC模块(0-5V)
-
-\- DAC8563双路DAC模块( -10V -> +10V)
-
-\- AD9833模块 DDS波形发生器 三角波 正弦波 方波
-
-25. 预留有若干5V和3.3V扩展输出IO (挂在32位总线,速度快,占用GPIO资源少)
-
-开发板更多详细信息请参考安富莱 [STM32-V7开发板介绍](https://armfly.taobao.com/index.htm)。
-
-## 外设支持
-
-本 BSP 目前对外设的支持情况如下:
-
-| **板载外设** | **支持情况** | **备注** |
-| :----------------- | :----------: | :------------------------------------- |
-| **片上外设** | **支持情况** | **备注** |
-| GPIO | 支持 | |
-| UART | 支持 | PA9,PA10 |
-
-## 使用说明
-
-使用说明分为如下两个章节:
-
-- 快速上手
-
- 本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。
-
-- 进阶使用
-
- 本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。
-
-
-### 快速上手
-
-本 BSP 为开发者提供 MDK4、MDK5 和 IAR 工程,并且支持 GCC 开发环境。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。
-
-#### 硬件连接
-
-使用USB转TTL(DB9)线连接开发板到 PC,使用JLINK加安富莱JTAG转SWD转接板接入开发板,插入电源线,打开电源开关。
-
-#### 编译下载
-
-双击 project.uvprojx 文件,打开 MDK5 工程,编译并下载程序到开发板。
-
-> 工程默认配置使用 JLINK 仿真器下载程序,在通过 JLINK 连接开发板的基础上,点击下载按钮即可下载程序到开发板
-
-#### 运行结果
-
-下载程序成功之后,系统会自动运行(没有LED)。
-
-连接开发板对应串口到 PC , 在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到 RT-Thread 的输出信息:
-
-```bash
- \ | /
-- RT - Thread Operating System
- / | \ 4.0.4 build Aug 3 2021
- 2006 - 2021 Copyright by rt-thread team
-msh >
-```
-### 进阶使用
-
-此 BSP 默认只开启了 GPIO 和 串口1 的功能,如果需使用更多高级功能,需要利用 ENV 工具对BSP 进行配置,步骤如下:
-
-1. 在 bsp 下打开 env 工具。
-
-2. 输入`menuconfig`命令配置工程,配置好之后保存退出。
-
-3. 输入`pkgs --update`命令更新软件包。
-
-4. 输入`scons --target=mdk4/mdk5/iar` 命令重新生成工程。
-
-本章节更多详细的介绍请参考 [STM32 系列 BSP 外设驱动使用教程](../docs/STM32系列BSP外设驱动使用教程.md)。
-
-## 注意事项
-
-- 调试串口为串口1 映射说明
-
- PA10 ------> USART1_RX
-
- PA9 ------> USART1_TX
-
-## 联系人信息
-
-维护人:
-
-- [bkk](https://github.com/ghmoai )
\ No newline at end of file
diff --git a/bsp/stm32/stm32h743-armfly-V7/SConscript b/bsp/stm32/stm32h743-armfly-V7/SConscript
deleted file mode 100644
index c7ef7659ec..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/SConscript
+++ /dev/null
@@ -1,14 +0,0 @@
-# for module compiling
-import os
-from building import *
-
-cwd = GetCurrentDir()
-objs = []
-list = os.listdir(cwd)
-
-for d in list:
- path = os.path.join(cwd, d)
- if os.path.isfile(os.path.join(path, 'SConscript')):
- objs = objs + SConscript(os.path.join(d, 'SConscript'))
-
-Return('objs')
diff --git a/bsp/stm32/stm32h743-armfly-V7/SConstruct b/bsp/stm32/stm32h743-armfly-V7/SConstruct
deleted file mode 100644
index fc6658ebc7..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/SConstruct
+++ /dev/null
@@ -1,60 +0,0 @@
-import os
-import sys
-import rtconfig
-
-if os.getenv('RTT_ROOT'):
- RTT_ROOT = os.getenv('RTT_ROOT')
-else:
- RTT_ROOT = os.path.normpath(os.getcwd() + '/../../..')
-
-sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
-try:
- from building import *
-except:
- print('Cannot found RT-Thread root directory, please check RTT_ROOT')
- print(RTT_ROOT)
- exit(-1)
-
-TARGET = 'rt-thread.' + rtconfig.TARGET_EXT
-
-DefaultEnvironment(tools=[])
-env = Environment(tools = ['mingw'],
- AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
- CC = rtconfig.CC, CFLAGS = rtconfig.CFLAGS,
- AR = rtconfig.AR, ARFLAGS = '-rc',
- CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS,
- LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
-env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
-
-if rtconfig.PLATFORM == 'iar':
- env.Replace(CCCOM = ['$CC $CFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS -o $TARGET $SOURCES'])
- env.Replace(ARFLAGS = [''])
- env.Replace(LINKCOM = env["LINKCOM"] + ' --map rt-thread.map')
-
-Export('RTT_ROOT')
-Export('rtconfig')
-
-SDK_ROOT = os.path.abspath('./')
-
-if os.path.exists(SDK_ROOT + '/libraries'):
- libraries_path_prefix = SDK_ROOT + '/libraries'
-else:
- libraries_path_prefix = os.path.dirname(SDK_ROOT) + '/libraries'
-
-SDK_LIB = libraries_path_prefix
-Export('SDK_LIB')
-
-# prepare building environment
-objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False)
-
-stm32_library = 'STM32H7xx_HAL'
-rtconfig.BSP_LIBRARY_TYPE = stm32_library
-
-# include drivers
-objs.extend(SConscript(os.path.join(libraries_path_prefix, stm32_library, 'SConscript')))
-
-# include libraries
-objs.extend(SConscript(os.path.join(libraries_path_prefix, 'HAL_Drivers', 'SConscript')))
-
-# make a building
-DoBuilding(TARGET, objs)
diff --git a/bsp/stm32/stm32h743-armfly-V7/applications/SConscript b/bsp/stm32/stm32h743-armfly-V7/applications/SConscript
deleted file mode 100644
index 10deb3f896..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/applications/SConscript
+++ /dev/null
@@ -1,12 +0,0 @@
-import rtconfig
-from building import *
-
-cwd = GetCurrentDir()
-CPPPATH = [cwd, str(Dir('#'))]
-src = Split("""
-main.c
-""")
-
-group = DefineGroup('Applications', src, depend = [''])
-
-Return('group')
diff --git a/bsp/stm32/stm32h743-armfly-V7/applications/main.c b/bsp/stm32/stm32h743-armfly-V7/applications/main.c
deleted file mode 100644
index 3ce81fe531..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/applications/main.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright (c) 2006-2021, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2021-08-04 bkk first version
- */
-
-#include
-#include
-#include
-
-
-int main(void)
-{
- for(;;)
- {
- rt_thread_mdelay(500);
- }
- return RT_EOK;
-}
diff --git a/bsp/stm32/stm32h743-armfly-V7/board/.ignore_format.yml b/bsp/stm32/stm32h743-armfly-V7/board/.ignore_format.yml
deleted file mode 100644
index 0d7f3e360c..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/board/.ignore_format.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-# files format check exclude path, please follow the instructions below to modify;
-# If you need to exclude an entire folder, add the folder path in dir_path;
-# If you need to exclude a file, add the path to the file in file_path.
-
-dir_path:
-- CubeMX_Config
diff --git a/bsp/stm32/stm32h743-armfly-V7/board/CubeMX_Config/.mxproject b/bsp/stm32/stm32h743-armfly-V7/board/CubeMX_Config/.mxproject
deleted file mode 100644
index 842036ed85..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/board/CubeMX_Config/.mxproject
+++ /dev/null
@@ -1,14 +0,0 @@
-[PreviousLibFiles]
-LibFiles=Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cortex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_tim.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_tim_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hsem.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mdma.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_def.h;Drivers/STM32H7xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_exti.h;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cortex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_tim.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_tim_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hsem.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mdma.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_def.h;Drivers/STM32H7xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_exti.h;Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h743xx.h;Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7xx.h;Drivers/CMSIS/Device/ST/STM32H7xx/Include/system_stm32h7xx.h;Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/system_stm32h7xx.c;Drivers/CMSIS/Include/cmsis_armcc.h;Drivers/CMSIS/Include/cmsis_armclang.h;Drivers/CMSIS/Include/cmsis_armclang_ltm.h;Drivers/CMSIS/Include/cmsis_compiler.h;Drivers/CMSIS/Include/cmsis_gcc.h;Drivers/CMSIS/Include/cmsis_iccarm.h;Drivers/CMSIS/Include/cmsis_version.h;Drivers/CMSIS/Include/core_armv81mml.h;Drivers/CMSIS/Include/core_armv8mbl.h;Drivers/CMSIS/Include/core_armv8mml.h;Drivers/CMSIS/Include/core_cm0.h;Drivers/CMSIS/Include/core_cm0plus.h;Drivers/CMSIS/Include/core_cm1.h;Drivers/CMSIS/Include/core_cm23.h;Drivers/CMSIS/Include/core_cm3.h;Drivers/CMSIS/Include/core_cm33.h;Drivers/CMSIS/Include/core_cm35p.h;Drivers/CMSIS/Include/core_cm4.h;Drivers/CMSIS/Include/core_cm7.h;Drivers/CMSIS/Include/core_sc000.h;Drivers/CMSIS/Include/core_sc300.h;Drivers/CMSIS/Include/mpu_armv7.h;Drivers/CMSIS/Include/mpu_armv8.h;Drivers/CMSIS/Include/tz_context.h;
-
-[PreviousUsedKeilFiles]
-SourceFiles=..\Src\main.c;..\Src\stm32h7xx_it.c;..\Src\stm32h7xx_hal_msp.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c;..\Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/system_stm32h7xx.c;..\\Src/system_stm32h7xx.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c;..\Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c;..\Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/system_stm32h7xx.c;..\\Src/system_stm32h7xx.c;;;
-HeaderPath=..\Drivers\STM32H7xx_HAL_Driver\Inc;..\Drivers\STM32H7xx_HAL_Driver\Inc\Legacy;..\Drivers\CMSIS\Device\ST\STM32H7xx\Include;..\Drivers\CMSIS\Include;..\Inc;
-CDefines=USE_HAL_DRIVER;STM32H743xx;USE_HAL_DRIVER;USE_HAL_DRIVER;
-
-[PreviousGenFiles]
-HeaderPath=C:/Users/au/Desktop/rt-thread-master/bsp/stm32/stm32h743-armfly-V7/board/CubeMX_Config/Inc
-HeaderFiles=stm32h7xx_it.h;stm32h7xx_hal_conf.h;main.h;
-SourcePath=C:/Users/au/Desktop/rt-thread-master/bsp/stm32/stm32h743-armfly-V7/board/CubeMX_Config/Src
-SourceFiles=stm32h7xx_it.c;stm32h7xx_hal_msp.c;main.c;
-
diff --git a/bsp/stm32/stm32h743-armfly-V7/board/CubeMX_Config/CubeMX_Config.ioc b/bsp/stm32/stm32h743-armfly-V7/board/CubeMX_Config/CubeMX_Config.ioc
deleted file mode 100644
index d2cfa2e782..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/board/CubeMX_Config/CubeMX_Config.ioc
+++ /dev/null
@@ -1,165 +0,0 @@
-#MicroXplorer Configuration settings - do not modify
-File.Version=6
-GPIO.groupedBy=Group By Peripherals
-KeepUserPlacement=false
-Mcu.Family=STM32H7
-Mcu.IP0=CORTEX_M7
-Mcu.IP1=NVIC
-Mcu.IP2=RCC
-Mcu.IP3=SYS
-Mcu.IP4=USART1
-Mcu.IPNb=5
-Mcu.Name=STM32H743XIHx
-Mcu.Package=TFBGA240
-Mcu.Pin0=PC15-OSC32_OUT (OSC32_OUT)
-Mcu.Pin1=PC14-OSC32_IN (OSC32_IN)
-Mcu.Pin2=PA10
-Mcu.Pin3=PA9
-Mcu.Pin4=PH1-OSC_OUT (PH1)
-Mcu.Pin5=PH0-OSC_IN (PH0)
-Mcu.Pin6=VP_SYS_VS_Systick
-Mcu.PinsNb=7
-Mcu.ThirdPartyNb=0
-Mcu.UserConstants=
-Mcu.UserName=STM32H743XIHx
-MxCube.Version=6.3.0
-MxDb.Version=DB.6.0.30
-NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
-NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
-NVIC.ForceEnableDMAVector=true
-NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
-NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false
-NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false
-NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false
-NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
-NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false
-NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:true\:false\:true
-NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
-PA10.Locked=true
-PA10.Mode=Asynchronous
-PA10.Signal=USART1_RX
-PA9.Locked=true
-PA9.Mode=Asynchronous
-PA9.Signal=USART1_TX
-PC14-OSC32_IN\ (OSC32_IN).Mode=LSE-External-Oscillator
-PC14-OSC32_IN\ (OSC32_IN).Signal=RCC_OSC32_IN
-PC15-OSC32_OUT\ (OSC32_OUT).Mode=LSE-External-Oscillator
-PC15-OSC32_OUT\ (OSC32_OUT).Signal=RCC_OSC32_OUT
-PH0-OSC_IN\ (PH0).Mode=HSE-External-Oscillator
-PH0-OSC_IN\ (PH0).Signal=RCC_OSC_IN
-PH1-OSC_OUT\ (PH1).Mode=HSE-External-Oscillator
-PH1-OSC_OUT\ (PH1).Signal=RCC_OSC_OUT
-PinOutPanel.CurrentBGAView=Top
-PinOutPanel.RotationAngle=0
-ProjectManager.AskForMigrate=true
-ProjectManager.BackupPrevious=false
-ProjectManager.CompilerOptimize=6
-ProjectManager.ComputerToolchain=false
-ProjectManager.CoupleFile=false
-ProjectManager.CustomerFirmwarePackage=
-ProjectManager.DefaultFWLocation=true
-ProjectManager.DeletePrevious=true
-ProjectManager.DeviceId=STM32H743XIHx
-ProjectManager.FirmwarePackage=STM32Cube FW_H7 V1.9.0
-ProjectManager.FreePins=false
-ProjectManager.HalAssertFull=false
-ProjectManager.HeapSize=0x200
-ProjectManager.KeepUserCode=true
-ProjectManager.LastFirmware=true
-ProjectManager.LibraryCopy=1
-ProjectManager.MainLocation=Src
-ProjectManager.NoMain=false
-ProjectManager.PreviousToolchain=
-ProjectManager.ProjectBuild=false
-ProjectManager.ProjectFileName=CubeMX_Config.ioc
-ProjectManager.ProjectName=CubeMX_Config
-ProjectManager.RegisterCallBack=
-ProjectManager.StackSize=0x400
-ProjectManager.TargetToolchain=MDK-ARM V5
-ProjectManager.ToolChainLocation=
-ProjectManager.UnderRoot=false
-ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_USART1_UART_Init-USART1-false-HAL-true,0-MX_CORTEX_M7_Init-CORTEX_M7-false-HAL-true
-RCC.ADCFreq_Value=400000000
-RCC.AHB12Freq_Value=200000000
-RCC.AHB4Freq_Value=200000000
-RCC.APB1Freq_Value=100000000
-RCC.APB2Freq_Value=100000000
-RCC.APB3Freq_Value=100000000
-RCC.APB4Freq_Value=100000000
-RCC.AXIClockFreq_Value=200000000
-RCC.CECFreq_Value=32000
-RCC.CKPERFreq_Value=64000000
-RCC.CortexFreq_Value=400000000
-RCC.CpuClockFreq_Value=400000000
-RCC.D1CPREFreq_Value=400000000
-RCC.D1PPRE=RCC_APB3_DIV2
-RCC.D2PPRE1=RCC_APB1_DIV2
-RCC.D2PPRE2=RCC_APB2_DIV2
-RCC.D3PPRE=RCC_APB4_DIV2
-RCC.DFSDMACLkFreq_Value=400000000
-RCC.DFSDMFreq_Value=100000000
-RCC.DIVM1=5
-RCC.DIVM2=5
-RCC.DIVM3=5
-RCC.DIVN1=160
-RCC.DIVN2=160
-RCC.DIVN3=160
-RCC.DIVP1Freq_Value=400000000
-RCC.DIVP2Freq_Value=400000000
-RCC.DIVP3Freq_Value=400000000
-RCC.DIVQ1Freq_Value=400000000
-RCC.DIVQ2Freq_Value=400000000
-RCC.DIVQ3Freq_Value=400000000
-RCC.DIVR1Freq_Value=400000000
-RCC.DIVR2Freq_Value=400000000
-RCC.DIVR3Freq_Value=400000000
-RCC.FDCANFreq_Value=400000000
-RCC.FMCFreq_Value=200000000
-RCC.FamilyName=M
-RCC.HCLK3ClockFreq_Value=200000000
-RCC.HCLKFreq_Value=200000000
-RCC.HPRE=RCC_HCLK_DIV2
-RCC.HRTIMFreq_Value=200000000
-RCC.I2C123Freq_Value=100000000
-RCC.I2C4Freq_Value=100000000
-RCC.IPParameters=ADCFreq_Value,AHB12Freq_Value,AHB4Freq_Value,APB1Freq_Value,APB2Freq_Value,APB3Freq_Value,APB4Freq_Value,AXIClockFreq_Value,CECFreq_Value,CKPERFreq_Value,CortexFreq_Value,CpuClockFreq_Value,D1CPREFreq_Value,D1PPRE,D2PPRE1,D2PPRE2,D3PPRE,DFSDMACLkFreq_Value,DFSDMFreq_Value,DIVM1,DIVM2,DIVM3,DIVN1,DIVN2,DIVN3,DIVP1Freq_Value,DIVP2Freq_Value,DIVP3Freq_Value,DIVQ1Freq_Value,DIVQ2Freq_Value,DIVQ3Freq_Value,DIVR1Freq_Value,DIVR2Freq_Value,DIVR3Freq_Value,FDCANFreq_Value,FMCFreq_Value,FamilyName,HCLK3ClockFreq_Value,HCLKFreq_Value,HPRE,HRTIMFreq_Value,I2C123Freq_Value,I2C4Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPTIM345Freq_Value,LPUART1Freq_Value,LTDCFreq_Value,MCO1PinFreq_Value,MCO2PinFreq_Value,PLLSourceVirtual,QSPIFreq_Value,RNGFreq_Value,RTCFreq_Value,SAI1Freq_Value,SAI23Freq_Value,SAI4AFreq_Value,SAI4BFreq_Value,SDMMCFreq_Value,SPDIFRXFreq_Value,SPI123Freq_Value,SPI45Freq_Value,SPI6Freq_Value,SWPMI1Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,Tim1OutputFreq_Value,Tim2OutputFreq_Value,TraceFreq_Value,USART16Freq_Value,USART234578Freq_Value,USBFreq_Value,VCO1OutputFreq_Value,VCO2OutputFreq_Value,VCO3OutputFreq_Value,VCOInput1Freq_Value,VCOInput2Freq_Value,VCOInput3Freq_Value
-RCC.LPTIM1Freq_Value=100000000
-RCC.LPTIM2Freq_Value=100000000
-RCC.LPTIM345Freq_Value=100000000
-RCC.LPUART1Freq_Value=100000000
-RCC.LTDCFreq_Value=400000000
-RCC.MCO1PinFreq_Value=64000000
-RCC.MCO2PinFreq_Value=400000000
-RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSE
-RCC.QSPIFreq_Value=200000000
-RCC.RNGFreq_Value=48000000
-RCC.RTCFreq_Value=32000
-RCC.SAI1Freq_Value=400000000
-RCC.SAI23Freq_Value=400000000
-RCC.SAI4AFreq_Value=400000000
-RCC.SAI4BFreq_Value=400000000
-RCC.SDMMCFreq_Value=400000000
-RCC.SPDIFRXFreq_Value=400000000
-RCC.SPI123Freq_Value=400000000
-RCC.SPI45Freq_Value=100000000
-RCC.SPI6Freq_Value=100000000
-RCC.SWPMI1Freq_Value=100000000
-RCC.SYSCLKFreq_VALUE=400000000
-RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK
-RCC.Tim1OutputFreq_Value=200000000
-RCC.Tim2OutputFreq_Value=200000000
-RCC.TraceFreq_Value=64000000
-RCC.USART16Freq_Value=100000000
-RCC.USART234578Freq_Value=100000000
-RCC.USBFreq_Value=400000000
-RCC.VCO1OutputFreq_Value=800000000
-RCC.VCO2OutputFreq_Value=800000000
-RCC.VCO3OutputFreq_Value=800000000
-RCC.VCOInput1Freq_Value=5000000
-RCC.VCOInput2Freq_Value=5000000
-RCC.VCOInput3Freq_Value=5000000
-USART1.IPParameters=VirtualMode-Asynchronous
-USART1.VirtualMode-Asynchronous=VM_ASYNC
-VP_SYS_VS_Systick.Mode=SysTick
-VP_SYS_VS_Systick.Signal=SYS_VS_Systick
-board=custom
diff --git a/bsp/stm32/stm32h743-armfly-V7/board/CubeMX_Config/Inc/main.h b/bsp/stm32/stm32h743-armfly-V7/board/CubeMX_Config/Inc/main.h
deleted file mode 100644
index 2d5b6a2852..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/board/CubeMX_Config/Inc/main.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/* USER CODE BEGIN Header */
-/**
- ******************************************************************************
- * @file : main.h
- * @brief : Header for main.c file.
- * This file contains the common defines of the application.
- ******************************************************************************
- * @attention
- *
- * © Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
-/* USER CODE END Header */
-
-/* Define to prevent recursive inclusion -------------------------------------*/
-#ifndef __MAIN_H
-#define __MAIN_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Includes ------------------------------------------------------------------*/
-#include "stm32h7xx_hal.h"
-
-/* Private includes ----------------------------------------------------------*/
-/* USER CODE BEGIN Includes */
-
-/* USER CODE END Includes */
-
-/* Exported types ------------------------------------------------------------*/
-/* USER CODE BEGIN ET */
-
-/* USER CODE END ET */
-
-/* Exported constants --------------------------------------------------------*/
-/* USER CODE BEGIN EC */
-
-/* USER CODE END EC */
-
-/* Exported macro ------------------------------------------------------------*/
-/* USER CODE BEGIN EM */
-
-/* USER CODE END EM */
-
-/* Exported functions prototypes ---------------------------------------------*/
-void Error_Handler(void);
-
-/* USER CODE BEGIN EFP */
-
-/* USER CODE END EFP */
-
-/* Private defines -----------------------------------------------------------*/
-/* USER CODE BEGIN Private defines */
-
-/* USER CODE END Private defines */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/bsp/stm32/stm32h743-armfly-V7/board/CubeMX_Config/Inc/stm32h7xx_hal_conf.h b/bsp/stm32/stm32h743-armfly-V7/board/CubeMX_Config/Inc/stm32h7xx_hal_conf.h
deleted file mode 100644
index 0adcec6a39..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/board/CubeMX_Config/Inc/stm32h7xx_hal_conf.h
+++ /dev/null
@@ -1,512 +0,0 @@
-/**
- ******************************************************************************
- * @file stm32h7xx_hal_conf.h
- * @author MCD Application Team
- * @brief HAL configuration file.
- ******************************************************************************
- * @attention
- *
- * © Copyright (c) 2017 STMicroelectronics.
- * All rights reserved.
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
-
-/* Define to prevent recursive inclusion -------------------------------------*/
-#ifndef STM32H7xx_HAL_CONF_H
-#define STM32H7xx_HAL_CONF_H
-
-#ifdef __cplusplus
- extern "C" {
-#endif
-
-/* Exported types ------------------------------------------------------------*/
-/* Exported constants --------------------------------------------------------*/
-
-/* ########################## Module Selection ############################## */
-/**
- * @brief This is the list of modules to be used in the HAL driver
- */
-#define HAL_MODULE_ENABLED
-
- /* #define HAL_ADC_MODULE_ENABLED */
-/* #define HAL_FDCAN_MODULE_ENABLED */
-/* #define HAL_FMAC_MODULE_ENABLED */
-/* #define HAL_CEC_MODULE_ENABLED */
-/* #define HAL_COMP_MODULE_ENABLED */
-/* #define HAL_CORDIC_MODULE_ENABLED */
-/* #define HAL_CRC_MODULE_ENABLED */
-/* #define HAL_CRYP_MODULE_ENABLED */
-/* #define HAL_DAC_MODULE_ENABLED */
-/* #define HAL_DCMI_MODULE_ENABLED */
-/* #define HAL_DMA2D_MODULE_ENABLED */
-/* #define HAL_ETH_MODULE_ENABLED */
-/* #define HAL_NAND_MODULE_ENABLED */
-/* #define HAL_NOR_MODULE_ENABLED */
-/* #define HAL_OTFDEC_MODULE_ENABLED */
-/* #define HAL_SRAM_MODULE_ENABLED */
-/* #define HAL_SDRAM_MODULE_ENABLED */
-/* #define HAL_HASH_MODULE_ENABLED */
-/* #define HAL_HRTIM_MODULE_ENABLED */
-/* #define HAL_HSEM_MODULE_ENABLED */
-/* #define HAL_GFXMMU_MODULE_ENABLED */
-/* #define HAL_JPEG_MODULE_ENABLED */
-/* #define HAL_OPAMP_MODULE_ENABLED */
-/* #define HAL_OSPI_MODULE_ENABLED */
-/* #define HAL_OSPI_MODULE_ENABLED */
-/* #define HAL_I2S_MODULE_ENABLED */
-/* #define HAL_SMBUS_MODULE_ENABLED */
-/* #define HAL_IWDG_MODULE_ENABLED */
-/* #define HAL_LPTIM_MODULE_ENABLED */
-/* #define HAL_LTDC_MODULE_ENABLED */
-/* #define HAL_QSPI_MODULE_ENABLED */
-/* #define HAL_RAMECC_MODULE_ENABLED */
-/* #define HAL_RNG_MODULE_ENABLED */
-/* #define HAL_RTC_MODULE_ENABLED */
-/* #define HAL_SAI_MODULE_ENABLED */
-/* #define HAL_SD_MODULE_ENABLED */
-/* #define HAL_MMC_MODULE_ENABLED */
-/* #define HAL_SPDIFRX_MODULE_ENABLED */
-/* #define HAL_SPI_MODULE_ENABLED */
-/* #define HAL_SWPMI_MODULE_ENABLED */
-/* #define HAL_TIM_MODULE_ENABLED */
-#define HAL_UART_MODULE_ENABLED
-/* #define HAL_USART_MODULE_ENABLED */
-/* #define HAL_IRDA_MODULE_ENABLED */
-/* #define HAL_SMARTCARD_MODULE_ENABLED */
-/* #define HAL_WWDG_MODULE_ENABLED */
-/* #define HAL_PCD_MODULE_ENABLED */
-/* #define HAL_HCD_MODULE_ENABLED */
-/* #define HAL_DFSDM_MODULE_ENABLED */
-/* #define HAL_DSI_MODULE_ENABLED */
-/* #define HAL_JPEG_MODULE_ENABLED */
-/* #define HAL_MDIOS_MODULE_ENABLED */
-/* #define HAL_PSSI_MODULE_ENABLED */
-/* #define HAL_DTS_MODULE_ENABLED */
-#define HAL_GPIO_MODULE_ENABLED
-#define HAL_DMA_MODULE_ENABLED
-#define HAL_MDMA_MODULE_ENABLED
-#define HAL_RCC_MODULE_ENABLED
-#define HAL_FLASH_MODULE_ENABLED
-#define HAL_EXTI_MODULE_ENABLED
-#define HAL_PWR_MODULE_ENABLED
-#define HAL_I2C_MODULE_ENABLED
-#define HAL_CORTEX_MODULE_ENABLED
-#define HAL_HSEM_MODULE_ENABLED
-
-/* ########################## Oscillator Values adaptation ####################*/
-/**
- * @brief Adjust the value of External High Speed oscillator (HSE) used in your application.
- * This value is used by the RCC HAL module to compute the system frequency
- * (when HSE is used as system clock source, directly or through the PLL).
- */
-#if !defined (HSE_VALUE)
-#define HSE_VALUE (25000000UL) /*!< Value of the External oscillator in Hz : FPGA case fixed to 60MHZ */
-#endif /* HSE_VALUE */
-
-#if !defined (HSE_STARTUP_TIMEOUT)
- #define HSE_STARTUP_TIMEOUT (100UL) /*!< Time out for HSE start up, in ms */
-#endif /* HSE_STARTUP_TIMEOUT */
-
-/**
- * @brief Internal oscillator (CSI) default value.
- * This value is the default CSI value after Reset.
- */
-#if !defined (CSI_VALUE)
- #define CSI_VALUE (4000000UL) /*!< Value of the Internal oscillator in Hz*/
-#endif /* CSI_VALUE */
-
-/**
- * @brief Internal High Speed oscillator (HSI) value.
- * This value is used by the RCC HAL module to compute the system frequency
- * (when HSI is used as system clock source, directly or through the PLL).
- */
-#if !defined (HSI_VALUE)
- #define HSI_VALUE (64000000UL) /*!< Value of the Internal oscillator in Hz*/
-#endif /* HSI_VALUE */
-
-/**
- * @brief External Low Speed oscillator (LSE) value.
- * This value is used by the UART, RTC HAL module to compute the system frequency
- */
-#if !defined (LSE_VALUE)
- #define LSE_VALUE (32768UL) /*!< Value of the External oscillator in Hz*/
-#endif /* LSE_VALUE */
-
-#if !defined (LSE_STARTUP_TIMEOUT)
- #define LSE_STARTUP_TIMEOUT (5000UL) /*!< Time out for LSE start up, in ms */
-#endif /* LSE_STARTUP_TIMEOUT */
-
-#if !defined (LSI_VALUE)
- #define LSI_VALUE (32000UL) /*!< LSI Typical Value in Hz*/
-#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz
- The real value may vary depending on the variations
- in voltage and temperature.*/
-
-/**
- * @brief External clock source for I2S peripheral
- * This value is used by the I2S HAL module to compute the I2S clock source
- * frequency, this source is inserted directly through I2S_CKIN pad.
- */
-#if !defined (EXTERNAL_CLOCK_VALUE)
- #define EXTERNAL_CLOCK_VALUE 12288000UL /*!< Value of the External clock in Hz*/
-#endif /* EXTERNAL_CLOCK_VALUE */
-
-/* Tip: To avoid modifying this file each time you need to use different HSE,
- === you can define the HSE value in your toolchain compiler preprocessor. */
-
-/* ########################### System Configuration ######################### */
-/**
- * @brief This is the HAL system configuration section
- */
-#define VDD_VALUE (3300UL) /*!< Value of VDD in mv */
-#define TICK_INT_PRIORITY (15UL) /*!< tick interrupt priority */
-#define USE_RTOS 0
-#define USE_SD_TRANSCEIVER 0U /*!< use uSD Transceiver */
-#define USE_SPI_CRC 0U /*!< use CRC in SPI */
-
-#define USE_HAL_ADC_REGISTER_CALLBACKS 0U /* ADC register callback disabled */
-#define USE_HAL_CEC_REGISTER_CALLBACKS 0U /* CEC register callback disabled */
-#define USE_HAL_COMP_REGISTER_CALLBACKS 0U /* COMP register callback disabled */
-#define USE_HAL_CORDIC_REGISTER_CALLBACKS 0U /* CORDIC register callback disabled */
-#define USE_HAL_CRYP_REGISTER_CALLBACKS 0U /* CRYP register callback disabled */
-#define USE_HAL_DAC_REGISTER_CALLBACKS 0U /* DAC register callback disabled */
-#define USE_HAL_DCMI_REGISTER_CALLBACKS 0U /* DCMI register callback disabled */
-#define USE_HAL_DFSDM_REGISTER_CALLBACKS 0U /* DFSDM register callback disabled */
-#define USE_HAL_DMA2D_REGISTER_CALLBACKS 0U /* DMA2D register callback disabled */
-#define USE_HAL_DSI_REGISTER_CALLBACKS 0U /* DSI register callback disabled */
-#define USE_HAL_DTS_REGISTER_CALLBACKS 0U /* DTS register callback disabled */
-#define USE_HAL_ETH_REGISTER_CALLBACKS 0U /* ETH register callback disabled */
-#define USE_HAL_FDCAN_REGISTER_CALLBACKS 0U /* FDCAN register callback disabled */
-#define USE_HAL_FMAC_REGISTER_CALLBACKS 0U /* FMAC register callback disabled */
-#define USE_HAL_NAND_REGISTER_CALLBACKS 0U /* NAND register callback disabled */
-#define USE_HAL_NOR_REGISTER_CALLBACKS 0U /* NOR register callback disabled */
-#define USE_HAL_SDRAM_REGISTER_CALLBACKS 0U /* SDRAM register callback disabled */
-#define USE_HAL_SRAM_REGISTER_CALLBACKS 0U /* SRAM register callback disabled */
-#define USE_HAL_HASH_REGISTER_CALLBACKS 0U /* HASH register callback disabled */
-#define USE_HAL_HCD_REGISTER_CALLBACKS 0U /* HCD register callback disabled */
-#define USE_HAL_GFXMMU_REGISTER_CALLBACKS 0U /* GFXMMU register callback disabled */
-#define USE_HAL_HRTIM_REGISTER_CALLBACKS 0U /* HRTIM register callback disabled */
-#define USE_HAL_I2C_REGISTER_CALLBACKS 0U /* I2C register callback disabled */
-#define USE_HAL_I2S_REGISTER_CALLBACKS 0U /* I2S register callback disabled */
-#define USE_HAL_IRDA_REGISTER_CALLBACKS 0U /* IRDA register callback disabled */
-#define USE_HAL_JPEG_REGISTER_CALLBACKS 0U /* JPEG register callback disabled */
-#define USE_HAL_LPTIM_REGISTER_CALLBACKS 0U /* LPTIM register callback disabled */
-#define USE_HAL_LTDC_REGISTER_CALLBACKS 0U /* LTDC register callback disabled */
-#define USE_HAL_MDIOS_REGISTER_CALLBACKS 0U /* MDIO register callback disabled */
-#define USE_HAL_MMC_REGISTER_CALLBACKS 0U /* MMC register callback disabled */
-#define USE_HAL_OPAMP_REGISTER_CALLBACKS 0U /* MDIO register callback disabled */
-#define USE_HAL_OSPI_REGISTER_CALLBACKS 0U /* OSPI register callback disabled */
-#define USE_HAL_OTFDEC_REGISTER_CALLBACKS 0U /* OTFDEC register callback disabled */
-#define USE_HAL_PCD_REGISTER_CALLBACKS 0U /* PCD register callback disabled */
-#define USE_HAL_QSPI_REGISTER_CALLBACKS 0U /* QSPI register callback disabled */
-#define USE_HAL_RNG_REGISTER_CALLBACKS 0U /* RNG register callback disabled */
-#define USE_HAL_RTC_REGISTER_CALLBACKS 0U /* RTC register callback disabled */
-#define USE_HAL_SAI_REGISTER_CALLBACKS 0U /* SAI register callback disabled */
-#define USE_HAL_SD_REGISTER_CALLBACKS 0U /* SD register callback disabled */
-#define USE_HAL_SMARTCARD_REGISTER_CALLBACKS 0U /* SMARTCARD register callback disabled */
-#define USE_HAL_SPDIFRX_REGISTER_CALLBACKS 0U /* SPDIFRX register callback disabled */
-#define USE_HAL_SMBUS_REGISTER_CALLBACKS 0U /* SMBUS register callback disabled */
-#define USE_HAL_SPI_REGISTER_CALLBACKS 0U /* SPI register callback disabled */
-#define USE_HAL_SWPMI_REGISTER_CALLBACKS 0U /* SWPMI register callback disabled */
-#define USE_HAL_TIM_REGISTER_CALLBACKS 0U /* TIM register callback disabled */
-#define USE_HAL_UART_REGISTER_CALLBACKS 0U /* UART register callback disabled */
-#define USE_HAL_USART_REGISTER_CALLBACKS 0U /* USART register callback disabled */
-#define USE_HAL_WWDG_REGISTER_CALLBACKS 0U /* WWDG register callback disabled */
-
-/* ########################### Ethernet Configuration ######################### */
-#define ETH_TX_DESC_CNT 4 /* number of Ethernet Tx DMA descriptors */
-#define ETH_RX_DESC_CNT 4 /* number of Ethernet Rx DMA descriptors */
-
-#define ETH_MAC_ADDR0 (0x02UL)
-#define ETH_MAC_ADDR1 (0x00UL)
-#define ETH_MAC_ADDR2 (0x00UL)
-#define ETH_MAC_ADDR3 (0x00UL)
-#define ETH_MAC_ADDR4 (0x00UL)
-#define ETH_MAC_ADDR5 (0x00UL)
-
-/* ########################## Assert Selection ############################## */
-/**
- * @brief Uncomment the line below to expanse the "assert_param" macro in the
- * HAL drivers code
- */
-/* #define USE_FULL_ASSERT 1U */
-
-/* Includes ------------------------------------------------------------------*/
-/**
- * @brief Include module's header file
- */
-
-#ifdef HAL_RCC_MODULE_ENABLED
- #include "stm32h7xx_hal_rcc.h"
-#endif /* HAL_RCC_MODULE_ENABLED */
-
-#ifdef HAL_GPIO_MODULE_ENABLED
- #include "stm32h7xx_hal_gpio.h"
-#endif /* HAL_GPIO_MODULE_ENABLED */
-
-#ifdef HAL_DMA_MODULE_ENABLED
- #include "stm32h7xx_hal_dma.h"
-#endif /* HAL_DMA_MODULE_ENABLED */
-
-#ifdef HAL_MDMA_MODULE_ENABLED
- #include "stm32h7xx_hal_mdma.h"
-#endif /* HAL_MDMA_MODULE_ENABLED */
-
-#ifdef HAL_HASH_MODULE_ENABLED
- #include "stm32h7xx_hal_hash.h"
-#endif /* HAL_HASH_MODULE_ENABLED */
-
-#ifdef HAL_DCMI_MODULE_ENABLED
- #include "stm32h7xx_hal_dcmi.h"
-#endif /* HAL_DCMI_MODULE_ENABLED */
-
-#ifdef HAL_DMA2D_MODULE_ENABLED
- #include "stm32h7xx_hal_dma2d.h"
-#endif /* HAL_DMA2D_MODULE_ENABLED */
-
-#ifdef HAL_DSI_MODULE_ENABLED
- #include "stm32h7xx_hal_dsi.h"
-#endif /* HAL_DSI_MODULE_ENABLED */
-
-#ifdef HAL_DFSDM_MODULE_ENABLED
- #include "stm32h7xx_hal_dfsdm.h"
-#endif /* HAL_DFSDM_MODULE_ENABLED */
-
-#ifdef HAL_DTS_MODULE_ENABLED
- #include "stm32h7xx_hal_dts.h"
-#endif /* HAL_DTS_MODULE_ENABLED */
-
-#ifdef HAL_ETH_MODULE_ENABLED
- #include "stm32h7xx_hal_eth.h"
-#endif /* HAL_ETH_MODULE_ENABLED */
-
-#ifdef HAL_EXTI_MODULE_ENABLED
- #include "stm32h7xx_hal_exti.h"
-#endif /* HAL_EXTI_MODULE_ENABLED */
-
-#ifdef HAL_CORTEX_MODULE_ENABLED
- #include "stm32h7xx_hal_cortex.h"
-#endif /* HAL_CORTEX_MODULE_ENABLED */
-
-#ifdef HAL_ADC_MODULE_ENABLED
- #include "stm32h7xx_hal_adc.h"
-#endif /* HAL_ADC_MODULE_ENABLED */
-
-#ifdef HAL_FDCAN_MODULE_ENABLED
- #include "stm32h7xx_hal_fdcan.h"
-#endif /* HAL_FDCAN_MODULE_ENABLED */
-
-#ifdef HAL_CEC_MODULE_ENABLED
- #include "stm32h7xx_hal_cec.h"
-#endif /* HAL_CEC_MODULE_ENABLED */
-
-#ifdef HAL_COMP_MODULE_ENABLED
- #include "stm32h7xx_hal_comp.h"
-#endif /* HAL_COMP_MODULE_ENABLED */
-
-#ifdef HAL_CORDIC_MODULE_ENABLED
- #include "stm32h7xx_hal_cordic.h"
-#endif /* HAL_CORDIC_MODULE_ENABLED */
-
-#ifdef HAL_CRC_MODULE_ENABLED
- #include "stm32h7xx_hal_crc.h"
-#endif /* HAL_CRC_MODULE_ENABLED */
-
-#ifdef HAL_CRYP_MODULE_ENABLED
- #include "stm32h7xx_hal_cryp.h"
-#endif /* HAL_CRYP_MODULE_ENABLED */
-
-#ifdef HAL_DAC_MODULE_ENABLED
- #include "stm32h7xx_hal_dac.h"
-#endif /* HAL_DAC_MODULE_ENABLED */
-
-#ifdef HAL_FLASH_MODULE_ENABLED
- #include "stm32h7xx_hal_flash.h"
-#endif /* HAL_FLASH_MODULE_ENABLED */
-
-#ifdef HAL_GFXMMU_MODULE_ENABLED
- #include "stm32h7xx_hal_gfxmmu.h"
-#endif /* HAL_GFXMMU_MODULE_ENABLED */
-
-#ifdef HAL_FMAC_MODULE_ENABLED
- #include "stm32h7xx_hal_fmac.h"
-#endif /* HAL_FMAC_MODULE_ENABLED */
-
-#ifdef HAL_HRTIM_MODULE_ENABLED
- #include "stm32h7xx_hal_hrtim.h"
-#endif /* HAL_HRTIM_MODULE_ENABLED */
-
-#ifdef HAL_HSEM_MODULE_ENABLED
- #include "stm32h7xx_hal_hsem.h"
-#endif /* HAL_HSEM_MODULE_ENABLED */
-
-#ifdef HAL_SRAM_MODULE_ENABLED
- #include "stm32h7xx_hal_sram.h"
-#endif /* HAL_SRAM_MODULE_ENABLED */
-
-#ifdef HAL_NOR_MODULE_ENABLED
- #include "stm32h7xx_hal_nor.h"
-#endif /* HAL_NOR_MODULE_ENABLED */
-
-#ifdef HAL_NAND_MODULE_ENABLED
- #include "stm32h7xx_hal_nand.h"
-#endif /* HAL_NAND_MODULE_ENABLED */
-
-#ifdef HAL_I2C_MODULE_ENABLED
- #include "stm32h7xx_hal_i2c.h"
-#endif /* HAL_I2C_MODULE_ENABLED */
-
-#ifdef HAL_I2S_MODULE_ENABLED
- #include "stm32h7xx_hal_i2s.h"
-#endif /* HAL_I2S_MODULE_ENABLED */
-
-#ifdef HAL_IWDG_MODULE_ENABLED
- #include "stm32h7xx_hal_iwdg.h"
-#endif /* HAL_IWDG_MODULE_ENABLED */
-
-#ifdef HAL_JPEG_MODULE_ENABLED
- #include "stm32h7xx_hal_jpeg.h"
-#endif /* HAL_JPEG_MODULE_ENABLED */
-
-#ifdef HAL_MDIOS_MODULE_ENABLED
- #include "stm32h7xx_hal_mdios.h"
-#endif /* HAL_MDIOS_MODULE_ENABLED */
-
-#ifdef HAL_MMC_MODULE_ENABLED
- #include "stm32h7xx_hal_mmc.h"
-#endif /* HAL_MMC_MODULE_ENABLED */
-
-#ifdef HAL_LPTIM_MODULE_ENABLED
-#include "stm32h7xx_hal_lptim.h"
-#endif /* HAL_LPTIM_MODULE_ENABLED */
-
-#ifdef HAL_LTDC_MODULE_ENABLED
-#include "stm32h7xx_hal_ltdc.h"
-#endif /* HAL_LTDC_MODULE_ENABLED */
-
-#ifdef HAL_OPAMP_MODULE_ENABLED
-#include "stm32h7xx_hal_opamp.h"
-#endif /* HAL_OPAMP_MODULE_ENABLED */
-
-#ifdef HAL_OSPI_MODULE_ENABLED
- #include "stm32h7xx_hal_ospi.h"
-#endif /* HAL_OSPI_MODULE_ENABLED */
-
-#ifdef HAL_OTFDEC_MODULE_ENABLED
-#include "stm32h7xx_hal_otfdec.h"
-#endif /* HAL_OTFDEC_MODULE_ENABLED */
-
-#ifdef HAL_PSSI_MODULE_ENABLED
- #include "stm32h7xx_hal_pssi.h"
-#endif /* HAL_PSSI_MODULE_ENABLED */
-
-#ifdef HAL_PWR_MODULE_ENABLED
- #include "stm32h7xx_hal_pwr.h"
-#endif /* HAL_PWR_MODULE_ENABLED */
-
-#ifdef HAL_QSPI_MODULE_ENABLED
- #include "stm32h7xx_hal_qspi.h"
-#endif /* HAL_QSPI_MODULE_ENABLED */
-
-#ifdef HAL_RAMECC_MODULE_ENABLED
- #include "stm32h7xx_hal_ramecc.h"
-#endif /* HAL_RAMECC_MODULE_ENABLED */
-
-#ifdef HAL_RNG_MODULE_ENABLED
- #include "stm32h7xx_hal_rng.h"
-#endif /* HAL_RNG_MODULE_ENABLED */
-
-#ifdef HAL_RTC_MODULE_ENABLED
- #include "stm32h7xx_hal_rtc.h"
-#endif /* HAL_RTC_MODULE_ENABLED */
-
-#ifdef HAL_SAI_MODULE_ENABLED
- #include "stm32h7xx_hal_sai.h"
-#endif /* HAL_SAI_MODULE_ENABLED */
-
-#ifdef HAL_SD_MODULE_ENABLED
- #include "stm32h7xx_hal_sd.h"
-#endif /* HAL_SD_MODULE_ENABLED */
-
-#ifdef HAL_SDRAM_MODULE_ENABLED
- #include "stm32h7xx_hal_sdram.h"
-#endif /* HAL_SDRAM_MODULE_ENABLED */
-
-#ifdef HAL_SPI_MODULE_ENABLED
- #include "stm32h7xx_hal_spi.h"
-#endif /* HAL_SPI_MODULE_ENABLED */
-
-#ifdef HAL_SPDIFRX_MODULE_ENABLED
- #include "stm32h7xx_hal_spdifrx.h"
-#endif /* HAL_SPDIFRX_MODULE_ENABLED */
-
-#ifdef HAL_SWPMI_MODULE_ENABLED
- #include "stm32h7xx_hal_swpmi.h"
-#endif /* HAL_SWPMI_MODULE_ENABLED */
-
-#ifdef HAL_TIM_MODULE_ENABLED
- #include "stm32h7xx_hal_tim.h"
-#endif /* HAL_TIM_MODULE_ENABLED */
-
-#ifdef HAL_UART_MODULE_ENABLED
- #include "stm32h7xx_hal_uart.h"
-#endif /* HAL_UART_MODULE_ENABLED */
-
-#ifdef HAL_USART_MODULE_ENABLED
- #include "stm32h7xx_hal_usart.h"
-#endif /* HAL_USART_MODULE_ENABLED */
-
-#ifdef HAL_IRDA_MODULE_ENABLED
- #include "stm32h7xx_hal_irda.h"
-#endif /* HAL_IRDA_MODULE_ENABLED */
-
-#ifdef HAL_SMARTCARD_MODULE_ENABLED
- #include "stm32h7xx_hal_smartcard.h"
-#endif /* HAL_SMARTCARD_MODULE_ENABLED */
-
-#ifdef HAL_SMBUS_MODULE_ENABLED
- #include "stm32h7xx_hal_smbus.h"
-#endif /* HAL_SMBUS_MODULE_ENABLED */
-
-#ifdef HAL_WWDG_MODULE_ENABLED
- #include "stm32h7xx_hal_wwdg.h"
-#endif /* HAL_WWDG_MODULE_ENABLED */
-
-#ifdef HAL_PCD_MODULE_ENABLED
- #include "stm32h7xx_hal_pcd.h"
-#endif /* HAL_PCD_MODULE_ENABLED */
-
-#ifdef HAL_HCD_MODULE_ENABLED
- #include "stm32h7xx_hal_hcd.h"
-#endif /* HAL_HCD_MODULE_ENABLED */
-
-/* Exported macro ------------------------------------------------------------*/
-#ifdef USE_FULL_ASSERT
-/**
- * @brief The assert_param macro is used for function's parameters check.
- * @param expr: If expr is false, it calls assert_failed function
- * which reports the name of the source file and the source
- * line number of the call that failed.
- * If expr is true, it returns no value.
- * @retval None
- */
- #define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__))
-/* Exported functions ------------------------------------------------------- */
- void assert_failed(uint8_t *file, uint32_t line);
-#else
- #define assert_param(expr) ((void)0U)
-#endif /* USE_FULL_ASSERT */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* STM32H7xx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/bsp/stm32/stm32h743-armfly-V7/board/CubeMX_Config/Inc/stm32h7xx_it.h b/bsp/stm32/stm32h743-armfly-V7/board/CubeMX_Config/Inc/stm32h7xx_it.h
deleted file mode 100644
index 6234cf5602..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/board/CubeMX_Config/Inc/stm32h7xx_it.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* USER CODE BEGIN Header */
-/**
- ******************************************************************************
- * @file stm32h7xx_it.h
- * @brief This file contains the headers of the interrupt handlers.
- ******************************************************************************
- * @attention
- *
- * © Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
-/* USER CODE END Header */
-
-/* Define to prevent recursive inclusion -------------------------------------*/
-#ifndef __STM32H7xx_IT_H
-#define __STM32H7xx_IT_H
-
-#ifdef __cplusplus
- extern "C" {
-#endif
-
-/* Private includes ----------------------------------------------------------*/
-/* USER CODE BEGIN Includes */
-
-/* USER CODE END Includes */
-
-/* Exported types ------------------------------------------------------------*/
-/* USER CODE BEGIN ET */
-
-/* USER CODE END ET */
-
-/* Exported constants --------------------------------------------------------*/
-/* USER CODE BEGIN EC */
-
-/* USER CODE END EC */
-
-/* Exported macro ------------------------------------------------------------*/
-/* USER CODE BEGIN EM */
-
-/* USER CODE END EM */
-
-/* Exported functions prototypes ---------------------------------------------*/
-void NMI_Handler(void);
-void HardFault_Handler(void);
-void MemManage_Handler(void);
-void BusFault_Handler(void);
-void UsageFault_Handler(void);
-void SVC_Handler(void);
-void DebugMon_Handler(void);
-void PendSV_Handler(void);
-void SysTick_Handler(void);
-/* USER CODE BEGIN EFP */
-
-/* USER CODE END EFP */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __STM32H7xx_IT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/bsp/stm32/stm32h743-armfly-V7/board/CubeMX_Config/Src/stm32h7xx_hal_msp.c b/bsp/stm32/stm32h743-armfly-V7/board/CubeMX_Config/Src/stm32h7xx_hal_msp.c
deleted file mode 100644
index 01dd6b0052..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/board/CubeMX_Config/Src/stm32h7xx_hal_msp.c
+++ /dev/null
@@ -1,159 +0,0 @@
-/* USER CODE BEGIN Header */
-/**
- ******************************************************************************
- * @file stm32h7xx_hal_msp.c
- * @brief This file provides code for the MSP Initialization
- * and de-Initialization codes.
- ******************************************************************************
- * @attention
- *
- * © Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
-/* USER CODE END Header */
-
-/* Includes ------------------------------------------------------------------*/
-#include "main.h"
-/* USER CODE BEGIN Includes */
-extern void _Error_Handler(char *s, int num);
-#define Error_Handler() _Error_Handler(__FILE__, __LINE__)
-/* USER CODE END Includes */
-
-/* Private typedef -----------------------------------------------------------*/
-/* USER CODE BEGIN TD */
-
-/* USER CODE END TD */
-
-/* Private define ------------------------------------------------------------*/
-/* USER CODE BEGIN Define */
-
-/* USER CODE END Define */
-
-/* Private macro -------------------------------------------------------------*/
-/* USER CODE BEGIN Macro */
-
-/* USER CODE END Macro */
-
-/* Private variables ---------------------------------------------------------*/
-/* USER CODE BEGIN PV */
-
-/* USER CODE END PV */
-
-/* Private function prototypes -----------------------------------------------*/
-/* USER CODE BEGIN PFP */
-
-/* USER CODE END PFP */
-
-/* External functions --------------------------------------------------------*/
-/* USER CODE BEGIN ExternalFunctions */
-
-/* USER CODE END ExternalFunctions */
-
-/* USER CODE BEGIN 0 */
-
-/* USER CODE END 0 */
-/**
- * Initializes the Global MSP.
- */
-void HAL_MspInit(void)
-{
- /* USER CODE BEGIN MspInit 0 */
-
- /* USER CODE END MspInit 0 */
-
- __HAL_RCC_SYSCFG_CLK_ENABLE();
-
- /* System interrupt init*/
-
- /* USER CODE BEGIN MspInit 1 */
-
- /* USER CODE END MspInit 1 */
-}
-
-/**
-* @brief UART MSP Initialization
-* This function configures the hardware resources used in this example
-* @param huart: UART handle pointer
-* @retval None
-*/
-void HAL_UART_MspInit(UART_HandleTypeDef* huart)
-{
- GPIO_InitTypeDef GPIO_InitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
- if(huart->Instance==USART1)
- {
- /* USER CODE BEGIN USART1_MspInit 0 */
-
- /* USER CODE END USART1_MspInit 0 */
- /** Initializes the peripherals clock
- */
- PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USART1;
- PeriphClkInitStruct.Usart16ClockSelection = RCC_USART16CLKSOURCE_D2PCLK2;
- if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
- {
- Error_Handler();
- }
-
- /* Peripheral clock enable */
- __HAL_RCC_USART1_CLK_ENABLE();
-
- __HAL_RCC_GPIOA_CLK_ENABLE();
- /**USART1 GPIO Configuration
- PA10 ------> USART1_RX
- PA9 ------> USART1_TX
- */
- GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_9;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
- GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
- HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
-
- /* USER CODE BEGIN USART1_MspInit 1 */
-
- /* USER CODE END USART1_MspInit 1 */
- }
-
-}
-
-/**
-* @brief UART MSP De-Initialization
-* This function freeze the hardware resources used in this example
-* @param huart: UART handle pointer
-* @retval None
-*/
-void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
-{
- if(huart->Instance==USART1)
- {
- /* USER CODE BEGIN USART1_MspDeInit 0 */
-
- /* USER CODE END USART1_MspDeInit 0 */
- /* Peripheral clock disable */
- __HAL_RCC_USART1_CLK_DISABLE();
-
- /**USART1 GPIO Configuration
- PA10 ------> USART1_RX
- PA9 ------> USART1_TX
- */
- HAL_GPIO_DeInit(GPIOA, GPIO_PIN_10|GPIO_PIN_9);
-
- /* USER CODE BEGIN USART1_MspDeInit 1 */
-
- /* USER CODE END USART1_MspDeInit 1 */
- }
-
-}
-
-/* USER CODE BEGIN 1 */
-
-/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/bsp/stm32/stm32h743-armfly-V7/board/CubeMX_Config/Src/stm32h7xx_it.c b/bsp/stm32/stm32h743-armfly-V7/board/CubeMX_Config/Src/stm32h7xx_it.c
deleted file mode 100644
index 7aacdf68db..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/board/CubeMX_Config/Src/stm32h7xx_it.c
+++ /dev/null
@@ -1,205 +0,0 @@
-/* USER CODE BEGIN Header */
-/**
- ******************************************************************************
- * @file stm32h7xx_it.c
- * @brief Interrupt Service Routines.
- ******************************************************************************
- * @attention
- *
- * © Copyright (c) 2021 STMicroelectronics.
- * All rights reserved.
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
-/* USER CODE END Header */
-
-/* Includes ------------------------------------------------------------------*/
-#include "main.h"
-#include "stm32h7xx_it.h"
-/* Private includes ----------------------------------------------------------*/
-/* USER CODE BEGIN Includes */
-/* USER CODE END Includes */
-
-/* Private typedef -----------------------------------------------------------*/
-/* USER CODE BEGIN TD */
-
-/* USER CODE END TD */
-
-/* Private define ------------------------------------------------------------*/
-/* USER CODE BEGIN PD */
-
-/* USER CODE END PD */
-
-/* Private macro -------------------------------------------------------------*/
-/* USER CODE BEGIN PM */
-
-/* USER CODE END PM */
-
-/* Private variables ---------------------------------------------------------*/
-/* USER CODE BEGIN PV */
-
-/* USER CODE END PV */
-
-/* Private function prototypes -----------------------------------------------*/
-/* USER CODE BEGIN PFP */
-
-/* USER CODE END PFP */
-
-/* Private user code ---------------------------------------------------------*/
-/* USER CODE BEGIN 0 */
-
-/* USER CODE END 0 */
-
-/* External variables --------------------------------------------------------*/
-
-/* USER CODE BEGIN EV */
-
-/* USER CODE END EV */
-
-/******************************************************************************/
-/* Cortex Processor Interruption and Exception Handlers */
-/******************************************************************************/
-/**
- * @brief This function handles Non maskable interrupt.
- */
-void NMI_Handler(void)
-{
- /* USER CODE BEGIN NonMaskableInt_IRQn 0 */
-
- /* USER CODE END NonMaskableInt_IRQn 0 */
- /* USER CODE BEGIN NonMaskableInt_IRQn 1 */
- while (1)
- {
- }
- /* USER CODE END NonMaskableInt_IRQn 1 */
-}
-
-/**
- * @brief This function handles Hard fault interrupt.
- */
-void HardFault_Handler(void)
-{
- /* USER CODE BEGIN HardFault_IRQn 0 */
-
- /* USER CODE END HardFault_IRQn 0 */
- while (1)
- {
- /* USER CODE BEGIN W1_HardFault_IRQn 0 */
- /* USER CODE END W1_HardFault_IRQn 0 */
- }
-}
-
-/**
- * @brief This function handles Memory management fault.
- */
-void MemManage_Handler(void)
-{
- /* USER CODE BEGIN MemoryManagement_IRQn 0 */
-
- /* USER CODE END MemoryManagement_IRQn 0 */
- while (1)
- {
- /* USER CODE BEGIN W1_MemoryManagement_IRQn 0 */
- /* USER CODE END W1_MemoryManagement_IRQn 0 */
- }
-}
-
-/**
- * @brief This function handles Pre-fetch fault, memory access fault.
- */
-void BusFault_Handler(void)
-{
- /* USER CODE BEGIN BusFault_IRQn 0 */
-
- /* USER CODE END BusFault_IRQn 0 */
- while (1)
- {
- /* USER CODE BEGIN W1_BusFault_IRQn 0 */
- /* USER CODE END W1_BusFault_IRQn 0 */
- }
-}
-
-/**
- * @brief This function handles Undefined instruction or illegal state.
- */
-void UsageFault_Handler(void)
-{
- /* USER CODE BEGIN UsageFault_IRQn 0 */
-
- /* USER CODE END UsageFault_IRQn 0 */
- while (1)
- {
- /* USER CODE BEGIN W1_UsageFault_IRQn 0 */
- /* USER CODE END W1_UsageFault_IRQn 0 */
- }
-}
-
-/**
- * @brief This function handles System service call via SWI instruction.
- */
-void SVC_Handler(void)
-{
- /* USER CODE BEGIN SVCall_IRQn 0 */
-
- /* USER CODE END SVCall_IRQn 0 */
- /* USER CODE BEGIN SVCall_IRQn 1 */
-
- /* USER CODE END SVCall_IRQn 1 */
-}
-
-/**
- * @brief This function handles Debug monitor.
- */
-void DebugMon_Handler(void)
-{
- /* USER CODE BEGIN DebugMonitor_IRQn 0 */
-
- /* USER CODE END DebugMonitor_IRQn 0 */
- /* USER CODE BEGIN DebugMonitor_IRQn 1 */
-
- /* USER CODE END DebugMonitor_IRQn 1 */
-}
-
-/**
- * @brief This function handles Pendable request for system service.
- */
-void PendSV_Handler(void)
-{
- /* USER CODE BEGIN PendSV_IRQn 0 */
-
- /* USER CODE END PendSV_IRQn 0 */
- /* USER CODE BEGIN PendSV_IRQn 1 */
-
- /* USER CODE END PendSV_IRQn 1 */
-}
-
-/**
- * @brief This function handles System tick timer.
- */
-void SysTick_Handler(void)
-{
- /* USER CODE BEGIN SysTick_IRQn 0 */
-
- /* USER CODE END SysTick_IRQn 0 */
- HAL_IncTick();
- /* USER CODE BEGIN SysTick_IRQn 1 */
-
- /* USER CODE END SysTick_IRQn 1 */
-}
-
-/******************************************************************************/
-/* STM32H7xx Peripheral Interrupt Handlers */
-/* Add here the Interrupt Handlers for the used peripherals. */
-/* For the available peripheral interrupt handler names, */
-/* please refer to the startup file (startup_stm32h7xx.s). */
-/******************************************************************************/
-
-/* USER CODE BEGIN 1 */
-
-/* USER CODE END 1 */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/bsp/stm32/stm32h743-armfly-V7/board/Kconfig b/bsp/stm32/stm32h743-armfly-V7/board/Kconfig
deleted file mode 100644
index 598786d35d..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/board/Kconfig
+++ /dev/null
@@ -1,40 +0,0 @@
-menu "Hardware Drivers Config"
-
-config SOC_STM32H743XI
- bool
- select SOC_SERIES_STM32H7
- select RT_USING_COMPONENTS_INIT
- select RT_USING_USER_MAIN
- default y
-
-menu "Onboard Peripheral Drivers"
-
-endmenu
-
-menu "On-chip Peripheral Drivers"
-
- config BSP_USING_GPIO
- bool "Enable GPIO"
- select RT_USING_PIN
- default y
-
- menuconfig BSP_USING_UART
- bool "Enable UART"
- default y
- select RT_USING_SERIAL
- if BSP_USING_UART
- config BSP_USING_UART1
- bool "Enable UART1"
- default y
-
- endif
-
- source "../libraries/HAL_Drivers/Kconfig"
-
-endmenu
-
-menu "Board extended module Drivers"
-
-endmenu
-
-endmenu
diff --git a/bsp/stm32/stm32h743-armfly-V7/board/SConscript b/bsp/stm32/stm32h743-armfly-V7/board/SConscript
deleted file mode 100644
index ab03805d74..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/board/SConscript
+++ /dev/null
@@ -1,29 +0,0 @@
-import rtconfig
-from building import *
-
-Import('SDK_LIB')
-
-cwd = GetCurrentDir()
-
-# add the general drivers.
-src = Glob('board.c')
-src += Glob('CubeMX_Config/Src/stm32h7xx_hal_msp.c')
-
-path = [cwd]
-path += [cwd + '/CubeMX_Config/Inc']
-
-startup_path_prefix = SDK_LIB
-
-if rtconfig.PLATFORM == 'gcc':
- src += [startup_path_prefix + '/STM32H7xx_HAL/CMSIS/Device/ST/STM32H7xx/Source/Templates/gcc/startup_stm32h743xx.s']
-elif rtconfig.PLATFORM in ['armcc', 'armclang']:
- src += [startup_path_prefix + '/STM32H7xx_HAL/CMSIS/Device/ST/STM32H7xx/Source/Templates/arm/startup_stm32h743xx.s']
-elif rtconfig.CROSS_TOOL == 'iar':
- src += [startup_path_prefix + '/STM32H7xx_HAL/CMSIS/Device/ST/STM32H7xx/Source/Templates/iar/startup_stm32h743xx.s']
-
-# STM32H743xx || STM32H750xx || STM32F753xx
-# You can select chips from the list above
-CPPDEFINES = ['STM32H743xx']
-group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES)
-
-Return('group')
diff --git a/bsp/stm32/stm32h743-armfly-V7/board/board.c b/bsp/stm32/stm32h743-armfly-V7/board/board.c
deleted file mode 100644
index bd38efd69b..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/board/board.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (c) 2006-2021, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2018-11-06 SummerGift first version
- */
-
-#include "board.h"
-
-void SystemClock_Config(void)
-{
- RCC_OscInitTypeDef RCC_OscInitStruct = {0};
- RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
-
- /** Supply configuration update enable
- */
- HAL_PWREx_ConfigSupply(PWR_LDO_SUPPLY);
- /** Configure the main internal regulator output voltage
- */
- __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
-
- while(!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) {}
- /** Initializes the RCC Oscillators according to the specified parameters
- * in the RCC_OscInitTypeDef structure.
- */
- RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
- RCC_OscInitStruct.HSEState = RCC_HSE_ON;
- RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
- RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
- RCC_OscInitStruct.PLL.PLLM = 5;
- RCC_OscInitStruct.PLL.PLLN = 160;
- RCC_OscInitStruct.PLL.PLLP = 2;
- RCC_OscInitStruct.PLL.PLLQ = 2;
- RCC_OscInitStruct.PLL.PLLR = 2;
- RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_2;
- RCC_OscInitStruct.PLL.PLLVCOSEL = RCC_PLL1VCOWIDE;
- RCC_OscInitStruct.PLL.PLLFRACN = 0;
- if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
- {
- Error_Handler();
- }
- /** Initializes the CPU, AHB and APB buses clocks
- */
- RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
- |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2
- |RCC_CLOCKTYPE_D3PCLK1|RCC_CLOCKTYPE_D1PCLK1;
- RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
- RCC_ClkInitStruct.SYSCLKDivider = RCC_SYSCLK_DIV1;
- RCC_ClkInitStruct.AHBCLKDivider = RCC_HCLK_DIV2;
- RCC_ClkInitStruct.APB3CLKDivider = RCC_APB3_DIV2;
- RCC_ClkInitStruct.APB1CLKDivider = RCC_APB1_DIV2;
- RCC_ClkInitStruct.APB2CLKDivider = RCC_APB2_DIV2;
- RCC_ClkInitStruct.APB4CLKDivider = RCC_APB4_DIV2;
-
- if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
- {
- Error_Handler();
- }
-}
diff --git a/bsp/stm32/stm32h743-armfly-V7/board/board.h b/bsp/stm32/stm32h743-armfly-V7/board/board.h
deleted file mode 100644
index d511a1f847..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/board/board.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2006-2021, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2018-11-5 SummerGift first version
- */
-
-#ifndef __BOARD_H__
-#define __BOARD_H__
-
-#include
-#include
-#include "drv_common.h"
-#include "drv_gpio.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define STM32_FLASH_START_ADRESS ((uint32_t)0x08000000)
-#define STM32_FLASH_SIZE (2048 * 1024)
-#define STM32_FLASH_END_ADDRESS ((uint32_t)(STM32_FLASH_START_ADRESS + STM32_FLASH_SIZE))
-
-#define STM32_SRAM_SIZE (512)
-#define STM32_SRAM_END (0x24000000 + STM32_SRAM_SIZE * 1024)
-
-#if defined(__ARMCC_VERSION)
-extern int Image$$RW_IRAM1$$ZI$$Limit;
-#define HEAP_BEGIN (&Image$$RW_IRAM1$$ZI$$Limit)
-#elif __ICCARM__
-#pragma section="CSTACK"
-#define HEAP_BEGIN (__segment_end("CSTACK"))
-#else
-extern int __bss_end;
-#define HEAP_BEGIN (&__bss_end)
-#endif
-
-#define HEAP_END STM32_SRAM_END
-
-void SystemClock_Config(void);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/bsp/stm32/stm32h743-armfly-V7/board/linker_scripts/link.icf b/bsp/stm32/stm32h743-armfly-V7/board/linker_scripts/link.icf
deleted file mode 100644
index 083cd32f5a..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/board/linker_scripts/link.icf
+++ /dev/null
@@ -1,28 +0,0 @@
-/*###ICF### Section handled by ICF editor, don't touch! ****/
-/*-Editor annotation file-*/
-/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
-/*-Specials-*/
-define symbol __ICFEDIT_intvec_start__ = 0x08000000;
-/*-Memory Regions-*/
-define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
-define symbol __ICFEDIT_region_ROM_end__ = 0x081FFFFF;
-define symbol __ICFEDIT_region_RAM_start__ = 0x24000000;
-define symbol __ICFEDIT_region_RAM_end__ = 0x2407FFFF;
-/*-Sizes-*/
-define symbol __ICFEDIT_size_cstack__ = 0x0400;
-define symbol __ICFEDIT_size_heap__ = 0x000;
-/**** End of ICF editor section. ###ICF###*/
-
-define memory mem with size = 4G;
-define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
-define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
-
-define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
-
-initialize by copy { readwrite };
-do not initialize { section .noinit };
-
-place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
-
-place in ROM_region { readonly };
-place in RAM_region { readwrite, last block CSTACK};
diff --git a/bsp/stm32/stm32h743-armfly-V7/board/linker_scripts/link.lds b/bsp/stm32/stm32h743-armfly-V7/board/linker_scripts/link.lds
deleted file mode 100644
index 9339c6af7c..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/board/linker_scripts/link.lds
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * linker script for STM32F4xx with GNU ld
- * bernard.xiong 2009-10-14
- */
-
-/* Program Entry, set to mark it as "used" and avoid gc */
-MEMORY
-{
- ROM (rx) : ORIGIN = 0x08000000, LENGTH = 2048k /* 2048KB flash */
- RAM (rw) : ORIGIN = 0x24000000, LENGTH = 512k /* 512K sram */
-}
-ENTRY(Reset_Handler)
-_system_stack_size = 0x400;
-
-SECTIONS
-{
- .text :
- {
- . = ALIGN(4);
- _stext = .;
- KEEP(*(.isr_vector)) /* Startup code */
-
- . = ALIGN(4);
- *(.text) /* remaining code */
- *(.text.*) /* remaining code */
- *(.rodata) /* read-only data (constants) */
- *(.rodata*)
- *(.glue_7)
- *(.glue_7t)
- *(.gnu.linkonce.t*)
-
- /* section information for finsh shell */
- . = ALIGN(4);
- __fsymtab_start = .;
- KEEP(*(FSymTab))
- __fsymtab_end = .;
-
- . = ALIGN(4);
- __vsymtab_start = .;
- KEEP(*(VSymTab))
- __vsymtab_end = .;
-
- /* section information for initial. */
- . = ALIGN(4);
- __rt_init_start = .;
- KEEP(*(SORT(.rti_fn*)))
- __rt_init_end = .;
-
- . = ALIGN(4);
-
- PROVIDE(__ctors_start__ = .);
- KEEP (*(SORT(.init_array.*)))
- KEEP (*(.init_array))
- PROVIDE(__ctors_end__ = .);
-
- . = ALIGN(4);
-
- _etext = .;
- } > ROM = 0
-
- /* .ARM.exidx is sorted, so has to go in its own output section. */
- __exidx_start = .;
- .ARM.exidx :
- {
- *(.ARM.exidx* .gnu.linkonce.armexidx.*)
-
- /* This is used by the startup in order to initialize the .data secion */
- _sidata = .;
- } > ROM
- __exidx_end = .;
-
- /* .data section which is used for initialized data */
-
- .data : AT (_sidata)
- {
- . = ALIGN(4);
- /* This is used by the startup in order to initialize the .data secion */
- _sdata = . ;
-
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d*)
-
- PROVIDE(__dtors_start__ = .);
- KEEP(*(SORT(.dtors.*)))
- KEEP(*(.dtors))
- PROVIDE(__dtors_end__ = .);
-
- . = ALIGN(4);
- /* This is used by the startup in order to initialize the .data secion */
- _edata = . ;
- } >RAM
-
- .stack :
- {
- . = ALIGN(4);
- _sstack = .;
- . = . + _system_stack_size;
- . = ALIGN(4);
- _estack = .;
- } >RAM
-
- __bss_start = .;
- .bss :
- {
- . = ALIGN(4);
- /* This is used by the startup in order to initialize the .bss secion */
- _sbss = .;
-
- *(.bss)
- *(.bss.*)
- *(COMMON)
-
- . = ALIGN(4);
- /* This is used by the startup in order to initialize the .bss secion */
- _ebss = . ;
-
- *(.bss.init)
- } > RAM
- __bss_end = .;
-
- _end = .;
-
- /* Stabs debugging sections. */
- .stab 0 : { *(.stab) }
- .stabstr 0 : { *(.stabstr) }
- .stab.excl 0 : { *(.stab.excl) }
- .stab.exclstr 0 : { *(.stab.exclstr) }
- .stab.index 0 : { *(.stab.index) }
- .stab.indexstr 0 : { *(.stab.indexstr) }
- .comment 0 : { *(.comment) }
- /* DWARF debug sections.
- * Symbols in the DWARF debugging sections are relative to the beginning
- * of the section so we begin them at 0. */
- /* DWARF 1 */
- .debug 0 : { *(.debug) }
- .line 0 : { *(.line) }
- /* GNU DWARF 1 extensions */
- .debug_srcinfo 0 : { *(.debug_srcinfo) }
- .debug_sfnames 0 : { *(.debug_sfnames) }
- /* DWARF 1.1 and DWARF 2 */
- .debug_aranges 0 : { *(.debug_aranges) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- /* DWARF 2 */
- .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_line 0 : { *(.debug_line) }
- .debug_frame 0 : { *(.debug_frame) }
- .debug_str 0 : { *(.debug_str) }
- .debug_loc 0 : { *(.debug_loc) }
- .debug_macinfo 0 : { *(.debug_macinfo) }
- /* SGI/MIPS DWARF 2 extensions */
- .debug_weaknames 0 : { *(.debug_weaknames) }
- .debug_funcnames 0 : { *(.debug_funcnames) }
- .debug_typenames 0 : { *(.debug_typenames) }
- .debug_varnames 0 : { *(.debug_varnames) }
-}
diff --git a/bsp/stm32/stm32h743-armfly-V7/board/linker_scripts/link.sct b/bsp/stm32/stm32h743-armfly-V7/board/linker_scripts/link.sct
deleted file mode 100644
index addcd72e5c..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/board/linker_scripts/link.sct
+++ /dev/null
@@ -1,15 +0,0 @@
-; *************************************************************
-; *** Scatter-Loading Description File generated by uVision ***
-; *************************************************************
-
-LR_IROM1 0x08000000 0x00200000 { ; load region size_region
- ER_IROM1 0x08000000 0x00200000 { ; load address = execution address
- *.o (RESET, +First)
- *(InRoot$$Sections)
- .ANY (+RO)
- }
- RW_IRAM1 0x24000000 0x00080000 { ; RW data
- .ANY (+RW +ZI)
- }
-}
-
diff --git a/bsp/stm32/stm32h743-armfly-V7/figures/board.jpg b/bsp/stm32/stm32h743-armfly-V7/figures/board.jpg
deleted file mode 100644
index 8276e9b381..0000000000
Binary files a/bsp/stm32/stm32h743-armfly-V7/figures/board.jpg and /dev/null differ
diff --git a/bsp/stm32/stm32h743-armfly-V7/project.ewp b/bsp/stm32/stm32h743-armfly-V7/project.ewp
deleted file mode 100644
index 7f2af9107c..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/project.ewp
+++ /dev/null
@@ -1,2341 +0,0 @@
-
- 3
-
- rtthread
-
- ARM
-
- 1
-
- General
- 3
-
- 31
- 1
- 1
-
- ExePath
- build\iar\Exe
-
-
- ObjPath
- build\iar\Obj
-
-
- ListPath
- build\iar\List
-
-
- GEndianMode
- 0
-
-
- Input description
- Automatic choice of formatter, without multibyte support.
-
-
- Output description
- Automatic choice of formatter, without multibyte support.
-
-
- GOutputBinary
- 0
-
-
- OGCoreOrChip
- 1
-
-
- GRuntimeLibSelect
- 0
- 1
-
-
- GRuntimeLibSelectSlave
- 0
- 1
-
-
- RTDescription
- Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.
-
-
- OGProductVersion
- 6.30.6.53380
-
-
- OGLastSavedByProductVersion
- 8.30.1.17146
-
-
- GeneralEnableMisra
- 0
-
-
- GeneralMisraVerbose
- 0
-
-
- OGChipSelectEditMenu
- STM32H743II ST STM32H743II
-
-
- GenLowLevelInterface
- 1
-
-
- GEndianModeBE
- 1
-
-
- OGBufferedTerminalOutput
- 0
-
-
- GenStdoutInterface
- 0
-
-
- GeneralMisraRules98
- 0
- 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
-
-
- GeneralMisraVer
- 0
-
-
- GeneralMisraRules04
- 0
- 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
-
-
- RTConfigPath2
- $TOOLKIT_DIR$\inc\c\DLib_Config_Normal.h
-
-
- GBECoreSlave
- 26
- 41
-
-
- OGUseCmsis
- 0
-
-
- OGUseCmsisDspLib
- 0
-
-
- GRuntimeLibThreads
- 0
-
-
- CoreVariant
- 26
- 41
-
-
- GFPUDeviceSlave
- STM32H743II ST STM32H743II
-
-
- FPU2
- 0
- 0
-
-
- NrRegs
- 0
- 0
-
-
- NEON
- 0
-
-
- GFPUCoreSlave2
- 26
- 41
-
-
- OGCMSISPackSelectDevice
-
-
- OgLibHeap
- 0
-
-
- OGLibAdditionalLocale
- 0
-
-
- OGPrintfVariant
- 0
- 0
-
-
- OGPrintfMultibyteSupport
- 0
-
-
- OGScanfVariant
- 0
- 0
-
-
- OGScanfMultibyteSupport
- 0
-
-
- GenLocaleTags
-
-
-
- GenLocaleDisplayOnly
-
-
-
- DSPExtension
- 1
-
-
- TrustZone
- 0
-
-
- TrustZoneModes
- 0
- 0
-
-
-
-
- ICCARM
- 2
-
- 34
- 1
- 1
-
- CCDefines
-
- RT_USING_DLIBC
- STM32H743xx
- __RTTHREAD__
- USE_HAL_DRIVER
-
-
- CCPreprocFile
- 0
-
-
- CCPreprocComments
- 0
-
-
- CCPreprocLine
- 1
-
-
- CCListCFile
- 0
-
-
- CCListCMnemonics
- 0
-
-
- CCListCMessages
- 0
-
-
- CCListAssFile
- 0
-
-
- CCListAssSource
- 0
-
-
- CCEnableRemarks
- 0
-
-
- CCDiagSuppress
-
-
-
- CCDiagRemark
-
-
-
- CCDiagWarning
-
-
-
- CCDiagError
-
-
-
- CCObjPrefix
- 1
-
-
- CCAllowList
- 1
- 00000000
-
-
- CCDebugInfo
- 1
-
-
- IEndianMode
- 1
-
-
- IProcessor
- 1
-
-
- IExtraOptionsCheck
- 0
-
-
- IExtraOptions
-
-
-
- CCLangConformance
- 0
-
-
- CCSignedPlainChar
- 1
-
-
- CCRequirePrototypes
- 0
-
-
- CCDiagWarnAreErr
- 0
-
-
- CCCompilerRuntimeInfo
- 0
-
-
- IFpuProcessor
- 1
-
-
- OutputFile
- $FILE_BNAME$.o
-
-
- CCLibConfigHeader
- 1
-
-
- PreInclude
-
-
-
- CompilerMisraOverride
- 0
-
-
- CCIncludePath2
-
- $PROJ_DIR$\..\..\..\components\finsh
- $PROJ_DIR$\..\..\..\libcpu\arm\common
- $PROJ_DIR$\..\..\..\components\libc\posix\ipc
- $PROJ_DIR$\..\..\..\libcpu\arm\cortex-m7
- $PROJ_DIR$\..\..\..\components\libc\posix\io\stdio
- $PROJ_DIR$\..\..\..\components\drivers\include
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Inc
- $PROJ_DIR$\.
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\CMSIS\Include
- $PROJ_DIR$\..\libraries\HAL_Drivers\config
- $PROJ_DIR$\..\..\..\components\libc\compilers\common\extension
- $PROJ_DIR$\..\..\..\components\libc\compilers\common
- $PROJ_DIR$\..\..\..\components\libc\posix\io\poll
- $PROJ_DIR$\board\CubeMX_Config\Inc
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\CMSIS\Device\ST\STM32H7xx\Include
- $PROJ_DIR$\..\..\..\include
- $PROJ_DIR$\..\libraries\HAL_Drivers
- $PROJ_DIR$\board
-
-
- CCStdIncCheck
- 0
-
-
- CCCodeSection
- .text
-
-
- IProcessorMode2
- 1
-
-
- CCOptLevel
- 1
-
-
- CCOptStrategy
- 0
- 0
-
-
- CCOptLevelSlave
- 1
-
-
- CompilerMisraRules98
- 0
- 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
-
-
- CompilerMisraRules04
- 0
- 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
-
-
- CCPosIndRopi
- 0
-
-
- CCPosIndRwpi
- 0
-
-
- CCPosIndNoDynInit
- 0
-
-
- IccLang
- 0
-
-
- IccCDialect
- 1
-
-
- IccAllowVLA
- 0
-
-
- IccStaticDestr
- 1
-
-
- IccCppInlineSemantics
- 0
-
-
- IccCmsis
- 1
-
-
- IccFloatSemantics
- 0
-
-
- CCOptimizationNoSizeConstraints
- 0
-
-
- CCNoLiteralPool
- 0
-
-
- CCOptStrategySlave
- 0
- 0
-
-
- CCGuardCalls
- 1
-
-
- CCEncSource
- 0
-
-
- CCEncOutput
- 0
-
-
- CCEncOutputBom
- 1
-
-
- CCEncInput
- 0
-
-
- IccExceptions2
- 0
-
-
- IccRTTI2
- 0
-
-
-
-
- AARM
- 2
-
- 10
- 1
- 1
-
- AObjPrefix
- 1
-
-
- AEndian
- 1
-
-
- ACaseSensitivity
- 1
-
-
- MacroChars
- 0
- 0
-
-
- AWarnEnable
- 0
-
-
- AWarnWhat
- 0
-
-
- AWarnOne
-
-
-
- AWarnRange1
-
-
-
- AWarnRange2
-
-
-
- ADebug
- 1
-
-
- AltRegisterNames
- 0
-
-
- ADefines
-
-
-
- AList
- 0
-
-
- AListHeader
- 1
-
-
- AListing
- 1
-
-
- Includes
- 0
-
-
- MacDefs
- 0
-
-
- MacExps
- 1
-
-
- MacExec
- 0
-
-
- OnlyAssed
- 0
-
-
- MultiLine
- 0
-
-
- PageLengthCheck
- 0
-
-
- PageLength
- 80
-
-
- TabSpacing
- 8
-
-
- AXRef
- 0
-
-
- AXRefDefines
- 0
-
-
- AXRefInternal
- 0
-
-
- AXRefDual
- 0
-
-
- AProcessor
- 1
-
-
- AFpuProcessor
- 1
-
-
- AOutputFile
- $FILE_BNAME$.o
-
-
- ALimitErrorsCheck
- 0
-
-
- ALimitErrorsEdit
- 100
-
-
- AIgnoreStdInclude
- 0
-
-
- AUserIncludes
-
-
-
- AExtraOptionsCheckV2
- 0
-
-
- AExtraOptionsV2
-
-
-
- AsmNoLiteralPool
- 0
-
-
-
-
- OBJCOPY
- 0
-
- 1
- 1
- 1
-
- OOCOutputFormat
- 3
- 3
-
-
- OCOutputOverride
- 1
-
-
- OOCOutputFile
- ../../../rtthread.bin
-
-
- OOCCommandLineProducer
- 1
-
-
- OOCObjCopyEnable
- 1
-
-
-
-
- CUSTOM
- 3
-
-
-
- 0
-
-
-
- BICOMP
- 0
-
-
-
- BUILDACTION
- 1
-
-
-
-
-
-
- ILINK
- 0
-
- 21
- 1
- 1
-
- IlinkLibIOConfig
- 1
-
-
- XLinkMisraHandler
- 0
-
-
- IlinkInputFileSlave
- 0
-
-
- IlinkOutputFile
- template.out
-
-
- IlinkDebugInfoEnable
- 1
-
-
- IlinkKeepSymbols
-
-
-
- IlinkRawBinaryFile
-
-
-
- IlinkRawBinarySymbol
-
-
-
- IlinkRawBinarySegment
-
-
-
- IlinkRawBinaryAlign
-
-
-
- IlinkDefines
-
-
-
- IlinkConfigDefines
-
-
-
- IlinkMapFile
- 1
-
-
- IlinkLogFile
- 0
-
-
- IlinkLogInitialization
- 0
-
-
- IlinkLogModule
- 0
-
-
- IlinkLogSection
- 0
-
-
- IlinkLogVeneer
- 0
-
-
- IlinkIcfOverride
- 0
-
-
- IlinkIcfFile
- $TOOLKIT_DIR$\config\linker\ST\stm32h743xI.icf
-
-
- IlinkIcfFileSlave
-
-
-
- IlinkEnableRemarks
- 0
-
-
- IlinkSuppressDiags
-
-
-
- IlinkTreatAsRem
-
-
-
- IlinkTreatAsWarn
-
-
-
- IlinkTreatAsErr
-
-
-
- IlinkWarningsAreErrors
- 0
-
-
- IlinkUseExtraOptions
- 0
-
-
- IlinkExtraOptions
-
-
-
- IlinkLowLevelInterfaceSlave
- 1
-
-
- IlinkAutoLibEnable
- 1
-
-
- IlinkAdditionalLibs
-
-
-
- IlinkOverrideProgramEntryLabel
- 0
-
-
- IlinkProgramEntryLabelSelect
- 0
-
-
- IlinkProgramEntryLabel
- __iar_program_start
-
-
- DoFill
- 0
-
-
- FillerByte
- 0xFF
-
-
- FillerStart
- 0x0
-
-
- FillerEnd
- 0x0
-
-
- CrcSize
- 0
- 1
-
-
- CrcAlign
- 1
-
-
- CrcPoly
- 0x11021
-
-
- CrcCompl
- 0
- 0
-
-
- CrcBitOrder
- 0
- 0
-
-
- CrcInitialValue
- 0x0
-
-
- DoCrc
- 0
-
-
- IlinkBE8Slave
- 1
-
-
- IlinkBufferedTerminalOutput
- 1
-
-
- IlinkStdoutInterfaceSlave
- 1
-
-
- CrcFullSize
- 0
-
-
- IlinkIElfToolPostProcess
- 0
-
-
- IlinkLogAutoLibSelect
- 0
-
-
- IlinkLogRedirSymbols
- 0
-
-
- IlinkLogUnusedFragments
- 0
-
-
- IlinkCrcReverseByteOrder
- 0
-
-
- IlinkCrcUseAsInput
- 1
-
-
- IlinkOptInline
- 0
-
-
- IlinkOptExceptionsAllow
- 1
-
-
- IlinkOptExceptionsForce
- 0
-
-
- IlinkCmsis
- 1
-
-
- IlinkOptMergeDuplSections
- 0
-
-
- IlinkOptUseVfe
- 1
-
-
- IlinkOptForceVfe
- 0
-
-
- IlinkStackAnalysisEnable
- 0
-
-
- IlinkStackControlFile
-
-
-
- IlinkStackCallGraphFile
-
-
-
- CrcAlgorithm
- 1
- 1
-
-
- CrcUnitSize
- 0
- 0
-
-
- IlinkThreadsSlave
- 1
-
-
- IlinkLogCallGraph
- 0
-
-
- IlinkIcfFile_AltDefault
-
-
-
- IlinkEncInput
- 0
-
-
- IlinkEncOutput
- 0
-
-
- IlinkEncOutputBom
- 1
-
-
- IlinkHeapSelect
- 1
-
-
- IlinkLocaleSelect
- 1
-
-
- IlinkTrustzoneImportLibraryOut
- template_import_lib.o
-
-
-
-
- IARCHIVE
- 0
-
- 0
- 1
- 1
-
- IarchiveInputs
-
-
-
- IarchiveOverride
- 0
-
-
- IarchiveOutput
- ###Unitialized###
-
-
-
-
- BILINK
- 0
-
-
-
-
- Release
-
- ARM
-
- 0
-
- General
- 3
-
- 31
- 1
- 0
-
- ExePath
- Release\Exe
-
-
- ObjPath
- Release\Obj
-
-
- ListPath
- Release\List
-
-
- GEndianMode
- 0
-
-
- Input description
-
-
-
- Output description
-
-
-
- GOutputBinary
- 0
-
-
- OGCoreOrChip
- 0
-
-
- GRuntimeLibSelect
- 0
- 1
-
-
- GRuntimeLibSelectSlave
- 0
- 1
-
-
- RTDescription
-
-
-
- OGProductVersion
- 6.30.6.53380
-
-
- OGLastSavedByProductVersion
- 8.11.3.13977
-
-
- GeneralEnableMisra
- 0
-
-
- GeneralMisraVerbose
- 0
-
-
- OGChipSelectEditMenu
- Default None
-
-
- GenLowLevelInterface
- 0
-
-
- GEndianModeBE
- 0
-
-
- OGBufferedTerminalOutput
- 0
-
-
- GenStdoutInterface
- 0
-
-
- GeneralMisraRules98
- 0
- 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
-
-
- GeneralMisraVer
- 0
-
-
- GeneralMisraRules04
- 0
- 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
-
-
- RTConfigPath2
-
-
-
- GBECoreSlave
- 26
- 1
-
-
- OGUseCmsis
- 0
-
-
- OGUseCmsisDspLib
- 0
-
-
- GRuntimeLibThreads
- 0
-
-
- CoreVariant
- 26
- 0
-
-
- GFPUDeviceSlave
- Default None
-
-
- FPU2
- 0
- 0
-
-
- NrRegs
- 0
- 0
-
-
- NEON
- 0
-
-
- GFPUCoreSlave2
- 26
- 0
-
-
- OGCMSISPackSelectDevice
-
-
- OgLibHeap
- 0
-
-
- OGLibAdditionalLocale
- 0
-
-
- OGPrintfVariant
- 0
- 0
-
-
- OGPrintfMultibyteSupport
- 0
-
-
- OGScanfVariant
- 0
- 0
-
-
- OGScanfMultibyteSupport
- 0
-
-
- GenLocaleTags
-
-
-
- GenLocaleDisplayOnly
-
-
-
- DSPExtension
- 0
-
-
- TrustZone
- 0
-
-
- TrustZoneModes
- 0
- 0
-
-
-
-
- ICCARM
- 2
-
- 34
- 1
- 0
-
- CCDefines
- NDEBUG
- RT_USING_DLIBC
- STM32H743xx
- __RTTHREAD__
- USE_HAL_DRIVER
-
-
- CCPreprocFile
- 0
-
-
- CCPreprocComments
- 0
-
-
- CCPreprocLine
- 1
-
-
- CCListCFile
- 0
-
-
- CCListCMnemonics
- 0
-
-
- CCListCMessages
- 0
-
-
- CCListAssFile
- 0
-
-
- CCListAssSource
- 0
-
-
- CCEnableRemarks
- 0
-
-
- CCDiagSuppress
-
-
-
- CCDiagRemark
-
-
-
- CCDiagWarning
-
-
-
- CCDiagError
-
-
-
- CCObjPrefix
- 1
-
-
- CCAllowList
- 1
- 11111110
-
-
- CCDebugInfo
- 0
-
-
- IEndianMode
- 1
-
-
- IProcessor
- 1
-
-
- IExtraOptionsCheck
- 0
-
-
- IExtraOptions
-
-
-
- CCLangConformance
- 0
-
-
- CCSignedPlainChar
- 1
-
-
- CCRequirePrototypes
- 0
-
-
- CCDiagWarnAreErr
- 0
-
-
- CCCompilerRuntimeInfo
- 0
-
-
- IFpuProcessor
- 1
-
-
- OutputFile
-
-
-
- CCLibConfigHeader
- 1
-
-
- PreInclude
-
-
-
- CompilerMisraOverride
- 0
-
-
- CCIncludePath2
-
- $PROJ_DIR$\..\..\..\components\finsh
- $PROJ_DIR$\..\..\..\libcpu\arm\common
- $PROJ_DIR$\..\..\..\components\libc\posix\ipc
- $PROJ_DIR$\..\..\..\libcpu\arm\cortex-m7
- $PROJ_DIR$\..\..\..\components\libc\posix\io\stdio
- $PROJ_DIR$\..\..\..\components\drivers\include
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Inc
- $PROJ_DIR$\.
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\CMSIS\Include
- $PROJ_DIR$\..\libraries\HAL_Drivers\config
- $PROJ_DIR$\..\..\..\components\libc\compilers\common\extension
- $PROJ_DIR$\..\..\..\components\libc\compilers\common
- $PROJ_DIR$\..\..\..\components\libc\posix\io\poll
- $PROJ_DIR$\board\CubeMX_Config\Inc
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\CMSIS\Device\ST\STM32H7xx\Include
- $PROJ_DIR$\..\..\..\include
- $PROJ_DIR$\..\libraries\HAL_Drivers
- $PROJ_DIR$\board
-
-
- CCStdIncCheck
- 0
-
-
- CCCodeSection
- .text
-
-
- IProcessorMode2
- 1
-
-
- CCOptLevel
- 3
-
-
- CCOptStrategy
- 0
- 0
-
-
- CCOptLevelSlave
- 1
-
-
- CompilerMisraRules98
- 0
- 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
-
-
- CompilerMisraRules04
- 0
- 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
-
-
- CCPosIndRopi
- 0
-
-
- CCPosIndRwpi
- 0
-
-
- CCPosIndNoDynInit
- 0
-
-
- IccLang
- 0
-
-
- IccCDialect
- 1
-
-
- IccAllowVLA
- 0
-
-
- IccStaticDestr
- 1
-
-
- IccCppInlineSemantics
- 0
-
-
- IccCmsis
- 1
-
-
- IccFloatSemantics
- 0
-
-
- CCOptimizationNoSizeConstraints
- 0
-
-
- CCNoLiteralPool
- 0
-
-
- CCOptStrategySlave
- 0
- 0
-
-
- CCGuardCalls
- 1
-
-
- CCEncSource
- 0
-
-
- CCEncOutput
- 0
-
-
- CCEncOutputBom
- 1
-
-
- CCEncInput
- 0
-
-
- IccExceptions2
- 0
-
-
- IccRTTI2
- 0
-
-
-
-
- AARM
- 2
-
- 10
- 1
- 0
-
- AObjPrefix
- 1
-
-
- AEndian
- 1
-
-
- ACaseSensitivity
- 1
-
-
- MacroChars
- 0
- 0
-
-
- AWarnEnable
- 0
-
-
- AWarnWhat
- 0
-
-
- AWarnOne
-
-
-
- AWarnRange1
-
-
-
- AWarnRange2
-
-
-
- ADebug
- 0
-
-
- AltRegisterNames
- 0
-
-
- ADefines
-
-
-
- AList
- 0
-
-
- AListHeader
- 1
-
-
- AListing
- 1
-
-
- Includes
- 0
-
-
- MacDefs
- 0
-
-
- MacExps
- 1
-
-
- MacExec
- 0
-
-
- OnlyAssed
- 0
-
-
- MultiLine
- 0
-
-
- PageLengthCheck
- 0
-
-
- PageLength
- 80
-
-
- TabSpacing
- 8
-
-
- AXRef
- 0
-
-
- AXRefDefines
- 0
-
-
- AXRefInternal
- 0
-
-
- AXRefDual
- 0
-
-
- AProcessor
- 1
-
-
- AFpuProcessor
- 1
-
-
- AOutputFile
-
-
-
- ALimitErrorsCheck
- 0
-
-
- ALimitErrorsEdit
- 100
-
-
- AIgnoreStdInclude
- 0
-
-
- AUserIncludes
-
-
-
- AExtraOptionsCheckV2
- 0
-
-
- AExtraOptionsV2
-
-
-
- AsmNoLiteralPool
- 0
-
-
-
-
- OBJCOPY
- 0
-
- 1
- 1
- 0
-
- OOCOutputFormat
- 3
- 0
-
-
- OCOutputOverride
- 0
-
-
- OOCOutputFile
-
-
-
- OOCCommandLineProducer
- 1
-
-
- OOCObjCopyEnable
- 0
-
-
-
-
- CUSTOM
- 3
-
-
-
- 0
-
-
-
- BICOMP
- 0
-
-
-
- BUILDACTION
- 1
-
-
-
-
-
-
- ILINK
- 0
-
- 21
- 1
- 0
-
- IlinkLibIOConfig
- 1
-
-
- XLinkMisraHandler
- 0
-
-
- IlinkInputFileSlave
- 0
-
-
- IlinkOutputFile
- ###Unitialized###
-
-
- IlinkDebugInfoEnable
- 1
-
-
- IlinkKeepSymbols
-
-
-
- IlinkRawBinaryFile
-
-
-
- IlinkRawBinarySymbol
-
-
-
- IlinkRawBinarySegment
-
-
-
- IlinkRawBinaryAlign
-
-
-
- IlinkDefines
-
-
-
- IlinkConfigDefines
-
-
-
- IlinkMapFile
- 1
-
-
- IlinkLogFile
- 0
-
-
- IlinkLogInitialization
- 0
-
-
- IlinkLogModule
- 0
-
-
- IlinkLogSection
- 0
-
-
- IlinkLogVeneer
- 0
-
-
- IlinkIcfOverride
- 0
-
-
- IlinkIcfFile
- lnk0t.icf
-
-
- IlinkIcfFileSlave
-
-
-
- IlinkEnableRemarks
- 0
-
-
- IlinkSuppressDiags
-
-
-
- IlinkTreatAsRem
-
-
-
- IlinkTreatAsWarn
-
-
-
- IlinkTreatAsErr
-
-
-
- IlinkWarningsAreErrors
- 0
-
-
- IlinkUseExtraOptions
- 0
-
-
- IlinkExtraOptions
-
-
-
- IlinkLowLevelInterfaceSlave
- 1
-
-
- IlinkAutoLibEnable
- 1
-
-
- IlinkAdditionalLibs
-
-
-
- IlinkOverrideProgramEntryLabel
- 0
-
-
- IlinkProgramEntryLabelSelect
- 0
-
-
- IlinkProgramEntryLabel
-
-
-
- DoFill
- 0
-
-
- FillerByte
- 0xFF
-
-
- FillerStart
- 0x0
-
-
- FillerEnd
- 0x0
-
-
- CrcSize
- 0
- 1
-
-
- CrcAlign
- 1
-
-
- CrcPoly
- 0x11021
-
-
- CrcCompl
- 0
- 0
-
-
- CrcBitOrder
- 0
- 0
-
-
- CrcInitialValue
- 0x0
-
-
- DoCrc
- 0
-
-
- IlinkBE8Slave
- 1
-
-
- IlinkBufferedTerminalOutput
- 1
-
-
- IlinkStdoutInterfaceSlave
- 1
-
-
- CrcFullSize
- 0
-
-
- IlinkIElfToolPostProcess
- 0
-
-
- IlinkLogAutoLibSelect
- 0
-
-
- IlinkLogRedirSymbols
- 0
-
-
- IlinkLogUnusedFragments
- 0
-
-
- IlinkCrcReverseByteOrder
- 0
-
-
- IlinkCrcUseAsInput
- 1
-
-
- IlinkOptInline
- 1
-
-
- IlinkOptExceptionsAllow
- 1
-
-
- IlinkOptExceptionsForce
- 0
-
-
- IlinkCmsis
- 1
-
-
- IlinkOptMergeDuplSections
- 0
-
-
- IlinkOptUseVfe
- 1
-
-
- IlinkOptForceVfe
- 0
-
-
- IlinkStackAnalysisEnable
- 0
-
-
- IlinkStackControlFile
-
-
-
- IlinkStackCallGraphFile
-
-
-
- CrcAlgorithm
- 1
- 1
-
-
- CrcUnitSize
- 0
- 0
-
-
- IlinkThreadsSlave
- 1
-
-
- IlinkLogCallGraph
- 0
-
-
- IlinkIcfFile_AltDefault
-
-
-
- IlinkEncInput
- 0
-
-
- IlinkEncOutput
- 0
-
-
- IlinkEncOutputBom
- 1
-
-
- IlinkHeapSelect
- 1
-
-
- IlinkLocaleSelect
- 1
-
-
- IlinkTrustzoneImportLibraryOut
- ###Unitialized###
-
-
-
-
- IARCHIVE
- 0
-
- 0
- 1
- 0
-
- IarchiveInputs
-
-
-
- IarchiveOverride
- 0
-
-
- IarchiveOutput
- ###Unitialized###
-
-
-
-
- BILINK
- 0
-
-
-
-
- Applications
-
- $PROJ_DIR$\applications\main.c
-
-
-
- Compiler
-
- $PROJ_DIR$\..\..\..\components\libc\compilers\common\time.c
-
-
- $PROJ_DIR$\..\..\..\components\libc\compilers\common\stdlib.c
-
-
- $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_lseek.c
-
-
- $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_mem.c
-
-
- $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_remove.c
-
-
- $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\environ.c
-
-
- $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_read.c
-
-
- $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_write.c
-
-
- $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_open.c
-
-
- $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscalls.c
-
-
- $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_close.c
-
-
-
- CPU
-
- $PROJ_DIR$\..\..\..\libcpu\arm\common\div0.c
-
-
- $PROJ_DIR$\..\..\..\libcpu\arm\common\showmem.c
-
-
- $PROJ_DIR$\..\..\..\libcpu\arm\common\backtrace.c
-
-
- $PROJ_DIR$\..\..\..\libcpu\arm\cortex-m7\cpu_cache.c
-
-
- $PROJ_DIR$\..\..\..\libcpu\arm\cortex-m7\cpuport.c
-
-
- $PROJ_DIR$\..\..\..\libcpu\arm\cortex-m7\context_iar.S
-
-
-
- DeviceDrivers
-
- $PROJ_DIR$\..\..\..\components\drivers\ipc\pipe.c
-
-
- $PROJ_DIR$\..\..\..\components\drivers\ipc\workqueue.c
-
-
- $PROJ_DIR$\..\..\..\components\drivers\ipc\waitqueue.c
-
-
- $PROJ_DIR$\..\..\..\components\drivers\ipc\ringbuffer.c
-
-
- $PROJ_DIR$\..\..\..\components\drivers\ipc\completion.c
-
-
- $PROJ_DIR$\..\..\..\components\drivers\ipc\dataqueue.c
-
-
- $PROJ_DIR$\..\..\..\components\drivers\ipc\ringblk_buf.c
-
-
- $PROJ_DIR$\..\..\..\components\drivers\misc\pin.c
-
-
- $PROJ_DIR$\..\..\..\components\drivers\serial\serial.c
-
-
-
- Drivers
-
- $PROJ_DIR$\board\CubeMX_Config\Src\stm32h7xx_hal_msp.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\CMSIS\Device\ST\STM32H7xx\Source\Templates\iar\startup_stm32h743xx.s
-
-
- $PROJ_DIR$\board\board.c
-
-
- $PROJ_DIR$\..\libraries\HAL_Drivers\drv_gpio.c
-
-
- $PROJ_DIR$\..\libraries\HAL_Drivers\drv_usart.c
-
-
- $PROJ_DIR$\..\libraries\HAL_Drivers\drv_common.c
-
-
-
- Finsh
-
- $PROJ_DIR$\..\..\..\components\finsh\shell.c
-
-
- $PROJ_DIR$\..\..\..\components\finsh\msh.c
-
-
- $PROJ_DIR$\..\..\..\components\finsh\cmd.c
-
-
-
- Kernel
-
- $PROJ_DIR$\..\..\..\src\scheduler.c
-
-
- $PROJ_DIR$\..\..\..\src\mem.c
-
-
- $PROJ_DIR$\..\..\..\src\components.c
-
-
- $PROJ_DIR$\..\..\..\src\thread.c
-
-
- $PROJ_DIR$\..\..\..\src\kservice.c
-
-
- $PROJ_DIR$\..\..\..\src\timer.c
-
-
- $PROJ_DIR$\..\..\..\src\ipc.c
-
-
- $PROJ_DIR$\..\..\..\src\mempool.c
-
-
- $PROJ_DIR$\..\..\..\src\irq.c
-
-
- $PROJ_DIR$\..\..\..\src\clock.c
-
-
- $PROJ_DIR$\..\..\..\src\idle.c
-
-
- $PROJ_DIR$\..\..\..\src\device.c
-
-
- $PROJ_DIR$\..\..\..\src\object.c
-
-
-
- Libraries
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rcc.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pwr.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rcc_ex.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sram.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cortex.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cryp_ex.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dma_ex.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cryp.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_usart.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_crc_ex.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_gpio.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_uart_ex.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_mdma.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dma.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_uart.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_comp.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rng.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_crc.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cec.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pwr_ex.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\CMSIS\Device\ST\STM32H7xx\Source\Templates\system_stm32h7xx.c
-
-
-
- POSIX
-
-
diff --git a/bsp/stm32/stm32h743-armfly-V7/project.eww b/bsp/stm32/stm32h743-armfly-V7/project.eww
deleted file mode 100644
index c2cb02eb1e..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/project.eww
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
- $WS_DIR$\project.ewp
-
-
-
-
-
diff --git a/bsp/stm32/stm32h743-armfly-V7/project.uvoptx b/bsp/stm32/stm32h743-armfly-V7/project.uvoptx
deleted file mode 100644
index 703cc4de47..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/project.uvoptx
+++ /dev/null
@@ -1,183 +0,0 @@
-
-
-
- 1.0
-
- ### uVision Project, (C) Keil Software
-
-
- *.c
- *.s*; *.src; *.a*
- *.obj; *.o
- *.lib
- *.txt; *.h; *.inc
- *.plm
- *.cpp
- 0
-
-
-
- 0
- 0
-
-
-
- rtthread
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
- 0
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\build\keil\List\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 1
-
- 18
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 0
- 0
- 4
-
-
-
-
-
-
-
-
-
-
- Segger\JL2CM3.dll
-
-
-
- 0
- JL2CM3
- -U59403418 -O78 -S2 -ZTIFSpeedSel5000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -TO18 -TC10000000 -TP21 -TDS8001 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC8000 -FN1 -FF0STM32H7x_2048.FLM -FS08000000 -FL0200000 -FP0($$Device:STM32H743XIHx$CMSIS\Flash\STM32H7x_2048.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 ) -FN1 -FC8000 -FD20000000 -FF0STM32H7x_2048 -FL0200000 -FS08000000 -FP0($$Device:STM32H743XIHx$CMSIS\Flash\STM32H7x_2048.FLM)
-
-
-
-
- 0
-
-
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
-
- 1
- 0
- 2
- 10000000
-
-
-
-
-
diff --git a/bsp/stm32/stm32h743-armfly-V7/project.uvprojx b/bsp/stm32/stm32h743-armfly-V7/project.uvprojx
deleted file mode 100644
index 519dd2bde9..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/project.uvprojx
+++ /dev/null
@@ -1,858 +0,0 @@
-
-
- 2.1
- ### uVision Project, (C) Keil Software
-
-
- rtthread
- 0x4
- ARM-ADS
- 5060750::V5.06 update 6 (build 750)::ARMCC
- 0
-
-
- STM32H743XIHx
- STMicroelectronics
- Keil.STM32H7xx_DFP.2.5.0
- https://www.keil.com/pack/
- IRAM(0x20000000,0x00020000) IRAM2(0x24000000,0x00080000) IROM(0x08000000,0x00100000) IROM2(0x08100000,0x00100000) XRAM(0x30000000,0x00048000) XRAM2(0x38000000,0x00010000) CPUTYPE("Cortex-M7") FPU3(DFPU) CLOCK(12000000) ELITTLE
-
-
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC8000 -FN1 -FF0STM32H7x_2048 -FS08000000 -FL0200000 -FP0($$Device:STM32H743XIHx$CMSIS\Flash\STM32H7x_2048.FLM))
- 0
- $$Device:STM32H743XIHx$Drivers\CMSIS\Device\ST\STM32H7xx\Include\stm32h7xx.h
-
-
-
-
-
-
-
-
-
- $$Device:STM32H743XIHx$CMSIS\SVD\STM32H743.svd
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
- 0
- 1
-
- .\build\keil\Obj\
- rt-thread
- 1
- 0
- 0
- 1
- 1
- .\build\keil\List\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 1
- 0
- fromelf --bin !L --output rtthread.bin
-
- 0
- 0
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -REMAP -MPU
- DCM.DLL
- -pCM7
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM7
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4096
-
- 1
- BIN\UL2CM3.DLL
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M7"
-
- 0
- 0
- 0
- 1
- 1
- 1
- 0
- 3
- 1
- 1
- 8
- 0
- 0
- 0
- 0
- 4
- 4
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 1
- 1
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0x20000
-
-
- 1
- 0x8000000
- 0x100000
-
-
- 1
- 0x30000000
- 0x48000
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x100000
-
-
- 1
- 0x8100000
- 0x100000
-
-
- 0
- 0x30000000
- 0x48000
-
-
- 0
- 0x38000000
- 0x10000
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0x20000
-
-
- 0
- 0x24000000
- 0x80000
-
-
-
-
-
- 1
- 1
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 2
- 0
- 0
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 0
- 0
- 0
-
-
- USE_HAL_DRIVER, __RTTHREAD__, STM32H743xx, RT_USING_ARM_LIBC, __CLK_TCK=RT_TICK_PER_SECOND
-
- ..\..\..\components\libc\compilers\common;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m7;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;board\CubeMX_Config\Inc;..\libraries\HAL_Drivers;..\libraries\HAL_Drivers\config;..\..\..\components\finsh;.;..\..\..\include;..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Inc;..\libraries\STM32H7xx_HAL\CMSIS\Device\ST\STM32H7xx\Include;..\libraries\STM32H7xx_HAL\CMSIS\Include;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\io\stdio;..\..\..\components\libc\posix\ipc
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 0
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
- .\board\linker_scripts\link.sct
-
-
-
-
-
-
-
-
-
-
- Applications
-
-
- main.c
- 1
- applications\main.c
-
-
-
-
- Compiler
-
-
- syscall_mem.c
- 1
- ..\..\..\components\libc\compilers\armlibc\syscall_mem.c
-
-
-
-
- syscalls.c
- 1
- ..\..\..\components\libc\compilers\armlibc\syscalls.c
-
-
-
-
- time.c
- 1
- ..\..\..\components\libc\compilers\common\time.c
-
-
-
-
- stdlib.c
- 1
- ..\..\..\components\libc\compilers\common\stdlib.c
-
-
-
-
- CPU
-
-
- showmem.c
- 1
- ..\..\..\libcpu\arm\common\showmem.c
-
-
-
-
- div0.c
- 1
- ..\..\..\libcpu\arm\common\div0.c
-
-
-
-
- backtrace.c
- 1
- ..\..\..\libcpu\arm\common\backtrace.c
-
-
-
-
- cpu_cache.c
- 1
- ..\..\..\libcpu\arm\cortex-m7\cpu_cache.c
-
-
-
-
- cpuport.c
- 1
- ..\..\..\libcpu\arm\cortex-m7\cpuport.c
-
-
-
-
- context_rvds.S
- 2
- ..\..\..\libcpu\arm\cortex-m7\context_rvds.S
-
-
-
-
- DeviceDrivers
-
-
- completion.c
- 1
- ..\..\..\components\drivers\ipc\completion.c
-
-
-
-
- pipe.c
- 1
- ..\..\..\components\drivers\ipc\pipe.c
-
-
-
-
- dataqueue.c
- 1
- ..\..\..\components\drivers\ipc\dataqueue.c
-
-
-
-
- ringbuffer.c
- 1
- ..\..\..\components\drivers\ipc\ringbuffer.c
-
-
-
-
- workqueue.c
- 1
- ..\..\..\components\drivers\ipc\workqueue.c
-
-
-
-
- waitqueue.c
- 1
- ..\..\..\components\drivers\ipc\waitqueue.c
-
-
-
-
- ringblk_buf.c
- 1
- ..\..\..\components\drivers\ipc\ringblk_buf.c
-
-
-
-
- pin.c
- 1
- ..\..\..\components\drivers\misc\pin.c
-
-
-
-
- serial.c
- 1
- ..\..\..\components\drivers\serial\serial.c
-
-
-
-
- Drivers
-
-
- startup_stm32h743xx.s
- 2
- ..\libraries\STM32H7xx_HAL\CMSIS\Device\ST\STM32H7xx\Source\Templates\arm\startup_stm32h743xx.s
-
-
-
-
- stm32h7xx_hal_msp.c
- 1
- board\CubeMX_Config\Src\stm32h7xx_hal_msp.c
-
-
-
-
- board.c
- 1
- board\board.c
-
-
-
-
- drv_gpio.c
- 1
- ..\libraries\HAL_Drivers\drv_gpio.c
-
-
-
-
- drv_usart.c
- 1
- ..\libraries\HAL_Drivers\drv_usart.c
-
-
-
-
- drv_common.c
- 1
- ..\libraries\HAL_Drivers\drv_common.c
-
-
-
-
- Finsh
-
-
- shell.c
- 1
- ..\..\..\components\finsh\shell.c
-
-
-
-
- msh.c
- 1
- ..\..\..\components\finsh\msh.c
-
-
-
-
- cmd.c
- 1
- ..\..\..\components\finsh\cmd.c
-
-
-
-
- Kernel
-
-
- ipc.c
- 1
- ..\..\..\src\ipc.c
-
-
-
-
- device.c
- 1
- ..\..\..\src\device.c
-
-
-
-
- mempool.c
- 1
- ..\..\..\src\mempool.c
-
-
-
-
- kservice.c
- 1
- ..\..\..\src\kservice.c
-
-
-
-
- thread.c
- 1
- ..\..\..\src\thread.c
-
-
-
-
- idle.c
- 1
- ..\..\..\src\idle.c
-
-
-
-
- timer.c
- 1
- ..\..\..\src\timer.c
-
-
-
-
- scheduler.c
- 1
- ..\..\..\src\scheduler.c
-
-
-
-
- mem.c
- 1
- ..\..\..\src\mem.c
-
-
-
-
- object.c
- 1
- ..\..\..\src\object.c
-
-
-
-
- clock.c
- 1
- ..\..\..\src\clock.c
-
-
-
-
- components.c
- 1
- ..\..\..\src\components.c
-
-
-
-
- irq.c
- 1
- ..\..\..\src\irq.c
-
-
-
-
- Libraries
-
-
- stm32h7xx_hal_rcc.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rcc.c
-
-
-
-
- stm32h7xx_hal_pwr.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pwr.c
-
-
-
-
- stm32h7xx_hal_rcc_ex.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rcc_ex.c
-
-
-
-
- stm32h7xx_hal_sram.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sram.c
-
-
-
-
- stm32h7xx_hal_cortex.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cortex.c
-
-
-
-
- stm32h7xx_hal_cryp_ex.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cryp_ex.c
-
-
-
-
- stm32h7xx_hal_dma_ex.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dma_ex.c
-
-
-
-
- stm32h7xx_hal_cryp.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cryp.c
-
-
-
-
- stm32h7xx_hal_usart.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_usart.c
-
-
-
-
- stm32h7xx_hal_crc_ex.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_crc_ex.c
-
-
-
-
- stm32h7xx_hal_gpio.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_gpio.c
-
-
-
-
- stm32h7xx_hal_uart_ex.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_uart_ex.c
-
-
-
-
- stm32h7xx_hal_mdma.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_mdma.c
-
-
-
-
- stm32h7xx_hal.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal.c
-
-
-
-
- stm32h7xx_hal_dma.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dma.c
-
-
-
-
- stm32h7xx_hal_uart.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_uart.c
-
-
-
-
- stm32h7xx_hal_comp.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_comp.c
-
-
-
-
- stm32h7xx_hal_rng.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rng.c
-
-
-
-
- stm32h7xx_hal_crc.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_crc.c
-
-
-
-
- stm32h7xx_hal_cec.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cec.c
-
-
-
-
- stm32h7xx_hal_pwr_ex.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pwr_ex.c
-
-
-
-
- system_stm32h7xx.c
- 1
- ..\libraries\STM32H7xx_HAL\CMSIS\Device\ST\STM32H7xx\Source\Templates\system_stm32h7xx.c
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/bsp/stm32/stm32h743-armfly-V7/rtconfig.h b/bsp/stm32/stm32h743-armfly-V7/rtconfig.h
deleted file mode 100644
index db11b6b784..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/rtconfig.h
+++ /dev/null
@@ -1,197 +0,0 @@
-#ifndef RT_CONFIG_H__
-#define RT_CONFIG_H__
-
-/* Automatically generated file; DO NOT EDIT. */
-/* RT-Thread Configuration */
-
-/* RT-Thread Kernel */
-
-#define RT_NAME_MAX 8
-#define RT_ALIGN_SIZE 4
-#define RT_THREAD_PRIORITY_32
-#define RT_THREAD_PRIORITY_MAX 32
-#define RT_TICK_PER_SECOND 1000
-#define RT_USING_OVERFLOW_CHECK
-#define RT_USING_HOOK
-#define RT_HOOK_USING_FUNC_PTR
-#define RT_USING_IDLE_HOOK
-#define RT_IDLE_HOOK_LIST_SIZE 4
-#define IDLE_THREAD_STACK_SIZE 256
-
-/* kservice optimization */
-
-#define RT_DEBUG
-
-/* Inter-Thread communication */
-
-#define RT_USING_SEMAPHORE
-#define RT_USING_MUTEX
-#define RT_USING_EVENT
-#define RT_USING_MAILBOX
-#define RT_USING_MESSAGEQUEUE
-
-/* Memory Management */
-
-#define RT_USING_MEMPOOL
-#define RT_USING_SMALL_MEM
-#define RT_USING_SMALL_MEM_AS_HEAP
-#define RT_USING_HEAP
-
-/* Kernel Device Object */
-
-#define RT_USING_DEVICE
-#define RT_USING_CONSOLE
-#define RT_CONSOLEBUF_SIZE 128
-#define RT_CONSOLE_DEVICE_NAME "uart1"
-#define RT_VER_NUM 0x40100
-#define ARCH_ARM
-#define RT_USING_CPU_FFS
-#define ARCH_ARM_CORTEX_M
-#define ARCH_ARM_CORTEX_M7
-
-/* RT-Thread Components */
-
-#define RT_USING_COMPONENTS_INIT
-#define RT_USING_USER_MAIN
-#define RT_MAIN_THREAD_STACK_SIZE 2048
-#define RT_MAIN_THREAD_PRIORITY 10
-#define RT_USING_MSH
-#define RT_USING_FINSH
-#define FINSH_USING_MSH
-#define FINSH_THREAD_NAME "tshell"
-#define FINSH_THREAD_PRIORITY 20
-#define FINSH_THREAD_STACK_SIZE 4096
-#define FINSH_USING_HISTORY
-#define FINSH_HISTORY_LINES 5
-#define FINSH_USING_SYMTAB
-#define FINSH_CMD_SIZE 80
-#define MSH_USING_BUILT_IN_COMMANDS
-#define FINSH_USING_DESCRIPTION
-#define FINSH_ARG_MAX 10
-
-/* Device Drivers */
-
-#define RT_USING_DEVICE_IPC
-#define RT_USING_SERIAL
-#define RT_USING_SERIAL_V1
-#define RT_SERIAL_USING_DMA
-#define RT_SERIAL_RB_BUFSZ 64
-#define RT_USING_PIN
-
-/* Using USB */
-
-
-/* C/C++ and POSIX layer */
-
-#define RT_LIBC_DEFAULT_TIMEZONE 8
-
-/* POSIX (Portable Operating System Interface) layer */
-
-
-/* Interprocess Communication (IPC) */
-
-
-/* Socket is in the 'Network' category */
-
-
-/* Network */
-
-
-/* Utilities */
-
-
-/* RT-Thread Utestcases */
-
-
-/* RT-Thread online packages */
-
-/* IoT - internet of things */
-
-
-/* Wi-Fi */
-
-/* Marvell WiFi */
-
-
-/* Wiced WiFi */
-
-
-/* IoT Cloud */
-
-
-/* security packages */
-
-
-/* language packages */
-
-/* JSON: JavaScript Object Notation, a lightweight data-interchange format */
-
-
-/* XML: Extensible Markup Language */
-
-
-/* multimedia packages */
-
-/* LVGL: powerful and easy-to-use embedded GUI library */
-
-
-/* u8g2: a monochrome graphic library */
-
-
-/* PainterEngine: A cross-platform graphics application framework written in C language */
-
-
-/* tools packages */
-
-
-/* system packages */
-
-/* enhanced kernel services */
-
-
-/* POSIX extension functions */
-
-
-/* acceleration: Assembly language or algorithmic acceleration packages */
-
-
-/* CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */
-
-
-/* Micrium: Micrium software products porting for RT-Thread */
-
-
-/* peripheral libraries and drivers */
-
-
-/* AI packages */
-
-
-/* miscellaneous packages */
-
-/* project laboratory */
-
-/* samples: kernel and components samples */
-
-
-/* entertainment: terminal games and other interesting software packages */
-
-#define SOC_FAMILY_STM32
-#define SOC_SERIES_STM32H7
-
-/* Hardware Drivers Config */
-
-#define SOC_STM32H743XI
-
-/* Onboard Peripheral Drivers */
-
-/* On-chip Peripheral Drivers */
-
-#define BSP_USING_GPIO
-#define BSP_USING_UART
-#define BSP_USING_UART1
-
-/* Board extended module Drivers */
-
-
-#endif
diff --git a/bsp/stm32/stm32h743-armfly-V7/rtconfig.py b/bsp/stm32/stm32h743-armfly-V7/rtconfig.py
deleted file mode 100644
index 13a0ebbdb9..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/rtconfig.py
+++ /dev/null
@@ -1,185 +0,0 @@
-import os
-
-# toolchains options
-ARCH='arm'
-CPU='cortex-m7'
-CROSS_TOOL='gcc'
-
-# bsp lib config
-BSP_LIBRARY_TYPE = None
-
-if os.getenv('RTT_CC'):
- CROSS_TOOL = os.getenv('RTT_CC')
-if os.getenv('RTT_ROOT'):
- RTT_ROOT = os.getenv('RTT_ROOT')
-
-# cross_tool provides the cross compiler
-# EXEC_PATH is the compiler execute path, for example, CodeSourcery, Keil MDK, IAR
-if CROSS_TOOL == 'gcc':
- PLATFORM = 'gcc'
- EXEC_PATH = r'C:\Users\XXYYZZ'
-elif CROSS_TOOL == 'keil':
- PLATFORM = 'armcc'
- EXEC_PATH = r'C:/Keil_v5'
-elif CROSS_TOOL == 'iar':
- PLATFORM = 'iar'
- EXEC_PATH = r'C:/Program Files (x86)/IAR Systems/Embedded Workbench 8.0'
-
-if os.getenv('RTT_EXEC_PATH'):
- EXEC_PATH = os.getenv('RTT_EXEC_PATH')
-
-BUILD = 'debug'
-
-if PLATFORM == 'gcc':
- # toolchains
- PREFIX = 'arm-none-eabi-'
- CC = PREFIX + 'gcc'
- AS = PREFIX + 'gcc'
- AR = PREFIX + 'ar'
- CXX = PREFIX + 'g++'
- LINK = PREFIX + 'gcc'
- TARGET_EXT = 'elf'
- SIZE = PREFIX + 'size'
- OBJDUMP = PREFIX + 'objdump'
- OBJCPY = PREFIX + 'objcopy'
-
- DEVICE = ' -mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard -ffunction-sections -fdata-sections'
- CFLAGS = DEVICE + ' -Dgcc'
- AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp -Wa,-mimplicit-it=thumb '
- LFLAGS = DEVICE + ' -Wl,--gc-sections,-Map=rtthread.map,-cref,-u,Reset_Handler -T board/linker_scripts/link.lds'
-
- CPATH = ''
- LPATH = ''
-
- if BUILD == 'debug':
- CFLAGS += ' -O0 -gdwarf-2 -g'
- AFLAGS += ' -gdwarf-2'
- else:
- CFLAGS += ' -O2'
-
- CXXFLAGS = CFLAGS
- CFLAGS += ' -std=c99'
-
- POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n'
-
-elif PLATFORM == 'armcc':
- # toolchains
- CC = 'armcc'
- CXX = 'armcc'
- AS = 'armasm'
- AR = 'armar'
- LINK = 'armlink'
- TARGET_EXT = 'axf'
-
- DEVICE = ' --cpu Cortex-M7.fp.sp'
- CFLAGS = '-c ' + DEVICE + ' --apcs=interwork --c99'
- AFLAGS = DEVICE + ' --apcs=interwork '
- LFLAGS = DEVICE + ' --scatter "board\linker_scripts\link.sct" --info sizes --info totals --info unused --info veneers --list rtthread.map --strict'
- CFLAGS += ' -I' + EXEC_PATH + '/ARM/ARMCC/include'
- LFLAGS += ' --libpath=' + EXEC_PATH + '/ARM/ARMCC/lib'
-
- CFLAGS += ' -D__MICROLIB '
- AFLAGS += ' --pd "__MICROLIB SETA 1" '
- LFLAGS += ' --library_type=microlib '
- EXEC_PATH += '/ARM/ARMCC/bin/'
-
- if BUILD == 'debug':
- CFLAGS += ' -g -O0'
- AFLAGS += ' -g'
- else:
- CFLAGS += ' -O2'
-
- CXXFLAGS = CFLAGS
- CFLAGS += ' -std=c99'
-
- POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET'
-
-elif PLATFORM == 'armclang':
- # toolchains
- CC = 'armclang'
- CXX = 'armclang'
- AS = 'armasm'
- AR = 'armar'
- LINK = 'armlink'
- TARGET_EXT = 'axf'
-
- DEVICE = ' --cpu Cortex-M7.fp.sp '
- CFLAGS = ' --target=arm-arm-none-eabi -mcpu=cortex-M7 '
- CFLAGS += ' -mcpu=cortex-M7 -mfpu=fpv4-sp-d16 '
- CFLAGS += ' -mfloat-abi=hard -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar '
- CFLAGS += ' -gdwarf-3 -ffunction-sections '
- AFLAGS = DEVICE + ' --apcs=interwork '
- LFLAGS = DEVICE + ' --info sizes --info totals --info unused --info veneers '
- LFLAGS += ' --list rt-thread.map '
- LFLAGS += r' --strict --scatter "board\linker_scripts\link.sct" '
- CFLAGS += ' -I' + EXEC_PATH + '/ARM/ARMCLANG/include'
- LFLAGS += ' --libpath=' + EXEC_PATH + '/ARM/ARMCLANG/lib'
-
- EXEC_PATH += '/ARM/ARMCLANG/bin/'
-
- if BUILD == 'debug':
- CFLAGS += ' -g -O1' # armclang recommend
- AFLAGS += ' -g'
- else:
- CFLAGS += ' -O2'
-
- CXXFLAGS = CFLAGS
- CFLAGS += ' -std=c99'
-
- POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET'
-
-elif PLATFORM == 'iar':
- # toolchains
- CC = 'iccarm'
- CXX = 'iccarm'
- AS = 'iasmarm'
- AR = 'iarchive'
- LINK = 'ilinkarm'
- TARGET_EXT = 'out'
-
- DEVICE = '-Dewarm'
-
- CFLAGS = DEVICE
- CFLAGS += ' --diag_suppress Pa050'
- CFLAGS += ' --no_cse'
- CFLAGS += ' --no_unroll'
- CFLAGS += ' --no_inline'
- CFLAGS += ' --no_code_motion'
- CFLAGS += ' --no_tbaa'
- CFLAGS += ' --no_clustering'
- CFLAGS += ' --no_scheduling'
- CFLAGS += ' --endian=little'
- CFLAGS += ' --cpu=Cortex-M7'
- CFLAGS += ' -e'
- CFLAGS += ' --fpu=VFPv5_sp'
- CFLAGS += ' --dlib_config "' + EXEC_PATH + '/arm/INC/c/DLib_Config_Normal.h"'
- CFLAGS += ' --silent'
-
- AFLAGS = DEVICE
- AFLAGS += ' -s+'
- AFLAGS += ' -w+'
- AFLAGS += ' -r'
- AFLAGS += ' --cpu Cortex-M7'
- AFLAGS += ' --fpu VFPv5_sp'
- AFLAGS += ' -S'
-
- if BUILD == 'debug':
- CFLAGS += ' --debug'
- CFLAGS += ' -On'
- else:
- CFLAGS += ' -Oh'
-
- LFLAGS = ' --config "board/linker_scripts/link.icf"'
- LFLAGS += ' --entry __iar_program_start'
-
- CXXFLAGS = CFLAGS
-
- EXEC_PATH = EXEC_PATH + '/arm/bin/'
- POST_ACTION = 'ielftool --bin $TARGET rtthread.bin'
-
-def dist_handle(BSP_ROOT, dist_dir):
- import sys
- cwd_path = os.getcwd()
- sys.path.append(os.path.join(os.path.dirname(BSP_ROOT), 'tools'))
- from sdk_dist import dist_do_building
- dist_do_building(BSP_ROOT, dist_dir)
diff --git a/bsp/stm32/stm32h743-armfly-V7/template.ewp b/bsp/stm32/stm32h743-armfly-V7/template.ewp
deleted file mode 100644
index 837a54d75e..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/template.ewp
+++ /dev/null
@@ -1,2058 +0,0 @@
-
-
- 3
-
- rtthread
-
- ARM
-
- 1
-
- General
- 3
-
- 31
- 1
- 1
-
- ExePath
- build\iar\Exe
-
-
- ObjPath
- build\iar\Obj
-
-
- ListPath
- build\iar\List
-
-
- GEndianMode
- 0
-
-
- Input description
- Automatic choice of formatter, without multibyte support.
-
-
- Output description
- Automatic choice of formatter, without multibyte support.
-
-
- GOutputBinary
- 0
-
-
- OGCoreOrChip
- 1
-
-
- GRuntimeLibSelect
- 0
- 1
-
-
- GRuntimeLibSelectSlave
- 0
- 1
-
-
- RTDescription
- Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.
-
-
- OGProductVersion
- 6.30.6.53380
-
-
- OGLastSavedByProductVersion
- 8.30.1.17146
-
-
- GeneralEnableMisra
- 0
-
-
- GeneralMisraVerbose
- 0
-
-
- OGChipSelectEditMenu
- STM32H743II ST STM32H743II
-
-
- GenLowLevelInterface
- 1
-
-
- GEndianModeBE
- 1
-
-
- OGBufferedTerminalOutput
- 0
-
-
- GenStdoutInterface
- 0
-
-
- GeneralMisraRules98
- 0
- 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
-
-
- GeneralMisraVer
- 0
-
-
- GeneralMisraRules04
- 0
- 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
-
-
- RTConfigPath2
- $TOOLKIT_DIR$\inc\c\DLib_Config_Normal.h
-
-
- GBECoreSlave
- 26
- 41
-
-
- OGUseCmsis
- 0
-
-
- OGUseCmsisDspLib
- 0
-
-
- GRuntimeLibThreads
- 0
-
-
- CoreVariant
- 26
- 41
-
-
- GFPUDeviceSlave
- STM32H743II ST STM32H743II
-
-
- FPU2
- 0
- 0
-
-
- NrRegs
- 0
- 0
-
-
- NEON
- 0
-
-
- GFPUCoreSlave2
- 26
- 41
-
-
- OGCMSISPackSelectDevice
-
-
- OgLibHeap
- 0
-
-
- OGLibAdditionalLocale
- 0
-
-
- OGPrintfVariant
- 0
- 0
-
-
- OGPrintfMultibyteSupport
- 0
-
-
- OGScanfVariant
- 0
- 0
-
-
- OGScanfMultibyteSupport
- 0
-
-
- GenLocaleTags
-
-
-
- GenLocaleDisplayOnly
-
-
-
- DSPExtension
- 1
-
-
- TrustZone
- 0
-
-
- TrustZoneModes
- 0
- 0
-
-
-
-
- ICCARM
- 2
-
- 34
- 1
- 1
-
- CCDefines
-
-
-
- CCPreprocFile
- 0
-
-
- CCPreprocComments
- 0
-
-
- CCPreprocLine
- 1
-
-
- CCListCFile
- 0
-
-
- CCListCMnemonics
- 0
-
-
- CCListCMessages
- 0
-
-
- CCListAssFile
- 0
-
-
- CCListAssSource
- 0
-
-
- CCEnableRemarks
- 0
-
-
- CCDiagSuppress
-
-
-
- CCDiagRemark
-
-
-
- CCDiagWarning
-
-
-
- CCDiagError
-
-
-
- CCObjPrefix
- 1
-
-
- CCAllowList
- 1
- 00000000
-
-
- CCDebugInfo
- 1
-
-
- IEndianMode
- 1
-
-
- IProcessor
- 1
-
-
- IExtraOptionsCheck
- 0
-
-
- IExtraOptions
-
-
-
- CCLangConformance
- 0
-
-
- CCSignedPlainChar
- 1
-
-
- CCRequirePrototypes
- 0
-
-
- CCDiagWarnAreErr
- 0
-
-
- CCCompilerRuntimeInfo
- 0
-
-
- IFpuProcessor
- 1
-
-
- OutputFile
- $FILE_BNAME$.o
-
-
- CCLibConfigHeader
- 1
-
-
- PreInclude
-
-
-
- CompilerMisraOverride
- 0
-
-
- CCIncludePath2
-
-
-
- CCStdIncCheck
- 0
-
-
- CCCodeSection
- .text
-
-
- IProcessorMode2
- 1
-
-
- CCOptLevel
- 1
-
-
- CCOptStrategy
- 0
- 0
-
-
- CCOptLevelSlave
- 1
-
-
- CompilerMisraRules98
- 0
- 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
-
-
- CompilerMisraRules04
- 0
- 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
-
-
- CCPosIndRopi
- 0
-
-
- CCPosIndRwpi
- 0
-
-
- CCPosIndNoDynInit
- 0
-
-
- IccLang
- 0
-
-
- IccCDialect
- 1
-
-
- IccAllowVLA
- 0
-
-
- IccStaticDestr
- 1
-
-
- IccCppInlineSemantics
- 0
-
-
- IccCmsis
- 1
-
-
- IccFloatSemantics
- 0
-
-
- CCOptimizationNoSizeConstraints
- 0
-
-
- CCNoLiteralPool
- 0
-
-
- CCOptStrategySlave
- 0
- 0
-
-
- CCGuardCalls
- 1
-
-
- CCEncSource
- 0
-
-
- CCEncOutput
- 0
-
-
- CCEncOutputBom
- 1
-
-
- CCEncInput
- 0
-
-
- IccExceptions2
- 0
-
-
- IccRTTI2
- 0
-
-
-
-
- AARM
- 2
-
- 10
- 1
- 1
-
- AObjPrefix
- 1
-
-
- AEndian
- 1
-
-
- ACaseSensitivity
- 1
-
-
- MacroChars
- 0
- 0
-
-
- AWarnEnable
- 0
-
-
- AWarnWhat
- 0
-
-
- AWarnOne
-
-
-
- AWarnRange1
-
-
-
- AWarnRange2
-
-
-
- ADebug
- 1
-
-
- AltRegisterNames
- 0
-
-
- ADefines
-
-
-
- AList
- 0
-
-
- AListHeader
- 1
-
-
- AListing
- 1
-
-
- Includes
- 0
-
-
- MacDefs
- 0
-
-
- MacExps
- 1
-
-
- MacExec
- 0
-
-
- OnlyAssed
- 0
-
-
- MultiLine
- 0
-
-
- PageLengthCheck
- 0
-
-
- PageLength
- 80
-
-
- TabSpacing
- 8
-
-
- AXRef
- 0
-
-
- AXRefDefines
- 0
-
-
- AXRefInternal
- 0
-
-
- AXRefDual
- 0
-
-
- AProcessor
- 1
-
-
- AFpuProcessor
- 1
-
-
- AOutputFile
- $FILE_BNAME$.o
-
-
- ALimitErrorsCheck
- 0
-
-
- ALimitErrorsEdit
- 100
-
-
- AIgnoreStdInclude
- 0
-
-
- AUserIncludes
-
-
-
- AExtraOptionsCheckV2
- 0
-
-
- AExtraOptionsV2
-
-
-
- AsmNoLiteralPool
- 0
-
-
-
-
- OBJCOPY
- 0
-
- 1
- 1
- 1
-
- OOCOutputFormat
- 3
- 3
-
-
- OCOutputOverride
- 1
-
-
- OOCOutputFile
- ../../../rtthread.bin
-
-
- OOCCommandLineProducer
- 1
-
-
- OOCObjCopyEnable
- 1
-
-
-
-
- CUSTOM
- 3
-
-
-
- 0
-
-
-
- BICOMP
- 0
-
-
-
- BUILDACTION
- 1
-
-
-
-
-
-
- ILINK
- 0
-
- 21
- 1
- 1
-
- IlinkLibIOConfig
- 1
-
-
- XLinkMisraHandler
- 0
-
-
- IlinkInputFileSlave
- 0
-
-
- IlinkOutputFile
- template.out
-
-
- IlinkDebugInfoEnable
- 1
-
-
- IlinkKeepSymbols
-
-
-
- IlinkRawBinaryFile
-
-
-
- IlinkRawBinarySymbol
-
-
-
- IlinkRawBinarySegment
-
-
-
- IlinkRawBinaryAlign
-
-
-
- IlinkDefines
-
-
-
- IlinkConfigDefines
-
-
-
- IlinkMapFile
- 1
-
-
- IlinkLogFile
- 0
-
-
- IlinkLogInitialization
- 0
-
-
- IlinkLogModule
- 0
-
-
- IlinkLogSection
- 0
-
-
- IlinkLogVeneer
- 0
-
-
- IlinkIcfOverride
- 0
-
-
- IlinkIcfFile
- $TOOLKIT_DIR$\config\linker\ST\stm32h743xI.icf
-
-
- IlinkIcfFileSlave
-
-
-
- IlinkEnableRemarks
- 0
-
-
- IlinkSuppressDiags
-
-
-
- IlinkTreatAsRem
-
-
-
- IlinkTreatAsWarn
-
-
-
- IlinkTreatAsErr
-
-
-
- IlinkWarningsAreErrors
- 0
-
-
- IlinkUseExtraOptions
- 0
-
-
- IlinkExtraOptions
-
-
-
- IlinkLowLevelInterfaceSlave
- 1
-
-
- IlinkAutoLibEnable
- 1
-
-
- IlinkAdditionalLibs
-
-
-
- IlinkOverrideProgramEntryLabel
- 0
-
-
- IlinkProgramEntryLabelSelect
- 0
-
-
- IlinkProgramEntryLabel
- __iar_program_start
-
-
- DoFill
- 0
-
-
- FillerByte
- 0xFF
-
-
- FillerStart
- 0x0
-
-
- FillerEnd
- 0x0
-
-
- CrcSize
- 0
- 1
-
-
- CrcAlign
- 1
-
-
- CrcPoly
- 0x11021
-
-
- CrcCompl
- 0
- 0
-
-
- CrcBitOrder
- 0
- 0
-
-
- CrcInitialValue
- 0x0
-
-
- DoCrc
- 0
-
-
- IlinkBE8Slave
- 1
-
-
- IlinkBufferedTerminalOutput
- 1
-
-
- IlinkStdoutInterfaceSlave
- 1
-
-
- CrcFullSize
- 0
-
-
- IlinkIElfToolPostProcess
- 0
-
-
- IlinkLogAutoLibSelect
- 0
-
-
- IlinkLogRedirSymbols
- 0
-
-
- IlinkLogUnusedFragments
- 0
-
-
- IlinkCrcReverseByteOrder
- 0
-
-
- IlinkCrcUseAsInput
- 1
-
-
- IlinkOptInline
- 0
-
-
- IlinkOptExceptionsAllow
- 1
-
-
- IlinkOptExceptionsForce
- 0
-
-
- IlinkCmsis
- 1
-
-
- IlinkOptMergeDuplSections
- 0
-
-
- IlinkOptUseVfe
- 1
-
-
- IlinkOptForceVfe
- 0
-
-
- IlinkStackAnalysisEnable
- 0
-
-
- IlinkStackControlFile
-
-
-
- IlinkStackCallGraphFile
-
-
-
- CrcAlgorithm
- 1
- 1
-
-
- CrcUnitSize
- 0
- 0
-
-
- IlinkThreadsSlave
- 1
-
-
- IlinkLogCallGraph
- 0
-
-
- IlinkIcfFile_AltDefault
-
-
-
- IlinkEncInput
- 0
-
-
- IlinkEncOutput
- 0
-
-
- IlinkEncOutputBom
- 1
-
-
- IlinkHeapSelect
- 1
-
-
- IlinkLocaleSelect
- 1
-
-
- IlinkTrustzoneImportLibraryOut
- template_import_lib.o
-
-
-
-
- IARCHIVE
- 0
-
- 0
- 1
- 1
-
- IarchiveInputs
-
-
-
- IarchiveOverride
- 0
-
-
- IarchiveOutput
- ###Unitialized###
-
-
-
-
- BILINK
- 0
-
-
-
-
- Release
-
- ARM
-
- 0
-
- General
- 3
-
- 31
- 1
- 0
-
- ExePath
- Release\Exe
-
-
- ObjPath
- Release\Obj
-
-
- ListPath
- Release\List
-
-
- GEndianMode
- 0
-
-
- Input description
-
-
-
- Output description
-
-
-
- GOutputBinary
- 0
-
-
- OGCoreOrChip
- 0
-
-
- GRuntimeLibSelect
- 0
- 1
-
-
- GRuntimeLibSelectSlave
- 0
- 1
-
-
- RTDescription
-
-
-
- OGProductVersion
- 6.30.6.53380
-
-
- OGLastSavedByProductVersion
- 8.11.3.13977
-
-
- GeneralEnableMisra
- 0
-
-
- GeneralMisraVerbose
- 0
-
-
- OGChipSelectEditMenu
- Default None
-
-
- GenLowLevelInterface
- 0
-
-
- GEndianModeBE
- 0
-
-
- OGBufferedTerminalOutput
- 0
-
-
- GenStdoutInterface
- 0
-
-
- GeneralMisraRules98
- 0
- 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
-
-
- GeneralMisraVer
- 0
-
-
- GeneralMisraRules04
- 0
- 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
-
-
- RTConfigPath2
-
-
-
- GBECoreSlave
- 26
- 1
-
-
- OGUseCmsis
- 0
-
-
- OGUseCmsisDspLib
- 0
-
-
- GRuntimeLibThreads
- 0
-
-
- CoreVariant
- 26
- 0
-
-
- GFPUDeviceSlave
- Default None
-
-
- FPU2
- 0
- 0
-
-
- NrRegs
- 0
- 0
-
-
- NEON
- 0
-
-
- GFPUCoreSlave2
- 26
- 0
-
-
- OGCMSISPackSelectDevice
-
-
- OgLibHeap
- 0
-
-
- OGLibAdditionalLocale
- 0
-
-
- OGPrintfVariant
- 0
- 0
-
-
- OGPrintfMultibyteSupport
- 0
-
-
- OGScanfVariant
- 0
- 0
-
-
- OGScanfMultibyteSupport
- 0
-
-
- GenLocaleTags
-
-
-
- GenLocaleDisplayOnly
-
-
-
- DSPExtension
- 0
-
-
- TrustZone
- 0
-
-
- TrustZoneModes
- 0
- 0
-
-
-
-
- ICCARM
- 2
-
- 34
- 1
- 0
-
- CCDefines
- NDEBUG
-
-
- CCPreprocFile
- 0
-
-
- CCPreprocComments
- 0
-
-
- CCPreprocLine
- 1
-
-
- CCListCFile
- 0
-
-
- CCListCMnemonics
- 0
-
-
- CCListCMessages
- 0
-
-
- CCListAssFile
- 0
-
-
- CCListAssSource
- 0
-
-
- CCEnableRemarks
- 0
-
-
- CCDiagSuppress
-
-
-
- CCDiagRemark
-
-
-
- CCDiagWarning
-
-
-
- CCDiagError
-
-
-
- CCObjPrefix
- 1
-
-
- CCAllowList
- 1
- 11111110
-
-
- CCDebugInfo
- 0
-
-
- IEndianMode
- 1
-
-
- IProcessor
- 1
-
-
- IExtraOptionsCheck
- 0
-
-
- IExtraOptions
-
-
-
- CCLangConformance
- 0
-
-
- CCSignedPlainChar
- 1
-
-
- CCRequirePrototypes
- 0
-
-
- CCDiagWarnAreErr
- 0
-
-
- CCCompilerRuntimeInfo
- 0
-
-
- IFpuProcessor
- 1
-
-
- OutputFile
-
-
-
- CCLibConfigHeader
- 1
-
-
- PreInclude
-
-
-
- CompilerMisraOverride
- 0
-
-
- CCIncludePath2
-
-
-
- CCStdIncCheck
- 0
-
-
- CCCodeSection
- .text
-
-
- IProcessorMode2
- 1
-
-
- CCOptLevel
- 3
-
-
- CCOptStrategy
- 0
- 0
-
-
- CCOptLevelSlave
- 1
-
-
- CompilerMisraRules98
- 0
- 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
-
-
- CompilerMisraRules04
- 0
- 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
-
-
- CCPosIndRopi
- 0
-
-
- CCPosIndRwpi
- 0
-
-
- CCPosIndNoDynInit
- 0
-
-
- IccLang
- 0
-
-
- IccCDialect
- 1
-
-
- IccAllowVLA
- 0
-
-
- IccStaticDestr
- 1
-
-
- IccCppInlineSemantics
- 0
-
-
- IccCmsis
- 1
-
-
- IccFloatSemantics
- 0
-
-
- CCOptimizationNoSizeConstraints
- 0
-
-
- CCNoLiteralPool
- 0
-
-
- CCOptStrategySlave
- 0
- 0
-
-
- CCGuardCalls
- 1
-
-
- CCEncSource
- 0
-
-
- CCEncOutput
- 0
-
-
- CCEncOutputBom
- 1
-
-
- CCEncInput
- 0
-
-
- IccExceptions2
- 0
-
-
- IccRTTI2
- 0
-
-
-
-
- AARM
- 2
-
- 10
- 1
- 0
-
- AObjPrefix
- 1
-
-
- AEndian
- 1
-
-
- ACaseSensitivity
- 1
-
-
- MacroChars
- 0
- 0
-
-
- AWarnEnable
- 0
-
-
- AWarnWhat
- 0
-
-
- AWarnOne
-
-
-
- AWarnRange1
-
-
-
- AWarnRange2
-
-
-
- ADebug
- 0
-
-
- AltRegisterNames
- 0
-
-
- ADefines
-
-
-
- AList
- 0
-
-
- AListHeader
- 1
-
-
- AListing
- 1
-
-
- Includes
- 0
-
-
- MacDefs
- 0
-
-
- MacExps
- 1
-
-
- MacExec
- 0
-
-
- OnlyAssed
- 0
-
-
- MultiLine
- 0
-
-
- PageLengthCheck
- 0
-
-
- PageLength
- 80
-
-
- TabSpacing
- 8
-
-
- AXRef
- 0
-
-
- AXRefDefines
- 0
-
-
- AXRefInternal
- 0
-
-
- AXRefDual
- 0
-
-
- AProcessor
- 1
-
-
- AFpuProcessor
- 1
-
-
- AOutputFile
-
-
-
- ALimitErrorsCheck
- 0
-
-
- ALimitErrorsEdit
- 100
-
-
- AIgnoreStdInclude
- 0
-
-
- AUserIncludes
-
-
-
- AExtraOptionsCheckV2
- 0
-
-
- AExtraOptionsV2
-
-
-
- AsmNoLiteralPool
- 0
-
-
-
-
- OBJCOPY
- 0
-
- 1
- 1
- 0
-
- OOCOutputFormat
- 3
- 0
-
-
- OCOutputOverride
- 0
-
-
- OOCOutputFile
-
-
-
- OOCCommandLineProducer
- 1
-
-
- OOCObjCopyEnable
- 0
-
-
-
-
- CUSTOM
- 3
-
-
-
- 0
-
-
-
- BICOMP
- 0
-
-
-
- BUILDACTION
- 1
-
-
-
-
-
-
- ILINK
- 0
-
- 21
- 1
- 0
-
- IlinkLibIOConfig
- 1
-
-
- XLinkMisraHandler
- 0
-
-
- IlinkInputFileSlave
- 0
-
-
- IlinkOutputFile
- ###Unitialized###
-
-
- IlinkDebugInfoEnable
- 1
-
-
- IlinkKeepSymbols
-
-
-
- IlinkRawBinaryFile
-
-
-
- IlinkRawBinarySymbol
-
-
-
- IlinkRawBinarySegment
-
-
-
- IlinkRawBinaryAlign
-
-
-
- IlinkDefines
-
-
-
- IlinkConfigDefines
-
-
-
- IlinkMapFile
- 1
-
-
- IlinkLogFile
- 0
-
-
- IlinkLogInitialization
- 0
-
-
- IlinkLogModule
- 0
-
-
- IlinkLogSection
- 0
-
-
- IlinkLogVeneer
- 0
-
-
- IlinkIcfOverride
- 0
-
-
- IlinkIcfFile
- lnk0t.icf
-
-
- IlinkIcfFileSlave
-
-
-
- IlinkEnableRemarks
- 0
-
-
- IlinkSuppressDiags
-
-
-
- IlinkTreatAsRem
-
-
-
- IlinkTreatAsWarn
-
-
-
- IlinkTreatAsErr
-
-
-
- IlinkWarningsAreErrors
- 0
-
-
- IlinkUseExtraOptions
- 0
-
-
- IlinkExtraOptions
-
-
-
- IlinkLowLevelInterfaceSlave
- 1
-
-
- IlinkAutoLibEnable
- 1
-
-
- IlinkAdditionalLibs
-
-
-
- IlinkOverrideProgramEntryLabel
- 0
-
-
- IlinkProgramEntryLabelSelect
- 0
-
-
- IlinkProgramEntryLabel
-
-
-
- DoFill
- 0
-
-
- FillerByte
- 0xFF
-
-
- FillerStart
- 0x0
-
-
- FillerEnd
- 0x0
-
-
- CrcSize
- 0
- 1
-
-
- CrcAlign
- 1
-
-
- CrcPoly
- 0x11021
-
-
- CrcCompl
- 0
- 0
-
-
- CrcBitOrder
- 0
- 0
-
-
- CrcInitialValue
- 0x0
-
-
- DoCrc
- 0
-
-
- IlinkBE8Slave
- 1
-
-
- IlinkBufferedTerminalOutput
- 1
-
-
- IlinkStdoutInterfaceSlave
- 1
-
-
- CrcFullSize
- 0
-
-
- IlinkIElfToolPostProcess
- 0
-
-
- IlinkLogAutoLibSelect
- 0
-
-
- IlinkLogRedirSymbols
- 0
-
-
- IlinkLogUnusedFragments
- 0
-
-
- IlinkCrcReverseByteOrder
- 0
-
-
- IlinkCrcUseAsInput
- 1
-
-
- IlinkOptInline
- 1
-
-
- IlinkOptExceptionsAllow
- 1
-
-
- IlinkOptExceptionsForce
- 0
-
-
- IlinkCmsis
- 1
-
-
- IlinkOptMergeDuplSections
- 0
-
-
- IlinkOptUseVfe
- 1
-
-
- IlinkOptForceVfe
- 0
-
-
- IlinkStackAnalysisEnable
- 0
-
-
- IlinkStackControlFile
-
-
-
- IlinkStackCallGraphFile
-
-
-
- CrcAlgorithm
- 1
- 1
-
-
- CrcUnitSize
- 0
- 0
-
-
- IlinkThreadsSlave
- 1
-
-
- IlinkLogCallGraph
- 0
-
-
- IlinkIcfFile_AltDefault
-
-
-
- IlinkEncInput
- 0
-
-
- IlinkEncOutput
- 0
-
-
- IlinkEncOutputBom
- 1
-
-
- IlinkHeapSelect
- 1
-
-
- IlinkLocaleSelect
- 1
-
-
- IlinkTrustzoneImportLibraryOut
- ###Unitialized###
-
-
-
-
- IARCHIVE
- 0
-
- 0
- 1
- 0
-
- IarchiveInputs
-
-
-
- IarchiveOverride
- 0
-
-
- IarchiveOutput
- ###Unitialized###
-
-
-
-
- BILINK
- 0
-
-
-
-
diff --git a/bsp/stm32/stm32h743-armfly-V7/template.eww b/bsp/stm32/stm32h743-armfly-V7/template.eww
deleted file mode 100644
index bd036bb4c9..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/template.eww
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
- $WS_DIR$\template.ewp
-
-
-
-
-
diff --git a/bsp/stm32/stm32h743-armfly-V7/template.uvoptx b/bsp/stm32/stm32h743-armfly-V7/template.uvoptx
deleted file mode 100644
index 703cc4de47..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/template.uvoptx
+++ /dev/null
@@ -1,183 +0,0 @@
-
-
-
- 1.0
-
- ### uVision Project, (C) Keil Software
-
-
- *.c
- *.s*; *.src; *.a*
- *.obj; *.o
- *.lib
- *.txt; *.h; *.inc
- *.plm
- *.cpp
- 0
-
-
-
- 0
- 0
-
-
-
- rtthread
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
- 0
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\build\keil\List\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 1
- 0
- 1
-
- 18
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 0
- 0
- 4
-
-
-
-
-
-
-
-
-
-
- Segger\JL2CM3.dll
-
-
-
- 0
- JL2CM3
- -U59403418 -O78 -S2 -ZTIFSpeedSel5000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -TO18 -TC10000000 -TP21 -TDS8001 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC8000 -FN1 -FF0STM32H7x_2048.FLM -FS08000000 -FL0200000 -FP0($$Device:STM32H743XIHx$CMSIS\Flash\STM32H7x_2048.FLM)
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 ) -FN1 -FC8000 -FD20000000 -FF0STM32H7x_2048 -FL0200000 -FS08000000 -FP0($$Device:STM32H743XIHx$CMSIS\Flash\STM32H7x_2048.FLM)
-
-
-
-
- 0
-
-
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
-
- 1
- 0
- 2
- 10000000
-
-
-
-
-
diff --git a/bsp/stm32/stm32h743-armfly-V7/template.uvprojx b/bsp/stm32/stm32h743-armfly-V7/template.uvprojx
deleted file mode 100644
index d47ba77af2..0000000000
--- a/bsp/stm32/stm32h743-armfly-V7/template.uvprojx
+++ /dev/null
@@ -1,389 +0,0 @@
-
-
-
- 2.1
-
- ### uVision Project, (C) Keil Software
-
-
-
- rtthread
- 0x4
- ARM-ADS
- 5060750::V5.06 update 6 (build 750)::ARMCC
- 0
-
-
- STM32H743XIHx
- STMicroelectronics
- Keil.STM32H7xx_DFP.2.5.0
- https://www.keil.com/pack/
- IRAM(0x20000000,0x00020000) IRAM2(0x24000000,0x00080000) IROM(0x08000000,0x00100000) IROM2(0x08100000,0x00100000) XRAM(0x30000000,0x00048000) XRAM2(0x38000000,0x00010000) CPUTYPE("Cortex-M7") FPU3(DFPU) CLOCK(12000000) ELITTLE
-
-
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC8000 -FN1 -FF0STM32H7x_2048 -FS08000000 -FL0200000 -FP0($$Device:STM32H743XIHx$CMSIS\Flash\STM32H7x_2048.FLM))
- 0
- $$Device:STM32H743XIHx$Drivers\CMSIS\Device\ST\STM32H7xx\Include\stm32h7xx.h
-
-
-
-
-
-
-
-
-
- $$Device:STM32H743XIHx$CMSIS\SVD\STM32H743.svd
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
- 0
- 1
-
- .\build\keil\Obj\
- rt-thread
- 1
- 0
- 0
- 1
- 1
- .\build\keil\List\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 1
- 0
- fromelf --bin !L --output rtthread.bin
-
- 0
- 0
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -REMAP -MPU
- DCM.DLL
- -pCM7
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM7
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4096
-
- 1
- BIN\UL2CM3.DLL
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M7"
-
- 0
- 0
- 0
- 1
- 1
- 1
- 0
- 3
- 1
- 1
- 8
- 0
- 0
- 0
- 0
- 4
- 4
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
- 1
- 1
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0x20000
-
-
- 1
- 0x8000000
- 0x100000
-
-
- 1
- 0x30000000
- 0x48000
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x100000
-
-
- 1
- 0x8100000
- 0x100000
-
-
- 0
- 0x30000000
- 0x48000
-
-
- 0
- 0x38000000
- 0x10000
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0x20000
-
-
- 0
- 0x24000000
- 0x80000
-
-
-
-
-
- 1
- 1
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 2
- 0
- 0
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 0
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
- .\board\linker_scripts\link.sct
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/bsp/stm32/stm32h750-artpi-h750/.config b/bsp/stm32/stm32h750-artpi-h750/.config
deleted file mode 100644
index d04b45decc..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/.config
+++ /dev/null
@@ -1,705 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# RT-Thread Configuration
-#
-
-#
-# RT-Thread Kernel
-#
-CONFIG_RT_NAME_MAX=8
-# CONFIG_RT_USING_ARCH_DATA_TYPE is not set
-# CONFIG_RT_USING_SMP is not set
-CONFIG_RT_ALIGN_SIZE=4
-# CONFIG_RT_THREAD_PRIORITY_8 is not set
-CONFIG_RT_THREAD_PRIORITY_32=y
-# CONFIG_RT_THREAD_PRIORITY_256 is not set
-CONFIG_RT_THREAD_PRIORITY_MAX=32
-CONFIG_RT_TICK_PER_SECOND=1000
-CONFIG_RT_USING_OVERFLOW_CHECK=y
-CONFIG_RT_USING_HOOK=y
-CONFIG_RT_HOOK_USING_FUNC_PTR=y
-CONFIG_RT_USING_IDLE_HOOK=y
-CONFIG_RT_IDLE_HOOK_LIST_SIZE=4
-CONFIG_IDLE_THREAD_STACK_SIZE=256
-# CONFIG_RT_USING_TIMER_SOFT is not set
-
-#
-# kservice optimization
-#
-# CONFIG_RT_KSERVICE_USING_STDLIB is not set
-# CONFIG_RT_KSERVICE_USING_TINY_SIZE is not set
-# CONFIG_RT_USING_TINY_FFS is not set
-# CONFIG_RT_PRINTF_LONGLONG is not set
-CONFIG_RT_DEBUG=y
-# CONFIG_RT_DEBUG_COLOR is not set
-# CONFIG_RT_DEBUG_INIT_CONFIG is not set
-# CONFIG_RT_DEBUG_THREAD_CONFIG is not set
-# CONFIG_RT_DEBUG_SCHEDULER_CONFIG is not set
-# CONFIG_RT_DEBUG_IPC_CONFIG is not set
-# CONFIG_RT_DEBUG_TIMER_CONFIG is not set
-# CONFIG_RT_DEBUG_IRQ_CONFIG is not set
-# CONFIG_RT_DEBUG_MEM_CONFIG is not set
-# CONFIG_RT_DEBUG_SLAB_CONFIG is not set
-# CONFIG_RT_DEBUG_MEMHEAP_CONFIG is not set
-# CONFIG_RT_DEBUG_MODULE_CONFIG is not set
-
-#
-# Inter-Thread communication
-#
-CONFIG_RT_USING_SEMAPHORE=y
-CONFIG_RT_USING_MUTEX=y
-CONFIG_RT_USING_EVENT=y
-CONFIG_RT_USING_MAILBOX=y
-CONFIG_RT_USING_MESSAGEQUEUE=y
-# CONFIG_RT_USING_SIGNALS is not set
-
-#
-# Memory Management
-#
-CONFIG_RT_USING_MEMPOOL=y
-CONFIG_RT_USING_SMALL_MEM=y
-# CONFIG_RT_USING_SLAB is not set
-# CONFIG_RT_USING_MEMHEAP is not set
-CONFIG_RT_USING_SMALL_MEM_AS_HEAP=y
-# CONFIG_RT_USING_MEMHEAP_AS_HEAP is not set
-# CONFIG_RT_USING_SLAB_AS_HEAP is not set
-# CONFIG_RT_USING_USERHEAP is not set
-# CONFIG_RT_USING_NOHEAP is not set
-# CONFIG_RT_USING_MEMTRACE is not set
-# CONFIG_RT_USING_HEAP_ISR is not set
-CONFIG_RT_USING_HEAP=y
-
-#
-# Kernel Device Object
-#
-CONFIG_RT_USING_DEVICE=y
-# CONFIG_RT_USING_DEVICE_OPS is not set
-# CONFIG_RT_USING_INTERRUPT_INFO is not set
-CONFIG_RT_USING_CONSOLE=y
-CONFIG_RT_CONSOLEBUF_SIZE=128
-CONFIG_RT_CONSOLE_DEVICE_NAME="uart4"
-CONFIG_RT_VER_NUM=0x40100
-CONFIG_ARCH_ARM=y
-CONFIG_RT_USING_CPU_FFS=y
-CONFIG_ARCH_ARM_CORTEX_M=y
-CONFIG_ARCH_ARM_CORTEX_M7=y
-# CONFIG_ARCH_CPU_STACK_GROWS_UPWARD is not set
-
-#
-# RT-Thread Components
-#
-CONFIG_RT_USING_COMPONENTS_INIT=y
-CONFIG_RT_USING_USER_MAIN=y
-CONFIG_RT_MAIN_THREAD_STACK_SIZE=2048
-CONFIG_RT_MAIN_THREAD_PRIORITY=10
-# CONFIG_RT_USING_LEGACY is not set
-CONFIG_RT_USING_MSH=y
-CONFIG_RT_USING_FINSH=y
-CONFIG_FINSH_USING_MSH=y
-CONFIG_FINSH_THREAD_NAME="tshell"
-CONFIG_FINSH_THREAD_PRIORITY=20
-CONFIG_FINSH_THREAD_STACK_SIZE=4096
-CONFIG_FINSH_USING_HISTORY=y
-CONFIG_FINSH_HISTORY_LINES=5
-CONFIG_FINSH_USING_SYMTAB=y
-CONFIG_FINSH_CMD_SIZE=80
-CONFIG_MSH_USING_BUILT_IN_COMMANDS=y
-CONFIG_FINSH_USING_DESCRIPTION=y
-# CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set
-# CONFIG_FINSH_USING_AUTH is not set
-CONFIG_FINSH_ARG_MAX=10
-# CONFIG_RT_USING_DFS is not set
-# CONFIG_RT_USING_FAL is not set
-# CONFIG_RT_USING_LWP is not set
-
-#
-# Device Drivers
-#
-CONFIG_RT_USING_DEVICE_IPC=y
-# CONFIG_RT_USING_SYSTEM_WORKQUEUE is not set
-CONFIG_RT_USING_SERIAL=y
-# CONFIG_RT_USING_SERIAL_V1 is not set
-CONFIG_RT_USING_SERIAL_V2=y
-CONFIG_RT_SERIAL_USING_DMA=y
-# CONFIG_RT_USING_CAN is not set
-# CONFIG_RT_USING_HWTIMER is not set
-# CONFIG_RT_USING_CPUTIME is not set
-CONFIG_RT_USING_I2C=y
-# CONFIG_RT_I2C_DEBUG is not set
-CONFIG_RT_USING_I2C_BITOPS=y
-# CONFIG_RT_I2C_BITOPS_DEBUG is not set
-# CONFIG_RT_USING_PHY is not set
-CONFIG_RT_USING_PIN=y
-# CONFIG_RT_USING_ADC is not set
-# CONFIG_RT_USING_DAC is not set
-# CONFIG_RT_USING_PWM is not set
-# CONFIG_RT_USING_MTD_NOR is not set
-# CONFIG_RT_USING_MTD_NAND is not set
-# CONFIG_RT_USING_PM is not set
-# CONFIG_RT_USING_RTC is not set
-# CONFIG_RT_USING_SDIO is not set
-CONFIG_RT_USING_SPI=y
-# CONFIG_RT_USING_SPI_BITOPS is not set
-# CONFIG_RT_USING_QSPI is not set
-# CONFIG_RT_USING_SPI_MSD is not set
-# CONFIG_RT_USING_SFUD is not set
-# CONFIG_RT_USING_ENC28J60 is not set
-# CONFIG_RT_USING_SPI_WIFI is not set
-# CONFIG_RT_USING_WDT is not set
-# CONFIG_RT_USING_AUDIO is not set
-# CONFIG_RT_USING_SENSOR is not set
-CONFIG_RT_USING_TOUCH=y
-# CONFIG_RT_TOUCH_PIN_IRQ is not set
-# CONFIG_RT_USING_HWCRYPTO is not set
-# CONFIG_RT_USING_PULSE_ENCODER is not set
-# CONFIG_RT_USING_INPUT_CAPTURE is not set
-# CONFIG_RT_USING_WIFI is not set
-
-#
-# Using USB
-#
-# CONFIG_RT_USING_USB is not set
-# CONFIG_RT_USING_USB_HOST is not set
-# CONFIG_RT_USING_USB_DEVICE is not set
-
-#
-# C/C++ and POSIX layer
-#
-CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
-
-#
-# POSIX (Portable Operating System Interface) layer
-#
-# CONFIG_RT_USING_POSIX_FS is not set
-# CONFIG_RT_USING_POSIX_DELAY is not set
-# CONFIG_RT_USING_POSIX_CLOCK is not set
-# CONFIG_RT_USING_POSIX_TIMER is not set
-# CONFIG_RT_USING_PTHREADS is not set
-# CONFIG_RT_USING_MODULE is not set
-
-#
-# Interprocess Communication (IPC)
-#
-# CONFIG_RT_USING_POSIX_PIPE is not set
-# CONFIG_RT_USING_POSIX_MESSAGE_QUEUE is not set
-# CONFIG_RT_USING_POSIX_MESSAGE_SEMAPHORE is not set
-
-#
-# Socket is in the 'Network' category
-#
-# CONFIG_RT_USING_CPLUSPLUS is not set
-
-#
-# Network
-#
-# CONFIG_RT_USING_SAL is not set
-# CONFIG_RT_USING_NETDEV is not set
-# CONFIG_RT_USING_LWIP is not set
-# CONFIG_RT_USING_AT is not set
-
-#
-# Utilities
-#
-# CONFIG_RT_USING_RYM is not set
-# CONFIG_RT_USING_ULOG is not set
-# CONFIG_RT_USING_UTEST is not set
-# CONFIG_RT_USING_VAR_EXPORT is not set
-# CONFIG_RT_USING_RT_LINK is not set
-# CONFIG_RT_USING_VBUS is not set
-
-#
-# RT-Thread Utestcases
-#
-# CONFIG_RT_USING_UTESTCASES is not set
-
-#
-# RT-Thread online packages
-#
-
-#
-# IoT - internet of things
-#
-# CONFIG_PKG_USING_LWIP is not set
-# CONFIG_PKG_USING_LORAWAN_DRIVER is not set
-# CONFIG_PKG_USING_PAHOMQTT is not set
-# CONFIG_PKG_USING_UMQTT is not set
-# CONFIG_PKG_USING_WEBCLIENT is not set
-# CONFIG_PKG_USING_WEBNET is not set
-# CONFIG_PKG_USING_MONGOOSE is not set
-# CONFIG_PKG_USING_MYMQTT is not set
-# CONFIG_PKG_USING_KAWAII_MQTT is not set
-# CONFIG_PKG_USING_BC28_MQTT is not set
-# CONFIG_PKG_USING_WEBTERMINAL is not set
-# CONFIG_PKG_USING_LIBMODBUS is not set
-# CONFIG_PKG_USING_FREEMODBUS is not set
-# CONFIG_PKG_USING_NANOPB is not set
-
-#
-# Wi-Fi
-#
-
-#
-# Marvell WiFi
-#
-# CONFIG_PKG_USING_WLANMARVELL is not set
-
-#
-# Wiced WiFi
-#
-# CONFIG_PKG_USING_WLAN_WICED is not set
-# CONFIG_PKG_USING_RW007 is not set
-# CONFIG_PKG_USING_COAP is not set
-# CONFIG_PKG_USING_NOPOLL is not set
-# CONFIG_PKG_USING_NETUTILS is not set
-# CONFIG_PKG_USING_CMUX is not set
-# CONFIG_PKG_USING_PPP_DEVICE is not set
-# CONFIG_PKG_USING_AT_DEVICE is not set
-# CONFIG_PKG_USING_ATSRV_SOCKET is not set
-# CONFIG_PKG_USING_WIZNET is not set
-# CONFIG_PKG_USING_ZB_COORDINATOR is not set
-
-#
-# IoT Cloud
-#
-# CONFIG_PKG_USING_ONENET is not set
-# CONFIG_PKG_USING_GAGENT_CLOUD is not set
-# CONFIG_PKG_USING_ALI_IOTKIT is not set
-# CONFIG_PKG_USING_AZURE is not set
-# CONFIG_PKG_USING_TENCENT_IOT_EXPLORER is not set
-# CONFIG_PKG_USING_JIOT-C-SDK is not set
-# CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set
-# CONFIG_PKG_USING_JOYLINK is not set
-# CONFIG_PKG_USING_EZ_IOT_OS is not set
-# CONFIG_PKG_USING_NIMBLE is not set
-# CONFIG_PKG_USING_LLSYNC_SDK_ADAPTER is not set
-# CONFIG_PKG_USING_OTA_DOWNLOADER is not set
-# CONFIG_PKG_USING_IPMSG is not set
-# CONFIG_PKG_USING_LSSDP is not set
-# CONFIG_PKG_USING_AIRKISS_OPEN is not set
-# CONFIG_PKG_USING_LIBRWS is not set
-# CONFIG_PKG_USING_TCPSERVER is not set
-# CONFIG_PKG_USING_PROTOBUF_C is not set
-# CONFIG_PKG_USING_DLT645 is not set
-# CONFIG_PKG_USING_QXWZ is not set
-# CONFIG_PKG_USING_SMTP_CLIENT is not set
-# CONFIG_PKG_USING_ABUP_FOTA is not set
-# CONFIG_PKG_USING_LIBCURL2RTT is not set
-# CONFIG_PKG_USING_CAPNP is not set
-# CONFIG_PKG_USING_AGILE_TELNET is not set
-# CONFIG_PKG_USING_NMEALIB is not set
-# CONFIG_PKG_USING_PDULIB is not set
-# CONFIG_PKG_USING_BTSTACK is not set
-# CONFIG_PKG_USING_LORAWAN_ED_STACK is not set
-# CONFIG_PKG_USING_WAYZ_IOTKIT is not set
-# CONFIG_PKG_USING_MAVLINK is not set
-# CONFIG_PKG_USING_BSAL is not set
-# CONFIG_PKG_USING_AGILE_MODBUS is not set
-# CONFIG_PKG_USING_AGILE_FTP is not set
-# CONFIG_PKG_USING_EMBEDDEDPROTO is not set
-# CONFIG_PKG_USING_RT_LINK_HW is not set
-# CONFIG_PKG_USING_LORA_PKT_FWD is not set
-# CONFIG_PKG_USING_LORA_GW_DRIVER_LIB is not set
-# CONFIG_PKG_USING_LORA_PKT_SNIFFER is not set
-# CONFIG_PKG_USING_HM is not set
-# CONFIG_PKG_USING_SMALL_MODBUS is not set
-# CONFIG_PKG_USING_NET_SERVER is not set
-
-#
-# security packages
-#
-# CONFIG_PKG_USING_MBEDTLS is not set
-# CONFIG_PKG_USING_LIBSODIUM is not set
-# CONFIG_PKG_USING_TINYCRYPT is not set
-# CONFIG_PKG_USING_TFM is not set
-# CONFIG_PKG_USING_YD_CRYPTO is not set
-
-#
-# language packages
-#
-
-#
-# JSON: JavaScript Object Notation, a lightweight data-interchange format
-#
-# CONFIG_PKG_USING_CJSON is not set
-# CONFIG_PKG_USING_LJSON is not set
-# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set
-# CONFIG_PKG_USING_RAPIDJSON is not set
-# CONFIG_PKG_USING_JSMN is not set
-# CONFIG_PKG_USING_AGILE_JSMN is not set
-
-#
-# XML: Extensible Markup Language
-#
-# CONFIG_PKG_USING_SIMPLE_XML is not set
-# CONFIG_PKG_USING_EZXML is not set
-# CONFIG_PKG_USING_LUATOS_SOC is not set
-# CONFIG_PKG_USING_LUA is not set
-# CONFIG_PKG_USING_JERRYSCRIPT is not set
-# CONFIG_PKG_USING_MICROPYTHON is not set
-# CONFIG_PKG_USING_PIKASCRIPT is not set
-
-#
-# multimedia packages
-#
-
-#
-# LVGL: powerful and easy-to-use embedded GUI library
-#
-# CONFIG_PKG_USING_LVGL is not set
-# CONFIG_PKG_USING_LITTLEVGL2RTT is not set
-# CONFIG_PKG_USING_LV_MUSIC_DEMO is not set
-
-#
-# u8g2: a monochrome graphic library
-#
-# CONFIG_PKG_USING_U8G2_OFFICIAL is not set
-# CONFIG_PKG_USING_U8G2 is not set
-# CONFIG_PKG_USING_OPENMV is not set
-# CONFIG_PKG_USING_MUPDF is not set
-# CONFIG_PKG_USING_STEMWIN is not set
-# CONFIG_PKG_USING_WAVPLAYER is not set
-# CONFIG_PKG_USING_TJPGD is not set
-# CONFIG_PKG_USING_PDFGEN is not set
-# CONFIG_PKG_USING_HELIX is not set
-# CONFIG_PKG_USING_AZUREGUIX is not set
-# CONFIG_PKG_USING_TOUCHGFX2RTT is not set
-# CONFIG_PKG_USING_NUEMWIN is not set
-# CONFIG_PKG_USING_MP3PLAYER is not set
-# CONFIG_PKG_USING_TINYJPEG is not set
-# CONFIG_PKG_USING_UGUI is not set
-
-#
-# PainterEngine: A cross-platform graphics application framework written in C language
-#
-# CONFIG_PKG_USING_PAINTERENGINE is not set
-# CONFIG_PKG_USING_PAINTERENGINE_AUX is not set
-# CONFIG_PKG_USING_MCURSES is not set
-# CONFIG_PKG_USING_TERMBOX is not set
-# CONFIG_PKG_USING_VT100 is not set
-# CONFIG_PKG_USING_QRCODE is not set
-
-#
-# tools packages
-#
-# CONFIG_PKG_USING_CMBACKTRACE is not set
-# CONFIG_PKG_USING_EASYFLASH is not set
-# CONFIG_PKG_USING_EASYLOGGER is not set
-# CONFIG_PKG_USING_SYSTEMVIEW is not set
-# CONFIG_PKG_USING_SEGGER_RTT is not set
-# CONFIG_PKG_USING_RDB is not set
-# CONFIG_PKG_USING_ULOG_EASYFLASH is not set
-# CONFIG_PKG_USING_ULOG_FILE is not set
-# CONFIG_PKG_USING_LOGMGR is not set
-# CONFIG_PKG_USING_ADBD is not set
-# CONFIG_PKG_USING_COREMARK is not set
-# CONFIG_PKG_USING_DHRYSTONE is not set
-# CONFIG_PKG_USING_MEMORYPERF is not set
-# CONFIG_PKG_USING_NR_MICRO_SHELL is not set
-# CONFIG_PKG_USING_CHINESE_FONT_LIBRARY is not set
-# CONFIG_PKG_USING_LUNAR_CALENDAR is not set
-# CONFIG_PKG_USING_BS8116A is not set
-# CONFIG_PKG_USING_GPS_RMC is not set
-# CONFIG_PKG_USING_URLENCODE is not set
-# CONFIG_PKG_USING_UMCN is not set
-# CONFIG_PKG_USING_LWRB2RTT is not set
-# CONFIG_PKG_USING_CPU_USAGE is not set
-# CONFIG_PKG_USING_GBK2UTF8 is not set
-# CONFIG_PKG_USING_VCONSOLE is not set
-# CONFIG_PKG_USING_KDB is not set
-# CONFIG_PKG_USING_WAMR is not set
-# CONFIG_PKG_USING_MICRO_XRCE_DDS_CLIENT is not set
-# CONFIG_PKG_USING_LWLOG is not set
-# CONFIG_PKG_USING_ANV_TRACE is not set
-# CONFIG_PKG_USING_ANV_MEMLEAK is not set
-# CONFIG_PKG_USING_ANV_TESTSUIT is not set
-# CONFIG_PKG_USING_ANV_BENCH is not set
-# CONFIG_PKG_USING_DEVMEM is not set
-# CONFIG_PKG_USING_REGEX is not set
-# CONFIG_PKG_USING_MEM_SANDBOX is not set
-# CONFIG_PKG_USING_SOLAR_TERMS is not set
-# CONFIG_PKG_USING_GAN_ZHI is not set
-# CONFIG_PKG_USING_FDT is not set
-# CONFIG_PKG_USING_CBOX is not set
-# CONFIG_PKG_USING_SNOWFLAKE is not set
-
-#
-# system packages
-#
-
-#
-# enhanced kernel services
-#
-# CONFIG_PKG_USING_RT_MEMCPY_CM is not set
-# CONFIG_PKG_USING_RT_KPRINTF_THREADSAFE is not set
-# CONFIG_PKG_USING_RT_VSNPRINTF_FULL is not set
-
-#
-# POSIX extension functions
-#
-# CONFIG_PKG_USING_POSIX_GETLINE is not set
-# CONFIG_PKG_USING_POSIX_WCWIDTH is not set
-# CONFIG_PKG_USING_POSIX_ITOA is not set
-# CONFIG_PKG_USING_POSIX_STRINGS is not set
-
-#
-# acceleration: Assembly language or algorithmic acceleration packages
-#
-# CONFIG_PKG_USING_QFPLIB_M0_FULL is not set
-# CONFIG_PKG_USING_QFPLIB_M0_TINY is not set
-# CONFIG_PKG_USING_QFPLIB_M3 is not set
-
-#
-# CMSIS: ARM Cortex-M Microcontroller Software Interface Standard
-#
-# CONFIG_PKG_USING_CMSIS_5 is not set
-# CONFIG_PKG_USING_CMSIS_RTOS2 is not set
-
-#
-# Micrium: Micrium software products porting for RT-Thread
-#
-# CONFIG_PKG_USING_UCOSIII_WRAPPER is not set
-# CONFIG_PKG_USING_UCOSII_WRAPPER is not set
-# CONFIG_PKG_USING_UC_CRC is not set
-# CONFIG_PKG_USING_UC_CLK is not set
-# CONFIG_PKG_USING_UC_COMMON is not set
-# CONFIG_PKG_USING_UC_MODBUS is not set
-# CONFIG_PKG_USING_RTDUINO is not set
-# CONFIG_PKG_USING_GUIENGINE is not set
-# CONFIG_PKG_USING_PERSIMMON is not set
-# CONFIG_PKG_USING_CAIRO is not set
-# CONFIG_PKG_USING_PIXMAN is not set
-# CONFIG_PKG_USING_PARTITION is not set
-# CONFIG_PKG_USING_FLASHDB is not set
-# CONFIG_PKG_USING_SQLITE is not set
-# CONFIG_PKG_USING_RTI is not set
-# CONFIG_PKG_USING_DFS_YAFFS is not set
-# CONFIG_PKG_USING_LITTLEFS is not set
-# CONFIG_PKG_USING_DFS_JFFS2 is not set
-# CONFIG_PKG_USING_DFS_UFFS is not set
-# CONFIG_PKG_USING_LWEXT4 is not set
-# CONFIG_PKG_USING_THREAD_POOL is not set
-# CONFIG_PKG_USING_ROBOTS is not set
-# CONFIG_PKG_USING_EV is not set
-# CONFIG_PKG_USING_SYSWATCH is not set
-# CONFIG_PKG_USING_SYS_LOAD_MONITOR is not set
-# CONFIG_PKG_USING_PLCCORE is not set
-# CONFIG_PKG_USING_RAMDISK is not set
-# CONFIG_PKG_USING_MININI is not set
-# CONFIG_PKG_USING_QBOOT is not set
-# CONFIG_PKG_USING_PPOOL is not set
-# CONFIG_PKG_USING_OPENAMP is not set
-# CONFIG_PKG_USING_LPM is not set
-# CONFIG_PKG_USING_TLSF is not set
-# CONFIG_PKG_USING_EVENT_RECORDER is not set
-# CONFIG_PKG_USING_ARM_2D is not set
-# CONFIG_PKG_USING_MCUBOOT is not set
-# CONFIG_PKG_USING_TINYUSB is not set
-# CONFIG_PKG_USING_CHERRYUSB is not set
-# CONFIG_PKG_USING_KMULTI_RTIMER is not set
-
-#
-# peripheral libraries and drivers
-#
-# CONFIG_PKG_USING_SENSORS_DRIVERS is not set
-# CONFIG_PKG_USING_REALTEK_AMEBA is not set
-# CONFIG_PKG_USING_SHT2X is not set
-# CONFIG_PKG_USING_SHT3X is not set
-# CONFIG_PKG_USING_AS7341 is not set
-# CONFIG_PKG_USING_STM32_SDIO is not set
-# CONFIG_PKG_USING_ICM20608 is not set
-# CONFIG_PKG_USING_BUTTON is not set
-# CONFIG_PKG_USING_PCF8574 is not set
-# CONFIG_PKG_USING_SX12XX is not set
-# CONFIG_PKG_USING_SIGNAL_LED is not set
-# CONFIG_PKG_USING_LEDBLINK is not set
-# CONFIG_PKG_USING_LITTLED is not set
-# CONFIG_PKG_USING_LKDGUI is not set
-# CONFIG_PKG_USING_NRF5X_SDK is not set
-# CONFIG_PKG_USING_NRFX is not set
-# CONFIG_PKG_USING_WM_LIBRARIES is not set
-# CONFIG_PKG_USING_KENDRYTE_SDK is not set
-# CONFIG_PKG_USING_INFRARED is not set
-# CONFIG_PKG_USING_MULTI_INFRARED is not set
-# CONFIG_PKG_USING_AGILE_BUTTON is not set
-# CONFIG_PKG_USING_AGILE_LED is not set
-# CONFIG_PKG_USING_AT24CXX is not set
-# CONFIG_PKG_USING_MOTIONDRIVER2RTT is not set
-# CONFIG_PKG_USING_AD7746 is not set
-# CONFIG_PKG_USING_PCA9685 is not set
-# CONFIG_PKG_USING_I2C_TOOLS is not set
-# CONFIG_PKG_USING_NRF24L01 is not set
-# CONFIG_PKG_USING_TOUCH_DRIVERS is not set
-# CONFIG_PKG_USING_MAX17048 is not set
-# CONFIG_PKG_USING_RPLIDAR is not set
-# CONFIG_PKG_USING_AS608 is not set
-# CONFIG_PKG_USING_RC522 is not set
-# CONFIG_PKG_USING_WS2812B is not set
-# CONFIG_PKG_USING_EMBARC_BSP is not set
-# CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set
-# CONFIG_PKG_USING_MULTI_RTIMER is not set
-# CONFIG_PKG_USING_MAX7219 is not set
-# CONFIG_PKG_USING_BEEP is not set
-# CONFIG_PKG_USING_EASYBLINK is not set
-# CONFIG_PKG_USING_PMS_SERIES is not set
-# CONFIG_PKG_USING_CAN_YMODEM is not set
-# CONFIG_PKG_USING_LORA_RADIO_DRIVER is not set
-# CONFIG_PKG_USING_QLED is not set
-# CONFIG_PKG_USING_PAJ7620 is not set
-# CONFIG_PKG_USING_AGILE_CONSOLE is not set
-# CONFIG_PKG_USING_LD3320 is not set
-# CONFIG_PKG_USING_WK2124 is not set
-# CONFIG_PKG_USING_LY68L6400 is not set
-# CONFIG_PKG_USING_DM9051 is not set
-# CONFIG_PKG_USING_SSD1306 is not set
-# CONFIG_PKG_USING_QKEY is not set
-# CONFIG_PKG_USING_RS485 is not set
-# CONFIG_PKG_USING_RS232 is not set
-# CONFIG_PKG_USING_NES is not set
-# CONFIG_PKG_USING_VIRTUAL_SENSOR is not set
-# CONFIG_PKG_USING_VDEVICE is not set
-# CONFIG_PKG_USING_SGM706 is not set
-# CONFIG_PKG_USING_STM32WB55_SDK is not set
-# CONFIG_PKG_USING_RDA58XX is not set
-# CONFIG_PKG_USING_LIBNFC is not set
-# CONFIG_PKG_USING_MFOC is not set
-# CONFIG_PKG_USING_TMC51XX is not set
-# CONFIG_PKG_USING_TCA9534 is not set
-# CONFIG_PKG_USING_KOBUKI is not set
-# CONFIG_PKG_USING_ROSSERIAL is not set
-# CONFIG_PKG_USING_MICRO_ROS is not set
-# CONFIG_PKG_USING_MCP23008 is not set
-# CONFIG_PKG_USING_BLUETRUM_SDK is not set
-# CONFIG_PKG_USING_MISAKA_AT24CXX is not set
-# CONFIG_PKG_USING_MISAKA_RGB_BLING is not set
-# CONFIG_PKG_USING_LORA_MODEM_DRIVER is not set
-# CONFIG_PKG_USING_BL_MCU_SDK is not set
-# CONFIG_PKG_USING_SOFT_SERIAL is not set
-# CONFIG_PKG_USING_MB85RS16 is not set
-# CONFIG_PKG_USING_CW2015 is not set
-# CONFIG_PKG_USING_RFM300 is not set
-
-#
-# AI packages
-#
-# CONFIG_PKG_USING_LIBANN is not set
-# CONFIG_PKG_USING_NNOM is not set
-# CONFIG_PKG_USING_ONNX_BACKEND is not set
-# CONFIG_PKG_USING_ONNX_PARSER is not set
-# CONFIG_PKG_USING_TENSORFLOWLITEMICRO is not set
-# CONFIG_PKG_USING_ELAPACK is not set
-# CONFIG_PKG_USING_ULAPACK is not set
-# CONFIG_PKG_USING_QUEST is not set
-# CONFIG_PKG_USING_NAXOS is not set
-
-#
-# miscellaneous packages
-#
-
-#
-# project laboratory
-#
-
-#
-# samples: kernel and components samples
-#
-# CONFIG_PKG_USING_KERNEL_SAMPLES is not set
-# CONFIG_PKG_USING_FILESYSTEM_SAMPLES is not set
-# CONFIG_PKG_USING_NETWORK_SAMPLES is not set
-# CONFIG_PKG_USING_PERIPHERAL_SAMPLES is not set
-
-#
-# entertainment: terminal games and other interesting software packages
-#
-# CONFIG_PKG_USING_CMATRIX is not set
-# CONFIG_PKG_USING_SL is not set
-# CONFIG_PKG_USING_CAL is not set
-# CONFIG_PKG_USING_ACLOCK is not set
-# CONFIG_PKG_USING_THREES is not set
-# CONFIG_PKG_USING_2048 is not set
-# CONFIG_PKG_USING_SNAKE is not set
-# CONFIG_PKG_USING_TETRIS is not set
-# CONFIG_PKG_USING_DONUT is not set
-# CONFIG_PKG_USING_COWSAY is not set
-# CONFIG_PKG_USING_LIBCSV is not set
-# CONFIG_PKG_USING_OPTPARSE is not set
-# CONFIG_PKG_USING_FASTLZ is not set
-# CONFIG_PKG_USING_MINILZO is not set
-# CONFIG_PKG_USING_QUICKLZ is not set
-# CONFIG_PKG_USING_LZMA is not set
-# CONFIG_PKG_USING_MULTIBUTTON is not set
-# CONFIG_PKG_USING_FLEXIBLE_BUTTON is not set
-# CONFIG_PKG_USING_CANFESTIVAL is not set
-# CONFIG_PKG_USING_ZLIB is not set
-# CONFIG_PKG_USING_MINIZIP is not set
-# CONFIG_PKG_USING_HEATSHRINK is not set
-# CONFIG_PKG_USING_DSTR is not set
-# CONFIG_PKG_USING_TINYFRAME is not set
-# CONFIG_PKG_USING_KENDRYTE_DEMO is not set
-# CONFIG_PKG_USING_DIGITALCTRL is not set
-# CONFIG_PKG_USING_UPACKER is not set
-# CONFIG_PKG_USING_UPARAM is not set
-# CONFIG_PKG_USING_HELLO is not set
-# CONFIG_PKG_USING_VI is not set
-# CONFIG_PKG_USING_KI is not set
-# CONFIG_PKG_USING_ARMv7M_DWT is not set
-# CONFIG_PKG_USING_UKAL is not set
-# CONFIG_PKG_USING_CRCLIB is not set
-# CONFIG_PKG_USING_LWGPS is not set
-# CONFIG_PKG_USING_STATE_MACHINE is not set
-# CONFIG_PKG_USING_DESIGN_PATTERN is not set
-# CONFIG_PKG_USING_CONTROLLER is not set
-# CONFIG_PKG_USING_PHASE_LOCKED_LOOP is not set
-# CONFIG_PKG_USING_MFBD is not set
-CONFIG_SOC_FAMILY_STM32=y
-CONFIG_SOC_SERIES_STM32H7=y
-
-#
-# Hardware Drivers Config
-#
-CONFIG_SOC_STM32H750XB=y
-CONFIG_BOARD_STM32H750_ARTPI=y
-
-#
-# Board extended module
-#
-# CONFIG_ART_PI_USING_MEDIA_IO is not set
-# CONFIG_ART_PI_USING_INDUSTRY_IO is not set
-
-#
-# Onboard Peripheral Drivers
-#
-CONFIG_BSP_USING_USB_TO_USART=y
-# CONFIG_BSP_USING_SPI_FLASH is not set
-# CONFIG_BSP_USING_QSPI_FLASH is not set
-# CONFIG_BSP_USING_FS is not set
-# CONFIG_BSP_USING_WIFI is not set
-
-#
-# On-chip Peripheral Drivers
-#
-CONFIG_BSP_USING_GPIO=y
-CONFIG_BSP_USING_UART=y
-# CONFIG_BSP_USING_UART1 is not set
-# CONFIG_BSP_USING_UART3 is not set
-CONFIG_BSP_USING_UART4=y
-# CONFIG_BSP_USING_UART6 is not set
-# CONFIG_BSP_USING_SPI is not set
-# CONFIG_BSP_USING_QSPI is not set
-# CONFIG_BSP_USING_ONCHIP_RTC is not set
-# CONFIG_BSP_USING_I2C is not set
-CONFIG_BSP_USING_SDRAM=y
-# CONFIG_BSP_USING_WDT is not set
-# CONFIG_BSP_USING_LCD is not set
-# CONFIG_BSP_USING_SDIO_ARTPI is not set
-# CONFIG_BSP_USING_USBD is not set
-# CONFIG_BSP_USING_USBH is not set
-# CONFIG_BSP_USING_ETH_H750 is not set
-# CONFIG_BSP_USING_LTDC is not set
-# CONFIG_BSP_USING_CRC is not set
-# CONFIG_BSP_USING_RNG is not set
-# CONFIG_BSP_USING_UDID is not set
-
-#
-# External Libraries
-#
-# CONFIG_ART_PI_USING_WIFI_6212_LIB is not set
diff --git a/bsp/stm32/stm32h750-artpi-h750/.gitignore b/bsp/stm32/stm32h750-artpi-h750/.gitignore
deleted file mode 100644
index 7221bde019..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/.gitignore
+++ /dev/null
@@ -1,42 +0,0 @@
-*.pyc
-*.map
-*.dblite
-*.elf
-*.bin
-*.hex
-*.axf
-*.exe
-*.pdb
-*.idb
-*.ilk
-*.old
-build
-Debug
-documentation/html
-packages/
-*~
-*.o
-*.obj
-*.out
-*.bak
-*.dep
-*.lib
-*.i
-*.d
-.DS_Stor*
-.config 3
-.config 4
-.config 5
-Midea-X1
-*.uimg
-GPATH
-GRTAGS
-GTAGS
-.vscode
-JLinkLog.txt
-JLinkSettings.ini
-DebugConfig/
-RTE/
-settings/
-*.uvguix*
-cconfig.h
diff --git a/bsp/stm32/stm32h750-artpi-h750/EventRecorderStub.scvd b/bsp/stm32/stm32h750-artpi-h750/EventRecorderStub.scvd
deleted file mode 100644
index 2956b29683..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/EventRecorderStub.scvd
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/bsp/stm32/stm32h750-artpi-h750/Kconfig b/bsp/stm32/stm32h750-artpi-h750/Kconfig
deleted file mode 100644
index 8cbc7b71a8..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/Kconfig
+++ /dev/null
@@ -1,21 +0,0 @@
-mainmenu "RT-Thread Configuration"
-
-config BSP_DIR
- string
- option env="BSP_ROOT"
- default "."
-
-config RTT_DIR
- string
- option env="RTT_ROOT"
- default "../../.."
-
-config PKGS_DIR
- string
- option env="PKGS_ROOT"
- default "packages"
-
-source "$RTT_DIR/Kconfig"
-source "$PKGS_DIR/Kconfig"
-source "../libraries/Kconfig"
-source "board/Kconfig"
diff --git a/bsp/stm32/stm32h750-artpi-h750/README.md b/bsp/stm32/stm32h750-artpi-h750/README.md
deleted file mode 100644
index 3c598c2845..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/README.md
+++ /dev/null
@@ -1,128 +0,0 @@
-# STM32H750-artpi 开发板 BSP 说明
-
-## 简介
-
-本文档 为 STM32H750-ART-PI 开发板提供的 BSP (板级支持包) 说明。
-
-主要内容如下:
-
-- 开发板资源介绍
-- BSP 快速上手
-- 进阶使用方法
-
-通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开发者利用 RT-Thread 驱动更多板载资源。
-
-## 开发板介绍
-
-STM32H750 是RTTHREAD推出的一款基于 ARM Cortex-M7 内核的开发板,最高主频为 480Mhz,该开发板具有丰富的板载资源,可以充分发挥 STM32H750 的芯片性能。
-
-开发板外观如下图所示:
-
-
-
-该开发板常用 **板载资源** 如下:
-
-- MCU:STM32H750,主频 480MHz,128KB FLASH, 1MB RAM
-- 常用接口:USB 转串口、USB OTG、RGB888等
-- 调试接口,标准 ST-LINK
-
-开发板更多详细信息请参考[H750-ART-PI](https://www.rt-thread.org/product/153.html)。
-
-官方仓库[sdk-bsp-stm32h750-realthread-artpi](https://github.com/RT-Thread-Studio/sdk-bsp-stm32h750-realthread-artpi)
-
-官方主页 [ART-PI](https://art-pi.gitee.io/website)
-
-## 外设支持
-
-本 BSP 目前对外设的支持情况如下:
-
-| **板载外设** | **支持情况** | **备注** |
-| :----------- | :----------: | :------------------------ |
-| LED | 待支持 | 一个红灯,一个蓝灯 |
-| BUTTON | 待支持 | 一个用户可控button |
-| QSPI FLASH | 待支持 | 1MB w25q64 QSPI接口FLASH |
-| SPI FLASH | 待支持 | 2MB w25q128 SPI FLASH |
-| SDCARD | 待支持 | sdcard接口 |
-| AP6212 | 待支持 | WIFI & BLUETOOTH |
-| LCD RG888 | 待支持 | 显示屏接口 |
-| **片上外设** | **支持情况** | **备注** |
-| GPIO | 支持 | |
-| UART | 支持 | UART4 UART3 |
-| SPI | 支持 | SPI |
-| QSPI | 支持 | |
-| | | |
-
-
-## 使用说明
-
-使用说明分为如下两个章节:
-
-- 快速上手
-
- 本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。
-
-- 进阶使用
-
- 本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。
-
-
-### 快速上手
-
-本 BSP 为开发者提供 MDK5 和 IAR 工程,并且支持 GCC 开发环境。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。
-
-#### 硬件连接
-
-使用数据线连接开发板到 PC,将 TVCC 接到 3.3V。使用 usb 转串口工具连接 TTLRX 和 TTLTX。
-
-#### 编译下载
-
-双击 project.uvprojx 文件,打开 MDK5 工程,编译并下载程序到开发板。
-
-> 工程默认配置使用 ST_LINK 仿真器下载程序,在通过 ST_LINK 连接开发板的基础上,点击下载按钮即可下载程序到开发板
-
-#### 运行结果
-
-下载程序成功之后,系统会自动运行,LED闪烁。
-
-连接开发板对应串口到 PC , 在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到 RT-Thread 的输出信息:
-
-```bash
- \ | /
-- RT - Thread Operating System
- / | \ 4.0.2 build Oct 25 2019
- 2006 - 2019 Copyright by rt-thread team
-msh >
-```
-### 进阶使用
-
-此 BSP 默认只开启了 GPIO 和 串口1 的功能,如果需使用更多高级功能,需要利用 ENV 工具对BSP 进行配置,步骤如下:
-
-1. 在 bsp 下打开 env 工具。
-
-2. 输入`menuconfig`命令配置工程,配置好之后保存退出。
-
-3. 输入`pkgs --update`命令更新软件包。
-
-4. 输入`scons --target=mdk4/mdk5/iar` 命令重新生成工程。
-
-本章节更多详细的介绍请参考 [STM32 系列 BSP 外设驱动使用教程](../docs/STM32系列BSP外设驱动使用教程.md)。
-
-## 注意事项
-
-- 调试串口为串口4 映射说明
-
- PI9 ------> USART4_RX
-
- PA0 ------> USART4_TX
-
-## 联系人信息
-
-ART-Pi 是一个开源创意硬件平台,期待有更多的小伙伴能一起发现更多的乐趣,在使用过程中若您有任何的想法和建议,建议您通过以下方式来联系到我们。
-
-RT-Thread [社区论坛](https://club.rt-thread.org/)。
-
-- ART-Pi 官方交流 QQ 群(1016035998)。
-
-## 贡献代码
-
-如果您对 ART-Pi 感兴趣,并有一些好玩的项目愿意与大家分享,欢迎给我们贡献代码,您可以参考 [ART-Pi 代码贡献手册](https://github.com/RT-Thread-Studio/sdk-bsp-stm32h750-realthread-artpi/blob/master/documents/UM5004-RT-Thread ART-Pi 代码贡献手册.md) 。
\ No newline at end of file
diff --git a/bsp/stm32/stm32h750-artpi-h750/SConscript b/bsp/stm32/stm32h750-artpi-h750/SConscript
deleted file mode 100644
index c7ef7659ec..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/SConscript
+++ /dev/null
@@ -1,14 +0,0 @@
-# for module compiling
-import os
-from building import *
-
-cwd = GetCurrentDir()
-objs = []
-list = os.listdir(cwd)
-
-for d in list:
- path = os.path.join(cwd, d)
- if os.path.isfile(os.path.join(path, 'SConscript')):
- objs = objs + SConscript(os.path.join(d, 'SConscript'))
-
-Return('objs')
diff --git a/bsp/stm32/stm32h750-artpi-h750/SConstruct b/bsp/stm32/stm32h750-artpi-h750/SConstruct
deleted file mode 100644
index fc6658ebc7..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/SConstruct
+++ /dev/null
@@ -1,60 +0,0 @@
-import os
-import sys
-import rtconfig
-
-if os.getenv('RTT_ROOT'):
- RTT_ROOT = os.getenv('RTT_ROOT')
-else:
- RTT_ROOT = os.path.normpath(os.getcwd() + '/../../..')
-
-sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
-try:
- from building import *
-except:
- print('Cannot found RT-Thread root directory, please check RTT_ROOT')
- print(RTT_ROOT)
- exit(-1)
-
-TARGET = 'rt-thread.' + rtconfig.TARGET_EXT
-
-DefaultEnvironment(tools=[])
-env = Environment(tools = ['mingw'],
- AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
- CC = rtconfig.CC, CFLAGS = rtconfig.CFLAGS,
- AR = rtconfig.AR, ARFLAGS = '-rc',
- CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS,
- LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
-env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
-
-if rtconfig.PLATFORM == 'iar':
- env.Replace(CCCOM = ['$CC $CFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS -o $TARGET $SOURCES'])
- env.Replace(ARFLAGS = [''])
- env.Replace(LINKCOM = env["LINKCOM"] + ' --map rt-thread.map')
-
-Export('RTT_ROOT')
-Export('rtconfig')
-
-SDK_ROOT = os.path.abspath('./')
-
-if os.path.exists(SDK_ROOT + '/libraries'):
- libraries_path_prefix = SDK_ROOT + '/libraries'
-else:
- libraries_path_prefix = os.path.dirname(SDK_ROOT) + '/libraries'
-
-SDK_LIB = libraries_path_prefix
-Export('SDK_LIB')
-
-# prepare building environment
-objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False)
-
-stm32_library = 'STM32H7xx_HAL'
-rtconfig.BSP_LIBRARY_TYPE = stm32_library
-
-# include drivers
-objs.extend(SConscript(os.path.join(libraries_path_prefix, stm32_library, 'SConscript')))
-
-# include libraries
-objs.extend(SConscript(os.path.join(libraries_path_prefix, 'HAL_Drivers', 'SConscript')))
-
-# make a building
-DoBuilding(TARGET, objs)
diff --git a/bsp/stm32/stm32h750-artpi-h750/applications/SConscript b/bsp/stm32/stm32h750-artpi-h750/applications/SConscript
deleted file mode 100644
index fe708e67c8..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/applications/SConscript
+++ /dev/null
@@ -1,16 +0,0 @@
-import rtconfig
-from building import *
-import os
-
-cwd = GetCurrentDir()
-path = [cwd]
-src = Glob('*.c')
-
-group = DefineGroup('Applications', src, depend = [''], CPPPATH = path)
-
-list = os.listdir(cwd)
-for item in list:
- if os.path.isfile(os.path.join(cwd, item, 'SConscript')):
- group = group + SConscript(os.path.join(item, 'SConscript'))
-
-Return('group')
\ No newline at end of file
diff --git a/bsp/stm32/stm32h750-artpi-h750/applications/lvgl/SConscript b/bsp/stm32/stm32h750-artpi-h750/applications/lvgl/SConscript
deleted file mode 100644
index 79d9772177..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/applications/lvgl/SConscript
+++ /dev/null
@@ -1,16 +0,0 @@
-from building import *
-import os
-
-cwd = GetCurrentDir()
-group = []
-src = Glob('*.c')
-CPPPATH = [cwd]
-
-list = os.listdir(cwd)
-for d in list:
- path = os.path.join(cwd, d)
- if os.path.isfile(os.path.join(path, 'SConscript')):
- group = group + SConscript(os.path.join(d, 'SConscript'))
-
-group = group + DefineGroup('LVGL-port', src, depend = ['BSP_USING_LVGL'], CPPPATH = CPPPATH)
-Return('group')
diff --git a/bsp/stm32/stm32h750-artpi-h750/applications/lvgl/lv_conf.h b/bsp/stm32/stm32h750-artpi-h750/applications/lvgl/lv_conf.h
deleted file mode 100644
index dd2fc777d7..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/applications/lvgl/lv_conf.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (c) 2006-2022, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2022-01-28 Rudy Lo The first version
- */
-
-#ifndef LV_CONF_H
-#define LV_CONF_H
-
-#include
-
-#define LCD_W 480
-#define LCD_H 320
-
-#define LV_COLOR_16_SWAP 0
-#define LV_COLOR_DEPTH 32
-#define LV_USE_PERF_MONITOR 1
-
-#define LV_HOR_RES_MAX LCD_W
-#define LV_VER_RES_MAX LCD_H
-
-#define LV_USE_DEMO_RTT_MUSIC 1
-#define LV_DEMO_RTT_MUSIC_AUTO_PLAY 1
-
-#define LV_FONT_MONTSERRAT_12 1
-#define LV_FONT_MONTSERRAT_16 1
-
-#endif
diff --git a/bsp/stm32/stm32h750-artpi-h750/applications/lvgl/lv_demo.c b/bsp/stm32/stm32h750-artpi-h750/applications/lvgl/lv_demo.c
deleted file mode 100644
index 4facba0470..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/applications/lvgl/lv_demo.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2006-2022, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2022-01-28 Rudy Lo The first version
- */
-#include
-#include
-#include
-#define DBG_TAG "LVGL.demo"
-#define DBG_LVL DBG_INFO
-#include
-
-#ifndef LV_THREAD_STACK_SIZE
-#define LV_THREAD_STACK_SIZE 4096
-#endif
-
-#ifndef LV_THREAD_PRIO
-#define LV_THREAD_PRIO (RT_THREAD_PRIORITY_MAX * 2 / 3)
-#endif
-
-static void lvgl_thread(void *parameter)
-{
- extern void lv_demo_music(void);
- lv_demo_music();
-
- /* handle the tasks of LVGL */
- while(1)
- {
- lv_task_handler();
- rt_thread_mdelay(10);
- }
-}
-
-static int lvgl_demo_init(void)
-{
- rt_thread_t tid;
-
- tid = rt_thread_create("LVGL", lvgl_thread, RT_NULL, LV_THREAD_STACK_SIZE, LV_THREAD_PRIO, 0);
- if(tid == RT_NULL)
- {
- LOG_E("Fail to create 'LVGL' thread");
- }
- rt_thread_startup(tid);
-
- return 0;
-}
-INIT_APP_EXPORT(lvgl_demo_init);
diff --git a/bsp/stm32/stm32h750-artpi-h750/applications/lvgl/lv_port_disp.c b/bsp/stm32/stm32h750-artpi-h750/applications/lvgl/lv_port_disp.c
deleted file mode 100644
index 689d934b4b..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/applications/lvgl/lv_port_disp.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (c) 2006-2022, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2022-02-01 Rudy Lo The first version
- */
-
-#include
-#include
-#include "drv_spi_ili9488.h"
-
-#define MY_DISP_HOR_RES (LCD_W)
-#define DISP_BUFFER_LINES (LCD_H / 5)
-
-/*A static or global variable to store the buffers*/
-static lv_disp_draw_buf_t disp_buf;
-
-/*Descriptor of a display driver*/
-static lv_disp_drv_t disp_drv;
-
-/*Static or global buffer(s). The second buffer is optional*/
-static lv_color_t buf_1[MY_DISP_HOR_RES * DISP_BUFFER_LINES];
-//static lv_color_t buf_2[MY_DISP_HOR_RES * DISP_BUFFER_LINES];
-
-/*Flush the content of the internal buffer the specific area on the display
- *You can use DMA or any hardware acceleration to do this operation in the background but
- *'lv_disp_flush_ready()' has to be called when finished.*/
-static void disp_flush(lv_disp_drv_t * disp_drv, const lv_area_t * area, lv_color_t * color_p)
-{
- /* color_p is a buffer pointer; the buffer is provided by LVGL */
- lcd_fill_array(area->x1, area->y1, area->x2, area->y2, color_p);
-
- /*IMPORTANT!!!
- *Inform the graphics library that you are ready with the flushing*/
- lv_disp_flush_ready(disp_drv);
-}
-
-void lv_port_disp_init(void)
-{
- /*Initialize `disp_buf` with the buffer(s). With only one buffer use NULL instead buf_2 */
- lv_disp_draw_buf_init(&disp_buf, buf_1, RT_NULL, MY_DISP_HOR_RES * DISP_BUFFER_LINES);
-
- lv_disp_drv_init(&disp_drv); /*Basic initialization*/
-
- /*Set the resolution of the display*/
- disp_drv.hor_res = LCD_W;
- disp_drv.ver_res = LCD_H;
-
- /*Set a display buffer*/
- disp_drv.draw_buf = &disp_buf;
-
- /*Used to copy the buffer's content to the display*/
- disp_drv.flush_cb = disp_flush;
-
- /*Finally register the driver*/
- lv_disp_drv_register(&disp_drv);
-}
diff --git a/bsp/stm32/stm32h750-artpi-h750/applications/lvgl/lv_port_disp.h b/bsp/stm32/stm32h750-artpi-h750/applications/lvgl/lv_port_disp.h
deleted file mode 100644
index 5c93b6c9d4..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/applications/lvgl/lv_port_disp.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (c) 2006-2022, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2022-02-01 Rudy Lo The first version
- */
-
-#ifndef LV_PORT_DISP_H
-#define LV_PORT_DISP_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void lv_port_disp_init(void);
-
-#ifdef __cplusplus
-} /*extern "C"*/
-#endif
-
-#endif
diff --git a/bsp/stm32/stm32h750-artpi-h750/applications/lvgl/lv_port_indev.c b/bsp/stm32/stm32h750-artpi-h750/applications/lvgl/lv_port_indev.c
deleted file mode 100644
index 26d0bc2988..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/applications/lvgl/lv_port_indev.c
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (c) 2006-2022, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2022-02-01 Rudy Lo The first version
- */
-
-#include
-#include
-#include
-#include
-
-#include "ft6236.h"
-
-#define TOUCH_DEVICE_NAME "touch_ft" /* Touch device name */
-#define TOUCH_DEVICE_I2C_BUS "i2c2" /* SCL -> PH15(127), SDA -> PH13(125) */
-#define REST_PIN GET_PIN(A, 3) /* reset pin */
-#define USER_BUTTON_PIN GET_PIN(H, 4) /* Reserve for LV_INDEV_TYPE_BUTTON */
-
-static rt_device_t ts; /* Touch device handle, Touchscreen */
-static struct rt_touch_data *read_data;
-
-static rt_int16_t last_x = 0;
-static rt_int16_t last_y = 0;
-
-static bool touchpad_is_pressed(void)
-{
- if (RT_EOK == rt_device_read(ts, 0, read_data, 1)) /* return RT_EOK is a bug (ft6236) */
- {
- if (read_data->event == RT_TOUCH_EVENT_DOWN) {
- /* swap x and y */
- rt_int16_t tmp_x = read_data->y_coordinate;
- rt_int16_t tmp_y = read_data->x_coordinate;
-
- /* invert y */
- tmp_y = 320 - tmp_y;
-
- /* restore data */
- last_x = tmp_x;
- last_y = tmp_y;
-
- rt_kprintf("touch: x = %d, y = %d\n", last_x, last_y);
- return true;
- }
- }
-
- return false;
-}
-
-static void touchpad_get_xy(rt_int16_t *x, rt_int16_t *y)
-{
- *x = last_x;
- *y = last_y;
-}
-
-static void touchpad_read(lv_indev_drv_t *indev, lv_indev_data_t *data)
-{
- /*`touchpad_is_pressed` and `touchpad_get_xy` needs to be implemented by you*/
- if(touchpad_is_pressed()) {
- data->state = LV_INDEV_STATE_PRESSED;
- touchpad_get_xy(&data->point.x, &data->point.y);
- } else {
- data->state = LV_INDEV_STATE_RELEASED;
- }
-}
-
-rt_err_t rt_hw_ft6236_register(void)
-{
- struct rt_touch_config config;
- config.dev_name = TOUCH_DEVICE_I2C_BUS;
- rt_hw_ft6236_init(TOUCH_DEVICE_NAME, &config, REST_PIN);
-
- ts = rt_device_find(TOUCH_DEVICE_NAME);
- if (!ts) {
- return -RT_ERROR;
- }
-
- read_data = (struct rt_touch_data *)rt_calloc(1, sizeof(struct rt_touch_data));
- if (!read_data) {
- return -RT_ENOMEM;
- }
-
- if (!rt_device_open(ts, RT_DEVICE_FLAG_RDONLY)) {
- struct rt_touch_info info;
- rt_device_control(ts, RT_TOUCH_CTRL_GET_INFO, &info);
- rt_kprintf("type :%d\n", info.type);
- rt_kprintf("vendor :%s\n", info.vendor);
- rt_kprintf("point_num :%d\n", info.point_num);
- rt_kprintf("range_x :%d\n", info.range_x);
- rt_kprintf("range_y :%d\n", info.range_y);
- return RT_EOK;
- } else {
- rt_kprintf("open touch device failed.\n");
- return -RT_ERROR;
- }
-}
-
-lv_indev_t * touch_indev;
-
-void lv_port_indev_init(void)
-{
- static lv_indev_drv_t indev_drv; /* Descriptor of a input device driver */
- lv_indev_drv_init(&indev_drv); /* Basic initialization */
- indev_drv.type = LV_INDEV_TYPE_POINTER; /* Touch pad is a pointer-like device */
- indev_drv.read_cb = touchpad_read; /* Set your driver function */
-
- /* Register the driver in LVGL and save the created input device object */
- touch_indev = lv_indev_drv_register(&indev_drv);
-
- /* Register touch device */
- rt_hw_ft6236_register();
-}
diff --git a/bsp/stm32/stm32h750-artpi-h750/applications/lvgl/lv_port_indev.h b/bsp/stm32/stm32h750-artpi-h750/applications/lvgl/lv_port_indev.h
deleted file mode 100644
index c546f232b9..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/applications/lvgl/lv_port_indev.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (c) 2006-2022, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2022-02-01 Rudy Lo The first version
- */
-
-#ifndef LV_PORT_INDEV_H
-#define LV_PORT_INDEV_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void lv_port_indev_init(void);
-
-#ifdef __cplusplus
-} /*extern "C"*/
-#endif
-
-#endif
diff --git a/bsp/stm32/stm32h750-artpi-h750/applications/main.c b/bsp/stm32/stm32h750-artpi-h750/applications/main.c
deleted file mode 100644
index 5016caf031..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/applications/main.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2006-2022, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2021-03-17 supperthomas first version
- */
-
-#include
-#include
-#include
-
-/* defined the LED0 pin: PI8 */
-#define LED0_PIN GET_PIN(I, 8)
-
-#ifdef RT_USING_WIFI
- extern void wlan_autoconnect_init(void);
-#endif
-
-int main(void)
-{
- /* set LED0 pin mode to output */
- rt_pin_mode(LED0_PIN, PIN_MODE_OUTPUT);
- #ifdef RT_USING_WIFI
- /* init Wi-Fi auto connect feature */
- wlan_autoconnect_init();
- /* enable auto reconnect on WLAN device */
- rt_wlan_config_autoreconnect(RT_TRUE);
- #endif
-
- while (1)
- {
- rt_pin_write(LED0_PIN, PIN_HIGH);
- rt_thread_mdelay(500);
- rt_pin_write(LED0_PIN, PIN_LOW);
- rt_thread_mdelay(500);
- }
-}
-
-#include "stm32h7xx.h"
-static int vtor_config(void)
-{
- /* Vector Table Relocation in Internal QSPI_FLASH */
- SCB->VTOR = QSPI_BASE;
- return 0;
-}
-INIT_BOARD_EXPORT(vtor_config);
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/.ignore_format.yml b/bsp/stm32/stm32h750-artpi-h750/board/.ignore_format.yml
deleted file mode 100644
index 0d7f3e360c..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/board/.ignore_format.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-# files format check exclude path, please follow the instructions below to modify;
-# If you need to exclude an entire folder, add the folder path in dir_path;
-# If you need to exclude a file, add the path to the file in file_path.
-
-dir_path:
-- CubeMX_Config
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/CubeMX_Config/Core/Inc/main.h b/bsp/stm32/stm32h750-artpi-h750/board/CubeMX_Config/Core/Inc/main.h
deleted file mode 100644
index 4677beb2d9..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/board/CubeMX_Config/Core/Inc/main.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/* USER CODE BEGIN Header */
-/**
- ******************************************************************************
- * @file : main.h
- * @brief : Header for main.c file.
- * This file contains the common defines of the application.
- ******************************************************************************
- * @attention
- *
- * © Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
-/* USER CODE END Header */
-
-/* Define to prevent recursive inclusion -------------------------------------*/
-#ifndef __MAIN_H
-#define __MAIN_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Includes ------------------------------------------------------------------*/
-#include "stm32h7xx_hal.h"
-
-/* Private includes ----------------------------------------------------------*/
-/* USER CODE BEGIN Includes */
-
-/* USER CODE END Includes */
-
-/* Exported types ------------------------------------------------------------*/
-/* USER CODE BEGIN ET */
-
-/* USER CODE END ET */
-
-/* Exported constants --------------------------------------------------------*/
-/* USER CODE BEGIN EC */
-
-/* USER CODE END EC */
-
-/* Exported macro ------------------------------------------------------------*/
-/* USER CODE BEGIN EM */
-
-/* USER CODE END EM */
-
-/* Exported functions prototypes ---------------------------------------------*/
-void Error_Handler(void);
-
-/* USER CODE BEGIN EFP */
-
-/* USER CODE END EFP */
-
-/* Private defines -----------------------------------------------------------*/
-/* USER CODE BEGIN Private defines */
-
-/* USER CODE END Private defines */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __MAIN_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/CubeMX_Config/Core/Inc/stm32h7xx_hal_conf.h b/bsp/stm32/stm32h750-artpi-h750/board/CubeMX_Config/Core/Inc/stm32h7xx_hal_conf.h
deleted file mode 100644
index 55856dbf6b..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/board/CubeMX_Config/Core/Inc/stm32h7xx_hal_conf.h
+++ /dev/null
@@ -1,511 +0,0 @@
-/**
- ******************************************************************************
- * @file stm32h7xx_hal_conf.h
- * @author MCD Application Team
- * @brief HAL configuration file.
- ******************************************************************************
- * @attention
- *
- * © Copyright (c) 2017 STMicroelectronics.
- * All rights reserved.
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
-
-/* Define to prevent recursive inclusion -------------------------------------*/
-#ifndef STM32H7xx_HAL_CONF_H
-#define STM32H7xx_HAL_CONF_H
-
-#ifdef __cplusplus
- extern "C" {
-#endif
-
-/* Exported types ------------------------------------------------------------*/
-/* Exported constants --------------------------------------------------------*/
-
-/* ########################## Module Selection ############################## */
-/**
- * @brief This is the list of modules to be used in the HAL driver
- */
-#define HAL_MODULE_ENABLED
-
- #define HAL_ADC_MODULE_ENABLED
-/* #define HAL_FDCAN_MODULE_ENABLED */
-/* #define HAL_FMAC_MODULE_ENABLED */
-/* #define HAL_CEC_MODULE_ENABLED */
-/* #define HAL_COMP_MODULE_ENABLED */
-/* #define HAL_CORDIC_MODULE_ENABLED */
-/* #define HAL_CRC_MODULE_ENABLED */
-/* #define HAL_CRYP_MODULE_ENABLED */
-/* #define HAL_DAC_MODULE_ENABLED */
-/* #define HAL_DCMI_MODULE_ENABLED */
-/* #define HAL_DMA2D_MODULE_ENABLED */
-#define HAL_ETH_MODULE_ENABLED
-/* #define HAL_NAND_MODULE_ENABLED */
-/* #define HAL_NOR_MODULE_ENABLED */
-/* #define HAL_OTFDEC_MODULE_ENABLED */
-/* #define HAL_SRAM_MODULE_ENABLED */
-#define HAL_SDRAM_MODULE_ENABLED
-/* #define HAL_HASH_MODULE_ENABLED */
-/* #define HAL_HRTIM_MODULE_ENABLED */
-/* #define HAL_HSEM_MODULE_ENABLED */
-/* #define HAL_GFXMMU_MODULE_ENABLED */
-/* #define HAL_JPEG_MODULE_ENABLED */
-/* #define HAL_OPAMP_MODULE_ENABLED */
-/* #define HAL_OSPI_MODULE_ENABLED */
-/* #define HAL_OSPI_MODULE_ENABLED */
-/* #define HAL_I2S_MODULE_ENABLED */
-/* #define HAL_SMBUS_MODULE_ENABLED */
-/* #define HAL_IWDG_MODULE_ENABLED */
-/* #define HAL_LPTIM_MODULE_ENABLED */
-#define HAL_LTDC_MODULE_ENABLED
-/* #define HAL_QSPI_MODULE_ENABLED */
-/* #define HAL_RNG_MODULE_ENABLED */
-/* #define HAL_RTC_MODULE_ENABLED */
-/* #define HAL_SAI_MODULE_ENABLED */
-#define HAL_SD_MODULE_ENABLED
-/* #define HAL_MMC_MODULE_ENABLED */
-/* #define HAL_SPDIFRX_MODULE_ENABLED */
-#define HAL_SPI_MODULE_ENABLED
-/* #define HAL_SWPMI_MODULE_ENABLED */
-#define HAL_TIM_MODULE_ENABLED
-#define HAL_UART_MODULE_ENABLED
-/* #define HAL_USART_MODULE_ENABLED */
-/* #define HAL_IRDA_MODULE_ENABLED */
-/* #define HAL_SMARTCARD_MODULE_ENABLED */
-/* #define HAL_WWDG_MODULE_ENABLED */
-#define HAL_PCD_MODULE_ENABLED
-/* #define HAL_HCD_MODULE_ENABLED */
-/* #define HAL_DFSDM_MODULE_ENABLED */
-/* #define HAL_DSI_MODULE_ENABLED */
-/* #define HAL_JPEG_MODULE_ENABLED */
-/* #define HAL_MDIOS_MODULE_ENABLED */
-/* #define HAL_PSSI_MODULE_ENABLED */
-/* #define HAL_DTS_MODULE_ENABLED */
-#define HAL_GPIO_MODULE_ENABLED
-#define HAL_DMA_MODULE_ENABLED
-#define HAL_MDMA_MODULE_ENABLED
-#define HAL_RCC_MODULE_ENABLED
-#define HAL_FLASH_MODULE_ENABLED
-#define HAL_EXTI_MODULE_ENABLED
-#define HAL_PWR_MODULE_ENABLED
-#define HAL_I2C_MODULE_ENABLED
-#define HAL_CORTEX_MODULE_ENABLED
-#define HAL_HSEM_MODULE_ENABLED
-
-/* ########################## Oscillator Values adaptation ####################*/
-/**
- * @brief Adjust the value of External High Speed oscillator (HSE) used in your application.
- * This value is used by the RCC HAL module to compute the system frequency
- * (when HSE is used as system clock source, directly or through the PLL).
- */
-#if !defined (HSE_VALUE)
-#define HSE_VALUE ((uint32_t)25000000) /*!< Value of the External oscillator in Hz : FPGA case fixed to 60MHZ */
-#endif /* HSE_VALUE */
-
-#if !defined (HSE_STARTUP_TIMEOUT)
- #define HSE_STARTUP_TIMEOUT ((uint32_t)100U) /*!< Time out for HSE start up, in ms */
-#endif /* HSE_STARTUP_TIMEOUT */
-
-/**
- * @brief Internal oscillator (CSI) default value.
- * This value is the default CSI value after Reset.
- */
-#if !defined (CSI_VALUE)
- #define CSI_VALUE ((uint32_t)4000000) /*!< Value of the Internal oscillator in Hz*/
-#endif /* CSI_VALUE */
-
-/**
- * @brief Internal High Speed oscillator (HSI) value.
- * This value is used by the RCC HAL module to compute the system frequency
- * (when HSI is used as system clock source, directly or through the PLL).
- */
-#if !defined (HSI_VALUE)
- #define HSI_VALUE ((uint32_t)64000000) /*!< Value of the Internal oscillator in Hz*/
-#endif /* HSI_VALUE */
-
-/**
- * @brief External Low Speed oscillator (LSE) value.
- * This value is used by the UART, RTC HAL module to compute the system frequency
- */
-#if !defined (LSE_VALUE)
- #define LSE_VALUE ((uint32_t)32768U) /*!< Value of the External oscillator in Hz*/
-#endif /* LSE_VALUE */
-
-#if !defined (LSE_STARTUP_TIMEOUT)
- #define LSE_STARTUP_TIMEOUT ((uint32_t)5000U) /*!< Time out for LSE start up, in ms */
-#endif /* LSE_STARTUP_TIMEOUT */
-
-#if !defined (LSI_VALUE)
- #define LSI_VALUE (32000UL) /*!< LSI Typical Value in Hz*/
-#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz
- The real value may vary depending on the variations
- in voltage and temperature.*/
-
-/**
- * @brief External clock source for I2S peripheral
- * This value is used by the I2S HAL module to compute the I2S clock source
- * frequency, this source is inserted directly through I2S_CKIN pad.
- */
-#if !defined (EXTERNAL_CLOCK_VALUE)
- #define EXTERNAL_CLOCK_VALUE 12288000U /*!< Value of the External clock in Hz*/
-#endif /* EXTERNAL_CLOCK_VALUE */
-
-/* Tip: To avoid modifying this file each time you need to use different HSE,
- === you can define the HSE value in your toolchain compiler preprocessor. */
-
-/* ########################### System Configuration ######################### */
-/**
- * @brief This is the HAL system configuration section
- */
-#define VDD_VALUE ((uint32_t)3300U) /*!< Value of VDD in mv */
-#define TICK_INT_PRIORITY ((uint32_t)0U) /*!< tick interrupt priority */
-#define USE_RTOS 0U
-#define USE_SD_TRANSCEIVER 1U /*!< use uSD Transceiver */
-#define USE_SPI_CRC 0U /*!< use CRC in SPI */
-
-#define USE_HAL_ADC_REGISTER_CALLBACKS 0U /* ADC register callback disabled */
-#define USE_HAL_CEC_REGISTER_CALLBACKS 0U /* CEC register callback disabled */
-#define USE_HAL_COMP_REGISTER_CALLBACKS 0U /* COMP register callback disabled */
-#define USE_HAL_CORDIC_REGISTER_CALLBACKS 0U /* CORDIC register callback disabled */
-#define USE_HAL_CRYP_REGISTER_CALLBACKS 0U /* CRYP register callback disabled */
-#define USE_HAL_DAC_REGISTER_CALLBACKS 0U /* DAC register callback disabled */
-#define USE_HAL_DCMI_REGISTER_CALLBACKS 0U /* DCMI register callback disabled */
-#define USE_HAL_DFSDM_REGISTER_CALLBACKS 0U /* DFSDM register callback disabled */
-#define USE_HAL_DMA2D_REGISTER_CALLBACKS 0U /* DMA2D register callback disabled */
-#define USE_HAL_DSI_REGISTER_CALLBACKS 0U /* DSI register callback disabled */
-#define USE_HAL_DTS_REGISTER_CALLBACKS 0U /* DTS register callback disabled */
-#define USE_HAL_ETH_REGISTER_CALLBACKS 0U /* ETH register callback disabled */
-#define USE_HAL_FDCAN_REGISTER_CALLBACKS 0U /* FDCAN register callback disabled */
-#define USE_HAL_FMAC_REGISTER_CALLBACKS 0U /* FMAC register callback disabled */
-#define USE_HAL_NAND_REGISTER_CALLBACKS 0U /* NAND register callback disabled */
-#define USE_HAL_NOR_REGISTER_CALLBACKS 0U /* NOR register callback disabled */
-#define USE_HAL_SDRAM_REGISTER_CALLBACKS 0U /* SDRAM register callback disabled */
-#define USE_HAL_SRAM_REGISTER_CALLBACKS 0U /* SRAM register callback disabled */
-#define USE_HAL_HASH_REGISTER_CALLBACKS 0U /* HASH register callback disabled */
-#define USE_HAL_HCD_REGISTER_CALLBACKS 0U /* HCD register callback disabled */
-#define USE_HAL_GFXMMU_REGISTER_CALLBACKS 0U /* GFXMMU register callback disabled */
-#define USE_HAL_HRTIM_REGISTER_CALLBACKS 0U /* HRTIM register callback disabled */
-#define USE_HAL_I2C_REGISTER_CALLBACKS 0U /* I2C register callback disabled */
-#define USE_HAL_I2S_REGISTER_CALLBACKS 0U /* I2S register callback disabled */
-#define USE_HAL_IRDA_REGISTER_CALLBACKS 0U /* IRDA register callback disabled */
-#define USE_HAL_JPEG_REGISTER_CALLBACKS 0U /* JPEG register callback disabled */
-#define USE_HAL_LPTIM_REGISTER_CALLBACKS 0U /* LPTIM register callback disabled */
-#define USE_HAL_LTDC_REGISTER_CALLBACKS 0U /* LTDC register callback disabled */
-#define USE_HAL_MDIOS_REGISTER_CALLBACKS 0U /* MDIO register callback disabled */
-#define USE_HAL_MMC_REGISTER_CALLBACKS 0U /* MMC register callback disabled */
-#define USE_HAL_OPAMP_REGISTER_CALLBACKS 0U /* MDIO register callback disabled */
-#define USE_HAL_OSPI_REGISTER_CALLBACKS 0U /* OSPI register callback disabled */
-#define USE_HAL_OTFDEC_REGISTER_CALLBACKS 0U /* OTFDEC register callback disabled */
-#define USE_HAL_PCD_REGISTER_CALLBACKS 0U /* PCD register callback disabled */
-#define USE_HAL_QSPI_REGISTER_CALLBACKS 0U /* QSPI register callback disabled */
-#define USE_HAL_RNG_REGISTER_CALLBACKS 0U /* RNG register callback disabled */
-#define USE_HAL_RTC_REGISTER_CALLBACKS 0U /* RTC register callback disabled */
-#define USE_HAL_SAI_REGISTER_CALLBACKS 0U /* SAI register callback disabled */
-#define USE_HAL_SD_REGISTER_CALLBACKS 0U /* SD register callback disabled */
-#define USE_HAL_SMARTCARD_REGISTER_CALLBACKS 0U /* SMARTCARD register callback disabled */
-#define USE_HAL_SPDIFRX_REGISTER_CALLBACKS 0U /* SPDIFRX register callback disabled */
-#define USE_HAL_SMBUS_REGISTER_CALLBACKS 0U /* SMBUS register callback disabled */
-#define USE_HAL_SPI_REGISTER_CALLBACKS 0U /* SPI register callback disabled */
-#define USE_HAL_SWPMI_REGISTER_CALLBACKS 0U /* SWPMI register callback disabled */
-#define USE_HAL_TIM_REGISTER_CALLBACKS 0U /* TIM register callback disabled */
-#define USE_HAL_UART_REGISTER_CALLBACKS 0U /* UART register callback disabled */
-#define USE_HAL_USART_REGISTER_CALLBACKS 0U /* USART register callback disabled */
-#define USE_HAL_WWDG_REGISTER_CALLBACKS 0U /* WWDG register callback disabled */
-
-/* ########################### Ethernet Configuration ######################### */
-#define ETH_TX_DESC_CNT 4 /* number of Ethernet Tx DMA descriptors */
-#define ETH_RX_DESC_CNT 4 /* number of Ethernet Rx DMA descriptors */
-
-#define ETH_MAC_ADDR0 ((uint8_t)0x02)
-#define ETH_MAC_ADDR1 ((uint8_t)0x00)
-#define ETH_MAC_ADDR2 ((uint8_t)0x00)
-#define ETH_MAC_ADDR3 ((uint8_t)0x00)
-#define ETH_MAC_ADDR4 ((uint8_t)0x00)
-#define ETH_MAC_ADDR5 ((uint8_t)0x00)
-
-/* ########################## Assert Selection ############################## */
-/**
- * @brief Uncomment the line below to expanse the "assert_param" macro in the
- * HAL drivers code
- */
-/* #define USE_FULL_ASSERT 1U */
-
-/* Includes ------------------------------------------------------------------*/
-/**
- * @brief Include module's header file
- */
-
-#ifdef HAL_RCC_MODULE_ENABLED
- #include "stm32h7xx_hal_rcc.h"
-#endif /* HAL_RCC_MODULE_ENABLED */
-
-#ifdef HAL_GPIO_MODULE_ENABLED
- #include "stm32h7xx_hal_gpio.h"
-#endif /* HAL_GPIO_MODULE_ENABLED */
-
-#ifdef HAL_DMA_MODULE_ENABLED
- #include "stm32h7xx_hal_dma.h"
-#endif /* HAL_DMA_MODULE_ENABLED */
-
-#ifdef HAL_MDMA_MODULE_ENABLED
- #include "stm32h7xx_hal_mdma.h"
-#endif /* HAL_MDMA_MODULE_ENABLED */
-
-#ifdef HAL_HASH_MODULE_ENABLED
- #include "stm32h7xx_hal_hash.h"
-#endif /* HAL_HASH_MODULE_ENABLED */
-
-#ifdef HAL_DCMI_MODULE_ENABLED
- #include "stm32h7xx_hal_dcmi.h"
-#endif /* HAL_DCMI_MODULE_ENABLED */
-
-#ifdef HAL_DMA2D_MODULE_ENABLED
- #include "stm32h7xx_hal_dma2d.h"
-#endif /* HAL_DMA2D_MODULE_ENABLED */
-
-#ifdef HAL_DSI_MODULE_ENABLED
- #include "stm32h7xx_hal_dsi.h"
-#endif /* HAL_DSI_MODULE_ENABLED */
-
-#ifdef HAL_DFSDM_MODULE_ENABLED
- #include "stm32h7xx_hal_dfsdm.h"
-#endif /* HAL_DFSDM_MODULE_ENABLED */
-
-#ifdef HAL_ETH_MODULE_ENABLED
- #include "stm32h7xx_hal_eth.h"
-#endif /* HAL_ETH_MODULE_ENABLED */
-
-#ifdef HAL_EXTI_MODULE_ENABLED
- #include "stm32h7xx_hal_exti.h"
-#endif /* HAL_EXTI_MODULE_ENABLED */
-
-#ifdef HAL_CORTEX_MODULE_ENABLED
- #include "stm32h7xx_hal_cortex.h"
-#endif /* HAL_CORTEX_MODULE_ENABLED */
-
-#ifdef HAL_ADC_MODULE_ENABLED
- #include "stm32h7xx_hal_adc.h"
-#endif /* HAL_ADC_MODULE_ENABLED */
-
-#ifdef HAL_FDCAN_MODULE_ENABLED
- #include "stm32h7xx_hal_fdcan.h"
-#endif /* HAL_FDCAN_MODULE_ENABLED */
-
-#ifdef HAL_CEC_MODULE_ENABLED
- #include "stm32h7xx_hal_cec.h"
-#endif /* HAL_CEC_MODULE_ENABLED */
-
-#ifdef HAL_COMP_MODULE_ENABLED
- #include "stm32h7xx_hal_comp.h"
-#endif /* HAL_COMP_MODULE_ENABLED */
-
-#ifdef HAL_CORDIC_MODULE_ENABLED
- #include "stm32h7xx_hal_cordic.h"
-#endif /* HAL_CORDIC_MODULE_ENABLED */
-
-#ifdef HAL_CRC_MODULE_ENABLED
- #include "stm32h7xx_hal_crc.h"
-#endif /* HAL_CRC_MODULE_ENABLED */
-
-#ifdef HAL_CRYP_MODULE_ENABLED
- #include "stm32h7xx_hal_cryp.h"
-#endif /* HAL_CRYP_MODULE_ENABLED */
-
-#ifdef HAL_DAC_MODULE_ENABLED
- #include "stm32h7xx_hal_dac.h"
-#endif /* HAL_DAC_MODULE_ENABLED */
-
-#ifdef HAL_FLASH_MODULE_ENABLED
- #include "stm32h7xx_hal_flash.h"
-#endif /* HAL_FLASH_MODULE_ENABLED */
-
-#ifdef HAL_FMAC_MODULE_ENABLED
- #include "stm32h7xx_hal_fmac.h"
-#endif /* HAL_FMAC_MODULE_ENABLED */
-
-#ifdef HAL_GFXMMU_MODULE_ENABLED
- #include "stm32h7xx_hal_gfxmmu.h"
-#endif /* HAL_GFXMMU_MODULE_ENABLED */
-
-#ifdef HAL_HRTIM_MODULE_ENABLED
- #include "stm32h7xx_hal_hrtim.h"
-#endif /* HAL_HRTIM_MODULE_ENABLED */
-
-#ifdef HAL_HSEM_MODULE_ENABLED
- #include "stm32h7xx_hal_hsem.h"
-#endif /* HAL_HSEM_MODULE_ENABLED */
-
-#ifdef HAL_SRAM_MODULE_ENABLED
- #include "stm32h7xx_hal_sram.h"
-#endif /* HAL_SRAM_MODULE_ENABLED */
-
-#ifdef HAL_NOR_MODULE_ENABLED
- #include "stm32h7xx_hal_nor.h"
-#endif /* HAL_NOR_MODULE_ENABLED */
-
-#ifdef HAL_NAND_MODULE_ENABLED
- #include "stm32h7xx_hal_nand.h"
-#endif /* HAL_NAND_MODULE_ENABLED */
-
-#ifdef HAL_I2C_MODULE_ENABLED
- #include "stm32h7xx_hal_i2c.h"
-#endif /* HAL_I2C_MODULE_ENABLED */
-
-#ifdef HAL_I2S_MODULE_ENABLED
- #include "stm32h7xx_hal_i2s.h"
-#endif /* HAL_I2S_MODULE_ENABLED */
-
-#ifdef HAL_IWDG_MODULE_ENABLED
- #include "stm32h7xx_hal_iwdg.h"
-#endif /* HAL_IWDG_MODULE_ENABLED */
-
-#ifdef HAL_JPEG_MODULE_ENABLED
- #include "stm32h7xx_hal_jpeg.h"
-#endif /* HAL_JPEG_MODULE_ENABLED */
-
-#ifdef HAL_MDIOS_MODULE_ENABLED
- #include "stm32h7xx_hal_mdios.h"
-#endif /* HAL_MDIOS_MODULE_ENABLED */
-
-#ifdef HAL_MMC_MODULE_ENABLED
- #include "stm32h7xx_hal_mmc.h"
-#endif /* HAL_MMC_MODULE_ENABLED */
-
-#ifdef HAL_LPTIM_MODULE_ENABLED
-#include "stm32h7xx_hal_lptim.h"
-#endif /* HAL_LPTIM_MODULE_ENABLED */
-
-#ifdef HAL_LTDC_MODULE_ENABLED
-#include "stm32h7xx_hal_ltdc.h"
-#endif /* HAL_LTDC_MODULE_ENABLED */
-
-#ifdef HAL_OPAMP_MODULE_ENABLED
-#include "stm32h7xx_hal_opamp.h"
-#endif /* HAL_OPAMP_MODULE_ENABLED */
-
-#ifdef HAL_OSPI_MODULE_ENABLED
- #include "stm32h7xx_hal_ospi.h"
-#endif /* HAL_OSPI_MODULE_ENABLED */
-
-#ifdef HAL_OTFDEC_MODULE_ENABLED
-#include "stm32h7xx_hal_otfdec.h"
-#endif /* HAL_OTFDEC_MODULE_ENABLED */
-
-#ifdef HAL_PWR_MODULE_ENABLED
- #include "stm32h7xx_hal_pwr.h"
-#endif /* HAL_PWR_MODULE_ENABLED */
-
-#ifdef HAL_QSPI_MODULE_ENABLED
- #include "stm32h7xx_hal_qspi.h"
-#endif /* HAL_QSPI_MODULE_ENABLED */
-
-#ifdef HAL_RAMECC_MODULE_ENABLED
- #include "stm32h7xx_hal_ramecc.h"
-#endif /* HAL_HCD_MODULE_ENABLED */
-
-#ifdef HAL_RNG_MODULE_ENABLED
- #include "stm32h7xx_hal_rng.h"
-#endif /* HAL_RNG_MODULE_ENABLED */
-
-#ifdef HAL_RTC_MODULE_ENABLED
- #include "stm32h7xx_hal_rtc.h"
-#endif /* HAL_RTC_MODULE_ENABLED */
-
-#ifdef HAL_SAI_MODULE_ENABLED
- #include "stm32h7xx_hal_sai.h"
-#endif /* HAL_SAI_MODULE_ENABLED */
-
-#ifdef HAL_SD_MODULE_ENABLED
- #include "stm32h7xx_hal_sd.h"
-#endif /* HAL_SD_MODULE_ENABLED */
-
-#ifdef HAL_SDRAM_MODULE_ENABLED
- #include "stm32h7xx_hal_sdram.h"
-#endif /* HAL_SDRAM_MODULE_ENABLED */
-
-#ifdef HAL_SPI_MODULE_ENABLED
- #include "stm32h7xx_hal_spi.h"
-#endif /* HAL_SPI_MODULE_ENABLED */
-
-#ifdef HAL_SPDIFRX_MODULE_ENABLED
- #include "stm32h7xx_hal_spdifrx.h"
-#endif /* HAL_SPDIFRX_MODULE_ENABLED */
-
-#ifdef HAL_SWPMI_MODULE_ENABLED
- #include "stm32h7xx_hal_swpmi.h"
-#endif /* HAL_SWPMI_MODULE_ENABLED */
-
-#ifdef HAL_TIM_MODULE_ENABLED
- #include "stm32h7xx_hal_tim.h"
-#endif /* HAL_TIM_MODULE_ENABLED */
-
-#ifdef HAL_UART_MODULE_ENABLED
- #include "stm32h7xx_hal_uart.h"
-#endif /* HAL_UART_MODULE_ENABLED */
-
-#ifdef HAL_USART_MODULE_ENABLED
- #include "stm32h7xx_hal_usart.h"
-#endif /* HAL_USART_MODULE_ENABLED */
-
-#ifdef HAL_IRDA_MODULE_ENABLED
- #include "stm32h7xx_hal_irda.h"
-#endif /* HAL_IRDA_MODULE_ENABLED */
-
-#ifdef HAL_SMARTCARD_MODULE_ENABLED
- #include "stm32h7xx_hal_smartcard.h"
-#endif /* HAL_SMARTCARD_MODULE_ENABLED */
-
-#ifdef HAL_SMBUS_MODULE_ENABLED
- #include "stm32h7xx_hal_smbus.h"
-#endif /* HAL_SMBUS_MODULE_ENABLED */
-
-#ifdef HAL_WWDG_MODULE_ENABLED
- #include "stm32h7xx_hal_wwdg.h"
-#endif /* HAL_WWDG_MODULE_ENABLED */
-
-#ifdef HAL_PCD_MODULE_ENABLED
- #include "stm32h7xx_hal_pcd.h"
-#endif /* HAL_PCD_MODULE_ENABLED */
-
-#ifdef HAL_HCD_MODULE_ENABLED
- #include "stm32h7xx_hal_hcd.h"
-#endif /* HAL_HCD_MODULE_ENABLED */
-
-#ifdef HAL_PSSI_MODULE_ENABLED
- #include "stm32h7xx_hal_pssi.h"
-#endif /* HAL_PSSI_MODULE_ENABLED */
-
-#ifdef HAL_DTS_MODULE_ENABLED
- #include "stm32h7xx_hal_dts.h"
-#endif /* HAL_DTS_MODULE_ENABLED */
-
-/* Exported macro ------------------------------------------------------------*/
-#ifdef USE_FULL_ASSERT
-/**
- * @brief The assert_param macro is used for function's parameters check.
- * @param expr: If expr is false, it calls assert_failed function
- * which reports the name of the source file and the source
- * line number of the call that failed.
- * If expr is true, it returns no value.
- * @retval None
- */
- #define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__))
-/* Exported functions ------------------------------------------------------- */
- void assert_failed(uint8_t* file, uint32_t line);
-#else
- #define assert_param(expr) ((void)0U)
-#endif /* USE_FULL_ASSERT */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __STM32H7xx_HAL_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/CubeMX_Config/Core/Src/stm32h7xx_hal_msp.c b/bsp/stm32/stm32h750-artpi-h750/board/CubeMX_Config/Core/Src/stm32h7xx_hal_msp.c
deleted file mode 100644
index 66f72bc785..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/board/CubeMX_Config/Core/Src/stm32h7xx_hal_msp.c
+++ /dev/null
@@ -1,1211 +0,0 @@
-/* USER CODE BEGIN Header */
-/**
- ******************************************************************************
- * File Name : stm32h7xx_hal_msp.c
- * Description : This file provides code for the MSP Initialization
- * and de-Initialization codes.
- ******************************************************************************
- * @attention
- *
- * © Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
-/* USER CODE END Header */
-
-/* Includes ------------------------------------------------------------------*/
-#include "main.h"
-/* USER CODE BEGIN Includes */
-
-/* USER CODE END Includes */
-
-/* Private typedef -----------------------------------------------------------*/
-/* USER CODE BEGIN TD */
-
-/* USER CODE END TD */
-
-/* Private define ------------------------------------------------------------*/
-/* USER CODE BEGIN Define */
-
-/* USER CODE END Define */
-
-/* Private macro -------------------------------------------------------------*/
-/* USER CODE BEGIN Macro */
-
-/* USER CODE END Macro */
-
-/* Private variables ---------------------------------------------------------*/
-/* USER CODE BEGIN PV */
-
-/* USER CODE END PV */
-
-/* Private function prototypes -----------------------------------------------*/
-/* USER CODE BEGIN PFP */
-
-/* USER CODE END PFP */
-
-/* External functions --------------------------------------------------------*/
-/* USER CODE BEGIN ExternalFunctions */
-
-/* USER CODE END ExternalFunctions */
-
-/* USER CODE BEGIN 0 */
-
-/* USER CODE END 0 */
-
-void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
- /**
- * Initializes the Global MSP.
- */
-void HAL_MspInit(void)
-{
- /* USER CODE BEGIN MspInit 0 */
-
- /* USER CODE END MspInit 0 */
-
- __HAL_RCC_SYSCFG_CLK_ENABLE();
-
- /* System interrupt init*/
-
- /* USER CODE BEGIN MspInit 1 */
-
- /* USER CODE END MspInit 1 */
-}
-
-/**
-* @brief ADC MSP Initialization
-* This function configures the hardware resources used in this example
-* @param hadc: ADC handle pointer
-* @retval None
-*/
-void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
-{
- GPIO_InitTypeDef GPIO_InitStruct = {0};
- if(hadc->Instance==ADC1)
- {
- /* USER CODE BEGIN ADC1_MspInit 0 */
-
- /* USER CODE END ADC1_MspInit 0 */
- /* Peripheral clock enable */
- __HAL_RCC_ADC12_CLK_ENABLE();
-
- __HAL_RCC_GPIOB_CLK_ENABLE();
- /**ADC1 GPIO Configuration
- PB1 ------> ADC1_INP5
- */
- GPIO_InitStruct.Pin = GPIO_PIN_1;
- GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
-
- /* USER CODE BEGIN ADC1_MspInit 1 */
-
- /* USER CODE END ADC1_MspInit 1 */
- }
-
-}
-
-/**
-* @brief ADC MSP De-Initialization
-* This function freeze the hardware resources used in this example
-* @param hadc: ADC handle pointer
-* @retval None
-*/
-void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
-{
- if(hadc->Instance==ADC1)
- {
- /* USER CODE BEGIN ADC1_MspDeInit 0 */
-
- /* USER CODE END ADC1_MspDeInit 0 */
- /* Peripheral clock disable */
- __HAL_RCC_ADC12_CLK_DISABLE();
-
- /**ADC1 GPIO Configuration
- PB1 ------> ADC1_INP5
- */
- HAL_GPIO_DeInit(GPIOB, GPIO_PIN_1);
-
- /* USER CODE BEGIN ADC1_MspDeInit 1 */
-
- /* USER CODE END ADC1_MspDeInit 1 */
- }
-
-}
-
-/**
-* @brief ETH MSP Initialization
-* This function configures the hardware resources used in this example
-* @param heth: ETH handle pointer
-* @retval None
-*/
-void HAL_ETH_MspInit(ETH_HandleTypeDef* heth)
-{
- GPIO_InitTypeDef GPIO_InitStruct = {0};
- if(heth->Instance==ETH)
- {
- /* USER CODE BEGIN ETH_MspInit 0 */
-
- /* USER CODE END ETH_MspInit 0 */
- /* Peripheral clock enable */
- __HAL_RCC_ETH1MAC_CLK_ENABLE();
- __HAL_RCC_ETH1TX_CLK_ENABLE();
- __HAL_RCC_ETH1RX_CLK_ENABLE();
-
- __HAL_RCC_GPIOG_CLK_ENABLE();
- __HAL_RCC_GPIOC_CLK_ENABLE();
- __HAL_RCC_GPIOA_CLK_ENABLE();
- /**ETH GPIO Configuration
- PG11 ------> ETH_TX_EN
- PG14 ------> ETH_TXD1
- PG13 ------> ETH_TXD0
- PC1 ------> ETH_MDC
- PA2 ------> ETH_MDIO
- PA1 ------> ETH_REF_CLK
- PA7 ------> ETH_CRS_DV
- PC4 ------> ETH_RXD0
- PC5 ------> ETH_RXD1
- */
- GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_14|GPIO_PIN_13;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
- GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
- HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
-
- GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
- GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
- HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
-
- GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_7;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
- GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
- HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
-
- /* ETH interrupt Init */
- HAL_NVIC_SetPriority(ETH_IRQn, 0, 0);
- HAL_NVIC_EnableIRQ(ETH_IRQn);
- /* USER CODE BEGIN ETH_MspInit 1 */
-
- /* USER CODE END ETH_MspInit 1 */
- }
-
-}
-
-/**
-* @brief ETH MSP De-Initialization
-* This function freeze the hardware resources used in this example
-* @param heth: ETH handle pointer
-* @retval None
-*/
-void HAL_ETH_MspDeInit(ETH_HandleTypeDef* heth)
-{
- if(heth->Instance==ETH)
- {
- /* USER CODE BEGIN ETH_MspDeInit 0 */
-
- /* USER CODE END ETH_MspDeInit 0 */
- /* Peripheral clock disable */
- __HAL_RCC_ETH1MAC_CLK_DISABLE();
- __HAL_RCC_ETH1TX_CLK_DISABLE();
- __HAL_RCC_ETH1RX_CLK_DISABLE();
-
- /**ETH GPIO Configuration
- PG11 ------> ETH_TX_EN
- PG14 ------> ETH_TXD1
- PG13 ------> ETH_TXD0
- PC1 ------> ETH_MDC
- PA2 ------> ETH_MDIO
- PA1 ------> ETH_REF_CLK
- PA7 ------> ETH_CRS_DV
- PC4 ------> ETH_RXD0
- PC5 ------> ETH_RXD1
- */
- HAL_GPIO_DeInit(GPIOG, GPIO_PIN_11|GPIO_PIN_14|GPIO_PIN_13);
-
- HAL_GPIO_DeInit(GPIOC, GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5);
-
- HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_7);
-
- /* ETH interrupt DeInit */
- HAL_NVIC_DisableIRQ(ETH_IRQn);
- /* USER CODE BEGIN ETH_MspDeInit 1 */
-
- /* USER CODE END ETH_MspDeInit 1 */
- }
-
-}
-
-/**
-* @brief LTDC MSP Initialization
-* This function configures the hardware resources used in this example
-* @param hltdc: LTDC handle pointer
-* @retval None
-*/
-void HAL_LTDC_MspInit(LTDC_HandleTypeDef* hltdc)
-{
- GPIO_InitTypeDef GPIO_InitStruct = {0};
- if(hltdc->Instance==LTDC)
- {
- /* USER CODE BEGIN LTDC_MspInit 0 */
-
- /* USER CODE END LTDC_MspInit 0 */
- /* Peripheral clock enable */
- __HAL_RCC_LTDC_CLK_ENABLE();
-
- __HAL_RCC_GPIOK_CLK_ENABLE();
- __HAL_RCC_GPIOJ_CLK_ENABLE();
- __HAL_RCC_GPIOI_CLK_ENABLE();
- /**LTDC GPIO Configuration
- PK5 ------> LTDC_B6
- PK4 ------> LTDC_B5
- PJ15 ------> LTDC_B3
- PK6 ------> LTDC_B7
- PK3 ------> LTDC_B4
- PK7 ------> LTDC_DE
- PJ14 ------> LTDC_B2
- PJ12 ------> LTDC_B0
- PJ13 ------> LTDC_B1
- PI12 ------> LTDC_HSYNC
- PI13 ------> LTDC_VSYNC
- PI14 ------> LTDC_CLK
- PK2 ------> LTDC_G7
- PK0 ------> LTDC_G5
- PK1 ------> LTDC_G6
- PJ11 ------> LTDC_G4
- PJ10 ------> LTDC_G3
- PJ9 ------> LTDC_G2
- PJ0 ------> LTDC_R1
- PJ8 ------> LTDC_G1
- PJ7 ------> LTDC_G0
- PJ6 ------> LTDC_R7
- PI15 ------> LTDC_R0
- PJ1 ------> LTDC_R2
- PJ5 ------> LTDC_R6
- PJ2 ------> LTDC_R3
- PJ3 ------> LTDC_R4
- PJ4 ------> LTDC_R5
- */
- GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_6|GPIO_PIN_3
- |GPIO_PIN_7|GPIO_PIN_2|GPIO_PIN_0|GPIO_PIN_1;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
- GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
- HAL_GPIO_Init(GPIOK, &GPIO_InitStruct);
-
- GPIO_InitStruct.Pin = GPIO_PIN_15|GPIO_PIN_14|GPIO_PIN_12|GPIO_PIN_13
- |GPIO_PIN_11|GPIO_PIN_10|GPIO_PIN_9|GPIO_PIN_0
- |GPIO_PIN_8|GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_1
- |GPIO_PIN_5|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
- GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
- HAL_GPIO_Init(GPIOJ, &GPIO_InitStruct);
-
- GPIO_InitStruct.Pin = GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
- GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
- HAL_GPIO_Init(GPIOI, &GPIO_InitStruct);
-
- /* USER CODE BEGIN LTDC_MspInit 1 */
-
- /* USER CODE END LTDC_MspInit 1 */
- }
-
-}
-
-/**
-* @brief LTDC MSP De-Initialization
-* This function freeze the hardware resources used in this example
-* @param hltdc: LTDC handle pointer
-* @retval None
-*/
-void HAL_LTDC_MspDeInit(LTDC_HandleTypeDef* hltdc)
-{
- if(hltdc->Instance==LTDC)
- {
- /* USER CODE BEGIN LTDC_MspDeInit 0 */
-
- /* USER CODE END LTDC_MspDeInit 0 */
- /* Peripheral clock disable */
- __HAL_RCC_LTDC_CLK_DISABLE();
-
- /**LTDC GPIO Configuration
- PK5 ------> LTDC_B6
- PK4 ------> LTDC_B5
- PJ15 ------> LTDC_B3
- PK6 ------> LTDC_B7
- PK3 ------> LTDC_B4
- PK7 ------> LTDC_DE
- PJ14 ------> LTDC_B2
- PJ12 ------> LTDC_B0
- PJ13 ------> LTDC_B1
- PI12 ------> LTDC_HSYNC
- PI13 ------> LTDC_VSYNC
- PI14 ------> LTDC_CLK
- PK2 ------> LTDC_G7
- PK0 ------> LTDC_G5
- PK1 ------> LTDC_G6
- PJ11 ------> LTDC_G4
- PJ10 ------> LTDC_G3
- PJ9 ------> LTDC_G2
- PJ0 ------> LTDC_R1
- PJ8 ------> LTDC_G1
- PJ7 ------> LTDC_G0
- PJ6 ------> LTDC_R7
- PI15 ------> LTDC_R0
- PJ1 ------> LTDC_R2
- PJ5 ------> LTDC_R6
- PJ2 ------> LTDC_R3
- PJ3 ------> LTDC_R4
- PJ4 ------> LTDC_R5
- */
- HAL_GPIO_DeInit(GPIOK, GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_6|GPIO_PIN_3
- |GPIO_PIN_7|GPIO_PIN_2|GPIO_PIN_0|GPIO_PIN_1);
-
- HAL_GPIO_DeInit(GPIOJ, GPIO_PIN_15|GPIO_PIN_14|GPIO_PIN_12|GPIO_PIN_13
- |GPIO_PIN_11|GPIO_PIN_10|GPIO_PIN_9|GPIO_PIN_0
- |GPIO_PIN_8|GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_1
- |GPIO_PIN_5|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4);
-
- HAL_GPIO_DeInit(GPIOI, GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15);
-
- /* USER CODE BEGIN LTDC_MspDeInit 1 */
-
- /* USER CODE END LTDC_MspDeInit 1 */
- }
-
-}
-
-/**
-* @brief SD MSP Initialization
-* This function configures the hardware resources used in this example
-* @param hsd: SD handle pointer
-* @retval None
-*/
-void HAL_SD_MspInit(SD_HandleTypeDef* hsd)
-{
- GPIO_InitTypeDef GPIO_InitStruct = {0};
- if(hsd->Instance==SDMMC1)
- {
- /* USER CODE BEGIN SDMMC1_MspInit 0 */
-
- /* USER CODE END SDMMC1_MspInit 0 */
- /* Peripheral clock enable */
- __HAL_RCC_SDMMC1_CLK_ENABLE();
-
- __HAL_RCC_GPIOC_CLK_ENABLE();
- __HAL_RCC_GPIOD_CLK_ENABLE();
- /**SDMMC1 GPIO Configuration
- PC10 ------> SDMMC1_D2
- PC11 ------> SDMMC1_D3
- PC12 ------> SDMMC1_CK
- PD2 ------> SDMMC1_CMD
- PC8 ------> SDMMC1_D0
- PC9 ------> SDMMC1_D1
- */
- GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_8
- |GPIO_PIN_9;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
- GPIO_InitStruct.Alternate = GPIO_AF12_SDIO1;
- HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
-
- GPIO_InitStruct.Pin = GPIO_PIN_2;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
- GPIO_InitStruct.Alternate = GPIO_AF12_SDIO1;
- HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
-
- /* SDMMC1 interrupt Init */
- HAL_NVIC_SetPriority(SDMMC1_IRQn, 0, 0);
- HAL_NVIC_EnableIRQ(SDMMC1_IRQn);
- /* USER CODE BEGIN SDMMC1_MspInit 1 */
-
- /* USER CODE END SDMMC1_MspInit 1 */
- }
- else if(hsd->Instance==SDMMC2)
- {
- /* USER CODE BEGIN SDMMC2_MspInit 0 */
-
- /* USER CODE END SDMMC2_MspInit 0 */
- /* Peripheral clock enable */
- __HAL_RCC_SDMMC2_CLK_ENABLE();
-
- __HAL_RCC_GPIOB_CLK_ENABLE();
- __HAL_RCC_GPIOD_CLK_ENABLE();
- /**SDMMC2 GPIO Configuration
- PB4 (NJTRST) ------> SDMMC2_D3
- PD6 ------> SDMMC2_CK
- PB3 (JTDO/TRACESWO) ------> SDMMC2_D2
- PD7 ------> SDMMC2_CMD
- PB15 ------> SDMMC2_D1
- PB14 ------> SDMMC2_D0
- */
- GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_3|GPIO_PIN_15|GPIO_PIN_14;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
- GPIO_InitStruct.Alternate = GPIO_AF9_SDIO2;
- HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
-
- GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
- GPIO_InitStruct.Alternate = GPIO_AF11_SDIO2;
- HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
-
- /* SDMMC2 interrupt Init */
- HAL_NVIC_SetPriority(SDMMC2_IRQn, 0, 0);
- HAL_NVIC_EnableIRQ(SDMMC2_IRQn);
- /* USER CODE BEGIN SDMMC2_MspInit 1 */
-
- /* USER CODE END SDMMC2_MspInit 1 */
- }
-
-}
-
-/**
-* @brief SD MSP De-Initialization
-* This function freeze the hardware resources used in this example
-* @param hsd: SD handle pointer
-* @retval None
-*/
-void HAL_SD_MspDeInit(SD_HandleTypeDef* hsd)
-{
- if(hsd->Instance==SDMMC1)
- {
- /* USER CODE BEGIN SDMMC1_MspDeInit 0 */
-
- /* USER CODE END SDMMC1_MspDeInit 0 */
- /* Peripheral clock disable */
- __HAL_RCC_SDMMC1_CLK_DISABLE();
-
- /**SDMMC1 GPIO Configuration
- PC10 ------> SDMMC1_D2
- PC11 ------> SDMMC1_D3
- PC12 ------> SDMMC1_CK
- PD2 ------> SDMMC1_CMD
- PC8 ------> SDMMC1_D0
- PC9 ------> SDMMC1_D1
- */
- HAL_GPIO_DeInit(GPIOC, GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_8
- |GPIO_PIN_9);
-
- HAL_GPIO_DeInit(GPIOD, GPIO_PIN_2);
-
- /* SDMMC1 interrupt DeInit */
- HAL_NVIC_DisableIRQ(SDMMC1_IRQn);
- /* USER CODE BEGIN SDMMC1_MspDeInit 1 */
-
- /* USER CODE END SDMMC1_MspDeInit 1 */
- }
- else if(hsd->Instance==SDMMC2)
- {
- /* USER CODE BEGIN SDMMC2_MspDeInit 0 */
-
- /* USER CODE END SDMMC2_MspDeInit 0 */
- /* Peripheral clock disable */
- __HAL_RCC_SDMMC2_CLK_DISABLE();
-
- /**SDMMC2 GPIO Configuration
- PB4 (NJTRST) ------> SDMMC2_D3
- PD6 ------> SDMMC2_CK
- PB3 (JTDO/TRACESWO) ------> SDMMC2_D2
- PD7 ------> SDMMC2_CMD
- PB15 ------> SDMMC2_D1
- PB14 ------> SDMMC2_D0
- */
- HAL_GPIO_DeInit(GPIOB, GPIO_PIN_4|GPIO_PIN_3|GPIO_PIN_15|GPIO_PIN_14);
-
- HAL_GPIO_DeInit(GPIOD, GPIO_PIN_6|GPIO_PIN_7);
-
- /* SDMMC2 interrupt DeInit */
- HAL_NVIC_DisableIRQ(SDMMC2_IRQn);
- /* USER CODE BEGIN SDMMC2_MspDeInit 1 */
-
- /* USER CODE END SDMMC2_MspDeInit 1 */
- }
-
-}
-
-/**
-* @brief SPI MSP Initialization
-* This function configures the hardware resources used in this example
-* @param hspi: SPI handle pointer
-* @retval None
-*/
-void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
-{
- GPIO_InitTypeDef GPIO_InitStruct = {0};
- if(hspi->Instance==SPI1)
- {
- /* USER CODE BEGIN SPI1_MspInit 0 */
-
- /* USER CODE END SPI1_MspInit 0 */
- /* Peripheral clock enable */
- __HAL_RCC_SPI1_CLK_ENABLE();
-
- __HAL_RCC_GPIOB_CLK_ENABLE();
- __HAL_RCC_GPIOG_CLK_ENABLE();
- __HAL_RCC_GPIOA_CLK_ENABLE();
- /**SPI1 GPIO Configuration
- PB5 ------> SPI1_MOSI
- PG9 ------> SPI1_MISO
- PA5 ------> SPI1_SCK
- */
- GPIO_InitStruct.Pin = GPIO_PIN_5;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
- GPIO_InitStruct.Alternate = GPIO_AF5_SPI1;
- HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
-
- GPIO_InitStruct.Pin = GPIO_PIN_9;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
- GPIO_InitStruct.Alternate = GPIO_AF5_SPI1;
- HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
-
- GPIO_InitStruct.Pin = GPIO_PIN_5;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
- GPIO_InitStruct.Alternate = GPIO_AF5_SPI1;
- HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
-
- /* USER CODE BEGIN SPI1_MspInit 1 */
-
- /* USER CODE END SPI1_MspInit 1 */
- }
- else if(hspi->Instance==SPI2)
- {
- /* USER CODE BEGIN SPI2_MspInit 0 */
-
- /* USER CODE END SPI2_MspInit 0 */
- /* Peripheral clock enable */
- __HAL_RCC_SPI2_CLK_ENABLE();
-
- __HAL_RCC_GPIOI_CLK_ENABLE();
- /**SPI2 GPIO Configuration
- PI1 ------> SPI2_SCK
- PI2 ------> SPI2_MISO
- PI3 ------> SPI2_MOSI
- */
- GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; // GPIO_SPEED_FREQ_LOW;
- GPIO_InitStruct.Alternate = GPIO_AF5_SPI2;
- HAL_GPIO_Init(GPIOI, &GPIO_InitStruct);
-
- /* SPI2 interrupt Init */
- HAL_NVIC_SetPriority(SPI2_IRQn, 0, 0);
- HAL_NVIC_EnableIRQ(SPI2_IRQn);
- /* USER CODE BEGIN SPI2_MspInit 1 */
-
- /* USER CODE END SPI2_MspInit 1 */
- }
- else if(hspi->Instance==SPI4)
- {
- /* USER CODE BEGIN SPI4_MspInit 0 */
-
- /* USER CODE END SPI4_MspInit 0 */
- /* Peripheral clock enable */
- __HAL_RCC_SPI4_CLK_ENABLE();
-
- __HAL_RCC_GPIOE_CLK_ENABLE();
- /**SPI4 GPIO Configuration
- PE2 ------> SPI4_SCK
- PE5 ------> SPI4_MISO
- PE6 ------> SPI4_MOSI
- */
- GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_5|GPIO_PIN_6;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
- GPIO_InitStruct.Alternate = GPIO_AF5_SPI4;
- HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
-
- /* USER CODE BEGIN SPI4_MspInit 1 */
-
- /* USER CODE END SPI4_MspInit 1 */
- }
-
-}
-
-/**
-* @brief SPI MSP De-Initialization
-* This function freeze the hardware resources used in this example
-* @param hspi: SPI handle pointer
-* @retval None
-*/
-void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)
-{
- if(hspi->Instance==SPI1)
- {
- /* USER CODE BEGIN SPI1_MspDeInit 0 */
-
- /* USER CODE END SPI1_MspDeInit 0 */
- /* Peripheral clock disable */
- __HAL_RCC_SPI1_CLK_DISABLE();
-
- /**SPI1 GPIO Configuration
- PB5 ------> SPI1_MOSI
- PG9 ------> SPI1_MISO
- PA5 ------> SPI1_SCK
- */
- HAL_GPIO_DeInit(GPIOB, GPIO_PIN_5);
-
- HAL_GPIO_DeInit(GPIOG, GPIO_PIN_9);
-
- HAL_GPIO_DeInit(GPIOA, GPIO_PIN_5);
-
- /* USER CODE BEGIN SPI1_MspDeInit 1 */
-
- /* USER CODE END SPI1_MspDeInit 1 */
- }
- else if(hspi->Instance==SPI2)
- {
- /* USER CODE BEGIN SPI2_MspDeInit 0 */
-
- /* USER CODE END SPI2_MspDeInit 0 */
- /* Peripheral clock disable */
- __HAL_RCC_SPI2_CLK_DISABLE();
-
- /**SPI2 GPIO Configuration
- PI1 ------> SPI2_SCK
- PI2 ------> SPI2_MISO
- PI3 ------> SPI2_MOSI
- */
- HAL_GPIO_DeInit(GPIOI, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3);
-
- /* SPI2 interrupt DeInit */
- HAL_NVIC_DisableIRQ(SPI2_IRQn);
- /* USER CODE BEGIN SPI2_MspDeInit 1 */
-
- /* USER CODE END SPI2_MspDeInit 1 */
- }
- else if(hspi->Instance==SPI4)
- {
- /* USER CODE BEGIN SPI4_MspDeInit 0 */
-
- /* USER CODE END SPI4_MspDeInit 0 */
- /* Peripheral clock disable */
- __HAL_RCC_SPI4_CLK_DISABLE();
-
- /**SPI4 GPIO Configuration
- PE2 ------> SPI4_SCK
- PE5 ------> SPI4_MISO
- PE6 ------> SPI4_MOSI
- */
- HAL_GPIO_DeInit(GPIOE, GPIO_PIN_2|GPIO_PIN_5|GPIO_PIN_6);
-
- /* USER CODE BEGIN SPI4_MspDeInit 1 */
-
- /* USER CODE END SPI4_MspDeInit 1 */
- }
-
-}
-
-/**
-* @brief TIM_PWM MSP Initialization
-* This function configures the hardware resources used in this example
-* @param htim_pwm: TIM_PWM handle pointer
-* @retval None
-*/
-void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef* htim_pwm)
-{
- if(htim_pwm->Instance==TIM5)
- {
- /* USER CODE BEGIN TIM5_MspInit 0 */
-
- /* USER CODE END TIM5_MspInit 0 */
- /* Peripheral clock enable */
- __HAL_RCC_TIM5_CLK_ENABLE();
- /* USER CODE BEGIN TIM5_MspInit 1 */
-
- /* USER CODE END TIM5_MspInit 1 */
- }
-
-}
-
-void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
-{
- GPIO_InitTypeDef GPIO_InitStruct = {0};
- if(htim->Instance==TIM5)
- {
- /* USER CODE BEGIN TIM5_MspPostInit 0 */
-
- /* USER CODE END TIM5_MspPostInit 0 */
-
- __HAL_RCC_GPIOH_CLK_ENABLE();
- /**TIM5 GPIO Configuration
- PH10 ------> TIM5_CH1
- */
- GPIO_InitStruct.Pin = GPIO_PIN_10;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
- GPIO_InitStruct.Alternate = GPIO_AF2_TIM5;
- HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);
-
- /* USER CODE BEGIN TIM5_MspPostInit 1 */
-
- /* USER CODE END TIM5_MspPostInit 1 */
- }
-
-}
-/**
-* @brief TIM_PWM MSP De-Initialization
-* This function freeze the hardware resources used in this example
-* @param htim_pwm: TIM_PWM handle pointer
-* @retval None
-*/
-void HAL_TIM_PWM_MspDeInit(TIM_HandleTypeDef* htim_pwm)
-{
- if(htim_pwm->Instance==TIM5)
- {
- /* USER CODE BEGIN TIM5_MspDeInit 0 */
-
- /* USER CODE END TIM5_MspDeInit 0 */
- /* Peripheral clock disable */
- __HAL_RCC_TIM5_CLK_DISABLE();
- /* USER CODE BEGIN TIM5_MspDeInit 1 */
-
- /* USER CODE END TIM5_MspDeInit 1 */
- }
-
-}
-
-/**
-* @brief UART MSP Initialization
-* This function configures the hardware resources used in this example
-* @param huart: UART handle pointer
-* @retval None
-*/
-void HAL_UART_MspInit(UART_HandleTypeDef* huart)
-{
- GPIO_InitTypeDef GPIO_InitStruct = {0};
- if(huart->Instance==UART4)
- {
- /* USER CODE BEGIN UART4_MspInit 0 */
-
- /* USER CODE END UART4_MspInit 0 */
- /* Peripheral clock enable */
- __HAL_RCC_UART4_CLK_ENABLE();
-
- __HAL_RCC_GPIOI_CLK_ENABLE();
- __HAL_RCC_GPIOA_CLK_ENABLE();
- /**UART4 GPIO Configuration
- PI9 ------> UART4_RX
- PA0 ------> UART4_TX
- */
- GPIO_InitStruct.Pin = GPIO_PIN_9;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
- GPIO_InitStruct.Alternate = GPIO_AF8_UART4;
- HAL_GPIO_Init(GPIOI, &GPIO_InitStruct);
-
- GPIO_InitStruct.Pin = GPIO_PIN_0;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
- GPIO_InitStruct.Alternate = GPIO_AF8_UART4;
- HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
-
- /* USER CODE BEGIN UART4_MspInit 1 */
-
- /* USER CODE END UART4_MspInit 1 */
- }
- else if(huart->Instance==USART3)
- {
- /* USER CODE BEGIN USART3_MspInit 0 */
-
- /* USER CODE END USART3_MspInit 0 */
- /* Peripheral clock enable */
- __HAL_RCC_USART3_CLK_ENABLE();
-
- __HAL_RCC_GPIOB_CLK_ENABLE();
- __HAL_RCC_GPIOD_CLK_ENABLE();
- /**USART3 GPIO Configuration
- PB10 ------> USART3_TX
- PB11 ------> USART3_RX
- PD11 ------> USART3_CTS
- PD12 ------> USART3_RTS
- */
- GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
- GPIO_InitStruct.Alternate = GPIO_AF7_USART3;
- HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
-
- GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_12;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
- GPIO_InitStruct.Alternate = GPIO_AF7_USART3;
- HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
-
- /* USER CODE BEGIN USART3_MspInit 1 */
-
- /* USER CODE END USART3_MspInit 1 */
- }
-
-}
-
-/**
-* @brief UART MSP De-Initialization
-* This function freeze the hardware resources used in this example
-* @param huart: UART handle pointer
-* @retval None
-*/
-void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
-{
- if(huart->Instance==UART4)
- {
- /* USER CODE BEGIN UART4_MspDeInit 0 */
-
- /* USER CODE END UART4_MspDeInit 0 */
- /* Peripheral clock disable */
- __HAL_RCC_UART4_CLK_DISABLE();
-
- /**UART4 GPIO Configuration
- PI9 ------> UART4_RX
- PA0 ------> UART4_TX
- */
- HAL_GPIO_DeInit(GPIOI, GPIO_PIN_9);
-
- HAL_GPIO_DeInit(GPIOA, GPIO_PIN_0);
-
- /* USER CODE BEGIN UART4_MspDeInit 1 */
-
- /* USER CODE END UART4_MspDeInit 1 */
- }
- else if(huart->Instance==USART3)
- {
- /* USER CODE BEGIN USART3_MspDeInit 0 */
-
- /* USER CODE END USART3_MspDeInit 0 */
- /* Peripheral clock disable */
- __HAL_RCC_USART3_CLK_DISABLE();
-
- /**USART3 GPIO Configuration
- PB10 ------> USART3_TX
- PB11 ------> USART3_RX
- PD11 ------> USART3_CTS
- PD12 ------> USART3_RTS
- */
- HAL_GPIO_DeInit(GPIOB, GPIO_PIN_10|GPIO_PIN_11);
-
- HAL_GPIO_DeInit(GPIOD, GPIO_PIN_11|GPIO_PIN_12);
-
- /* USER CODE BEGIN USART3_MspDeInit 1 */
-
- /* USER CODE END USART3_MspDeInit 1 */
- }
-
-}
-
-/**
-* @brief PCD MSP Initialization
-* This function configures the hardware resources used in this example
-* @param hpcd: PCD handle pointer
-* @retval None
-*/
-void HAL_PCD_MspInit(PCD_HandleTypeDef* hpcd)
-{
- GPIO_InitTypeDef GPIO_InitStruct = {0};
- if(hpcd->Instance==USB_OTG_FS)
- {
- /* USER CODE BEGIN USB_OTG_FS_MspInit 0 */
-
- /* USER CODE END USB_OTG_FS_MspInit 0 */
-
- __HAL_RCC_GPIOA_CLK_ENABLE();
- /**USB_OTG_FS GPIO Configuration
- PA12 ------> USB_OTG_FS_DP
- PA11 ------> USB_OTG_FS_DM
- */
- GPIO_InitStruct.Pin = GPIO_PIN_12|GPIO_PIN_11;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
- GPIO_InitStruct.Alternate = GPIO_AF10_OTG1_FS;
- HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
-
- /* Peripheral clock enable */
- __HAL_RCC_USB_OTG_FS_CLK_ENABLE();
- /* USB_OTG_FS interrupt Init */
- HAL_NVIC_SetPriority(OTG_FS_IRQn, 0, 0);
- HAL_NVIC_EnableIRQ(OTG_FS_IRQn);
- /* USER CODE BEGIN USB_OTG_FS_MspInit 1 */
-
- /* USER CODE END USB_OTG_FS_MspInit 1 */
- }
-
-}
-
-/**
-* @brief PCD MSP De-Initialization
-* This function freeze the hardware resources used in this example
-* @param hpcd: PCD handle pointer
-* @retval None
-*/
-void HAL_PCD_MspDeInit(PCD_HandleTypeDef* hpcd)
-{
- if(hpcd->Instance==USB_OTG_FS)
- {
- /* USER CODE BEGIN USB_OTG_FS_MspDeInit 0 */
-
- /* USER CODE END USB_OTG_FS_MspDeInit 0 */
- /* Peripheral clock disable */
- __HAL_RCC_USB_OTG_FS_CLK_DISABLE();
-
- /**USB_OTG_FS GPIO Configuration
- PA12 ------> USB_OTG_FS_DP
- PA11 ------> USB_OTG_FS_DM
- */
- HAL_GPIO_DeInit(GPIOA, GPIO_PIN_12|GPIO_PIN_11);
-
- /* USB_OTG_FS interrupt DeInit */
- HAL_NVIC_DisableIRQ(OTG_FS_IRQn);
- /* USER CODE BEGIN USB_OTG_FS_MspDeInit 1 */
-
- /* USER CODE END USB_OTG_FS_MspDeInit 1 */
- }
-
-}
-
-static uint32_t FMC_Initialized = 0;
-
-static void HAL_FMC_MspInit(void){
- /* USER CODE BEGIN FMC_MspInit 0 */
-
- /* USER CODE END FMC_MspInit 0 */
- GPIO_InitTypeDef GPIO_InitStruct ={0};
- if (FMC_Initialized) {
- return;
- }
- FMC_Initialized = 1;
-
- /* Peripheral clock enable */
- __HAL_RCC_FMC_CLK_ENABLE();
-
- /** FMC GPIO Configuration
- PE1 ------> FMC_NBL1
- PE0 ------> FMC_NBL0
- PG15 ------> FMC_SDNCAS
- PD0 ------> FMC_D2
- PD1 ------> FMC_D3
- PG8 ------> FMC_SDCLK
- PF2 ------> FMC_A2
- PF1 ------> FMC_A1
- PF0 ------> FMC_A0
- PG5 ------> FMC_BA1
- PF3 ------> FMC_A3
- PG4 ------> FMC_BA0
- PG2 ------> FMC_A12
- PF5 ------> FMC_A5
- PF4 ------> FMC_A4
- PC2 ------> FMC_SDNE0
- PC3 ------> FMC_SDCKE0
- PE10 ------> FMC_D7
- PH5 ------> FMC_SDNWE
- PF13 ------> FMC_A7
- PF14 ------> FMC_A8
- PE9 ------> FMC_D6
- PE11 ------> FMC_D8
- PD15 ------> FMC_D1
- PD14 ------> FMC_D0
- PF12 ------> FMC_A6
- PF15 ------> FMC_A9
- PE12 ------> FMC_D9
- PE15 ------> FMC_D12
- PF11 ------> FMC_SDNRAS
- PG0 ------> FMC_A10
- PE8 ------> FMC_D5
- PE13 ------> FMC_D10
- PD10 ------> FMC_D15
- PD9 ------> FMC_D14
- PG1 ------> FMC_A11
- PE7 ------> FMC_D4
- PE14 ------> FMC_D11
- PD8 ------> FMC_D13
- */
- GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_0|GPIO_PIN_10|GPIO_PIN_9
- |GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_15|GPIO_PIN_8
- |GPIO_PIN_13|GPIO_PIN_7|GPIO_PIN_14;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
- GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
- HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
-
- GPIO_InitStruct.Pin = GPIO_PIN_15|GPIO_PIN_8|GPIO_PIN_5|GPIO_PIN_4
- |GPIO_PIN_2|GPIO_PIN_0|GPIO_PIN_1;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
- GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
- HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
-
- GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_15|GPIO_PIN_14
- |GPIO_PIN_10|GPIO_PIN_9|GPIO_PIN_8;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
- GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
- HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
-
- GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_0|GPIO_PIN_3
- |GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_13|GPIO_PIN_14
- |GPIO_PIN_12|GPIO_PIN_15|GPIO_PIN_11;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
- GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
- HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
-
- GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
- GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
- HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
-
- GPIO_InitStruct.Pin = GPIO_PIN_5;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
- GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
- HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);
-
- /* USER CODE BEGIN FMC_MspInit 1 */
-
- /* USER CODE END FMC_MspInit 1 */
-}
-
-void HAL_SDRAM_MspInit(SDRAM_HandleTypeDef* hsdram){
- /* USER CODE BEGIN SDRAM_MspInit 0 */
-
- /* USER CODE END SDRAM_MspInit 0 */
- HAL_FMC_MspInit();
- /* USER CODE BEGIN SDRAM_MspInit 1 */
-
- /* USER CODE END SDRAM_MspInit 1 */
-}
-
-static uint32_t FMC_DeInitialized = 0;
-
-static void HAL_FMC_MspDeInit(void){
- /* USER CODE BEGIN FMC_MspDeInit 0 */
-
- /* USER CODE END FMC_MspDeInit 0 */
- if (FMC_DeInitialized) {
- return;
- }
- FMC_DeInitialized = 1;
- /* Peripheral clock enable */
- __HAL_RCC_FMC_CLK_DISABLE();
-
- /** FMC GPIO Configuration
- PE1 ------> FMC_NBL1
- PE0 ------> FMC_NBL0
- PG15 ------> FMC_SDNCAS
- PD0 ------> FMC_D2
- PD1 ------> FMC_D3
- PG8 ------> FMC_SDCLK
- PF2 ------> FMC_A2
- PF1 ------> FMC_A1
- PF0 ------> FMC_A0
- PG5 ------> FMC_BA1
- PF3 ------> FMC_A3
- PG4 ------> FMC_BA0
- PG2 ------> FMC_A12
- PF5 ------> FMC_A5
- PF4 ------> FMC_A4
- PC2 ------> FMC_SDNE0
- PC3 ------> FMC_SDCKE0
- PE10 ------> FMC_D7
- PH5 ------> FMC_SDNWE
- PF13 ------> FMC_A7
- PF14 ------> FMC_A8
- PE9 ------> FMC_D6
- PE11 ------> FMC_D8
- PD15 ------> FMC_D1
- PD14 ------> FMC_D0
- PF12 ------> FMC_A6
- PF15 ------> FMC_A9
- PE12 ------> FMC_D9
- PE15 ------> FMC_D12
- PF11 ------> FMC_SDNRAS
- PG0 ------> FMC_A10
- PE8 ------> FMC_D5
- PE13 ------> FMC_D10
- PD10 ------> FMC_D15
- PD9 ------> FMC_D14
- PG1 ------> FMC_A11
- PE7 ------> FMC_D4
- PE14 ------> FMC_D11
- PD8 ------> FMC_D13
- */
- HAL_GPIO_DeInit(GPIOE, GPIO_PIN_1|GPIO_PIN_0|GPIO_PIN_10|GPIO_PIN_9
- |GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_15|GPIO_PIN_8
- |GPIO_PIN_13|GPIO_PIN_7|GPIO_PIN_14);
-
- HAL_GPIO_DeInit(GPIOG, GPIO_PIN_15|GPIO_PIN_8|GPIO_PIN_5|GPIO_PIN_4
- |GPIO_PIN_2|GPIO_PIN_0|GPIO_PIN_1);
-
- HAL_GPIO_DeInit(GPIOD, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_15|GPIO_PIN_14
- |GPIO_PIN_10|GPIO_PIN_9|GPIO_PIN_8);
-
- HAL_GPIO_DeInit(GPIOF, GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_0|GPIO_PIN_3
- |GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_13|GPIO_PIN_14
- |GPIO_PIN_12|GPIO_PIN_15|GPIO_PIN_11);
-
- HAL_GPIO_DeInit(GPIOC, GPIO_PIN_2|GPIO_PIN_3);
-
- HAL_GPIO_DeInit(GPIOH, GPIO_PIN_5);
-
- /* USER CODE BEGIN FMC_MspDeInit 1 */
-
- /* USER CODE END FMC_MspDeInit 1 */
-}
-
-void HAL_SDRAM_MspDeInit(SDRAM_HandleTypeDef* hsdram){
- /* USER CODE BEGIN SDRAM_MspDeInit 0 */
-
- /* USER CODE END SDRAM_MspDeInit 0 */
- HAL_FMC_MspDeInit();
- /* USER CODE BEGIN SDRAM_MspDeInit 1 */
-
- /* USER CODE END SDRAM_MspDeInit 1 */
-}
-
-/* USER CODE BEGIN 1 */
-
-/* USER CODE END 1 */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/CubeMX_Config/CubeMX_Config.ioc b/bsp/stm32/stm32h750-artpi-h750/board/CubeMX_Config/CubeMX_Config.ioc
deleted file mode 100644
index f8fff6f0da..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/board/CubeMX_Config/CubeMX_Config.ioc
+++ /dev/null
@@ -1,732 +0,0 @@
-#MicroXplorer Configuration settings - do not modify
-ETH.IPParameters=MediaInterface
-ETH.MediaInterface=HAL_ETH_RMII_MODE
-File.Version=6
-GPIO.groupedBy=
-KeepUserPlacement=false
-Mcu.Family=STM32H7
-Mcu.IP0=CORTEX_M7
-Mcu.IP1=ETH
-Mcu.IP10=SPI4
-Mcu.IP11=SYS
-Mcu.IP12=UART4
-Mcu.IP13=USART3
-Mcu.IP14=USB_OTG_FS
-Mcu.IP2=FMC
-Mcu.IP3=IWDG1
-Mcu.IP4=LTDC
-Mcu.IP5=NVIC
-Mcu.IP6=RCC
-Mcu.IP7=SDMMC1
-Mcu.IP8=SDMMC2
-Mcu.IP9=SPI1
-Mcu.IPNb=15
-Mcu.Name=STM32H750XBHx
-Mcu.Package=TFBGA240
-Mcu.Pin0=PB5
-Mcu.Pin1=PK5
-Mcu.Pin10=PC11
-Mcu.Pin100=PE7
-Mcu.Pin101=PE14
-Mcu.Pin102=PB14
-Mcu.Pin103=PD8
-Mcu.Pin104=VP_IWDG1_VS_IWDG
-Mcu.Pin105=VP_SYS_VS_Systick
-Mcu.Pin11=PE2
-Mcu.Pin12=PE0
-Mcu.Pin13=PB3 (JTDO/TRACESWO)
-Mcu.Pin14=PK6
-Mcu.Pin15=PK3
-Mcu.Pin16=PD7
-Mcu.Pin17=PC12
-Mcu.Pin18=PE5
-Mcu.Pin19=PG15
-Mcu.Pin2=PG9
-Mcu.Pin20=PK7
-Mcu.Pin21=PG14
-Mcu.Pin22=PG13
-Mcu.Pin23=PJ14
-Mcu.Pin24=PJ12
-Mcu.Pin25=PD2
-Mcu.Pin26=PD0
-Mcu.Pin27=PI9
-Mcu.Pin28=PE6
-Mcu.Pin29=PJ13
-Mcu.Pin3=PC10
-Mcu.Pin30=PD1
-Mcu.Pin31=PC8
-Mcu.Pin32=PC9
-Mcu.Pin33=PA12
-Mcu.Pin34=PA11
-Mcu.Pin35=PG8
-Mcu.Pin36=PF2
-Mcu.Pin37=PF1
-Mcu.Pin38=PF0
-Mcu.Pin39=PG5
-Mcu.Pin4=PE1
-Mcu.Pin40=PI12
-Mcu.Pin41=PI13
-Mcu.Pin42=PI14
-Mcu.Pin43=PF3
-Mcu.Pin44=PG4
-Mcu.Pin45=PG2
-Mcu.Pin46=PK2
-Mcu.Pin47=PH1-OSC_OUT (PH1)
-Mcu.Pin48=PH0-OSC_IN (PH0)
-Mcu.Pin49=PF5
-Mcu.Pin5=PB4 (NJTRST)
-Mcu.Pin50=PF4
-Mcu.Pin51=PK0
-Mcu.Pin52=PK1
-Mcu.Pin53=PJ11
-Mcu.Pin54=PJ10
-Mcu.Pin55=PC1
-Mcu.Pin56=PC2
-Mcu.Pin57=PC3
-Mcu.Pin58=PJ9
-Mcu.Pin59=PA2
-Mcu.Pin6=PK4
-Mcu.Pin60=PA1
-Mcu.Pin61=PA0
-Mcu.Pin62=PJ0
-Mcu.Pin63=PE10
-Mcu.Pin64=PJ8
-Mcu.Pin65=PJ7
-Mcu.Pin66=PJ6
-Mcu.Pin67=PH5
-Mcu.Pin68=PI15
-Mcu.Pin69=PJ1
-Mcu.Pin7=PG11
-Mcu.Pin70=PF13
-Mcu.Pin71=PF14
-Mcu.Pin72=PE9
-Mcu.Pin73=PE11
-Mcu.Pin74=PB10
-Mcu.Pin75=PB11
-Mcu.Pin76=PD15
-Mcu.Pin77=PD14
-Mcu.Pin78=PA7
-Mcu.Pin79=PF12
-Mcu.Pin8=PJ15
-Mcu.Pin80=PF15
-Mcu.Pin81=PE12
-Mcu.Pin82=PE15
-Mcu.Pin83=PJ5
-Mcu.Pin84=PD11
-Mcu.Pin85=PD12
-Mcu.Pin86=PA5
-Mcu.Pin87=PC4
-Mcu.Pin88=PJ2
-Mcu.Pin89=PF11
-Mcu.Pin9=PD6
-Mcu.Pin90=PG0
-Mcu.Pin91=PE8
-Mcu.Pin92=PE13
-Mcu.Pin93=PB15
-Mcu.Pin94=PD10
-Mcu.Pin95=PD9
-Mcu.Pin96=PC5
-Mcu.Pin97=PJ3
-Mcu.Pin98=PJ4
-Mcu.Pin99=PG1
-Mcu.PinsNb=106
-Mcu.ThirdPartyNb=0
-Mcu.UserConstants=
-Mcu.UserName=STM32H750XBHx
-MxCube.Version=6.2.1
-MxDb.Version=DB.6.0.21
-NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
-NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
-NVIC.ETH_IRQn=true\:0\:0\:false\:false\:true\:true\:true
-NVIC.ForceEnableDMAVector=true
-NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
-NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false
-NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false
-NVIC.OTG_FS_IRQn=true\:0\:0\:false\:false\:true\:true\:true
-NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false
-NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
-NVIC.SDMMC1_IRQn=true\:0\:0\:false\:false\:true\:true\:true
-NVIC.SDMMC2_IRQn=true\:0\:0\:false\:false\:true\:true\:true
-NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false
-NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true
-NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
-PA0.Locked=true
-PA0.Mode=Asynchronous
-PA0.Signal=UART4_TX
-PA1.GPIOParameters=GPIO_Speed
-PA1.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PA1.Mode=RMII
-PA1.Signal=ETH_REF_CLK
-PA11.GPIOParameters=GPIO_Speed
-PA11.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PA11.Mode=Device_Only
-PA11.Signal=USB_OTG_FS_DM
-PA12.GPIOParameters=GPIO_Speed
-PA12.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PA12.Mode=Device_Only
-PA12.Signal=USB_OTG_FS_DP
-PA2.GPIOParameters=GPIO_Speed
-PA2.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PA2.Mode=RMII
-PA2.Signal=ETH_MDIO
-PA5.GPIOParameters=GPIO_Speed
-PA5.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
-PA5.Mode=Full_Duplex_Master
-PA5.Signal=SPI1_SCK
-PA7.GPIOParameters=GPIO_Speed
-PA7.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PA7.Mode=RMII
-PA7.Signal=ETH_CRS_DV
-PB10.Mode=Asynchronous
-PB10.Signal=USART3_TX
-PB11.Mode=Asynchronous
-PB11.Signal=USART3_RX
-PB14.Mode=SD_4_bits_Wide_bus
-PB14.Signal=SDMMC2_D0
-PB15.Mode=SD_4_bits_Wide_bus
-PB15.Signal=SDMMC2_D1
-PB3\ (JTDO/TRACESWO).Mode=SD_4_bits_Wide_bus
-PB3\ (JTDO/TRACESWO).Signal=SDMMC2_D2
-PB4\ (NJTRST).Mode=SD_4_bits_Wide_bus
-PB4\ (NJTRST).Signal=SDMMC2_D3
-PB5.GPIOParameters=GPIO_Speed
-PB5.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
-PB5.Mode=Full_Duplex_Master
-PB5.Signal=SPI1_MOSI
-PC1.GPIOParameters=GPIO_Speed
-PC1.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PC1.Mode=RMII
-PC1.Signal=ETH_MDC
-PC10.Mode=SD_4_bits_Wide_bus
-PC10.Signal=SDMMC1_D2
-PC11.Mode=SD_4_bits_Wide_bus
-PC11.Signal=SDMMC1_D3
-PC12.Mode=SD_4_bits_Wide_bus
-PC12.Signal=SDMMC1_CK
-PC2.GPIOParameters=GPIO_Speed_High_Default
-PC2.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PC2.Mode=SdramChipSelect1_1
-PC2.Signal=FMC_SDNE0
-PC3.GPIOParameters=GPIO_Speed_High_Default
-PC3.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PC3.Mode=SdramChipSelect1_1
-PC3.Signal=FMC_SDCKE0
-PC4.GPIOParameters=GPIO_Speed
-PC4.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PC4.Mode=RMII
-PC4.Signal=ETH_RXD0
-PC5.GPIOParameters=GPIO_Speed
-PC5.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PC5.Mode=RMII
-PC5.Signal=ETH_RXD1
-PC8.Mode=SD_4_bits_Wide_bus
-PC8.Signal=SDMMC1_D0
-PC9.Mode=SD_4_bits_Wide_bus
-PC9.Signal=SDMMC1_D1
-PD0.GPIOParameters=GPIO_Speed_High_Default
-PD0.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PD0.Signal=FMC_D2_DA2
-PD1.GPIOParameters=GPIO_Speed_High_Default
-PD1.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PD1.Signal=FMC_D3_DA3
-PD10.GPIOParameters=GPIO_Speed_High_Default
-PD10.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PD10.Signal=FMC_D15_DA15
-PD11.Mode=CTS_RTS
-PD11.Signal=USART3_CTS
-PD12.Mode=CTS_RTS
-PD12.Signal=USART3_RTS
-PD14.GPIOParameters=GPIO_Speed_High_Default
-PD14.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PD14.Signal=FMC_D0_DA0
-PD15.GPIOParameters=GPIO_Speed_High_Default
-PD15.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PD15.Signal=FMC_D1_DA1
-PD2.Mode=SD_4_bits_Wide_bus
-PD2.Signal=SDMMC1_CMD
-PD6.Mode=SD_4_bits_Wide_bus
-PD6.Signal=SDMMC2_CK
-PD7.Mode=SD_4_bits_Wide_bus
-PD7.Signal=SDMMC2_CMD
-PD8.GPIOParameters=GPIO_Speed_High_Default
-PD8.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PD8.Signal=FMC_D13_DA13
-PD9.GPIOParameters=GPIO_Speed_High_Default
-PD9.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PD9.Signal=FMC_D14_DA14
-PE0.GPIOParameters=GPIO_Speed_High_Default
-PE0.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PE0.Signal=FMC_NBL0
-PE1.GPIOParameters=GPIO_Speed_High_Default
-PE1.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PE1.Signal=FMC_NBL1
-PE10.GPIOParameters=GPIO_Speed_High_Default
-PE10.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PE10.Signal=FMC_D7_DA7
-PE11.GPIOParameters=GPIO_Speed_High_Default
-PE11.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PE11.Signal=FMC_D8_DA8
-PE12.GPIOParameters=GPIO_Speed_High_Default
-PE12.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PE12.Signal=FMC_D9_DA9
-PE13.GPIOParameters=GPIO_Speed_High_Default
-PE13.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PE13.Signal=FMC_D10_DA10
-PE14.GPIOParameters=GPIO_Speed_High_Default
-PE14.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PE14.Signal=FMC_D11_DA11
-PE15.GPIOParameters=GPIO_Speed_High_Default
-PE15.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PE15.Signal=FMC_D12_DA12
-PE2.GPIOParameters=GPIO_Speed
-PE2.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
-PE2.Mode=Full_Duplex_Master
-PE2.Signal=SPI4_SCK
-PE5.GPIOParameters=GPIO_Speed
-PE5.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
-PE5.Mode=Full_Duplex_Master
-PE5.Signal=SPI4_MISO
-PE6.GPIOParameters=GPIO_Speed
-PE6.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
-PE6.Mode=Full_Duplex_Master
-PE6.Signal=SPI4_MOSI
-PE7.GPIOParameters=GPIO_Speed_High_Default
-PE7.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PE7.Signal=FMC_D4_DA4
-PE8.GPIOParameters=GPIO_Speed_High_Default
-PE8.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PE8.Signal=FMC_D5_DA5
-PE9.GPIOParameters=GPIO_Speed_High_Default
-PE9.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PE9.Signal=FMC_D6_DA6
-PF0.GPIOParameters=GPIO_Speed_High_Default
-PF0.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PF0.Signal=FMC_A0
-PF1.GPIOParameters=GPIO_Speed_High_Default
-PF1.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PF1.Signal=FMC_A1
-PF11.GPIOParameters=GPIO_Speed_High_Default
-PF11.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PF11.Signal=FMC_SDNRAS
-PF12.GPIOParameters=GPIO_Speed_High_Default
-PF12.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PF12.Signal=FMC_A6
-PF13.GPIOParameters=GPIO_Speed_High_Default
-PF13.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PF13.Signal=FMC_A7
-PF14.GPIOParameters=GPIO_Speed_High_Default
-PF14.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PF14.Signal=FMC_A8
-PF15.GPIOParameters=GPIO_Speed_High_Default
-PF15.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PF15.Signal=FMC_A9
-PF2.GPIOParameters=GPIO_Speed_High_Default
-PF2.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PF2.Signal=FMC_A2
-PF3.GPIOParameters=GPIO_Speed_High_Default
-PF3.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PF3.Signal=FMC_A3
-PF4.GPIOParameters=GPIO_Speed_High_Default
-PF4.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PF4.Signal=FMC_A4
-PF5.GPIOParameters=GPIO_Speed_High_Default
-PF5.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PF5.Signal=FMC_A5
-PG0.GPIOParameters=GPIO_Speed_High_Default
-PG0.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PG0.Signal=FMC_A10
-PG1.GPIOParameters=GPIO_Speed_High_Default
-PG1.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PG1.Signal=FMC_A11
-PG11.GPIOParameters=GPIO_Speed
-PG11.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PG11.Locked=true
-PG11.Mode=RMII
-PG11.Signal=ETH_TX_EN
-PG13.GPIOParameters=GPIO_Speed
-PG13.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PG13.Mode=RMII
-PG13.Signal=ETH_TXD0
-PG14.GPIOParameters=GPIO_Speed
-PG14.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PG14.Locked=true
-PG14.Mode=RMII
-PG14.Signal=ETH_TXD1
-PG15.GPIOParameters=GPIO_Speed_High_Default
-PG15.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PG15.Signal=FMC_SDNCAS
-PG2.GPIOParameters=GPIO_Speed_High_Default
-PG2.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PG2.Signal=FMC_A12
-PG4.GPIOParameters=GPIO_Speed_High_Default
-PG4.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PG4.Signal=FMC_A14_BA0
-PG5.GPIOParameters=GPIO_Speed_High_Default
-PG5.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PG5.Signal=FMC_A15_BA1
-PG8.GPIOParameters=GPIO_Speed_High_Default
-PG8.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PG8.Signal=FMC_SDCLK
-PG9.GPIOParameters=GPIO_Speed
-PG9.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
-PG9.Mode=Full_Duplex_Master
-PG9.Signal=SPI1_MISO
-PH0-OSC_IN\ (PH0).Mode=HSE-External-Oscillator
-PH0-OSC_IN\ (PH0).Signal=RCC_OSC_IN
-PH1-OSC_OUT\ (PH1).Mode=HSE-External-Oscillator
-PH1-OSC_OUT\ (PH1).Signal=RCC_OSC_OUT
-PH5.GPIOParameters=GPIO_Speed_High_Default
-PH5.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
-PH5.Locked=true
-PH5.Signal=FMC_SDNWE
-PI12.GPIOParameters=GPIO_Speed
-PI12.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PI12.Locked=true
-PI12.Mode=RGB888
-PI12.Signal=LTDC_HSYNC
-PI13.GPIOParameters=GPIO_Speed
-PI13.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PI13.Locked=true
-PI13.Mode=RGB888
-PI13.Signal=LTDC_VSYNC
-PI14.GPIOParameters=GPIO_Speed
-PI14.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PI14.Locked=true
-PI14.Mode=RGB888
-PI14.Signal=LTDC_CLK
-PI15.GPIOParameters=GPIO_Speed
-PI15.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PI15.Locked=true
-PI15.Mode=RGB888
-PI15.Signal=LTDC_R0
-PI9.Locked=true
-PI9.Mode=Asynchronous
-PI9.Signal=UART4_RX
-PJ0.GPIOParameters=GPIO_Speed
-PJ0.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PJ0.Mode=RGB888
-PJ0.Signal=LTDC_R1
-PJ1.GPIOParameters=GPIO_Speed
-PJ1.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PJ1.Mode=RGB888
-PJ1.Signal=LTDC_R2
-PJ10.GPIOParameters=GPIO_Speed
-PJ10.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PJ10.Locked=true
-PJ10.Mode=RGB888
-PJ10.Signal=LTDC_G3
-PJ11.GPIOParameters=GPIO_Speed
-PJ11.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PJ11.Locked=true
-PJ11.Mode=RGB888
-PJ11.Signal=LTDC_G4
-PJ12.GPIOParameters=GPIO_Speed
-PJ12.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PJ12.Locked=true
-PJ12.Mode=RGB888
-PJ12.Signal=LTDC_B0
-PJ13.GPIOParameters=GPIO_Speed
-PJ13.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PJ13.Locked=true
-PJ13.Mode=RGB888
-PJ13.Signal=LTDC_B1
-PJ14.GPIOParameters=GPIO_Speed
-PJ14.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PJ14.Mode=RGB888
-PJ14.Signal=LTDC_B2
-PJ15.GPIOParameters=GPIO_Speed
-PJ15.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PJ15.Mode=RGB888
-PJ15.Signal=LTDC_B3
-PJ2.GPIOParameters=GPIO_Speed
-PJ2.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PJ2.Locked=true
-PJ2.Mode=RGB888
-PJ2.Signal=LTDC_R3
-PJ3.GPIOParameters=GPIO_Speed
-PJ3.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PJ3.Locked=true
-PJ3.Mode=RGB888
-PJ3.Signal=LTDC_R4
-PJ4.GPIOParameters=GPIO_Speed
-PJ4.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PJ4.Locked=true
-PJ4.Mode=RGB888
-PJ4.Signal=LTDC_R5
-PJ5.GPIOParameters=GPIO_Speed
-PJ5.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PJ5.Locked=true
-PJ5.Mode=RGB888
-PJ5.Signal=LTDC_R6
-PJ6.GPIOParameters=GPIO_Speed
-PJ6.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PJ6.Locked=true
-PJ6.Mode=RGB888
-PJ6.Signal=LTDC_R7
-PJ7.GPIOParameters=GPIO_Speed
-PJ7.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PJ7.Mode=RGB888
-PJ7.Signal=LTDC_G0
-PJ8.GPIOParameters=GPIO_Speed
-PJ8.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PJ8.Mode=RGB888
-PJ8.Signal=LTDC_G1
-PJ9.GPIOParameters=GPIO_Speed
-PJ9.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PJ9.Locked=true
-PJ9.Mode=RGB888
-PJ9.Signal=LTDC_G2
-PK0.GPIOParameters=GPIO_Speed
-PK0.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PK0.Locked=true
-PK0.Mode=RGB888
-PK0.Signal=LTDC_G5
-PK1.GPIOParameters=GPIO_Speed
-PK1.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PK1.Locked=true
-PK1.Mode=RGB888
-PK1.Signal=LTDC_G6
-PK2.GPIOParameters=GPIO_Speed
-PK2.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PK2.Locked=true
-PK2.Mode=RGB888
-PK2.Signal=LTDC_G7
-PK3.GPIOParameters=GPIO_Speed
-PK3.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PK3.Locked=true
-PK3.Mode=RGB888
-PK3.Signal=LTDC_B4
-PK4.GPIOParameters=GPIO_Speed
-PK4.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PK4.Locked=true
-PK4.Mode=RGB888
-PK4.Signal=LTDC_B5
-PK5.GPIOParameters=GPIO_Speed
-PK5.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PK5.Locked=true
-PK5.Mode=RGB888
-PK5.Signal=LTDC_B6
-PK6.GPIOParameters=GPIO_Speed
-PK6.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PK6.Locked=true
-PK6.Mode=RGB888
-PK6.Signal=LTDC_B7
-PK7.GPIOParameters=GPIO_Speed
-PK7.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
-PK7.Mode=RGB888
-PK7.Signal=LTDC_DE
-PinOutPanel.CurrentBGAView=Top
-PinOutPanel.RotationAngle=0
-ProjectManager.AskForMigrate=true
-ProjectManager.BackupPrevious=false
-ProjectManager.CompilerOptimize=6
-ProjectManager.ComputerToolchain=false
-ProjectManager.CoupleFile=false
-ProjectManager.CustomerFirmwarePackage=
-ProjectManager.DefaultFWLocation=true
-ProjectManager.DeletePrevious=true
-ProjectManager.DeviceId=STM32H750XBHx
-ProjectManager.FirmwarePackage=STM32Cube FW_H7 V1.9.0
-ProjectManager.FreePins=false
-ProjectManager.HalAssertFull=false
-ProjectManager.HeapSize=0x200
-ProjectManager.KeepUserCode=true
-ProjectManager.LastFirmware=true
-ProjectManager.LibraryCopy=1
-ProjectManager.MainLocation=Core/Src
-ProjectManager.NoMain=false
-ProjectManager.PreviousToolchain=
-ProjectManager.ProjectBuild=false
-ProjectManager.ProjectFileName=CubeMX_Config.ioc
-ProjectManager.ProjectName=CubeMX_Config
-ProjectManager.RegisterCallBack=
-ProjectManager.StackSize=0x400
-ProjectManager.TargetToolchain=MDK-ARM V5.27
-ProjectManager.ToolChainLocation=
-ProjectManager.UnderRoot=false
-ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_ETH_Init-ETH-false-HAL-true,4-MX_FMC_Init-FMC-false-HAL-true,5-MX_LTDC_Init-LTDC-false-HAL-true,6-MX_SDMMC1_SD_Init-SDMMC1-false-HAL-true,7-MX_SDMMC2_SD_Init-SDMMC2-false-HAL-true,8-MX_SPI4_Init-SPI4-false-HAL-true,9-MX_UART4_Init-UART4-false-HAL-true,10-MX_SPI1_Init-SPI1-false-HAL-true,11-MX_USART3_UART_Init-USART3-false-HAL-true,12-MX_USB_OTG_FS_PCD_Init-USB_OTG_FS-false-HAL-true,0-MX_CORTEX_M7_Init-CORTEX_M7-false-HAL-true
-RCC.ADCFreq_Value=400000000
-RCC.AHB12Freq_Value=240000000
-RCC.AHB4Freq_Value=240000000
-RCC.APB1Freq_Value=120000000
-RCC.APB2Freq_Value=120000000
-RCC.APB3Freq_Value=120000000
-RCC.APB4Freq_Value=120000000
-RCC.AXIClockFreq_Value=240000000
-RCC.CECFreq_Value=32000
-RCC.CKPERFreq_Value=64000000
-RCC.CortexFreq_Value=480000000
-RCC.CpuClockFreq_Value=480000000
-RCC.D1CPREFreq_Value=480000000
-RCC.D1PPRE=RCC_APB3_DIV2
-RCC.D2PPRE1=RCC_APB1_DIV2
-RCC.D2PPRE2=RCC_APB2_DIV2
-RCC.D3PPRE=RCC_APB4_DIV2
-RCC.DFSDMACLkFreq_Value=480000000
-RCC.DFSDMFreq_Value=120000000
-RCC.DIVM1=5
-RCC.DIVM2=2
-RCC.DIVM3=5
-RCC.DIVN1=192
-RCC.DIVN2=64
-RCC.DIVN3=160
-RCC.DIVP1Freq_Value=480000000
-RCC.DIVP2Freq_Value=400000000
-RCC.DIVP3=8
-RCC.DIVP3Freq_Value=100000000
-RCC.DIVQ1Freq_Value=480000000
-RCC.DIVQ2Freq_Value=400000000
-RCC.DIVQ3=8
-RCC.DIVQ3Freq_Value=100000000
-RCC.DIVR1Freq_Value=480000000
-RCC.DIVR2=4
-RCC.DIVR2Freq_Value=200000000
-RCC.DIVR3=24
-RCC.DIVR3Freq_Value=33333333.333333332
-RCC.FDCANFreq_Value=480000000
-RCC.FMCCLockSelection=RCC_FMCCLKSOURCE_PLL2
-RCC.FMCFreq_Value=200000000
-RCC.FamilyName=M
-RCC.HCLK3ClockFreq_Value=240000000
-RCC.HCLKFreq_Value=240000000
-RCC.HPRE=RCC_HCLK_DIV2
-RCC.HRTIMFreq_Value=240000000
-RCC.I2C123Freq_Value=120000000
-RCC.I2C4Freq_Value=120000000
-RCC.IPParameters=ADCFreq_Value,AHB12Freq_Value,AHB4Freq_Value,APB1Freq_Value,APB2Freq_Value,APB3Freq_Value,APB4Freq_Value,AXIClockFreq_Value,CECFreq_Value,CKPERFreq_Value,CortexFreq_Value,CpuClockFreq_Value,D1CPREFreq_Value,D1PPRE,D2PPRE1,D2PPRE2,D3PPRE,DFSDMACLkFreq_Value,DFSDMFreq_Value,DIVM1,DIVM2,DIVM3,DIVN1,DIVN2,DIVN3,DIVP1Freq_Value,DIVP2Freq_Value,DIVP3,DIVP3Freq_Value,DIVQ1Freq_Value,DIVQ2Freq_Value,DIVQ3,DIVQ3Freq_Value,DIVR1Freq_Value,DIVR2,DIVR2Freq_Value,DIVR3,DIVR3Freq_Value,FDCANFreq_Value,FMCCLockSelection,FMCFreq_Value,FamilyName,HCLK3ClockFreq_Value,HCLKFreq_Value,HPRE,HRTIMFreq_Value,I2C123Freq_Value,I2C4Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPTIM345Freq_Value,LPUART1Freq_Value,LTDCFreq_Value,MCO1PinFreq_Value,MCO2PinFreq_Value,PLL2FRACN,PLLFRACN,PLLSourceVirtual,QSPIFreq_Value,RNGFreq_Value,RTCFreq_Value,SAI1Freq_Value,SAI23Freq_Value,SAI4AFreq_Value,SAI4BFreq_Value,SDMMC1CLockSelection,SDMMCFreq_Value,SPDIFRXFreq_Value,SPI123CLockSelection,SPI123Freq_Value,SPI45Freq_Value,SPI6Freq_Value,SWPMI1Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,Spi45ClockSelection,Tim1OutputFreq_Value,Tim2OutputFreq_Value,TraceFreq_Value,USART16Freq_Value,USART234578Freq_Value,USBCLockSelection,USBFreq_Value,VCO1OutputFreq_Value,VCO2OutputFreq_Value,VCO3OutputFreq_Value,VCOInput1Freq_Value,VCOInput2Freq_Value,VCOInput3Freq_Value
-RCC.LPTIM1Freq_Value=120000000
-RCC.LPTIM2Freq_Value=120000000
-RCC.LPTIM345Freq_Value=120000000
-RCC.LPUART1Freq_Value=120000000
-RCC.LTDCFreq_Value=33333333.333333332
-RCC.MCO1PinFreq_Value=64000000
-RCC.MCO2PinFreq_Value=480000000
-RCC.PLL2FRACN=0
-RCC.PLLFRACN=0
-RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSE
-RCC.QSPIFreq_Value=240000000
-RCC.RNGFreq_Value=48000000
-RCC.RTCFreq_Value=32000
-RCC.SAI1Freq_Value=480000000
-RCC.SAI23Freq_Value=480000000
-RCC.SAI4AFreq_Value=480000000
-RCC.SAI4BFreq_Value=480000000
-RCC.SDMMC1CLockSelection=RCC_SDMMCCLKSOURCE_PLL2
-RCC.SDMMCFreq_Value=200000000
-RCC.SPDIFRXFreq_Value=480000000
-RCC.SPI123CLockSelection=RCC_SPI123CLKSOURCE_PLL2
-RCC.SPI123Freq_Value=400000000
-RCC.SPI45Freq_Value=100000000
-RCC.SPI6Freq_Value=120000000
-RCC.SWPMI1Freq_Value=120000000
-RCC.SYSCLKFreq_VALUE=480000000
-RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK
-RCC.Spi45ClockSelection=RCC_SPI45CLKSOURCE_PLL3
-RCC.Tim1OutputFreq_Value=240000000
-RCC.Tim2OutputFreq_Value=240000000
-RCC.TraceFreq_Value=64000000
-RCC.USART16Freq_Value=120000000
-RCC.USART234578Freq_Value=120000000
-RCC.USBCLockSelection=RCC_USBCLKSOURCE_HSI48
-RCC.USBFreq_Value=48000000
-RCC.VCO1OutputFreq_Value=960000000
-RCC.VCO2OutputFreq_Value=800000000
-RCC.VCO3OutputFreq_Value=800000000
-RCC.VCOInput1Freq_Value=5000000
-RCC.VCOInput2Freq_Value=12500000
-RCC.VCOInput3Freq_Value=5000000
-SH.FMC_A0.0=FMC_A0,13b-sda1
-SH.FMC_A0.ConfNb=1
-SH.FMC_A1.0=FMC_A1,13b-sda1
-SH.FMC_A1.ConfNb=1
-SH.FMC_A10.0=FMC_A10,13b-sda1
-SH.FMC_A10.ConfNb=1
-SH.FMC_A11.0=FMC_A11,13b-sda1
-SH.FMC_A11.ConfNb=1
-SH.FMC_A12.0=FMC_A12,13b-sda1
-SH.FMC_A12.ConfNb=1
-SH.FMC_A14_BA0.0=FMC_BA0,FourSdramBanks1
-SH.FMC_A14_BA0.ConfNb=1
-SH.FMC_A15_BA1.0=FMC_BA1,FourSdramBanks1
-SH.FMC_A15_BA1.ConfNb=1
-SH.FMC_A2.0=FMC_A2,13b-sda1
-SH.FMC_A2.ConfNb=1
-SH.FMC_A3.0=FMC_A3,13b-sda1
-SH.FMC_A3.ConfNb=1
-SH.FMC_A4.0=FMC_A4,13b-sda1
-SH.FMC_A4.ConfNb=1
-SH.FMC_A5.0=FMC_A5,13b-sda1
-SH.FMC_A5.ConfNb=1
-SH.FMC_A6.0=FMC_A6,13b-sda1
-SH.FMC_A6.ConfNb=1
-SH.FMC_A7.0=FMC_A7,13b-sda1
-SH.FMC_A7.ConfNb=1
-SH.FMC_A8.0=FMC_A8,13b-sda1
-SH.FMC_A8.ConfNb=1
-SH.FMC_A9.0=FMC_A9,13b-sda1
-SH.FMC_A9.ConfNb=1
-SH.FMC_D0_DA0.0=FMC_D0,sd-16b-d1
-SH.FMC_D0_DA0.ConfNb=1
-SH.FMC_D10_DA10.0=FMC_D10,sd-16b-d1
-SH.FMC_D10_DA10.ConfNb=1
-SH.FMC_D11_DA11.0=FMC_D11,sd-16b-d1
-SH.FMC_D11_DA11.ConfNb=1
-SH.FMC_D12_DA12.0=FMC_D12,sd-16b-d1
-SH.FMC_D12_DA12.ConfNb=1
-SH.FMC_D13_DA13.0=FMC_D13,sd-16b-d1
-SH.FMC_D13_DA13.ConfNb=1
-SH.FMC_D14_DA14.0=FMC_D14,sd-16b-d1
-SH.FMC_D14_DA14.ConfNb=1
-SH.FMC_D15_DA15.0=FMC_D15,sd-16b-d1
-SH.FMC_D15_DA15.ConfNb=1
-SH.FMC_D1_DA1.0=FMC_D1,sd-16b-d1
-SH.FMC_D1_DA1.ConfNb=1
-SH.FMC_D2_DA2.0=FMC_D2,sd-16b-d1
-SH.FMC_D2_DA2.ConfNb=1
-SH.FMC_D3_DA3.0=FMC_D3,sd-16b-d1
-SH.FMC_D3_DA3.ConfNb=1
-SH.FMC_D4_DA4.0=FMC_D4,sd-16b-d1
-SH.FMC_D4_DA4.ConfNb=1
-SH.FMC_D5_DA5.0=FMC_D5,sd-16b-d1
-SH.FMC_D5_DA5.ConfNb=1
-SH.FMC_D6_DA6.0=FMC_D6,sd-16b-d1
-SH.FMC_D6_DA6.ConfNb=1
-SH.FMC_D7_DA7.0=FMC_D7,sd-16b-d1
-SH.FMC_D7_DA7.ConfNb=1
-SH.FMC_D8_DA8.0=FMC_D8,sd-16b-d1
-SH.FMC_D8_DA8.ConfNb=1
-SH.FMC_D9_DA9.0=FMC_D9,sd-16b-d1
-SH.FMC_D9_DA9.ConfNb=1
-SH.FMC_NBL0.0=FMC_NBL0,Sd2ByteEnable1
-SH.FMC_NBL0.ConfNb=1
-SH.FMC_NBL1.0=FMC_NBL1,Sd2ByteEnable1
-SH.FMC_NBL1.ConfNb=1
-SH.FMC_SDCLK.0=FMC_SDCLK,13b-sda1
-SH.FMC_SDCLK.ConfNb=1
-SH.FMC_SDNCAS.0=FMC_SDNCAS,13b-sda1
-SH.FMC_SDNCAS.ConfNb=1
-SH.FMC_SDNRAS.0=FMC_SDNRAS,13b-sda1
-SH.FMC_SDNRAS.ConfNb=1
-SH.FMC_SDNWE.0=FMC_SDNWE,13b-sda1
-SH.FMC_SDNWE.ConfNb=1
-SPI1.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_2
-SPI1.CalculateBaudRate=200.0 MBits/s
-SPI1.Direction=SPI_DIRECTION_2LINES
-SPI1.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,BaudRatePrescaler
-SPI1.Mode=SPI_MODE_MASTER
-SPI1.VirtualType=VM_MASTER
-SPI4.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_2
-SPI4.CalculateBaudRate=50.0 MBits/s
-SPI4.Direction=SPI_DIRECTION_2LINES
-SPI4.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,BaudRatePrescaler
-SPI4.Mode=SPI_MODE_MASTER
-SPI4.VirtualType=VM_MASTER
-USART3.IPParameters=VirtualMode-Asynchronous
-USART3.VirtualMode-Asynchronous=VM_ASYNC
-USB_OTG_FS.IPParameters=VirtualMode
-USB_OTG_FS.VirtualMode=Device_Only
-VP_IWDG1_VS_IWDG.Mode=IWDG_Activate
-VP_IWDG1_VS_IWDG.Signal=IWDG1_VS_IWDG
-VP_SYS_VS_Systick.Mode=SysTick
-VP_SYS_VS_Systick.Signal=SYS_VS_Systick
-board=custom
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/Kconfig b/bsp/stm32/stm32h750-artpi-h750/board/Kconfig
deleted file mode 100644
index ae6c4e69a1..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/board/Kconfig
+++ /dev/null
@@ -1,349 +0,0 @@
-menu "Hardware Drivers Config"
-
-config SOC_STM32H750XB
- bool
- select SOC_SERIES_STM32H7
- select RT_USING_COMPONENTS_INIT
- select RT_USING_USER_MAIN
- default y
-
-config BOARD_STM32H750_ARTPI
- bool
- default y
-
-menu "Board extended module"
-
- menuconfig ART_PI_USING_MEDIA_IO
- bool "Media-IO"
- default n
- if ART_PI_USING_MEDIA_IO
- config BSP_USING_SPI_LCD_ILI9488
- bool
- config PKG_USING_PERSIMMON_SRC
- bool
-
- config MEDIA_IO_USING_SCREEN
- select BSP_USING_SPI
- select BSP_USING_SPI2
- select BSP_USING_SDRAM
- select BSP_USING_SPI_LCD_ILI9488
- select PKG_USING_PERSIMMON_SRC
- bool "Enable Screen"
- default y
-
- if MEDIA_IO_USING_SCREEN
- config BSP_USING_LVGL
- bool "Enable LVGL for LCD"
- select BSP_USING_SPI_LCD_ILI9488
- select PKG_USING_LVGL
- select PKG_USING_LV_MUSIC_DEMO
- default n
- endif
-
- config MEDIA_IO_USING_TOUCH
- select RT_USING_I2C
- select RT_USING_I2C_BITOPS
- select BSP_USING_I2C
- select BSP_USING_I2C2
- select PKG_USING_TOUCH_DRIVERS
- select PKG_USING_FT6236
- bool "Enable Touch"
- default y
-
- config MEDIA_IO_USING_AUDIO
- select RT_USING_AUDIO
- select RT_USING_I2C
- select RT_USING_I2C_BITOPS
- select BSP_USING_I2C
- select BSP_USING_I2C3
- bool "Enable Audio"
- default y
- if MEDIA_IO_USING_AUDIO
- config AUDIO_MP3
- bool "Support MP3"
- select PKG_USING_HELIX
- default y
- endif
- endif
-
- menuconfig ART_PI_USING_INDUSTRY_IO
- bool "Industry-IO"
- default n
- if ART_PI_USING_INDUSTRY_IO
- config INDUSTRY_IO_USING_ETH
- select BSP_USING_ETH
- select PHY_USING_LAN8720A
- bool "Enable Ethernet"
- default y
- endif
-
-endmenu
-
-menu "Onboard Peripheral Drivers"
-
- config BSP_USING_USB_TO_USART
- bool "Enable Debuger USART (uart4)"
- select BSP_USING_UART
- select BSP_USING_UART4
- default n
-
- config BSP_USING_SPI_FLASH
- bool "Enable SPI FLASH (spi1)"
- select BSP_USING_SPI
- select BSP_USING_SPI1
- select RT_USING_FAL
- select FAL_USING_SFUD_PORT
- select RT_USING_SFUD
- default n
-
- config BSP_USING_QSPI_FLASH
- bool "Enable QSPI FLASH (w25q64 qspi)"
- select BSP_USING_QSPI
- select FAL_USING_SFUD_PORT
- select RT_USING_SFUD
- select RT_SFUD_USING_QSPI
- default n
-
- menuconfig BSP_USING_FS
- bool "Enable filesystem"
- select RT_USING_DFS
- select RT_USING_DFS_ROMFS
- default n
- if BSP_USING_FS
- config BSP_USING_SDCARD_FS
- bool "Enable SDCARD filesystem"
- select BSP_USING_SDIO_ARTPI
- select BSP_USING_SDIO1
- select RT_USING_DFS_ELMFAT
- default n
- config BSP_USING_SPI_FLASH_FS
- bool "Enable SPI FLASH filesystem"
- select BSP_USING_SPI_FLASH
- select RT_USING_MTD_NOR
- select PKG_USING_LITTLEFS
- default n
- endif
-
- config BSP_USING_WIFI
- bool "Enable wifi (AP6212)"
- select ART_PI_USING_WIFI_6212_LIB
- select BSP_USING_SPI_FLASH
- select RT_USING_WIFI
- select RT_USING_SAL
- default n
-
-endmenu
-
-menu "On-chip Peripheral Drivers"
-
- config BSP_USING_GPIO
- bool "Enable GPIO"
- select RT_USING_PIN
- default y
-
- menuconfig BSP_USING_UART
- bool "Enable UART"
- default n
- select RT_USING_SERIAL
- select RT_SERIAL_USING_DMA
- if BSP_USING_UART
- config BSP_USING_UART1
- bool "Enable UART1"
- default n
-
- config BSP_UART1_RX_USING_DMA
- bool "Enable UART1 RX DMA"
- depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA
- default n
-
- config BSP_UART1_TX_USING_DMA
- bool "Enable UART1 TX DMA"
- depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA
- default n
-
- config BSP_USING_UART3
- bool "Enable UART3"
- default n
-
- config BSP_USING_UART4
- bool "Enable UART4"
- default n
-
- config BSP_USING_UART6
- bool "Enable UART6"
- default n
- endif
-
- menuconfig BSP_USING_SPI
- bool "Enable SPI"
- default n
- select RT_USING_SPI
- if BSP_USING_SPI
- config BSP_USING_SPI1
- bool "Enable SPI1"
- default n
- config BSP_USING_SPI2
- bool "Enable SPI2"
- default n
- config BSP_USING_SPI4
- bool "Enable SPI4"
- default n
- endif
-
- config BSP_USING_QSPI
- bool "Enable QSPI BUS"
- select RT_USING_QSPI
- select RT_USING_SPI
- default n
-
- config BSP_USING_ONCHIP_RTC
- bool "Enable Onchip RTC"
- select RT_USING_RTC
- default n
-
- menuconfig BSP_USING_I2C
- bool "Enable I2C BUS (software simulation)"
- select RT_USING_I2C
- select RT_USING_I2C_BITOPS
- select RT_USING_PIN
- default n
- if BSP_USING_I2C
- menuconfig BSP_USING_I2C1
- bool "Enable I2C1 BUS (software simulation)"
- default n
- select RT_USING_I2C
- select RT_USING_I2C_BITOPS
- select RT_USING_PIN
- if BSP_USING_I2C1
- comment "Notice: PB6 --> 22; PB7 --> 23"
- config BSP_I2C1_SCL_PIN
- int "I2C1 scl pin number"
- range 0 175
- default 22
- config BSP_I2C1_SDA_PIN
- int "I2C1 sda pin number"
- range 0 175
- default 23
- endif
- menuconfig BSP_USING_I2C2
- bool "Enable I2C2 BUS (software simulation)"
- default n
- if BSP_USING_I2C2
- comment "Notice: PH13 --> 125; PH15 --> 127"
- config BSP_I2C2_SCL_PIN
- int "i2c2 scl pin number"
- range 1 176
- default 127
- config BSP_I2C2_SDA_PIN
- int "I2C2 sda pin number"
- range 0 175
- default 125
- endif
- menuconfig BSP_USING_I2C3
- bool "Enable I2C3 BUS (software simulation)"
- default n
- if BSP_USING_I2C3
- comment "Notice: PH12 --> 124; PH11 --> 123"
- config BSP_I2C3_SCL_PIN
- int "i2c3 scl pin number"
- range 0 175
- default 123
- config BSP_I2C3_SDA_PIN
- int "I2C3 sda pin number"
- range 0 175
- default 124
- endif
- endif
-
- config BSP_USING_SDRAM
- bool "Enable SDRAM"
- default n
-
- config BSP_USING_WDT
- bool "Enable Watchdog Timer"
- select RT_USING_WDT
- default n
-
- config BSP_USING_LCD
- bool "Enable LCD"
- select BSP_USING_LTDC
- select BSP_USING_GPIO
- select BSP_USING_SDRAM
- select RT_USING_MEMHEAP
- default n
-
- menuconfig BSP_USING_SDIO_ARTPI
- bool "Enable SDIO"
- default n
- select RT_USING_SDIO
- if BSP_USING_SDIO_ARTPI
- config BSP_USING_SDIO1
- bool "Enable SDIO1"
- default n
- config BSP_USING_SDIO2
- bool "Enable SDIO2"
- default n
- endif
-
- config BSP_USING_USBD
- bool "Enable USB Device"
- select RT_USING_USB_DEVICE
- default n
-
- menuconfig BSP_USING_USBH
- bool "Enable USB Host"
- select RT_USING_USB_HOST
- default n
- if BSP_USING_USBH
- menuconfig RT_USBH_MSTORAGE
- bool "Enable Udisk Drivers"
- select RT_USING_DFS
- select RT_USING_DFS_ELMFAT
- default n
- if RT_USBH_MSTORAGE
- config UDISK_MOUNTPOINT
- string "Udisk mount dir"
- default "/"
- endif
- endif
-
- menuconfig BSP_USING_ETH_H750
- bool "Enable Ethernet"
- default n
- select RT_USING_LWIP
- if BSP_USING_ETH_H750
- config ETH_RESET_PIN
- string "ETH RESET PIN"
- default "PA.3"
- endif
- if BSP_USING_ETH_H750
- choice
- prompt "Choose ETH PHY"
- default PHY_USING_LAN8720A
- config PHY_USING_LAN8720A
- bool "USING LAN8720A"
- default n
- endchoice
- endif
-
- config BSP_USING_LTDC
- bool
- default n
- source "../libraries/HAL_Drivers/Kconfig"
-
-endmenu
-
-menu "External Libraries"
-
- config ART_PI_USING_WIFI_6212_LIB
- bool "Using Wifi(AP6212) Library"
- select PKG_USING_EASYFLASH
- select BSP_USING_SDIO_ARTPI
- select BSP_USING_SDIO2
- select RT_USING_LWIP
- select RT_USING_WIFI
- default n
-
-endmenu
-
-endmenu
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/SConscript b/bsp/stm32/stm32h750-artpi-h750/board/SConscript
deleted file mode 100644
index baea8291cc..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/board/SConscript
+++ /dev/null
@@ -1,62 +0,0 @@
-import os
-import rtconfig
-from building import *
-
-Import('SDK_LIB')
-
-objs = []
-cwd = GetCurrentDir()
-list = os.listdir(cwd)
-
-# add the general drivers.
-src = Glob('board.c')
-src += Glob('CubeMX_Config/Core/Src/stm32h7xx_hal_msp.c')
-
-if GetDepend(['BSP_USING_QSPI_FLASH']):
- src += Glob('port/drv_qspi_flash.c')
-
-if GetDepend(['BSP_USING_SPI_LCD_ILI9488']):
- src += Glob('port/drv_spi_ili9488.c')
-
-if GetDepend(['BSP_USING_SPI_FLASH']):
- src += Glob('port/spi_flash_init.c')
-
-if GetDepend(['BSP_USING_FS']):
- src += Glob('port/filesystem.c')
-
-if GetDepend(['BSP_USING_SDIO_ARTPI']):
- src += Glob('port/drv_sdio.c')
-
-if GetDepend(['BSP_USING_WIFI']):
- src += Glob('port/wifi_config.c')
- src += Glob('port/drv_wlan.c')
-
-if GetDepend(['BSP_USING_ETH_H750']):
- src += Glob('port/drv_eth.c')
-
-if GetDepend(['PKG_USING_EASYFLASH']):
- src += Glob('port/ef_fal_port.c')
-
-for item in list:
- if os.path.isfile(os.path.join(cwd, item, 'SConscript')):
- objs = objs + SConscript(os.path.join(item, 'SConscript'))
-
-path = [cwd]
-path += [cwd + '/CubeMX_Config/Core/Inc']
-path += [cwd + '/port']
-
-startup_path_prefix = SDK_LIB
-
-if rtconfig.PLATFORM == 'gcc':
- src += [startup_path_prefix + '/STM32H7xx_HAL/CMSIS/Device/ST/STM32H7xx/Source/Templates/gcc/startup_stm32h750xx.s']
-elif rtconfig.PLATFORM in ['armcc', 'armclang']:
- src += [startup_path_prefix + '/STM32H7xx_HAL/CMSIS/Device/ST/STM32H7xx/Source/Templates/arm/startup_stm32h750xx.s']
-elif rtconfig.CROSS_TOOL == 'iar':
- src += [startup_path_prefix + '/STM32H7xx_HAL/CMSIS/Device/ST/STM32H7xx/Source/Templates/iar/startup_stm32h750xx.s']
-
-# STM32H743xx || STM32H750xx || STM32F753xx
-# You can select chips from the list above
-CPPDEFINES = ['STM32H750xx']
-group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES)
-
-Return('group')
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/board.c b/bsp/stm32/stm32h750-artpi-h750/board/board.c
deleted file mode 100644
index 704a05b5f0..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/board/board.c
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright (c) 2006-2022, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2019-10-26 zylx first version
- */
-
-#include "board.h"
-
-/**
- * @brief System Clock Configuration
- * @retval None
- */
-void SystemClock_Config(void)
-{
- RCC_OscInitTypeDef RCC_OscInitStruct = {0};
- RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
-
- /** Supply configuration update enable
- */
- HAL_PWREx_ConfigSupply(PWR_LDO_SUPPLY);
- /** Configure the main internal regulator output voltage
- */
- __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE0);
-
- while(!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) {}
-
- /** Initializes the RCC Oscillators according to the specified parameters
- * in the RCC_OscInitTypeDef structure.
- */
- RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI48 | RCC_OSCILLATORTYPE_HSE;
- RCC_OscInitStruct.HSEState = RCC_HSE_ON;
- RCC_OscInitStruct.HSI48State = RCC_HSI48_ON;
- RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
- RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
- RCC_OscInitStruct.PLL.PLLM = 5;
- RCC_OscInitStruct.PLL.PLLN = 192;
- RCC_OscInitStruct.PLL.PLLP = 2;
- RCC_OscInitStruct.PLL.PLLQ = 2;
- RCC_OscInitStruct.PLL.PLLR = 2;
- RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_2;
- RCC_OscInitStruct.PLL.PLLVCOSEL = RCC_PLL1VCOWIDE;
- RCC_OscInitStruct.PLL.PLLFRACN = 0;
-
- if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
- {
- Error_Handler();
- }
-
- /** Initializes the CPU, AHB and APB buses clocks
- */
- RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
- | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2
- | RCC_CLOCKTYPE_D3PCLK1 | RCC_CLOCKTYPE_D1PCLK1;
- RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
- RCC_ClkInitStruct.SYSCLKDivider = RCC_SYSCLK_DIV1;
- RCC_ClkInitStruct.AHBCLKDivider = RCC_HCLK_DIV2;
- RCC_ClkInitStruct.APB3CLKDivider = RCC_APB3_DIV2;
- RCC_ClkInitStruct.APB1CLKDivider = RCC_APB1_DIV2;
- RCC_ClkInitStruct.APB2CLKDivider = RCC_APB2_DIV2;
- RCC_ClkInitStruct.APB4CLKDivider = RCC_APB4_DIV2;
-
- if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_4) != HAL_OK)
- {
- Error_Handler();
- }
-
- PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_LTDC | RCC_PERIPHCLK_USART3
- | RCC_PERIPHCLK_UART4 | RCC_PERIPHCLK_SPI4
- | RCC_PERIPHCLK_SPI1 | RCC_PERIPHCLK_SDMMC
- | RCC_PERIPHCLK_ADC | RCC_PERIPHCLK_USB
- | RCC_PERIPHCLK_LPTIM1 | RCC_PERIPHCLK_FMC;
- PeriphClkInitStruct.PLL2.PLL2M = 2;
- PeriphClkInitStruct.PLL2.PLL2N = 64;
- PeriphClkInitStruct.PLL2.PLL2P = 2;
- PeriphClkInitStruct.PLL2.PLL2Q = 2;
- PeriphClkInitStruct.PLL2.PLL2R = 4;
- PeriphClkInitStruct.PLL2.PLL2RGE = RCC_PLL2VCIRANGE_3;
- PeriphClkInitStruct.PLL2.PLL2VCOSEL = RCC_PLL2VCOWIDE;
- PeriphClkInitStruct.PLL2.PLL2FRACN = 0;
- PeriphClkInitStruct.PLL3.PLL3M = 5;
- PeriphClkInitStruct.PLL3.PLL3N = 160;
- PeriphClkInitStruct.PLL3.PLL3P = 8;
- PeriphClkInitStruct.PLL3.PLL3Q = 8;
- PeriphClkInitStruct.PLL3.PLL3R = 24;
- PeriphClkInitStruct.PLL3.PLL3RGE = RCC_PLL3VCIRANGE_2;
- PeriphClkInitStruct.PLL3.PLL3VCOSEL = RCC_PLL3VCOWIDE;
- PeriphClkInitStruct.PLL3.PLL3FRACN = 0;
- PeriphClkInitStruct.FmcClockSelection = RCC_FMCCLKSOURCE_PLL2;
- PeriphClkInitStruct.SdmmcClockSelection = RCC_SDMMCCLKSOURCE_PLL2;
- PeriphClkInitStruct.Spi123ClockSelection = RCC_SPI123CLKSOURCE_PLL2;
- PeriphClkInitStruct.Spi45ClockSelection = RCC_SPI45CLKSOURCE_PLL3;
- PeriphClkInitStruct.Usart234578ClockSelection = RCC_USART234578CLKSOURCE_D2PCLK1;
- PeriphClkInitStruct.UsbClockSelection = RCC_USBCLKSOURCE_HSI48;
- PeriphClkInitStruct.Lptim1ClockSelection = RCC_LPTIM1CLKSOURCE_LSI;
- PeriphClkInitStruct.AdcClockSelection = RCC_ADCCLKSOURCE_PLL2;
-
- if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
- {
- Error_Handler();
- }
-
- /** Enable USB Voltage detector
- */
- HAL_PWREx_EnableUSBVoltageDetector();
-}
-
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/board.h b/bsp/stm32/stm32h750-artpi-h750/board/board.h
deleted file mode 100644
index 284fcc8b4b..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/board/board.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (c) 2006-2022, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2018-11-5 SummerGift first version
- */
-
-#ifndef __BOARD_H__
-#define __BOARD_H__
-
-#include
-#include
-#include "drv_common.h"
-#include "drv_gpio.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*-------------------------- CHIP CONFIG BEGIN --------------------------*/
-
-#define CHIP_FAMILY_STM32
-#define CHIP_SERIES_STM32H7
-#define CHIP_NAME_STM32H750XBHX
-
-/*-------------------------- CHIP CONFIG END --------------------------*/
-
-/*-------------------------- ROM/RAM CONFIG BEGIN --------------------------*/
- #define ROM_START ((uint32_t)0x90000000)
- #define ROM_SIZE (16384)
- #define ROM_END ((uint32_t)(ROM_START + ROM_SIZE * 1024))
-
-#define RAM_START (0x24000000)
-#define RAM_SIZE (512)
-#define RAM_END (RAM_START + RAM_SIZE * 1024)
-
-/*-------------------------- ROM/RAM CONFIG END --------------------------*/
-
-/*-------------------------- CLOCK CONFIG BEGIN --------------------------*/
-
-#define BSP_CLOCK_SOURCE ("HSE")
-#define BSP_CLOCK_SOURCE_FREQ_MHZ ((int32_t)0)
-#define BSP_CLOCK_SYSTEM_FREQ_MHZ ((int32_t)480)
-
-/*-------------------------- CLOCK CONFIG END --------------------------*/
-
-/*-------------------------- UART CONFIG BEGIN --------------------------*/
-
-/** After configuring corresponding UART or UART DMA, you can use it.
- *
- * STEP 1, define macro define related to the serial port opening based on the serial port number
- * such as #define BSP_USING_UATR1
- *
- * STEP 2, according to the corresponding pin of serial port, define the related serial port information macro
- * such as #define BSP_UART1_TX_PIN "PA9"
- * #define BSP_UART1_RX_PIN "PA10"
- *
- * STEP 3, if you want using SERIAL DMA, you must open it in the RT-Thread Settings.
- * RT-Thread Setting -> Components -> Device Drivers -> Serial Device Drivers -> Enable Serial DMA Mode
- *
- * STEP 4, according to serial port number to define serial port tx/rx DMA function in the board.h file
- * such as #define BSP_UART1_RX_USING_DMA
- *
- */
-
-#define BSP_UART3_RX_BUFSIZE 256
-#define BSP_UART3_TX_BUFSIZE 256
-#define BSP_UART4_RX_BUFSIZE 256
-#define BSP_UART4_TX_BUFSIZE 256
-
-#define STM32_FLASH_START_ADRESS ROM_START
-#define STM32_FLASH_SIZE ROM_SIZE
-#define STM32_FLASH_END_ADDRESS ROM_END
-
-#define RAM_START (0x24000000)
-#define RAM_SIZE (512)
-#define RAM_END (RAM_START + RAM_SIZE * 1024)
-
-#define STM32_SRAM1_SIZE RAM_SIZE
-#define STM32_SRAM1_START RAM_START
-#define STM32_SRAM1_END RAM_END
-
-#if defined(__ARMCC_VERSION)
-extern int Image$$RW_IRAM1$$ZI$$Limit;
-#define HEAP_BEGIN (&Image$$RW_IRAM1$$ZI$$Limit)
-#elif __ICCARM__
-#pragma section="CSTACK"
-#define HEAP_BEGIN (__segment_end("CSTACK"))
-#else
-extern int __bss_end;
-#define HEAP_BEGIN (&__bss_end)
-#endif
-
-#define HEAP_END STM32_SRAM1_END
-
-void SystemClock_Config(void);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/linker_scripts/link.icf b/bsp/stm32/stm32h750-artpi-h750/board/linker_scripts/link.icf
deleted file mode 100644
index 8eb669c55a..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/board/linker_scripts/link.icf
+++ /dev/null
@@ -1,28 +0,0 @@
-/*###ICF### Section handled by ICF editor, don't touch! ****/
-/*-Editor annotation file-*/
-/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
-/*-Specials-*/
-define symbol __ICFEDIT_intvec_start__ = 0x08000000;
-/*-Memory Regions-*/
-define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
-define symbol __ICFEDIT_region_ROM_end__ = 0x00020000;
-define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
-define symbol __ICFEDIT_region_RAM_end__ = 0x20020000;
-/*-Sizes-*/
-define symbol __ICFEDIT_size_cstack__ = 0x800;
-define symbol __ICFEDIT_size_heap__ = 0x000;
-/**** End of ICF editor section. ###ICF###*/
-
-define memory mem with size = 4G;
-define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
-define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
-
-define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
-
-initialize by copy { readwrite };
-do not initialize { section .noinit };
-
-place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
-
-place in ROM_region { readonly };
-place in RAM_region { readwrite, last block CSTACK};
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/linker_scripts/link.lds b/bsp/stm32/stm32h750-artpi-h750/board/linker_scripts/link.lds
deleted file mode 100644
index 0609f4d445..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/board/linker_scripts/link.lds
+++ /dev/null
@@ -1,206 +0,0 @@
-/*
- * linker script for STM32H750XBHx with GNU ld
- */
-
-/* Program Entry, set to mark it as "used" and avoid gc */
-MEMORY
-{
-ROM (rx) : ORIGIN =0x90000000,LENGTH =8192k
-RAM (rw) : ORIGIN =0x24000000,LENGTH =512k
-RxDecripSection (rw) : ORIGIN =0x30040000,LENGTH =32k
-TxDecripSection (rw) : ORIGIN =0x30040060,LENGTH =32k
-RxArraySection (rw) : ORIGIN =0x30040200,LENGTH =32k
-}
-ENTRY(Reset_Handler)
-_system_stack_size = 0x400;
-
-SECTIONS
-{
- .text :
- {
- . = ALIGN(4);
- _stext = .;
- KEEP(*(.isr_vector)) /* Startup code */
-
- . = ALIGN(4);
- *(.text) /* remaining code */
- *(.text.*) /* remaining code */
- *(.rodata) /* read-only data (constants) */
- *(.rodata*)
- *(.glue_7)
- *(.glue_7t)
- *(.gnu.linkonce.t*)
-
- /* section information for finsh shell */
- . = ALIGN(4);
- __fsymtab_start = .;
- KEEP(*(FSymTab))
- __fsymtab_end = .;
-
- . = ALIGN(4);
- __vsymtab_start = .;
- KEEP(*(VSymTab))
- __vsymtab_end = .;
-
- /* section information for utest */
- . = ALIGN(4);
- __rt_utest_tc_tab_start = .;
- KEEP(*(UtestTcTab))
- __rt_utest_tc_tab_end = .;
-
- /* section information for at server */
- . = ALIGN(4);
- __rtatcmdtab_start = .;
- KEEP(*(RtAtCmdTab))
- __rtatcmdtab_end = .;
- . = ALIGN(4);
-
- /* section information for modules */
- . = ALIGN(4);
- __rtmsymtab_start = .;
- KEEP(*(RTMSymTab))
- __rtmsymtab_end = .;
-
- /* section information for initial. */
- . = ALIGN(4);
- __rt_init_start = .;
- KEEP(*(SORT(.rti_fn*)))
- __rt_init_end = .;
-
- . = ALIGN(4);
-
- PROVIDE(__ctors_start__ = .);
- KEEP (*(SORT(.init_array.*)))
- KEEP (*(.init_array))
- PROVIDE(__ctors_end__ = .);
-
- . = ALIGN(4);
-
- _etext = .;
- } > ROM = 0
-
- /* .ARM.exidx is sorted, so has to go in its own output section. */
- __exidx_start = .;
- .ARM.exidx :
- {
- *(.ARM.exidx* .gnu.linkonce.armexidx.*)
-
- /* This is used by the startup in order to initialize the .data secion */
- _sidata = .;
- } > ROM
- __exidx_end = .;
-
- /* .data section which is used for initialized data */
-
- .data : AT (_sidata)
- {
- . = ALIGN(4);
- /* This is used by the startup in order to initialize the .data secion */
- _sdata = . ;
-
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d*)
-
-
- PROVIDE(__dtors_start__ = .);
- KEEP(*(SORT(.dtors.*)))
- KEEP(*(.dtors))
- PROVIDE(__dtors_end__ = .);
-
- . = ALIGN(4);
- /* This is used by the startup in order to initialize the .data secion */
- _edata = . ;
- } >RAM
-
- .stack :
- {
- . = ALIGN(4);
- _sstack = .;
- . = . + _system_stack_size;
- . = ALIGN(4);
- _estack = .;
- } >RAM
-
- __bss_start = .;
- .bss :
- {
- . = ALIGN(4);
- /* This is used by the startup in order to initialize the .bss secion */
- _sbss = .;
-
- *(.bss)
- *(.bss.*)
- *(COMMON)
-
- . = ALIGN(4);
- /* This is used by the startup in order to initialize the .bss secion */
- _ebss = . ;
-
- *(.bss.init)
- } > RAM
- __bss_end = .;
-
- .RxDecripSection (NOLOAD) : ALIGN(4)
- {
- . = ALIGN(4);
- *(.RxDecripSection)
- *(.RxDecripSection.*)
- . = ALIGN(4);
- __RxDecripSection_free__ = .;
- } > RxDecripSection
-
- .TxDecripSection (NOLOAD) : ALIGN(4)
- {
- . = ALIGN(4);
- *(.TxDecripSection)
- *(.TxDecripSection.*)
- . = ALIGN(4);
- __TxDecripSection_free__ = .;
- } > TxDecripSection
-
- .RxArraySection (NOLOAD) : ALIGN(4)
- {
- . = ALIGN(4);
- *(.RxArraySection)
- *(.RxArraySection.*)
- . = ALIGN(4);
- __RxArraySection_free__ = .;
- } > RxArraySection
-
- _end = .;
-
- /* Stabs debugging sections. */
- .stab 0 : { *(.stab) }
- .stabstr 0 : { *(.stabstr) }
- .stab.excl 0 : { *(.stab.excl) }
- .stab.exclstr 0 : { *(.stab.exclstr) }
- .stab.index 0 : { *(.stab.index) }
- .stab.indexstr 0 : { *(.stab.indexstr) }
- .comment 0 : { *(.comment) }
- /* DWARF debug sections.
- * Symbols in the DWARF debugging sections are relative to the beginning
- * of the section so we begin them at 0. */
- /* DWARF 1 */
- .debug 0 : { *(.debug) }
- .line 0 : { *(.line) }
- /* GNU DWARF 1 extensions */
- .debug_srcinfo 0 : { *(.debug_srcinfo) }
- .debug_sfnames 0 : { *(.debug_sfnames) }
- /* DWARF 1.1 and DWARF 2 */
- .debug_aranges 0 : { *(.debug_aranges) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- /* DWARF 2 */
- .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_line 0 : { *(.debug_line) }
- .debug_frame 0 : { *(.debug_frame) }
- .debug_str 0 : { *(.debug_str) }
- .debug_loc 0 : { *(.debug_loc) }
- .debug_macinfo 0 : { *(.debug_macinfo) }
- /* SGI/MIPS DWARF 2 extensions */
- .debug_weaknames 0 : { *(.debug_weaknames) }
- .debug_funcnames 0 : { *(.debug_funcnames) }
- .debug_typenames 0 : { *(.debug_typenames) }
- .debug_varnames 0 : { *(.debug_varnames) }
-}
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/linker_scripts/link.sct b/bsp/stm32/stm32h750-artpi-h750/board/linker_scripts/link.sct
deleted file mode 100644
index 51eefb972d..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/board/linker_scripts/link.sct
+++ /dev/null
@@ -1,17 +0,0 @@
-; *************************************************************
-; *** Scatter-Loading Description File generated by uVision ***
-; *************************************************************
-
-LR_IROM1 0x90000000 0x00800000 { ; load region size_region
- ER_IROM1 0x90000000 0x00800000 { ; load address = execution address
- *.o (RESET, +First)
- *(InRoot$$Sections)
- .ANY (+RO)
- .ANY (+XO)
- }
- RW_IRAM1 0x24000000 0x00080000 { ; AXI SRAM 512K
- .ANY (+RW +ZI)
- }
-}
-
-
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/port/SConscript b/bsp/stm32/stm32h750-artpi-h750/board/port/SConscript
deleted file mode 100644
index ca95be14e2..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/board/port/SConscript
+++ /dev/null
@@ -1,12 +0,0 @@
-import os
-from building import *
-
-objs = []
-cwd = GetCurrentDir()
-list = os.listdir(cwd)
-
-for item in list:
- if os.path.isfile(os.path.join(cwd, item, 'SConscript')):
- objs = objs + SConscript(os.path.join(item, 'SConscript'))
-
-Return('objs')
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/port/drv_eth.c b/bsp/stm32/stm32h750-artpi-h750/board/port/drv_eth.c
deleted file mode 100644
index 92d3abf7db..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/board/port/drv_eth.c
+++ /dev/null
@@ -1,577 +0,0 @@
-/*
- * Copyright (c) 2006-2022, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2018-11-19 SummerGift first version
- * 2018-12-25 zylx fix some bugs
- * 2019-06-10 SummerGift optimize PHY state detection process
- * 2019-09-03 xiaofan optimize link change detection process
- * 2020-07-17 wanghaijing support h7
- * 2020-11-30 wanghaijing add phy reset
- */
-
-#include
-#include
-#include "board.h"
-#include "drv_config.h"
-
-#ifdef BSP_USING_ETH_ARTPI
-
-#include
-#include "lwipopts.h"
-#include "drv_eth.h"
-
-/*
-* Emac driver uses CubeMX tool to generate emac and phy's configuration,
-* the configuration files can be found in CubeMX_Config folder.
-*/
-
-/* debug option */
-#define LOG_TAG "drv.emac"
-#include
-
-#define MAX_ADDR_LEN 6
-
-struct rt_stm32_eth
-{
- /* inherit from ethernet device */
- struct eth_device parent;
- #ifndef PHY_USING_INTERRUPT_MODE
- rt_timer_t poll_link_timer;
- #endif
-
- /* interface address info, hw address */
- rt_uint8_t dev_addr[MAX_ADDR_LEN];
- /* ETH_Speed */
- uint32_t ETH_Speed;
- /* ETH_Duplex_Mode */
- uint32_t ETH_Mode;
-};
-
-static ETH_HandleTypeDef EthHandle;
-static ETH_TxPacketConfig TxConfig;
-static struct rt_stm32_eth stm32_eth_device;
-static uint8_t PHY_ADDR = 0x1F;
-static rt_uint32_t reset_pin = 0;
-
-#if defined ( __ICCARM__ ) /*!< IAR Compiler */
- #pragma location=0x30040000
- ETH_DMADescTypeDef DMARxDscrTab[ETH_RX_DESC_CNT]; /* Ethernet Rx DMA Descriptors */
- #pragma location=0x30040060
- ETH_DMADescTypeDef DMATxDscrTab[ETH_TX_DESC_CNT]; /* Ethernet Tx DMA Descriptors */
- #pragma location=0x30040200
- uint8_t Rx_Buff[ETH_RX_DESC_CNT][ETH_MAX_PACKET_SIZE]; /* Ethernet Receive Buffers */
-
-#elif defined ( __CC_ARM ) /* MDK ARM Compiler */
- __attribute__((at(0x30040000))) ETH_DMADescTypeDef DMARxDscrTab[ETH_RX_DESC_CNT]; /* Ethernet Rx DMA Descriptors */
- __attribute__((at(0x30040060))) ETH_DMADescTypeDef DMATxDscrTab[ETH_TX_DESC_CNT]; /* Ethernet Tx DMA Descriptors */
- __attribute__((at(0x30040200))) uint8_t Rx_Buff[ETH_RX_DESC_CNT][ETH_MAX_PACKET_SIZE]; /* Ethernet Receive Buffer */
-
-#elif defined ( __GNUC__ ) /* GNU Compiler */
- ETH_DMADescTypeDef DMARxDscrTab[ETH_RX_DESC_CNT] __attribute__((section(".RxDecripSection"))); /* Ethernet Rx DMA Descriptors */
- ETH_DMADescTypeDef DMATxDscrTab[ETH_TX_DESC_CNT] __attribute__((section(".TxDecripSection"))); /* Ethernet Tx DMA Descriptors */
- uint8_t Rx_Buff[ETH_RX_DESC_CNT][ETH_MAX_PACKET_SIZE] __attribute__((section(".RxArraySection"))); /* Ethernet Receive Buffers */
-#endif
-
-#if defined(ETH_RX_DUMP) || defined(ETH_TX_DUMP)
-#define __is_print(ch) ((unsigned int)((ch) - ' ') < 127u - ' ')
-static void dump_hex(const rt_uint8_t *ptr, rt_size_t buflen)
-{
- unsigned char *buf = (unsigned char *)ptr;
- int i, j;
-
- for (i = 0; i < buflen; i += 16)
- {
- rt_kprintf("%08X: ", i);
-
- for (j = 0; j < 16; j++)
- if (i + j < buflen)
- rt_kprintf("%02X ", buf[i + j]);
- else
- rt_kprintf(" ");
-
- rt_kprintf(" ");
-
- for (j = 0; j < 16; j++)
- if (i + j < buflen)
- rt_kprintf("%c", __is_print(buf[i + j]) ? buf[i + j] : '.');
-
- rt_kprintf("\n");
- }
-}
-#endif
-
-static void phy_reset(void)
-{
- rt_pin_write(reset_pin, PIN_LOW);
- rt_thread_mdelay(50);
- rt_pin_write(reset_pin, PIN_HIGH);
-}
-
-
-/* EMAC initialization function */
-static rt_err_t rt_stm32_eth_init(rt_device_t dev)
-{
- ETH_MACConfigTypeDef MACConf;
- uint32_t regvalue = 0;
- uint8_t status = RT_EOK;
-
- __HAL_RCC_D2SRAM3_CLK_ENABLE();
-
- phy_reset();
-
- /* ETHERNET Configuration */
- EthHandle.Instance = ETH;
- EthHandle.Init.MACAddr = (rt_uint8_t *)&stm32_eth_device.dev_addr[0];
- EthHandle.Init.MediaInterface = HAL_ETH_RMII_MODE;
- EthHandle.Init.TxDesc = DMATxDscrTab;
- EthHandle.Init.RxDesc = DMARxDscrTab;
- EthHandle.Init.RxBuffLen = ETH_MAX_PACKET_SIZE;
-
- SCB_InvalidateDCache();
-
- HAL_ETH_DeInit(&EthHandle);
-
- /* configure ethernet peripheral (GPIOs, clocks, MAC, DMA) */
- if (HAL_ETH_Init(&EthHandle) != HAL_OK)
- {
- LOG_E("eth hardware init failed");
- }
- else
- {
- LOG_D("eth hardware init success");
- }
-
- rt_memset(&TxConfig, 0, sizeof(ETH_TxPacketConfig));
- TxConfig.Attributes = ETH_TX_PACKETS_FEATURES_CSUM | ETH_TX_PACKETS_FEATURES_CRCPAD;
- TxConfig.ChecksumCtrl = ETH_CHECKSUM_IPHDR_PAYLOAD_INSERT_PHDR_CALC;
- TxConfig.CRCPadCtrl = ETH_CRC_PAD_INSERT;
-
- for (int idx = 0; idx < ETH_RX_DESC_CNT; idx++)
- {
- HAL_ETH_DescAssignMemory(&EthHandle, idx, &Rx_Buff[idx][0], NULL);
- }
-
- HAL_ETH_SetMDIOClockRange(&EthHandle);
-
- for(int i = 0; i <= PHY_ADDR; i ++)
- {
- if(HAL_ETH_ReadPHYRegister(&EthHandle, i, PHY_SPECIAL_MODES_REG, ®value) != HAL_OK)
- {
- status = RT_ERROR;
- /* Can't read from this device address continue with next address */
- continue;
- }
-
- if((regvalue & PHY_BASIC_STATUS_REG) == i)
- {
- PHY_ADDR = i;
- status = RT_EOK;
- LOG_D("Found a phy, address:0x%02X", PHY_ADDR);
- break;
- }
- }
-
- if(HAL_ETH_WritePHYRegister(&EthHandle, PHY_ADDR, PHY_BASIC_CONTROL_REG, PHY_RESET_MASK) == HAL_OK)
- {
- HAL_ETH_ReadPHYRegister(&EthHandle, PHY_ADDR, PHY_SPECIAL_MODES_REG, ®value);
-
- uint32_t tickstart = rt_tick_get();
-
- /* wait until software reset is done or timeout occured */
- while(regvalue & PHY_RESET_MASK)
- {
- if((rt_tick_get() - tickstart) <= 500)
- {
- if(HAL_ETH_ReadPHYRegister(&EthHandle, PHY_ADDR, PHY_BASIC_CONTROL_REG, ®value) != HAL_OK)
- {
- status = RT_ERROR;
- break;
- }
- }
- else
- {
- status = RT_ETIMEOUT;
- }
- }
- }
-
- rt_thread_delay(2000);
-
- if(HAL_ETH_ReadPHYRegister(&EthHandle, PHY_ADDR, PHY_BASIC_CONTROL_REG, ®value) == HAL_OK)
- {
- regvalue |= PHY_AUTO_NEGOTIATION_MASK;
- HAL_ETH_WritePHYRegister(&EthHandle, PHY_ADDR, PHY_BASIC_CONTROL_REG, regvalue);
-
- eth_device_linkchange(&stm32_eth_device.parent, RT_TRUE);
- HAL_ETH_GetMACConfig(&EthHandle, &MACConf);
- MACConf.DuplexMode = ETH_FULLDUPLEX_MODE;
- MACConf.Speed = ETH_SPEED_100M;
- HAL_ETH_SetMACConfig(&EthHandle, &MACConf);
-
- HAL_ETH_Start_IT(&EthHandle);
- }
- else
- {
- status = RT_ERROR;
- }
-
- return status;
-}
-
-static rt_err_t rt_stm32_eth_open(rt_device_t dev, rt_uint16_t oflag)
-{
- LOG_D("emac open");
- return RT_EOK;
-}
-
-static rt_err_t rt_stm32_eth_close(rt_device_t dev)
-{
- LOG_D("emac close");
- return RT_EOK;
-}
-
-static rt_size_t rt_stm32_eth_read(rt_device_t dev, rt_off_t pos, void *buffer, rt_size_t size)
-{
- LOG_D("emac read");
- rt_set_errno(-RT_ENOSYS);
- return 0;
-}
-
-static rt_size_t rt_stm32_eth_write(rt_device_t dev, rt_off_t pos, const void *buffer, rt_size_t size)
-{
- LOG_D("emac write");
- rt_set_errno(-RT_ENOSYS);
- return 0;
-}
-
-static rt_err_t rt_stm32_eth_control(rt_device_t dev, int cmd, void *args)
-{
- switch (cmd)
- {
- case NIOCTL_GADDR:
-
- /* get mac address */
- if (args) rt_memcpy(args, stm32_eth_device.dev_addr, 6);
- else return -RT_ERROR;
-
- break;
-
- default :
- break;
- }
-
- return RT_EOK;
-}
-
-/* ethernet device interface */
-/* transmit data*/
-rt_err_t rt_stm32_eth_tx(rt_device_t dev, struct pbuf *p)
-{
- rt_err_t ret = RT_ERROR;
- HAL_StatusTypeDef state;
- uint32_t i = 0, framelen = 0;
- struct pbuf *q;
- ETH_BufferTypeDef Txbuffer[ETH_TX_DESC_CNT];
-
- rt_memset(Txbuffer, 0, ETH_TX_DESC_CNT * sizeof(ETH_BufferTypeDef));
-
- for (q = p; q != NULL; q = q->next)
- {
- if (i >= ETH_TX_DESC_CNT)
- return ERR_IF;
-
- Txbuffer[i].buffer = q->payload;
- Txbuffer[i].len = q->len;
- framelen += q->len;
-
- if (i > 0)
- {
- Txbuffer[i - 1].next = &Txbuffer[i];
- }
-
- if (q->next == NULL)
- {
- Txbuffer[i].next = NULL;
- }
-
- i++;
- }
-
- TxConfig.Length = framelen;
- TxConfig.TxBuffer = Txbuffer;
-
- #ifdef ETH_TX_DUMP
- rt_kprintf("Tx dump, len= %d\r\n", framelen);
- dump_hex(&Txbuffer[0]);
- #endif
-
- if (stm32_eth_device.parent.link_status)
- {
- SCB_CleanInvalidateDCache();
- state = HAL_ETH_Transmit(&EthHandle, &TxConfig, 1000);
-
- if (state != HAL_OK)
- {
- LOG_W("eth transmit frame faild: %d", EthHandle.ErrorCode);
- EthHandle.ErrorCode = HAL_ETH_STATE_READY;
- EthHandle.gState = HAL_ETH_STATE_READY;
- }
- }
- else
- {
- LOG_E("eth transmit frame faild, netif not up");
- }
-
- ret = ERR_OK;
-
- return ret;
-}
-
-/* receive data*/
-struct pbuf *rt_stm32_eth_rx(rt_device_t dev)
-{
- uint32_t framelength = 0;
- rt_uint16_t l;
- struct pbuf *p = RT_NULL, *q;
- ETH_BufferTypeDef RxBuff;
- uint32_t alignedAddr;
-
- if(HAL_ETH_GetRxDataBuffer(&EthHandle, &RxBuff) == HAL_OK)
- {
- HAL_ETH_GetRxDataLength(&EthHandle, &framelength);
-
- /* Build Rx descriptor to be ready for next data reception */
- HAL_ETH_BuildRxDescriptors(&EthHandle);
-
- /* Invalidate data cache for ETH Rx Buffers */
- alignedAddr = (uint32_t)RxBuff.buffer & ~0x1F;
- SCB_InvalidateDCache_by_Addr((uint32_t *)alignedAddr, (uint32_t)RxBuff.buffer - alignedAddr + framelength);
-
- p = pbuf_alloc(PBUF_RAW, framelength, PBUF_RAM);
-
- if (p != NULL)
- {
- for (q = p, l = 0; q != NULL; q = q->next)
- {
- memcpy((rt_uint8_t *)q->payload, (rt_uint8_t *)&RxBuff.buffer[l], q->len);
- l = l + q->len;
- }
- }
- }
-
- return p;
-}
-
-/* interrupt service routine */
-void ETH_IRQHandler(void)
-{
- /* enter interrupt */
- rt_interrupt_enter();
-
- HAL_ETH_IRQHandler(&EthHandle);
-
- /* leave interrupt */
- rt_interrupt_leave();
-}
-
-void HAL_ETH_RxCpltCallback(ETH_HandleTypeDef *heth)
-{
- rt_err_t result;
- result = eth_device_ready(&(stm32_eth_device.parent));
-
- if (result != RT_EOK)
- LOG_I("RxCpltCallback err = %d", result);
-}
-
-void HAL_ETH_ErrorCallback(ETH_HandleTypeDef *heth)
-{
- LOG_E("eth err");
-}
-
-enum
-{
- PHY_LINK = (1 << 0),
- PHY_100M = (1 << 1),
- PHY_FULL_DUPLEX = (1 << 2),
-};
-
-static void phy_linkchange()
-{
- static rt_uint8_t phy_speed = 0;
- rt_uint8_t phy_speed_new = 0;
- rt_uint32_t status;
-
- HAL_ETH_ReadPHYRegister(&EthHandle, PHY_ADDR, PHY_BASIC_STATUS_REG, (uint32_t *)&status);
- LOG_D("phy basic status reg is 0x%X", status);
-
- if (status & (PHY_AUTONEGO_COMPLETE_MASK | PHY_LINKED_STATUS_MASK))
- {
- rt_uint32_t SR = 0;
-
- phy_speed_new |= PHY_LINK;
-
- HAL_ETH_ReadPHYRegister(&EthHandle, PHY_ADDR, PHY_Status_REG, (uint32_t *)&SR);
- LOG_D("phy control status reg is 0x%X", SR);
-
- if (PHY_Status_SPEED_100M(SR))
- {
- phy_speed_new |= PHY_100M;
- }
-
- if (PHY_Status_FULL_DUPLEX(SR))
- {
- phy_speed_new |= PHY_FULL_DUPLEX;
- }
- }
-
- if (phy_speed != phy_speed_new)
- {
- phy_speed = phy_speed_new;
-
- if (phy_speed & PHY_LINK)
- {
- LOG_D("link up");
-
- if (phy_speed & PHY_100M)
- {
- LOG_D("100Mbps");
- stm32_eth_device.ETH_Speed = ETH_SPEED_100M;
- }
- else
- {
- stm32_eth_device.ETH_Speed = ETH_SPEED_10M;
- LOG_D("10Mbps");
- }
-
- if (phy_speed & PHY_FULL_DUPLEX)
- {
- LOG_D("full-duplex");
- stm32_eth_device.ETH_Mode = ETH_FULLDUPLEX_MODE;
- }
- else
- {
- LOG_D("half-duplex");
- stm32_eth_device.ETH_Mode = ETH_HALFDUPLEX_MODE;
- }
-
- /* send link up. */
- eth_device_linkchange(&stm32_eth_device.parent, RT_TRUE);
- }
- else
- {
- LOG_I("link down");
- eth_device_linkchange(&stm32_eth_device.parent, RT_FALSE);
- }
- }
-}
-
-#ifdef PHY_USING_INTERRUPT_MODE
-static void eth_phy_isr(void *args)
-{
- rt_uint32_t status = 0;
-
- HAL_ETH_ReadPHYRegister(&EthHandle, PHY_ADDR, PHY_INTERRUPT_FLAG_REG, (uint32_t *)&status);
- LOG_D("phy interrupt status reg is 0x%X", status);
-
- phy_linkchange();
-}
-#endif /* PHY_USING_INTERRUPT_MODE */
-
-static void phy_monitor_thread_entry(void *parameter)
-{
- phy_linkchange();
- #ifdef PHY_USING_INTERRUPT_MODE
- /* configuration intterrupt pin */
- rt_pin_mode(PHY_INT_PIN, PIN_MODE_INPUT_PULLUP);
- rt_pin_attach_irq(PHY_INT_PIN, PIN_IRQ_MODE_FALLING, eth_phy_isr, (void *)"callbackargs");
- rt_pin_irq_enable(PHY_INT_PIN, PIN_IRQ_ENABLE);
-
- /* enable phy interrupt */
- HAL_ETH_WritePHYRegister(&EthHandle, PHY_ADDR, PHY_INTERRUPT_MASK_REG, PHY_INT_MASK);
- #if defined(PHY_INTERRUPT_CTRL_REG)
- HAL_ETH_WritePHYRegister(&EthHandle, PHY_ADDR, PHY_INTERRUPT_CTRL_REG, PHY_INTERRUPT_EN);
- #endif
- #else /* PHY_USING_INTERRUPT_MODE */
- stm32_eth_device.poll_link_timer = rt_timer_create("phylnk", (void (*)(void*))phy_linkchange,
- NULL, RT_TICK_PER_SECOND, RT_TIMER_FLAG_PERIODIC);
-
- if (!stm32_eth_device.poll_link_timer || rt_timer_start(stm32_eth_device.poll_link_timer) != RT_EOK)
- {
- LOG_E("Start link change detection timer failed");
- }
-
- #endif /* PHY_USING_INTERRUPT_MODE */
-}
-
-/* Register the EMAC device */
-static int rt_hw_stm32_eth_init(void)
-{
- rt_err_t state = RT_EOK;
- reset_pin = rt_pin_get(ETH_RESET_PIN);
-
- rt_pin_mode(reset_pin, PIN_MODE_OUTPUT);
- rt_pin_write(reset_pin, PIN_HIGH);
-
- stm32_eth_device.ETH_Speed = ETH_SPEED_100M;
- stm32_eth_device.ETH_Mode = ETH_FULLDUPLEX_MODE;
-
- /* OUI 00-80-E1 STMICROELECTRONICS. */
- stm32_eth_device.dev_addr[0] = 0x00;
- stm32_eth_device.dev_addr[1] = 0x80;
- stm32_eth_device.dev_addr[2] = 0xE1;
- /* generate MAC addr from 96bit unique ID (only for test). */
- stm32_eth_device.dev_addr[3] = *(rt_uint8_t *)(UID_BASE + 4);
- stm32_eth_device.dev_addr[4] = *(rt_uint8_t *)(UID_BASE + 2);
- stm32_eth_device.dev_addr[5] = *(rt_uint8_t *)(UID_BASE + 0);
-
- stm32_eth_device.parent.parent.init = rt_stm32_eth_init;
- stm32_eth_device.parent.parent.open = rt_stm32_eth_open;
- stm32_eth_device.parent.parent.close = rt_stm32_eth_close;
- stm32_eth_device.parent.parent.read = rt_stm32_eth_read;
- stm32_eth_device.parent.parent.write = rt_stm32_eth_write;
- stm32_eth_device.parent.parent.control = rt_stm32_eth_control;
- stm32_eth_device.parent.parent.user_data = RT_NULL;
-
- stm32_eth_device.parent.eth_rx = rt_stm32_eth_rx;
- stm32_eth_device.parent.eth_tx = rt_stm32_eth_tx;
-
- /* register eth device */
- state = eth_device_init(&(stm32_eth_device.parent), "e0");
-
- if (RT_EOK == state)
- {
- LOG_D("emac device init success");
- }
- else
- {
- LOG_E("emac device init faild: %d", state);
- state = -RT_ERROR;
- }
-
- /* start phy monitor */
- rt_thread_t tid;
- tid = rt_thread_create("phy",
- phy_monitor_thread_entry,
- RT_NULL,
- 1024,
- RT_THREAD_PRIORITY_MAX - 2,
- 2);
-
- if (tid != RT_NULL)
- {
- rt_thread_startup(tid);
- }
- else
- {
- state = -RT_ERROR;
- }
-
- return state;
-}
-INIT_DEVICE_EXPORT(rt_hw_stm32_eth_init);
-
-#endif /* BSP_USING_ETH_ARTPI */
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/port/drv_eth.h b/bsp/stm32/stm32h750-artpi-h750/board/port/drv_eth.h
deleted file mode 100644
index 3304de69a4..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/board/port/drv_eth.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright (c) 2006-2022, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2018-12-25 zylx first version
- * 2020-07-18 wanghaijing add SPECIAL_MODES_REG
- */
-
-#ifndef __DRV_ETH_H__
-#define __DRV_ETH_H__
-
-#include
-#include
-#include
-#include
-
-/* The PHY basic control register */
-#define PHY_BASIC_CONTROL_REG 0x00U
-#define PHY_RESET_MASK (1<<15)
-#define PHY_AUTO_NEGOTIATION_MASK (1<<12)
-
-/* The PHY basic status register */
-#define PHY_BASIC_STATUS_REG 0x01U
-#define PHY_LINKED_STATUS_MASK (1<<2)
-#define PHY_AUTONEGO_COMPLETE_MASK (1<<5)
-
-/* The PHY ID one register */
-#define PHY_ID1_REG 0x02U
-
-/* The PHY ID two register */
-#define PHY_ID2_REG 0x03U
-
-/* The PHY SPECIAL MODES REGISTER */
-#define PHY_SPECIAL_MODES_REG 0x12U
-
-/* The PHY auto-negotiate advertise register */
-#define PHY_AUTONEG_ADVERTISE_REG 0x04U
-
-#define PHY_Status_REG 0x1FU
-#define PHY_FULL_DUPLEX_MASK (1<<4)
-#define PHY_Status_SPEED_10M(sr) ((sr) & PHY_10M_MASK)
-#define PHY_Status_SPEED_100M(sr) ((sr) & PHY_100M_MASK)
-#define PHY_Status_FULL_DUPLEX(sr) ((sr) & PHY_FULL_DUPLEX_MASK)
-
-#ifdef PHY_USING_LAN8720A
-/* The PHY interrupt source flag register. */
-#define PHY_INTERRUPT_FLAG_REG 0x1DU
-/* The PHY interrupt mask register. */
-#define PHY_INTERRUPT_MASK_REG 0x1EU
-#define PHY_LINK_DOWN_MASK (1<<4)
-#define PHY_AUTO_NEGO_COMPLETE_MASK (1<<6)
-
-/* The PHY status register. */
-#define PHY_Status_REG 0x1FU
-#define PHY_10M_MASK (1<<2)
-#define PHY_100M_MASK (1<<3)
-#define PHY_FULL_DUPLEX_MASK (1<<4)
-#endif /* PHY_USING_LAN8720A */
-
-#ifdef PHY_USING_DM9161CEP
-#define PHY_Status_REG 0x11U
-#define PHY_10M_MASK ((1<<12) || (1<<13))
-#define PHY_100M_MASK ((1<<14) || (1<<15))
-#define PHY_FULL_DUPLEX_MASK ((1<<15) || (1<<13))
-/* The PHY interrupt source flag register. */
-#define PHY_INTERRUPT_FLAG_REG 0x15U
-/* The PHY interrupt mask register. */
-#define PHY_INTERRUPT_MASK_REG 0x15U
-#define PHY_LINK_CHANGE_FLAG (1<<2)
-#define PHY_LINK_CHANGE_MASK (1<<9)
-#define PHY_INT_MASK 0
-
-#endif /* PHY_USING_DM9161CEP */
-
-#ifdef PHY_USING_DP83848C
-#define PHY_Status_REG 0x10U
-#define PHY_10M_MASK (1<<1)
-#define PHY_FULL_DUPLEX_MASK (1<<2)
-#define PHY_Status_SPEED_10M(sr) ((sr) & PHY_10M_MASK)
-#define PHY_Status_SPEED_100M(sr) (!PHY_Status_SPEED_10M(sr))
-#define PHY_Status_FULL_DUPLEX(sr) ((sr) & PHY_FULL_DUPLEX_MASK)
-#define PHY_INTERRUPT_FLAG_REG 0x12U
-#define PHY_LINK_CHANGE_FLAG (1<<13)
-#define PHY_INTERRUPT_CTRL_REG 0x11U
-#define PHY_INTERRUPT_EN ((1<<0)|(1<<1))
-#define PHY_INTERRUPT_MASK_REG 0x12U
-#define PHY_INT_MASK (1<<5)
-#endif /* PHY_USING_DP83848C */
-#endif /* __DRV_ETH_H__ */
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/port/drv_lcd_font.h b/bsp/stm32/stm32h750-artpi-h750/board/port/drv_lcd_font.h
deleted file mode 100644
index a326936b7b..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/board/port/drv_lcd_font.h
+++ /dev/null
@@ -1,795 +0,0 @@
-#ifndef __DRV_LCD_FONT_H__
-#define __DRV_LCD_FONT_H__
-#include
-/* DejaVu Sans Mono */
-/*
- (0) !(1) "(2) #(3) $(4) %(5) &(6) '(7)
- ((8) )(9) *(10) +(11) ,(12) -(13) .(14) /(15)
- 0(16) 1(17) 2(18) 3(19) 4(20) 5(21) 6(22) 7(23)
- 8(24) 9(25) :(26) ;(27) <(28) =(29) >(30) ?(31)
- @(32) A(33) B(34) C(35) D(36) E(37) F(38) G(39)
- H(40) I(41) J(42) K(43) L(44) M(45) N(46) O(47)
- P(48) Q(49) R(50) S(51) T(52) U(53) V(54) W(55)
- X(56) Y(57) Z(58) [(59) \(60) ](61) ^(62) _(63)
- `(64) a(65) b(66) c(67) d(68) e(69) f(70) g(71)
- h(72) i(73) j(74) k(75) l(76) m(77) n(78) o(79)
- p(80) q(81) r(82) s(83) t(84) u(85) v(86) w(87)
- x(88) y(89) z(90) {(91) |(92) }(93)
-*/
-
-#define ASC2_1608
-#define ASC2_2412
-#define ASC2_3216
-
-#if !defined(ASC2_1608) && !defined(ASC2_2412) && !defined(ASC2_2416) && !defined(ASC2_3216)
-#error "There is no any define ASC2_1608 && ASC2_2412 && ASC2_2416 && ASC2_3216 !"
-#endif
-
-#ifdef ASC2_1608
-const uint8_t asc2_1608[]={
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",0*/
-0x00,0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x10,0x10,0x00,0x00,0x00,/*"!",1*/
-0x00,0x00,0x00,0x28,0x28,0x28,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*""",2*/
-0x00,0x00,0x00,0x12,0x12,0x16,0x7F,0x24,0x24,0xFE,0x28,0x48,0x48,0x00,0x00,0x00,/*"#",3*/
-0x00,0x00,0x08,0x08,0x3E,0x49,0x48,0x68,0x3E,0x0B,0x09,0x49,0x3E,0x08,0x08,0x00,/*"$",4*/
-0x00,0x00,0x00,0x60,0x90,0x90,0x62,0x0C,0x30,0x46,0x09,0x09,0x06,0x00,0x00,0x00,/*"%",5*/
-0x00,0x00,0x00,0x1C,0x20,0x20,0x30,0x30,0x49,0x45,0x45,0x62,0x3D,0x00,0x00,0x00,/*"&",6*/
-0x00,0x00,0x00,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"'",7*/
-0x00,0x00,0x0C,0x08,0x08,0x10,0x10,0x10,0x10,0x10,0x10,0x08,0x08,0x04,0x00,0x00,/*"(",8*/
-0x00,0x00,0x30,0x10,0x10,0x08,0x08,0x08,0x08,0x08,0x08,0x10,0x10,0x30,0x00,0x00,/*")",9*/
-0x00,0x00,0x00,0x08,0x49,0x3E,0x1C,0x6B,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"*",10*/
-0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x10,0xFE,0x10,0x10,0x10,0x00,0x00,0x00,0x00,/*"+",11*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x10,0x20,0x00,/*",",12*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,/*"-",13*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,/*".",14*/
-0x00,0x00,0x00,0x02,0x04,0x04,0x04,0x08,0x08,0x10,0x10,0x20,0x20,0x20,0x40,0x00,/*"/",15*/
-0x00,0x00,0x00,0x1C,0x22,0x41,0x41,0x49,0x41,0x41,0x41,0x22,0x1C,0x00,0x00,0x00,/*"0",16*/
-0x00,0x00,0x00,0x18,0x28,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00,0x00,/*"1",17*/
-0x00,0x00,0x00,0x3E,0x43,0x01,0x01,0x02,0x06,0x0C,0x10,0x20,0x7F,0x00,0x00,0x00,/*"2",18*/
-0x00,0x00,0x00,0x3E,0x41,0x01,0x03,0x1C,0x03,0x01,0x01,0x43,0x3E,0x00,0x00,0x00,/*"3",19*/
-0x00,0x00,0x00,0x06,0x0A,0x1A,0x12,0x22,0x42,0x7F,0x02,0x02,0x02,0x00,0x00,0x00,/*"4",20*/
-0x00,0x00,0x00,0x7E,0x40,0x40,0x7C,0x42,0x01,0x01,0x01,0x42,0x3C,0x00,0x00,0x00,/*"5",21*/
-0x00,0x00,0x00,0x1E,0x31,0x60,0x40,0x5E,0x63,0x41,0x41,0x23,0x1E,0x00,0x00,0x00,/*"6",22*/
-0x00,0x00,0x00,0x7F,0x03,0x02,0x04,0x04,0x08,0x08,0x10,0x10,0x20,0x00,0x00,0x00,/*"7",23*/
-0x00,0x00,0x00,0x3E,0x41,0x41,0x41,0x3E,0x63,0x41,0x41,0x63,0x3E,0x00,0x00,0x00,/*"8",24*/
-0x00,0x00,0x00,0x3C,0x62,0x41,0x41,0x63,0x3D,0x01,0x03,0x46,0x3C,0x00,0x00,0x00,/*"9",25*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,/*":",26*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x18,0x18,0x10,0x20,0x00,/*";",27*/
-0x00,0x00,0x00,0x00,0x00,0x01,0x0E,0x38,0x40,0x38,0x0E,0x01,0x00,0x00,0x00,0x00,/*"<",28*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,/*"=",29*/
-0x00,0x00,0x00,0x00,0x00,0x40,0x38,0x0E,0x01,0x0E,0x38,0x40,0x00,0x00,0x00,0x00,/*">",30*/
-0x00,0x00,0x00,0x38,0x44,0x04,0x0C,0x18,0x10,0x10,0x00,0x10,0x10,0x00,0x00,0x00,/*"?",31*/
-0x00,0x00,0x00,0x1E,0x33,0x21,0x47,0x49,0x49,0x49,0x49,0x47,0x20,0x30,0x0E,0x00,/*"@",32*/
-0x00,0x00,0x00,0x08,0x14,0x14,0x14,0x14,0x22,0x3E,0x22,0x41,0x41,0x00,0x00,0x00,/*"A",33*/
-0x00,0x00,0x00,0x7E,0x41,0x41,0x41,0x7E,0x43,0x41,0x41,0x43,0x7E,0x00,0x00,0x00,/*"B",34*/
-0x00,0x00,0x00,0x1E,0x21,0x40,0x40,0x40,0x40,0x40,0x40,0x21,0x1E,0x00,0x00,0x00,/*"C",35*/
-0x00,0x00,0x00,0x7C,0x42,0x41,0x41,0x41,0x41,0x41,0x41,0x42,0x7C,0x00,0x00,0x00,/*"D",36*/
-0x00,0x00,0x00,0x7F,0x40,0x40,0x40,0x7F,0x40,0x40,0x40,0x40,0x7F,0x00,0x00,0x00,/*"E",37*/
-0x00,0x00,0x00,0x7F,0x40,0x40,0x40,0x7F,0x40,0x40,0x40,0x40,0x40,0x00,0x00,0x00,/*"F",38*/
-0x00,0x00,0x00,0x1E,0x21,0x40,0x40,0x40,0x43,0x41,0x41,0x21,0x1E,0x00,0x00,0x00,/*"G",39*/
-0x00,0x00,0x00,0x41,0x41,0x41,0x41,0x7F,0x41,0x41,0x41,0x41,0x41,0x00,0x00,0x00,/*"H",40*/
-0x00,0x00,0x00,0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00,0x00,/*"I",41*/
-0x00,0x00,0x00,0x1C,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x44,0x38,0x00,0x00,0x00,/*"J",42*/
-0x00,0x00,0x00,0x42,0x44,0x48,0x50,0x70,0x78,0x48,0x44,0x46,0x42,0x00,0x00,0x00,/*"K",43*/
-0x00,0x00,0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7F,0x00,0x00,0x00,/*"L",44*/
-0x00,0x00,0x00,0x63,0x63,0x55,0x55,0x55,0x49,0x41,0x41,0x41,0x41,0x00,0x00,0x00,/*"M",45*/
-0x00,0x00,0x00,0x61,0x61,0x51,0x51,0x49,0x49,0x45,0x45,0x43,0x43,0x00,0x00,0x00,/*"N",46*/
-0x00,0x00,0x00,0x1C,0x22,0x41,0x41,0x41,0x41,0x41,0x41,0x22,0x1C,0x00,0x00,0x00,/*"O",47*/
-0x00,0x00,0x00,0x7E,0x43,0x41,0x41,0x43,0x7E,0x40,0x40,0x40,0x40,0x00,0x00,0x00,/*"P",48*/
-0x00,0x00,0x00,0x1C,0x22,0x41,0x41,0x41,0x41,0x41,0x41,0x22,0x1E,0x06,0x02,0x00,/*"Q",49*/
-0x00,0x00,0x00,0x7E,0x43,0x41,0x41,0x43,0x7C,0x42,0x41,0x41,0x40,0x00,0x00,0x00,/*"R",50*/
-0x00,0x00,0x00,0x1E,0x61,0x40,0x40,0x30,0x0E,0x01,0x01,0x43,0x3E,0x00,0x00,0x00,/*"S",51*/
-0x00,0x00,0x00,0xFE,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,/*"T",52*/
-0x00,0x00,0x00,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x63,0x3E,0x00,0x00,0x00,/*"U",53*/
-0x00,0x00,0x00,0x41,0x41,0x22,0x22,0x22,0x14,0x14,0x14,0x14,0x08,0x00,0x00,0x00,/*"V",54*/
-0x00,0x00,0x00,0x81,0x81,0x81,0x5A,0x5A,0x5A,0x66,0x66,0x66,0x66,0x00,0x00,0x00,/*"W",55*/
-0x00,0x00,0x00,0x41,0x22,0x14,0x14,0x08,0x14,0x14,0x22,0x22,0x41,0x00,0x00,0x00,/*"X",56*/
-0x00,0x00,0x00,0x82,0x44,0x44,0x28,0x38,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,/*"Y",57*/
-0x00,0x00,0x00,0x7F,0x03,0x02,0x04,0x08,0x08,0x10,0x20,0x60,0x7F,0x00,0x00,0x00,/*"Z",58*/
-0x00,0x00,0x1C,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1C,0x00,0x00,/*"[",59*/
-0x00,0x00,0x00,0x40,0x20,0x20,0x20,0x10,0x10,0x08,0x08,0x04,0x04,0x04,0x02,0x00,/*"\",60*/
-0x00,0x00,0x38,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x38,0x00,0x00,/*"]",61*/
-0x00,0x00,0x00,0x10,0x28,0x44,0xC6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"^",62*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,/*"_",63*/
-0x00,0x30,0x10,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"`",64*/
-0x00,0x00,0x00,0x00,0x00,0x1C,0x22,0x02,0x3E,0x42,0x42,0x46,0x3A,0x00,0x00,0x00,/*"a",65*/
-0x00,0x00,0x40,0x40,0x40,0x7C,0x64,0x42,0x42,0x42,0x42,0x64,0x5C,0x00,0x00,0x00,/*"b",66*/
-0x00,0x00,0x00,0x00,0x00,0x1C,0x22,0x40,0x40,0x40,0x40,0x22,0x1C,0x00,0x00,0x00,/*"c",67*/
-0x00,0x00,0x02,0x02,0x02,0x3E,0x26,0x42,0x42,0x42,0x42,0x26,0x3A,0x00,0x00,0x00,/*"d",68*/
-0x00,0x00,0x00,0x00,0x00,0x3C,0x26,0x42,0x7E,0x40,0x40,0x22,0x1C,0x00,0x00,0x00,/*"e",69*/
-0x00,0x00,0x0C,0x10,0x10,0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,/*"f",70*/
-0x00,0x00,0x00,0x00,0x00,0x3A,0x26,0x42,0x42,0x42,0x42,0x26,0x3A,0x02,0x22,0x1C,/*"g",71*/
-0x00,0x00,0x40,0x40,0x40,0x5C,0x62,0x42,0x42,0x42,0x42,0x42,0x42,0x00,0x00,0x00,/*"h",72*/
-0x00,0x00,0x10,0x10,0x00,0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00,0x00,/*"i",73*/
-0x00,0x00,0x08,0x08,0x00,0x38,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x70,/*"j",74*/
-0x00,0x00,0x40,0x40,0x40,0x44,0x48,0x50,0x70,0x48,0x48,0x44,0x42,0x00,0x00,0x00,/*"k",75*/
-0x00,0x00,0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x0E,0x00,0x00,0x00,/*"l",76*/
-0x00,0x00,0x00,0x00,0x00,0x7E,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x00,0x00,0x00,/*"m",77*/
-0x00,0x00,0x00,0x00,0x00,0x5C,0x62,0x42,0x42,0x42,0x42,0x42,0x42,0x00,0x00,0x00,/*"n",78*/
-0x00,0x00,0x00,0x00,0x00,0x3C,0x66,0x42,0x42,0x42,0x42,0x66,0x3C,0x00,0x00,0x00,/*"o",79*/
-0x00,0x00,0x00,0x00,0x00,0x5C,0x64,0x42,0x42,0x42,0x42,0x64,0x7C,0x40,0x40,0x40,/*"p",80*/
-0x00,0x00,0x00,0x00,0x00,0x3A,0x26,0x42,0x42,0x42,0x42,0x26,0x3A,0x02,0x02,0x02,/*"q",81*/
-0x00,0x00,0x00,0x00,0x00,0x3C,0x32,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x00,/*"r",82*/
-0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x40,0x70,0x0E,0x02,0x42,0x3C,0x00,0x00,0x00,/*"s",83*/
-0x00,0x00,0x00,0x10,0x10,0x7E,0x10,0x10,0x10,0x10,0x10,0x10,0x0E,0x00,0x00,0x00,/*"t",84*/
-0x00,0x00,0x00,0x00,0x00,0x42,0x42,0x42,0x42,0x42,0x42,0x46,0x3A,0x00,0x00,0x00,/*"u",85*/
-0x00,0x00,0x00,0x00,0x00,0x42,0x42,0x24,0x24,0x24,0x18,0x18,0x18,0x00,0x00,0x00,/*"v",86*/
-0x00,0x00,0x00,0x00,0x00,0x81,0x81,0x5A,0x5A,0x5A,0x5A,0x24,0x24,0x00,0x00,0x00,/*"w",87*/
-0x00,0x00,0x00,0x00,0x00,0x42,0x24,0x18,0x18,0x18,0x24,0x24,0x42,0x00,0x00,0x00,/*"x",88*/
-0x00,0x00,0x00,0x00,0x00,0x42,0x22,0x24,0x24,0x14,0x18,0x18,0x08,0x08,0x10,0x30,/*"y",89*/
-0x00,0x00,0x00,0x00,0x00,0x7E,0x02,0x04,0x08,0x10,0x20,0x40,0x7E,0x00,0x00,0x00,/*"z",90*/
-0x00,0x00,0x0C,0x10,0x10,0x10,0x10,0x10,0x60,0x10,0x10,0x10,0x10,0x10,0x0C,0x00,/*"{",91*/
-0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,/*"|",92*/
-0x00,0x00,0x60,0x10,0x10,0x10,0x10,0x10,0x0C,0x10,0x10,0x10,0x10,0x10,0x60,0x00,/*"}",93*/
-};
-#endif
-
-#ifdef ASC2_2412
-const uint8_t asc2_2412[]={
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",0*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"!",1*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x80,0x19,0x80,0x19,0x80,0x19,0x80,
-0x19,0x80,0x19,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*""",2*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x60,0x04,0x40,0x0C,0xC0,0x0C,0xC0,
-0x7F,0xF0,0x7F,0xF0,0x08,0x80,0x19,0x80,0x19,0x80,0xFF,0xE0,0xFF,0xE0,0x33,0x00,
-0x33,0x00,0x22,0x00,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"#",3*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x02,0x00,0x0F,0x80,0x1F,0xC0,0x3A,0x40,
-0x32,0x00,0x32,0x00,0x3A,0x00,0x1F,0x00,0x07,0xC0,0x02,0xE0,0x02,0x60,0x02,0x60,
-0x22,0xE0,0x3F,0xC0,0x1F,0x80,0x02,0x00,0x02,0x00,0x02,0x00,0x00,0x00,0x00,0x00,/*"$",4*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x48,0x00,0xCC,0x00,0xCC,0x00,
-0xCC,0x00,0x48,0x40,0x79,0xC0,0x0E,0x00,0x73,0xC0,0x02,0x40,0x06,0x60,0x06,0x60,
-0x06,0x60,0x02,0x40,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"%",5*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x1F,0x80,0x18,0x00,0x18,0x00,
-0x18,0x00,0x0C,0x00,0x1E,0x00,0x36,0x30,0x63,0x30,0x63,0xB0,0x61,0xA0,0x60,0xE0,
-0x30,0xC0,0x3F,0x60,0x0E,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"&",6*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
-0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"'",7*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x02,0x00,0x02,0x00,0x06,0x00,0x06,0x00,
-0x04,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,
-0x04,0x00,0x06,0x00,0x06,0x00,0x02,0x00,0x02,0x00,0x01,0x00,0x00,0x00,0x00,0x00,/*"(",8*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x04,0x00,0x04,0x00,0x06,0x00,0x06,0x00,
-0x02,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,
-0x02,0x00,0x06,0x00,0x06,0x00,0x04,0x00,0x04,0x00,0x08,0x00,0x00,0x00,0x00,0x00,/*")",9*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x04,0x00,0x44,0x40,0x35,0x80,
-0x0E,0x00,0x0E,0x00,0x35,0x80,0x44,0x40,0x04,0x00,0x04,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"*",10*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x06,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x7F,0xE0,0x7F,0xE0,0x06,0x00,0x06,0x00,0x06,0x00,
-0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"+",11*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,/*",",12*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x1F,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"-",13*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*".",14*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0xC0,0x00,0xC0,0x01,0x80,
-0x01,0x80,0x03,0x00,0x03,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x0C,0x00,0x0C,0x00,
-0x18,0x00,0x18,0x00,0x30,0x00,0x30,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"/",15*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x3F,0x80,0x31,0x80,0x71,0xC0,
-0x60,0xC0,0x60,0xC0,0x66,0xC0,0x66,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x71,0xC0,
-0x31,0x80,0x3F,0x80,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"0",16*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x1F,0x00,0x1B,0x00,0x03,0x00,
-0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,
-0x03,0x00,0x1F,0xE0,0x1F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"1",17*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x7F,0x80,0x41,0xC0,0x00,0xC0,
-0x00,0xC0,0x00,0xC0,0x01,0xC0,0x01,0x80,0x03,0x00,0x06,0x00,0x0C,0x00,0x18,0x00,
-0x30,0x00,0x7F,0xC0,0x7F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"2",18*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x7F,0x80,0x41,0xC0,0x00,0xC0,
-0x00,0xC0,0x01,0xC0,0x0F,0x80,0x0F,0x80,0x01,0x80,0x00,0xC0,0x00,0xC0,0x00,0xC0,
-0x41,0xC0,0x7F,0x80,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"3",19*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x03,0x80,0x07,0x80,0x05,0x80,
-0x0D,0x80,0x09,0x80,0x19,0x80,0x31,0x80,0x31,0x80,0x61,0x80,0x7F,0xE0,0x7F,0xE0,
-0x01,0x80,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"4",20*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x80,0x3F,0x80,0x30,0x00,0x30,0x00,
-0x30,0x00,0x3F,0x00,0x3F,0x80,0x21,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,
-0x41,0x80,0x7F,0x80,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"5",21*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x1F,0x80,0x38,0x80,0x30,0x00,
-0x70,0x00,0x60,0x00,0x6F,0x00,0x7F,0x80,0x71,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,
-0x31,0xC0,0x3F,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"6",22*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xC0,0x7F,0xC0,0x01,0x80,0x01,0x80,
-0x01,0x80,0x03,0x00,0x03,0x00,0x03,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x0C,0x00,
-0x0C,0x00,0x0C,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"7",23*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x3F,0x80,0x71,0xC0,0x60,0xC0,
-0x60,0xC0,0x31,0x80,0x1F,0x00,0x3F,0x80,0x31,0x80,0x60,0xC0,0x60,0xC0,0x60,0xC0,
-0x71,0xC0,0x3F,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"8",24*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x3F,0x80,0x71,0x80,0x60,0xC0,
-0x60,0xC0,0x60,0xC0,0x71,0xC0,0x3F,0xC0,0x1E,0xC0,0x00,0xC0,0x00,0xC0,0x01,0x80,
-0x23,0x80,0x3F,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"9",25*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*":",26*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,/*";",27*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,
-0x01,0xE0,0x07,0x80,0x1E,0x00,0x70,0x00,0x70,0x00,0x1E,0x00,0x07,0x80,0x01,0xE0,
-0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"<",28*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x7F,0xE0,0x7F,0xE0,0x00,0x00,0x00,0x00,0x7F,0xE0,0x7F,0xE0,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"=",29*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,
-0x78,0x00,0x1E,0x00,0x07,0x80,0x00,0xE0,0x00,0xE0,0x07,0x80,0x1E,0x00,0x78,0x00,
-0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*">",30*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x1F,0xC0,0x10,0x60,0x00,0x60,
-0x00,0xE0,0x01,0xC0,0x03,0x80,0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"?",31*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x18,0xC0,0x30,0x60,
-0x30,0x60,0x23,0xE0,0x62,0x60,0x66,0x60,0x66,0x60,0x66,0x60,0x66,0x60,0x66,0x60,
-0x62,0x60,0x33,0xE0,0x30,0x00,0x18,0x00,0x1C,0x00,0x07,0x80,0x00,0x00,0x00,0x00,/*"@",32*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x0F,0x00,0x0F,0x00,
-0x0F,0x00,0x1F,0x80,0x19,0x80,0x19,0x80,0x19,0x80,0x3F,0xC0,0x3F,0xC0,0x30,0xC0,
-0x30,0xC0,0x60,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"A",33*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x7F,0x80,0x61,0xC0,0x60,0xC0,
-0x60,0xC0,0x61,0xC0,0x7F,0x80,0x7F,0x80,0x60,0xC0,0x60,0x60,0x60,0x60,0x60,0x60,
-0x60,0xE0,0x7F,0xC0,0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"B",34*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xC0,0x1F,0xE0,0x38,0x20,0x30,0x00,
-0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x30,0x00,
-0x38,0x20,0x1F,0xE0,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"C",35*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x7F,0x80,0x61,0xC0,0x60,0xC0,
-0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0xC0,
-0x61,0xC0,0x7F,0x80,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"D",36*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xE0,0x7F,0xE0,0x60,0x00,0x60,0x00,
-0x60,0x00,0x60,0x00,0x7F,0xE0,0x7F,0xE0,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,
-0x60,0x00,0x7F,0xE0,0x7F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"E",37*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xE0,0x7F,0xE0,0x60,0x00,0x60,0x00,
-0x60,0x00,0x60,0x00,0x7F,0xC0,0x7F,0xC0,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,
-0x60,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"F",38*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x1F,0xC0,0x38,0x40,0x30,0x00,
-0x60,0x00,0x60,0x00,0x60,0x00,0x61,0xE0,0x61,0xE0,0x60,0x60,0x60,0x60,0x30,0x60,
-0x38,0x60,0x1F,0xE0,0x0F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"G",39*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,
-0x60,0x60,0x60,0x60,0x7F,0xE0,0x7F,0xE0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,
-0x60,0x60,0x60,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"H",40*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xC0,0x3F,0xC0,0x06,0x00,0x06,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
-0x06,0x00,0x3F,0xC0,0x3F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"I",41*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x80,0x1F,0x80,0x01,0x80,0x01,0x80,
-0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,
-0x43,0x80,0x7F,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"J",42*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0xC0,0x61,0x80,0x63,0x00,
-0x66,0x00,0x6C,0x00,0x7C,0x00,0x7E,0x00,0x76,0x00,0x63,0x00,0x63,0x80,0x61,0x80,
-0x60,0xC0,0x60,0xE0,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"K",43*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,
-0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,
-0x60,0x00,0x7F,0xE0,0x7F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"L",44*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0xE0,0x70,0xE0,0x70,0xE0,0x79,0xE0,
-0x69,0x60,0x69,0x60,0x6F,0x60,0x66,0x60,0x66,0x60,0x66,0x60,0x60,0x60,0x60,0x60,
-0x60,0x60,0x60,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"M",45*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x60,0x70,0x60,0x78,0x60,0x78,0x60,
-0x6C,0x60,0x6C,0x60,0x64,0x60,0x66,0x60,0x62,0x60,0x63,0x60,0x63,0x60,0x61,0xE0,
-0x61,0xE0,0x60,0xE0,0x60,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"N",46*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x3F,0xC0,0x30,0xC0,0x70,0xE0,
-0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x70,0xE0,
-0x30,0xC0,0x3F,0xC0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"O",47*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x80,0x7F,0xC0,0x60,0xE0,0x60,0x60,
-0x60,0x60,0x60,0x60,0x60,0xE0,0x7F,0xC0,0x7F,0x80,0x60,0x00,0x60,0x00,0x60,0x00,
-0x60,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"P",48*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x3F,0xC0,0x30,0xC0,0x70,0xE0,
-0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x70,0xE0,
-0x30,0xC0,0x1F,0x80,0x0F,0x00,0x01,0x80,0x00,0xC0,0x00,0x80,0x00,0x00,0x00,0x00,/*"Q",49*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x7F,0xC0,0x60,0xE0,0x60,0x60,
-0x60,0x60,0x60,0x60,0x60,0xC0,0x7F,0xC0,0x7F,0x80,0x61,0xC0,0x60,0xC0,0x60,0x60,
-0x60,0x60,0x60,0x30,0x60,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"R",50*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x80,0x3F,0xC0,0x70,0x40,0x60,0x00,
-0x60,0x00,0x70,0x00,0x3E,0x00,0x1F,0x80,0x01,0xC0,0x00,0x60,0x00,0x60,0x00,0x60,
-0x40,0xE0,0x7F,0xC0,0x3F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"S",51*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xF0,0xFF,0xF0,0x06,0x00,0x06,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"T",52*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,
-0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,
-0x70,0xE0,0x3F,0xC0,0x1F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"U",53*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x60,0x30,0xC0,0x30,0xC0,
-0x30,0xC0,0x30,0xC0,0x19,0x80,0x19,0x80,0x19,0x80,0x1F,0x80,0x0F,0x00,0x0F,0x00,
-0x0F,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"V",54*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x30,0xC0,0x30,0xC0,0x30,0x60,0x60,
-0x66,0x60,0x66,0x60,0x6F,0x60,0x6F,0x60,0x69,0x60,0x69,0x60,0x39,0xC0,0x39,0xC0,
-0x39,0xC0,0x30,0xC0,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"W",55*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0xE0,0x30,0xC0,0x39,0xC0,0x19,0x80,
-0x0F,0x00,0x0F,0x00,0x06,0x00,0x06,0x00,0x0F,0x00,0x0F,0x00,0x1B,0x80,0x19,0x80,
-0x31,0xC0,0x30,0xC0,0x60,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"X",56*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x70,0x60,0x60,0x30,0xC0,0x30,0xC0,
-0x19,0x80,0x1F,0x80,0x0F,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"Y",57*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xE0,0x7F,0xE0,0x00,0xC0,0x01,0xC0,
-0x01,0x80,0x03,0x00,0x07,0x00,0x06,0x00,0x0E,0x00,0x0C,0x00,0x18,0x00,0x38,0x00,
-0x30,0x00,0x7F,0xE0,0x7F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"Z",58*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x07,0x80,0x06,0x00,0x06,0x00,0x06,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x07,0x80,0x07,0x80,0x00,0x00,0x00,0x00,/*"[",59*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x30,0x00,0x30,0x00,0x18,0x00,
-0x18,0x00,0x0C,0x00,0x0C,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x03,0x00,0x03,0x00,
-0x01,0x80,0x01,0x80,0x00,0xC0,0x00,0xC0,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,/*"\",60*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x0F,0x00,0x03,0x00,0x03,0x00,0x03,0x00,
-0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,
-0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x0F,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,/*"]",61*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x0F,0x80,0x0D,0x80,0x18,0xC0,
-0x30,0x60,0x60,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"^",62*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xF0,0xFF,0xF0,/*"_",63*/
-0x00,0x00,0x00,0x00,0x18,0x00,0x0C,0x00,0x06,0x00,0x03,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"`",64*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x1F,0x00,0x3F,0x80,0x21,0xC0,0x00,0xC0,0x1F,0xC0,0x3F,0xC0,0x70,0xC0,0x60,0xC0,
-0x61,0xC0,0x7F,0xC0,0x1C,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"a",65*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,
-0x6F,0x00,0x7F,0x80,0x71,0x80,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,
-0x71,0x80,0x7F,0x80,0x6F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"b",66*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x0F,0x00,0x3F,0x80,0x30,0x80,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,
-0x30,0x80,0x3F,0x80,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"c",67*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,
-0x1E,0xC0,0x3F,0xC0,0x31,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,
-0x31,0xC0,0x3F,0xC0,0x1E,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"d",68*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x0F,0x00,0x3F,0x80,0x31,0xC0,0x60,0xC0,0x7F,0xC0,0x7F,0xC0,0x60,0x00,0x60,0x00,
-0x30,0x40,0x3F,0xC0,0x0F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"e",69*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xE0,0x03,0xE0,0x06,0x00,0x06,0x00,0x06,0x00,
-0x3F,0xE0,0x3F,0xE0,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"f",70*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x1E,0xC0,0x3F,0xC0,0x31,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,
-0x31,0xC0,0x3F,0xC0,0x1E,0xC0,0x00,0xC0,0x21,0xC0,0x3F,0x80,0x1F,0x00,0x00,0x00,/*"g",71*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,
-0x67,0x00,0x7F,0x80,0x71,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,
-0x60,0xC0,0x60,0xC0,0x60,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"h",72*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x3E,0x00,0x3E,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
-0x06,0x00,0x7F,0xE0,0x7F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"i",73*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x1F,0x00,0x1F,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,
-0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x3E,0x00,0x3C,0x00,0x00,0x00,/*"j",74*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,
-0x61,0xC0,0x63,0x80,0x67,0x00,0x6E,0x00,0x7C,0x00,0x7C,0x00,0x76,0x00,0x67,0x00,
-0x63,0x00,0x61,0x80,0x61,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"k",75*/
-0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x00,0xFC,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,
-0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,
-0x0E,0x00,0x07,0xC0,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"l",76*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x6D,0xC0,0x7F,0xE0,0x66,0x60,0x66,0x60,0x66,0x60,0x66,0x60,0x66,0x60,0x66,0x60,
-0x66,0x60,0x66,0x60,0x66,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"m",77*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x67,0x00,0x7F,0x80,0x71,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,
-0x60,0xC0,0x60,0xC0,0x60,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"n",78*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x1F,0x00,0x3F,0x80,0x31,0x80,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,
-0x31,0x80,0x3F,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"o",79*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x6F,0x00,0x7F,0x80,0x71,0x80,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,
-0x71,0x80,0x7F,0x80,0x6F,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x00,0x00,/*"p",80*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x1E,0xC0,0x3F,0xC0,0x31,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,
-0x31,0xC0,0x3F,0xC0,0x1E,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0x00,/*"q",81*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x0C,0xE0,0x0D,0xF0,0x0F,0x10,0x0E,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,
-0x0C,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"r",82*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x1F,0x80,0x3F,0xC0,0x60,0x40,0x60,0x00,0x7F,0x00,0x1F,0x80,0x01,0xC0,0x00,0xC0,
-0x41,0xC0,0x7F,0x80,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"s",83*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,
-0x7F,0xC0,0x7F,0xC0,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,
-0x0C,0x00,0x0F,0xC0,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"t",84*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,
-0x71,0xC0,0x3F,0xC0,0x1C,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"u",85*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x60,0xC0,0x71,0xC0,0x31,0x80,0x31,0x80,0x3B,0x80,0x1B,0x00,0x1B,0x00,0x1B,0x00,
-0x0E,0x00,0x0E,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"v",86*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0xC0,0x30,0xC0,0x30,0x60,0x60,0x66,0x60,0x66,0x60,0x66,0x60,0x3F,0xC0,0x39,0xC0,
-0x39,0xC0,0x39,0xC0,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"w",87*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x71,0xC0,0x31,0x80,0x1B,0x00,0x1F,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x1F,0x00,
-0x1B,0x00,0x31,0x80,0x71,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"x",88*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x60,0xC0,0x31,0x80,0x31,0x80,0x31,0x80,0x1B,0x00,0x1B,0x00,0x1F,0x00,0x0E,0x00,
-0x0E,0x00,0x06,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x38,0x00,0x38,0x00,0x00,0x00,/*"y",89*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x7F,0xC0,0x7F,0xC0,0x03,0x80,0x03,0x00,0x07,0x00,0x0E,0x00,0x1C,0x00,0x18,0x00,
-0x30,0x00,0x7F,0xC0,0x7F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"z",90*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x07,0xC0,0x06,0x00,0x06,0x00,0x06,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x3C,0x00,0x3C,0x00,0x0E,0x00,0x06,0x00,0x06,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x07,0xC0,0x03,0xC0,0x00,0x00,0x00,0x00,/*"{",91*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,/*"|",92*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x3E,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x03,0xC0,0x03,0xC0,0x07,0x00,0x06,0x00,0x06,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x3E,0x00,0x3C,0x00,0x00,0x00,0x00,0x00,/*"}",93*/
-};
-#endif
-
-#ifdef ASC2_3216
-const uint8_t asc2_3216[]={
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",0*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x01,0xC0,
-0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,
-0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,
-0x01,0xC0,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"!",1*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x30,0x06,0x30,
-0x06,0x30,0x06,0x30,0x06,0x30,0x06,0x30,0x06,0x30,0x06,0x30,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*""",2*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x8C,0x03,0x8C,0x03,0x0C,
-0x03,0x18,0x03,0x18,0x03,0x18,0x7F,0xFF,0x7F,0xFF,0x06,0x30,0x06,0x30,0x0E,0x30,
-0x0C,0x70,0x0C,0x60,0xFF,0xFE,0xFF,0xFE,0x18,0x60,0x18,0xC0,0x18,0xC0,0x18,0xC0,
-0x30,0xC0,0x31,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"#",3*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x80,0x00,0x80,
-0x03,0xF0,0x0F,0xFC,0x0E,0x8C,0x1C,0x80,0x1C,0x80,0x1C,0x80,0x1C,0x80,0x0E,0x80,
-0x0F,0xE0,0x03,0xF8,0x00,0xFC,0x00,0x9E,0x00,0x8E,0x00,0x8E,0x00,0x8E,0x10,0x9C,
-0x1F,0xF8,0x07,0xF0,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x00,0x00,0x00,/*"$",4*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x7E,0x00,
-0xE7,0x00,0xC3,0x00,0xC3,0x00,0xC3,0x00,0xE7,0x00,0x7E,0x1C,0x3C,0x78,0x01,0xC0,
-0x07,0x00,0x3C,0x78,0x70,0xFC,0x01,0xCE,0x01,0x86,0x01,0x86,0x01,0x86,0x01,0xCE,
-0x00,0xFC,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"%",5*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xC0,0x0F,0xE0,
-0x1E,0x20,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1E,0x00,0x0E,0x00,0x0F,0x00,0x1F,0x00,
-0x3F,0x83,0x33,0xC3,0x71,0xE3,0x70,0xE3,0x70,0xF6,0x70,0x7E,0x78,0x3C,0x3C,0x3E,
-0x1F,0xEE,0x07,0xCF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"&",6*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,
-0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"'",7*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x60,0x00,0x60,
-0x00,0xE0,0x00,0xC0,0x01,0xC0,0x01,0xC0,0x01,0x80,0x03,0x80,0x03,0x80,0x03,0x80,
-0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x01,0x80,0x01,0xC0,
-0x01,0xC0,0x00,0xC0,0x00,0xE0,0x00,0x60,0x00,0x60,0x00,0x30,0x00,0x00,0x00,0x00,/*"(",8*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x03,0x00,0x03,0x00,
-0x03,0x80,0x01,0x80,0x01,0xC0,0x01,0xC0,0x00,0xC0,0x00,0xE0,0x00,0xE0,0x00,0xE0,
-0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xC0,0x01,0xC0,
-0x01,0xC0,0x01,0x80,0x03,0x80,0x03,0x00,0x03,0x00,0x06,0x00,0x00,0x00,0x00,0x00,/*")",9*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,
-0x21,0x84,0x39,0x9C,0x0F,0xF0,0x03,0xC0,0x03,0xC0,0x0F,0xF0,0x39,0x9C,0x21,0x84,
-0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"*",10*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,
-0x7F,0xFE,0x7F,0xFE,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"+",11*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x01,0xC0,
-0x01,0xC0,0x01,0xC0,0x01,0x80,0x03,0x80,0x03,0x80,0x03,0x00,0x00,0x00,0x00,0x00,/*",",12*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x07,0xF0,0x07,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"-",13*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x03,0x80,
-0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*".",14*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x38,
-0x00,0x38,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0xE0,0x00,0xE0,0x01,0xC0,0x01,0xC0,
-0x03,0x80,0x03,0x80,0x03,0x80,0x07,0x00,0x07,0x00,0x0E,0x00,0x0E,0x00,0x1C,0x00,
-0x1C,0x00,0x1C,0x00,0x38,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"/",15*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xE0,0x0F,0xF8,
-0x0E,0x38,0x1C,0x1C,0x1C,0x1C,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x39,0xCE,0x39,0xCE,
-0x39,0xCE,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x1C,0x1C,0x1C,0x1C,0x0E,0x38,
-0x0F,0xF8,0x03,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"0",16*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xE0,0x0F,0xE0,
-0x0C,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,
-0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,
-0x0F,0xFE,0x0F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"1",17*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xE0,0x3F,0xF8,
-0x38,0x3C,0x20,0x1E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x1E,0x00,0x3C,
-0x00,0x7C,0x00,0xF8,0x00,0xF0,0x01,0xE0,0x03,0xC0,0x07,0x00,0x0E,0x00,0x1C,0x00,
-0x3F,0xFE,0x3F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"2",18*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF0,0x1F,0xF8,
-0x18,0x1C,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x3C,0x07,0xF0,0x07,0xF0,
-0x00,0x3C,0x00,0x1C,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x1E,0x30,0x3C,
-0x3F,0xF8,0x0F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"3",19*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0xF0,
-0x01,0xF0,0x01,0xF0,0x03,0x70,0x07,0x70,0x06,0x70,0x0C,0x70,0x0C,0x70,0x18,0x70,
-0x38,0x70,0x30,0x70,0x60,0x70,0x7F,0xFE,0x7F,0xFE,0x00,0x70,0x00,0x70,0x00,0x70,
-0x00,0x70,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"4",20*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFC,0x1F,0xFC,
-0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1F,0xE0,0x1F,0xF8,0x10,0x3C,0x00,0x1C,
-0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x1C,0x20,0x3C,
-0x3F,0xF8,0x1F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"5",21*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xF8,0x07,0xFC,
-0x0F,0x04,0x1E,0x00,0x1C,0x00,0x1C,0x00,0x38,0x00,0x39,0xF0,0x3B,0xF8,0x3E,0x3C,
-0x3C,0x1E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x18,0x0E,0x1C,0x1C,0x0E,0x3C,
-0x0F,0xF8,0x03,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"6",22*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFE,0x3F,0xFE,
-0x00,0x1E,0x00,0x1C,0x00,0x1C,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x70,0x00,0x70,
-0x00,0xF0,0x00,0xE0,0x00,0xE0,0x01,0xE0,0x01,0xC0,0x01,0xC0,0x03,0x80,0x03,0x80,
-0x03,0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"7",23*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF0,0x1F,0xFC,
-0x1C,0x1C,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x1C,0x1C,0x07,0xF0,0x0F,0xF8,
-0x1E,0x3C,0x1C,0x1C,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x3C,0x1E,0x1E,0x3C,
-0x0F,0xF8,0x07,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"8",24*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x0F,0xF8,
-0x1E,0x38,0x3C,0x1C,0x38,0x0C,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x3C,0x1E,
-0x1E,0x3E,0x0F,0xEE,0x07,0xCE,0x00,0x0E,0x00,0x1C,0x00,0x1C,0x00,0x3C,0x10,0x78,
-0x1F,0xF0,0x0F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"9",25*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x03,0x80,
-0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*":",26*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x03,0x80,
-0x03,0x80,0x03,0x80,0x03,0x00,0x07,0x00,0x07,0x00,0x06,0x00,0x00,0x00,0x00,0x00,/*";",27*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x1E,0x00,0x7E,0x01,0xF8,0x0F,0xC0,0x3F,0x00,
-0x78,0x00,0x78,0x00,0x3F,0x00,0x0F,0xC0,0x01,0xF8,0x00,0x7E,0x00,0x1E,0x00,0x02,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"<",28*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFE,0x7F,0xFE,
-0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFE,0x7F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"=",29*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x40,0x00,0x78,0x00,0x7E,0x00,0x1F,0x80,0x03,0xF0,0x00,0xFC,
-0x00,0x1E,0x00,0x1E,0x00,0xFC,0x03,0xF0,0x1F,0x80,0x7E,0x00,0x78,0x00,0x40,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*">",30*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xE0,0x0F,0xF8,
-0x1C,0x38,0x10,0x1C,0x00,0x1C,0x00,0x3C,0x00,0x3C,0x00,0x78,0x00,0xF0,0x01,0xE0,
-0x03,0xC0,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00,0x03,0x80,
-0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"?",31*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xF8,
-0x07,0xFC,0x0E,0x0E,0x1C,0x06,0x18,0x03,0x30,0x03,0x30,0x7B,0x61,0xFF,0x61,0x87,
-0x63,0x03,0x63,0x03,0x63,0x03,0x63,0x03,0x63,0x03,0x61,0x87,0x71,0xFF,0x30,0x7B,
-0x30,0x00,0x18,0x00,0x1C,0x00,0x0F,0x04,0x03,0xFC,0x00,0xFC,0x00,0x00,0x00,0x00,/*"@",32*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x03,0xE0,
-0x03,0xE0,0x03,0xE0,0x03,0xE0,0x07,0x70,0x07,0x70,0x07,0x70,0x0F,0x78,0x0E,0x38,
-0x0E,0x38,0x0E,0x38,0x1F,0xFC,0x1F,0xFC,0x1C,0x1C,0x38,0x0E,0x38,0x0E,0x38,0x0E,
-0x78,0x0F,0x70,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"A",33*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xE0,0x3F,0xF8,
-0x38,0x38,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x38,0x3F,0xF0,0x3F,0xF0,
-0x38,0x3C,0x38,0x1C,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x1E,0x38,0x3C,
-0x3F,0xF8,0x3F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"B",34*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xF8,0x07,0xFC,
-0x0F,0x0C,0x1E,0x04,0x1C,0x00,0x1C,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,
-0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x1C,0x00,0x1C,0x00,0x1E,0x04,0x0F,0x0C,
-0x07,0xFC,0x01,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"C",35*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xC0,0x3F,0xF0,
-0x38,0x78,0x38,0x1C,0x38,0x1C,0x38,0x0C,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,
-0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0C,0x38,0x1C,0x38,0x1C,0x38,0x78,
-0x3F,0xF0,0x3F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"D",36*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFE,0x1F,0xFE,
-0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1F,0xFC,0x1F,0xFC,
-0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,
-0x1F,0xFE,0x1F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"E",37*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFE,0x1F,0xFE,
-0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1F,0xFC,0x1F,0xFC,
-0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,
-0x1C,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"F",38*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xF8,0x07,0xFC,
-0x0F,0x0C,0x1E,0x04,0x1C,0x00,0x1C,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x7E,
-0x38,0x7E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x1C,0x0E,0x1C,0x0E,0x1C,0x0E,0x0F,0x1E,
-0x07,0xFE,0x01,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"G",39*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x0E,0x38,0x0E,
-0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x3F,0xFE,0x3F,0xFE,
-0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,
-0x38,0x0E,0x38,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"H",40*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFC,0x1F,0xFC,
-0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,
-0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,
-0x1F,0xFC,0x1F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"I",41*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF8,0x07,0xF8,
-0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,
-0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x20,0x38,0x30,0x70,
-0x3F,0xF0,0x0F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"J",42*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x07,0x38,0x0E,
-0x38,0x1C,0x38,0x38,0x38,0x70,0x38,0xE0,0x39,0xC0,0x3B,0x80,0x3F,0x80,0x3F,0xC0,
-0x3F,0xC0,0x3D,0xE0,0x38,0xF0,0x38,0x70,0x38,0x78,0x38,0x3C,0x38,0x1C,0x38,0x1E,
-0x38,0x0F,0x38,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"K",43*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x1C,0x00,
-0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,
-0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,
-0x1F,0xFE,0x1F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"L",44*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x1E,0x78,0x1E,
-0x7C,0x3E,0x7C,0x3E,0x7C,0x3E,0x76,0x6E,0x76,0x6E,0x76,0x6E,0x72,0x4E,0x73,0xCE,
-0x73,0xCE,0x71,0x8E,0x71,0x8E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,
-0x70,0x0E,0x70,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"M",45*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x0E,0x3C,0x0E,
-0x3E,0x0E,0x3E,0x0E,0x3E,0x0E,0x3B,0x0E,0x3B,0x0E,0x3B,0x8E,0x39,0x8E,0x39,0x8E,
-0x38,0xCE,0x38,0xCE,0x38,0xEE,0x38,0x6E,0x38,0x6E,0x38,0x3E,0x38,0x3E,0x38,0x3E,
-0x38,0x1E,0x38,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"N",46*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xE0,0x0F,0xF8,
-0x0E,0x38,0x1C,0x1C,0x1C,0x1C,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,
-0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x1C,0x1C,0x1C,0x1C,0x0E,0x38,
-0x0F,0xF8,0x03,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"O",47*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xF0,0x1F,0xFC,
-0x1C,0x1E,0x1C,0x0F,0x1C,0x07,0x1C,0x07,0x1C,0x07,0x1C,0x07,0x1C,0x0F,0x1C,0x1E,
-0x1F,0xFC,0x1F,0xF0,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,
-0x1C,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"P",48*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xE0,0x0F,0xF8,
-0x0E,0x38,0x1C,0x1C,0x1C,0x1C,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,
-0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x1C,0x1C,0x1C,0x1C,0x0E,0x38,
-0x0F,0xF8,0x03,0xE0,0x00,0x70,0x00,0x38,0x00,0x1C,0x00,0x10,0x00,0x00,0x00,0x00,/*"Q",49*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xE0,0x3F,0xF0,
-0x38,0x78,0x38,0x3C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x38,
-0x3F,0xF0,0x3F,0xE0,0x38,0xF0,0x38,0x78,0x38,0x38,0x38,0x3C,0x38,0x1C,0x38,0x1E,
-0x38,0x0E,0x38,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"R",50*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xF0,0x0F,0xFC,
-0x1E,0x0C,0x3C,0x04,0x38,0x00,0x38,0x00,0x38,0x00,0x3E,0x00,0x1F,0xC0,0x0F,0xF8,
-0x03,0xFC,0x00,0x3C,0x00,0x1E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x20,0x1E,0x38,0x3C,
-0x3F,0xF8,0x0F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"S",51*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0x7F,0xFF,
-0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,
-0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,
-0x01,0xC0,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"T",52*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x1C,0x38,0x1C,
-0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,
-0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x1C,0x38,
-0x0F,0xF0,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"U",53*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x07,0x78,0x0F,
-0x38,0x0E,0x38,0x0E,0x38,0x0E,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1E,0x3C,0x0E,0x38,
-0x0E,0x38,0x0E,0x38,0x07,0x70,0x07,0x70,0x07,0x70,0x03,0xE0,0x03,0xE0,0x03,0xE0,
-0x03,0xE0,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"V",54*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x07,0xE0,0x07,
-0xE0,0x07,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x73,0xCE,0x73,0xCE,0x73,0xCE,0x73,0xCE,
-0x3B,0xDC,0x3E,0x7C,0x3E,0x7C,0x3E,0x7C,0x3E,0x7C,0x3C,0x3C,0x3C,0x3C,0x1C,0x38,
-0x1C,0x38,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"W",55*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x07,0x3C,0x0F,
-0x1C,0x0E,0x1E,0x1E,0x0F,0x3C,0x07,0x38,0x07,0xF0,0x03,0xF0,0x01,0xE0,0x01,0xE0,
-0x01,0xE0,0x03,0xF0,0x07,0xF0,0x07,0x78,0x0F,0x3C,0x0E,0x1C,0x1E,0x1E,0x3C,0x0E,
-0x38,0x07,0x78,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"X",56*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x0F,0x38,0x0E,
-0x3C,0x1E,0x1C,0x1C,0x1E,0x3C,0x0E,0x38,0x07,0x70,0x07,0xF0,0x03,0xE0,0x03,0xE0,
-0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,
-0x01,0xC0,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"Y",57*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFE,0x3F,0xFE,
-0x00,0x1E,0x00,0x1C,0x00,0x3C,0x00,0x78,0x00,0x70,0x00,0xF0,0x00,0xE0,0x01,0xE0,
-0x03,0xC0,0x03,0x80,0x07,0x80,0x07,0x00,0x0F,0x00,0x1E,0x00,0x1C,0x00,0x3C,0x00,
-0x3F,0xFE,0x3F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"Z",58*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xF0,0x03,0xF0,0x03,0x80,
-0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,
-0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,
-0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0xF0,0x03,0xF0,0x00,0x00,0x00,0x00,/*"[",59*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x38,0x00,
-0x38,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x0E,0x00,0x0E,0x00,0x07,0x00,0x07,0x00,
-0x03,0x80,0x03,0x80,0x03,0x80,0x01,0xC0,0x01,0xC0,0x00,0xE0,0x00,0xE0,0x00,0x70,
-0x00,0x70,0x00,0x70,0x00,0x38,0x00,0x38,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,/*"\",60*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x07,0xE0,0x00,0xE0,
-0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,
-0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,
-0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x07,0xE0,0x07,0xE0,0x00,0x00,0x00,0x00,/*"]",61*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x03,0xC0,
-0x07,0xE0,0x0E,0x70,0x0C,0x30,0x18,0x18,0x38,0x1C,0x70,0x0E,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"^",62*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,/*"_",63*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x07,0x00,0x03,0x00,0x01,0x80,
-0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"`",64*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF0,0x1F,0xFC,0x18,0x1C,0x00,0x0E,0x00,0x0E,
-0x07,0xFE,0x0F,0xFE,0x1C,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x1E,0x38,0x1E,0x3C,0x3E,
-0x1F,0xEE,0x07,0xCE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"a",65*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,
-0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0xF8,0x1F,0xFC,0x1F,0x1E,0x1E,0x0E,0x1C,0x07,
-0x1C,0x07,0x1C,0x07,0x1C,0x07,0x1C,0x07,0x1C,0x07,0x1C,0x07,0x1E,0x0E,0x1F,0x1E,
-0x1F,0xFC,0x1C,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"b",66*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xF0,0x07,0xF8,0x0F,0x0C,0x0E,0x00,0x1C,0x00,
-0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1E,0x00,0x0E,0x00,0x0F,0x0C,
-0x07,0xF8,0x01,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"c",67*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x0E,0x00,0x0E,
-0x00,0x0E,0x00,0x0E,0x00,0x0E,0x07,0xCE,0x0F,0xFE,0x1E,0x3E,0x1C,0x1E,0x38,0x0E,
-0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x1C,0x1E,0x1E,0x3E,
-0x0F,0xFE,0x07,0xCE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"d",68*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xE0,0x0F,0xF8,0x1E,0x3C,0x1C,0x1C,0x3C,0x0E,
-0x38,0x0E,0x38,0x0E,0x3F,0xFE,0x3F,0xFE,0x38,0x00,0x38,0x00,0x1C,0x04,0x1E,0x0C,
-0x0F,0xF8,0x03,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"e",69*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0xFE,0x01,0xE0,
-0x01,0xC0,0x01,0xC0,0x01,0xC0,0x1F,0xFE,0x1F,0xFE,0x01,0xC0,0x01,0xC0,0x01,0xC0,
-0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,
-0x01,0xC0,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"f",70*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xCE,0x0F,0xEE,0x1E,0x3E,0x1C,0x1E,0x38,0x0E,
-0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x1C,0x1E,0x1E,0x3E,
-0x0F,0xEE,0x07,0xCE,0x00,0x0E,0x00,0x0E,0x00,0x1C,0x08,0x3C,0x0F,0xF8,0x07,0xE0,/*"g",71*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,
-0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0xF0,0x1D,0xF8,0x1E,0x3C,0x1E,0x1C,0x1C,0x1C,
-0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,
-0x1C,0x1C,0x1C,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"h",72*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x01,0xC0,0x01,0xC0,
-0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xC0,0x1F,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,
-0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,
-0x3F,0xFE,0x3F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"i",73*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0xE0,0x00,0xE0,
-0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xE0,0x0F,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,
-0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,
-0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x01,0xC0,0x1F,0xC0,0x1F,0x00,/*"j",74*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,
-0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x0F,0x1C,0x1E,0x1C,0x3C,0x1C,0x78,0x1C,0xF0,
-0x1D,0xE0,0x1F,0xC0,0x1F,0xE0,0x1F,0xE0,0x1E,0xF0,0x1C,0x78,0x1C,0x3C,0x1C,0x1C,
-0x1C,0x1E,0x1C,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"k",75*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x80,0x7F,0x80,0x03,0x80,
-0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,
-0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x01,0xC0,
-0x01,0xFC,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"l",76*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x1C,0x7F,0xBE,0x71,0xE7,0x71,0xC7,0x71,0xC7,
-0x71,0xC7,0x71,0xC7,0x71,0xC7,0x71,0xC7,0x71,0xC7,0x71,0xC7,0x71,0xC7,0x71,0xC7,
-0x71,0xC7,0x71,0xC7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"m",77*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0xF0,0x1D,0xF8,0x1E,0x3C,0x1E,0x1C,0x1C,0x1C,
-0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,
-0x1C,0x1C,0x1C,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"n",78*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xE0,0x0F,0xF8,0x1E,0x3C,0x1C,0x1C,0x38,0x0E,
-0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x1C,0x1C,0x1E,0x3C,
-0x0F,0xF8,0x03,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"o",79*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0xF8,0x1F,0xFC,0x1F,0x1E,0x1E,0x0E,0x1C,0x07,
-0x1C,0x07,0x1C,0x07,0x1C,0x07,0x1C,0x07,0x1C,0x07,0x1C,0x07,0x1E,0x0E,0x1F,0x1E,
-0x1F,0xFC,0x1C,0xF8,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,/*"p",80*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xCE,0x0F,0xFE,0x1E,0x3E,0x1C,0x1E,0x38,0x0E,
-0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x1C,0x1E,0x1E,0x3E,
-0x0F,0xFE,0x07,0xCE,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,/*"q",81*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x3C,0x07,0x7E,0x07,0xC2,0x07,0x80,0x07,0x80,
-0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,
-0x07,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"r",82*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xF0,0x0F,0xF8,0x1E,0x08,0x1C,0x00,0x1C,0x00,
-0x1F,0x00,0x0F,0xF0,0x07,0xF8,0x00,0xFC,0x00,0x3C,0x00,0x1C,0x00,0x1C,0x10,0x3C,
-0x1F,0xF8,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"s",83*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,
-0x03,0x80,0x03,0x80,0x03,0x80,0x3F,0xFE,0x3F,0xFE,0x03,0x80,0x03,0x80,0x03,0x80,
-0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0xC0,
-0x01,0xFE,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"t",84*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,
-0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x3C,0x1E,0x3C,
-0x0F,0xDC,0x07,0x9C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"u",85*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x0E,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x1C,0x38,
-0x1C,0x38,0x1E,0x78,0x0E,0x70,0x0E,0x70,0x0F,0xF0,0x07,0xE0,0x07,0xE0,0x07,0xE0,
-0x03,0xC0,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"v",86*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x07,0xE0,0x07,0x70,0x0E,0x70,0x0E,0x71,0x8E,
-0x71,0x8E,0x7B,0xDE,0x3B,0xDC,0x3A,0x5C,0x3A,0x5C,0x3E,0x7C,0x1E,0x78,0x1C,0x38,
-0x1C,0x38,0x1C,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"w",87*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x3C,0x1E,0x78,0x0E,0x70,0x0F,0xF0,0x07,0xE0,
-0x03,0xC0,0x03,0xC0,0x01,0x80,0x03,0xC0,0x07,0xE0,0x0F,0xF0,0x0E,0x70,0x1E,0x78,
-0x3C,0x3C,0x78,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"x",88*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x0E,0x38,0x1C,0x38,0x1C,0x3C,0x3C,0x1C,0x38,
-0x1C,0x38,0x1E,0x78,0x0E,0x70,0x0E,0x70,0x07,0xE0,0x07,0xE0,0x07,0xE0,0x03,0xC0,
-0x03,0xC0,0x03,0x80,0x03,0x80,0x03,0x80,0x07,0x00,0x0F,0x00,0x3E,0x00,0x3C,0x00,/*"y",89*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFC,0x1F,0xFC,0x00,0x3C,0x00,0x78,0x00,0x70,
-0x00,0xF0,0x01,0xE0,0x01,0xC0,0x03,0xC0,0x07,0x80,0x07,0x00,0x0F,0x00,0x1E,0x00,
-0x1F,0xFC,0x1F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"z",90*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0xFC,0x01,0xE0,
-0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,
-0x03,0x80,0x1F,0x00,0x1F,0x00,0x03,0x80,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,
-0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xE0,0x00,0xFC,0x00,0x7C,0x00,0x00,/*"{",91*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x01,0x80,
-0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,
-0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,
-0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,/*"|",92*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x1F,0x80,0x03,0xC0,
-0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,
-0x00,0xE0,0x00,0x7C,0x00,0x7C,0x00,0xE0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,
-0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x03,0xC0,0x1F,0x80,0x1F,0x00,0x00,0x00,/*"}",93*/
-};
-#endif
-
-#endif
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/port/drv_qspi_flash.c b/bsp/stm32/stm32h750-artpi-h750/board/port/drv_qspi_flash.c
deleted file mode 100644
index e262ce3656..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/board/port/drv_qspi_flash.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 2006-2022, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2021-01-19 wanghaijing the first version
- */
-
-#include
-#include
-#include
-#include
-
-#ifdef BSP_USING_QSPI_FLASH
-
-char w25qxx_read_status_register2(struct rt_qspi_device *device)
-{
- /* 0x35 read status register2 */
- char instruction = 0x35, status;
-
- rt_qspi_send_then_recv(device, &instruction, 1, &status, 1);
-
- return status;
-}
-
-void w25qxx_write_enable(struct rt_qspi_device *device)
-{
- /* 0x06 write enable */
- char instruction = 0x06;
-
- rt_qspi_send(device, &instruction, 1);
-}
-
-void w25qxx_enter_qspi_mode(struct rt_qspi_device *device)
-{
- char status = 0;
- /* 0x38 enter qspi mode */
- char instruction = 0x38;
- char write_status2_buf[2] = {0};
-
- /* 0x31 write status register2 */
- write_status2_buf[0] = 0x31;
-
- status = w25qxx_read_status_register2(device);
- if (!(status & 0x02))
- {
- status |= 1 << 1;
- w25qxx_write_enable(device);
- write_status2_buf[1] = status;
- rt_qspi_send(device, &write_status2_buf, 2);
- rt_qspi_send(device, &instruction, 1);
- rt_kprintf("flash already enter qspi mode\n");
- rt_thread_mdelay(10);
- }
-}
-
-static int rt_qspi_flash_init(void)
-{
- extern rt_spi_flash_device_t rt_sfud_flash_probe(const char *spi_flash_dev_name, const char *spi_dev_name);
-
- stm32_qspi_bus_attach_device("qspi1", "qspi10", RT_NULL, 4, w25qxx_enter_qspi_mode, RT_NULL);
- if (RT_NULL == rt_sfud_flash_probe("norflash1", "qspi10"))
- {
- return -RT_ERROR;
- }
- return RT_EOK;
-}
-INIT_ENV_EXPORT(rt_qspi_flash_init);
-
-#endif/* BSP_USING_QSPI_FLASH */
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/port/drv_sdio.c b/bsp/stm32/stm32h750-artpi-h750/board/port/drv_sdio.c
deleted file mode 100644
index 6867909f89..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/board/port/drv_sdio.c
+++ /dev/null
@@ -1,537 +0,0 @@
-/*
- * Copyright (c) 2006-2022, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2020-05-23 liuduanfei first version
- */
-#include "board.h"
-
-#ifdef RT_USING_SDIO
-
-#if !defined(BSP_USING_SDIO1) && !defined(BSP_USING_SDIO2)
- #error "Please define at least one BSP_USING_SDIOx"
-#endif
-
-#include "drv_sdio.h"
-
-#define DBG_TAG "drv.sdio"
-#ifdef DRV_DEBUG
- #define DBG_LVL DBG_LOG
-#else
- #define DBG_LVL DBG_INFO
-#endif /* DRV_DEBUG */
-#include
-
-static struct rt_mmcsd_host *host1;
-static struct rt_mmcsd_host *host2;
-static rt_mutex_t mmcsd_mutex = RT_NULL;
-
-#define SDIO_TX_RX_COMPLETE_TIMEOUT_LOOPS (1000000)
-
-struct sdio_pkg
-{
- struct rt_mmcsd_cmd *cmd;
- void *buff;
- rt_uint32_t flag;
-};
-
-struct rthw_sdio
-{
- struct rt_mmcsd_host *host;
- struct stm32_sdio_des sdio_des;
- struct rt_event event;
- struct sdio_pkg *pkg;
-};
-
-ALIGN(SDIO_ALIGN_LEN)
-static rt_uint8_t cache_buf[SDIO_BUFF_SIZE];
-
-/**
- * @brief This function get order from sdio.
- * @param data
- * @retval sdio order
- */
-static int get_order(rt_uint32_t data)
-{
- int order = 0;
-
- switch (data)
- {
- case 1:
- order = 0;
- break;
-
- case 2:
- order = 1;
- break;
-
- case 4:
- order = 2;
- break;
-
- case 8:
- order = 3;
- break;
-
- case 16:
- order = 4;
- break;
-
- case 32:
- order = 5;
- break;
-
- case 64:
- order = 6;
- break;
-
- case 128:
- order = 7;
- break;
-
- case 256:
- order = 8;
- break;
-
- case 512:
- order = 9;
- break;
-
- case 1024:
- order = 10;
- break;
-
- case 2048:
- order = 11;
- break;
-
- case 4096:
- order = 12;
- break;
-
- case 8192:
- order = 13;
- break;
-
- case 16384:
- order = 14;
- break;
-
- default :
- order = 0;
- break;
- }
-
- return order;
-}
-
-/**
- * @brief This function wait sdio cmd completed.
- * @param sdio rthw_sdio
- * @retval None
- */
-static void rthw_sdio_wait_completed(struct rthw_sdio *sdio)
-{
- rt_uint32_t status;
- struct rt_mmcsd_cmd *cmd = sdio->pkg->cmd;
- struct stm32_sdio *hw_sdio = sdio->sdio_des.hw_sdio;
-
- if (rt_event_recv(&sdio->event, 0xffffffff, RT_EVENT_FLAG_OR | RT_EVENT_FLAG_CLEAR,
- rt_tick_from_millisecond(5000), &status) != RT_EOK)
- {
- LOG_E("wait cmd completed timeout");
- cmd->err = -RT_ETIMEOUT;
- return;
- }
-
- cmd->resp[0] = hw_sdio->resp1;
-
- if (resp_type(cmd) == RESP_R2)
- {
- cmd->resp[1] = hw_sdio->resp2;
- cmd->resp[2] = hw_sdio->resp3;
- cmd->resp[3] = hw_sdio->resp4;
- }
-
- if (status & SDIO_ERRORS)
- {
- if ((status & SDMMC_STA_CCRCFAIL) && (resp_type(cmd) & (RESP_R3 | RESP_R4)))
- {
- cmd->err = RT_EOK;
- }
- else
- {
- cmd->err = -RT_ERROR;
- }
- }
- else
- {
- cmd->err = RT_EOK;
- }
-
-
- if (cmd->err == RT_EOK)
- {
- LOG_D("sta:0x%08X [%08X %08X %08X %08X]", status, cmd->resp[0], cmd->resp[1], cmd->resp[2], cmd->resp[3]);
- }
- else
- {
- LOG_D("send command error = %d", cmd->err);
- }
-}
-
-/**
- * @brief This function send command.
- * @param sdio rthw_sdio
- * @param pkg sdio package
- * @retval None
- */
-static void rthw_sdio_send_command(struct rthw_sdio *sdio, struct sdio_pkg *pkg)
-{
- struct rt_mmcsd_cmd *cmd = pkg->cmd;
- struct rt_mmcsd_data *data = cmd->data;
- struct stm32_sdio *hw_sdio = sdio->sdio_des.hw_sdio;
- rt_uint32_t reg_cmd;
-
- rt_event_control(&sdio->event, RT_IPC_CMD_RESET, RT_NULL);
- /* save pkg */
- sdio->pkg = pkg;
-
- LOG_D("CMD:%d ARG:0x%08x RES:%s%s%s%s%s%s%s%s%s rw:%c len:%d blksize:%d\n",
- cmd->cmd_code,
- cmd->arg,
- resp_type(cmd) == RESP_NONE ? "NONE" : "",
- resp_type(cmd) == RESP_R1 ? "R1" : "",
- resp_type(cmd) == RESP_R1B ? "R1B" : "",
- resp_type(cmd) == RESP_R2 ? "R2" : "",
- resp_type(cmd) == RESP_R3 ? "R3" : "",
- resp_type(cmd) == RESP_R4 ? "R4" : "",
- resp_type(cmd) == RESP_R5 ? "R5" : "",
- resp_type(cmd) == RESP_R6 ? "R6" : "",
- resp_type(cmd) == RESP_R7 ? "R7" : "",
- data ? (data->flags & DATA_DIR_WRITE ? 'w' : 'r') : '-',
- data ? data->blks * data->blksize : 0,
- data ? data->blksize : 0
- );
-
- hw_sdio->mask |= SDIO_MASKR_ALL;
- reg_cmd = cmd->cmd_code | SDMMC_CMD_CPSMEN;
-
- /* data pre configuration */
- if (data != RT_NULL)
- {
- SCB_CleanInvalidateDCache();
-
- reg_cmd |= SDMMC_CMD_CMDTRANS;
- hw_sdio->mask &= ~(SDMMC_MASK_CMDRENDIE | SDMMC_MASK_CMDSENTIE);
- hw_sdio->dtimer = HW_SDIO_DATATIMEOUT;
- hw_sdio->dlen = data->blks * data->blksize;
- hw_sdio->dctrl = (get_order(data->blksize) << 4) | (data->flags & DATA_DIR_READ ? SDMMC_DCTRL_DTDIR : 0);
- hw_sdio->idmabase0r = (rt_uint32_t)cache_buf;
- hw_sdio->idmatrlr = SDMMC_IDMA_IDMAEN;
- }
-
- if (resp_type(cmd) == RESP_R2)
- reg_cmd |= SDMMC_CMD_WAITRESP;
- else if(resp_type(cmd) != RESP_NONE)
- reg_cmd |= SDMMC_CMD_WAITRESP_0;
-
- hw_sdio->arg = cmd->arg;
- hw_sdio->cmd = reg_cmd;
- /* wait completed */
- rthw_sdio_wait_completed(sdio);
-
- /* Waiting for data to be sent to completion */
- if (data != RT_NULL)
- {
- volatile rt_uint32_t count = SDIO_TX_RX_COMPLETE_TIMEOUT_LOOPS;
-
- while (count && (hw_sdio->sta & SDMMC_STA_DPSMACT))
- {
- count--;
- }
-
- if ((count == 0) || (hw_sdio->sta & SDIO_ERRORS))
- {
- cmd->err = -RT_ERROR;
- }
- }
-
- /* data post configuration */
- if (data != RT_NULL)
- {
- if (data->flags & DATA_DIR_READ)
- {
- rt_memcpy(data->buf, cache_buf, data->blks * data->blksize);
- SCB_CleanInvalidateDCache();
- }
- }
-}
-
-/**
- * @brief This function send sdio request.
- * @param sdio rthw_sdio
- * @param req request
- * @retval None
- */
-static void rthw_sdio_request(struct rt_mmcsd_host *host, struct rt_mmcsd_req *req)
-{
- struct sdio_pkg pkg;
- struct rthw_sdio *sdio = host->private_data;
- struct rt_mmcsd_data *data;
-
-
- rt_mutex_take(mmcsd_mutex, RT_WAITING_FOREVER);
-
- if (req->cmd != RT_NULL)
- {
- rt_memset(&pkg, 0, sizeof(pkg));
- data = req->cmd->data;
- pkg.cmd = req->cmd;
-
- if (data != RT_NULL)
- {
- rt_uint32_t size = data->blks * data->blksize;
-
- RT_ASSERT(size <= SDIO_BUFF_SIZE);
-
- if (data->flags & DATA_DIR_WRITE)
- {
- rt_memcpy(cache_buf, data->buf, size);
- }
- }
-
- rthw_sdio_send_command(sdio, &pkg);
- }
-
- if (req->stop != RT_NULL)
- {
- rt_memset(&pkg, 0, sizeof(pkg));
- pkg.cmd = req->stop;
- rthw_sdio_send_command(sdio, &pkg);
- }
-
- mmcsd_req_complete(sdio->host);
-
- rt_mutex_release(mmcsd_mutex);
-}
-
-
-/**
- * @brief This function interrupt process function.
- * @param host rt_mmcsd_host
- * @retval None
- */
-void rthw_sdio_irq_process(struct rt_mmcsd_host *host)
-{
- struct rthw_sdio *sdio = host->private_data;
- struct stm32_sdio *hw_sdio = sdio->sdio_des.hw_sdio;
- rt_uint32_t intstatus = hw_sdio->sta;
-
- /* clear irq flag*/
- hw_sdio->icr = intstatus;
-
- rt_event_send(&sdio->event, intstatus);
-}
-
-/**
- * @brief This function config sdio.
- * @param host rt_mmcsd_host
- * @param io_cfg rt_mmcsd_io_cfg
- * @retval None
- */
-static void rthw_sdio_iocfg(struct rt_mmcsd_host *host, struct rt_mmcsd_io_cfg *io_cfg)
-{
- rt_uint32_t temp, clk_src;
- rt_uint32_t clk = io_cfg->clock;
- struct rthw_sdio *sdio = host->private_data;
- struct stm32_sdio *hw_sdio = sdio->sdio_des.hw_sdio;
-
- LOG_D("clk:%dK width:%s%s%s power:%s%s%s",
- clk / 1000,
- io_cfg->bus_width == MMCSD_BUS_WIDTH_8 ? "8" : "",
- io_cfg->bus_width == MMCSD_BUS_WIDTH_4 ? "4" : "",
- io_cfg->bus_width == MMCSD_BUS_WIDTH_1 ? "1" : "",
- io_cfg->power_mode == MMCSD_POWER_OFF ? "OFF" : "",
- io_cfg->power_mode == MMCSD_POWER_UP ? "UP" : "",
- io_cfg->power_mode == MMCSD_POWER_ON ? "ON" : ""
- );
-
- clk_src = SDIO_CLOCK_FREQ;
-
- if (clk > 0)
- {
- if (clk > host->freq_max)
- clk = host->freq_max;
-
- temp = DIV_ROUND_UP(clk_src, 2 * clk);
-
- if (temp > 0x3FF)
- temp = 0x3FF;
- }
-
- if (io_cfg->bus_width == MMCSD_BUS_WIDTH_4)
- temp |= SDMMC_CLKCR_WIDBUS_0;
- else if (io_cfg->bus_width == MMCSD_BUS_WIDTH_8)
- temp |= SDMMC_CLKCR_WIDBUS_1;
-
- hw_sdio->clkcr = temp;
-
- if (io_cfg->power_mode == MMCSD_POWER_ON)
- hw_sdio->power |= SDMMC_POWER_PWRCTRL;
-}
-
-static const struct rt_mmcsd_host_ops ops =
-{
- rthw_sdio_request,
- rthw_sdio_iocfg,
- RT_NULL,
- RT_NULL,
-};
-
-/**
- * @brief This function create mmcsd host.
- * @param sdio_des stm32_sdio_des
- * @retval rt_mmcsd_host
- */
-struct rt_mmcsd_host *sdio_host_create(struct stm32_sdio_des *sdio_des)
-{
- struct rt_mmcsd_host *host;
- struct rthw_sdio *sdio = RT_NULL;
-
- if (sdio_des == RT_NULL)
- {
- return RT_NULL;
- }
-
- sdio = rt_malloc(sizeof(struct rthw_sdio));
-
- if (sdio == RT_NULL)
- {
- LOG_E("malloc rthw_sdio fail");
- return RT_NULL;
- }
-
- rt_memset(sdio, 0, sizeof(struct rthw_sdio));
-
- host = mmcsd_alloc_host();
-
- if (host == RT_NULL)
- {
- LOG_E("alloc host fail");
- goto err;
- }
-
- rt_memcpy(&sdio->sdio_des, sdio_des, sizeof(struct stm32_sdio_des));
-
- if(sdio_des->hsd.Instance == SDMMC1)
- {
- sdio->sdio_des.hw_sdio = (struct stm32_sdio *)SDIO1_BASE_ADDRESS;
- rt_event_init(&sdio->event, "sdio", RT_IPC_FLAG_FIFO);
- }
-
- if(sdio_des->hsd.Instance == SDMMC2)
- {
- sdio->sdio_des.hw_sdio = (struct stm32_sdio *)SDIO2_BASE_ADDRESS;
- rt_event_init(&sdio->event, "sdio2", RT_IPC_FLAG_FIFO);
- }
-
- /* set host default attributes */
- host->ops = &ops;
- host->freq_min = 400 * 1000;
- host->freq_max = SDIO_MAX_FREQ;
- host->valid_ocr = VDD_32_33 | VDD_33_34;/* The voltage range supported is 3.2v-3.4v */
- host->flags = MMCSD_BUSWIDTH_4 | MMCSD_MUTBLKWRITE | MMCSD_SUP_HIGHSPEED;
- host->max_seg_size = SDIO_BUFF_SIZE;
- host->max_dma_segs = 1;
- host->max_blk_size = 512;
- host->max_blk_count = 512;
-
- /* link up host and sdio */
- sdio->host = host;
- host->private_data = sdio;
-
- return host;
-
-err:
-
- if (sdio) rt_free(sdio);
-
- return RT_NULL;
-}
-
-void SDMMC1_IRQHandler(void)
-{
- /* enter interrupt */
- rt_interrupt_enter();
- /* Process All SDIO Interrupt Sources */
- rthw_sdio_irq_process(host1);
- /* leave interrupt */
- rt_interrupt_leave();
-}
-
-void SDMMC2_IRQHandler(void)
-{
- /* enter interrupt */
- rt_interrupt_enter();
- /* Process All SDIO Interrupt Sources */
- rthw_sdio_irq_process(host2);
- /* leave interrupt */
- rt_interrupt_leave();
-}
-
-int rt_hw_sdio_init(void)
-{
- #ifdef BSP_USING_SDIO1
- struct stm32_sdio_des sdio_des1;
- sdio_des1.hsd.Instance = SDMMC1;
- HAL_SD_MspInit(&sdio_des1.hsd);
-
- host1 = sdio_host_create(&sdio_des1);
-
- if (host1 == RT_NULL)
- {
- LOG_E("host create fail");
- return RT_NULL;
- }
-
- #endif
-
- #ifdef BSP_USING_SDIO2
- //sdmmc2 wifi
- struct stm32_sdio_des sdio_des2;
- sdio_des2.hsd.Instance = SDMMC2;
- HAL_SD_MspInit(&sdio_des2.hsd);
-
- host2 = sdio_host_create(&sdio_des2);
-
- if (host2 == RT_NULL)
- {
- LOG_E("host2 create fail");
- return RT_NULL;
- }
-
- /* wifi auto change */
- mmcsd_change(host2);
- #endif
- mmcsd_mutex = rt_mutex_create("mmutex", RT_IPC_FLAG_PRIO);
-
- if (mmcsd_mutex == RT_NULL)
- {
- rt_kprintf("create mmcsd mutex failed.\n");
- return -1;
- }
-
- return 0;
-}
-INIT_DEVICE_EXPORT(rt_hw_sdio_init);
-
-void sdcard_change(void)
-{
- mmcsd_change(host1);
-}
-
-#endif /* RT_USING_SDIO */
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/port/drv_sdio.h b/bsp/stm32/stm32h750-artpi-h750/board/port/drv_sdio.h
deleted file mode 100644
index 53ded93d59..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/board/port/drv_sdio.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright (c) 2006-2022, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2020-05-23 liuduanfei first version
- * 2020-08-25 wanghaijing add sdmmmc2
- */
-
-#ifndef __DRV_SDIO_H__
-#define __DRV_SDIO_H__
-
-#include
-#include "rtdevice.h"
-#include
-#include
-#include
-#include
-#include
-
-#define SDIO_BUFF_SIZE 4096
-#define SDIO_ALIGN_LEN 32
-
-#ifndef SDIO1_BASE_ADDRESS
-#define SDIO1_BASE_ADDRESS (0x52007000)
-#endif
-
-#ifndef SDIO2_BASE_ADDRESS
-#define SDIO2_BASE_ADDRESS (0x48022400)
-#endif
-
-#ifndef SDIO_CLOCK_FREQ
-#define SDIO_CLOCK_FREQ (200U * 1000 * 1000)
-#endif
-
-#ifndef SDIO_BUFF_SIZE
-#define SDIO_BUFF_SIZE (4096)
-#endif
-
-#ifndef SDIO_ALIGN_LEN
-#define SDIO_ALIGN_LEN (32)
-#endif
-
-#ifndef SDIO_MAX_FREQ
-#define SDIO_MAX_FREQ (25 * 1000 * 1000)
-#endif
-
-#define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d))
-
-#define SDIO_ERRORS \
- (SDMMC_STA_IDMATE | SDMMC_STA_ACKTIMEOUT | \
- SDMMC_STA_RXOVERR | SDMMC_STA_TXUNDERR | \
- SDMMC_STA_DTIMEOUT | SDMMC_STA_CTIMEOUT | \
- SDMMC_STA_DCRCFAIL | SDMMC_STA_CCRCFAIL)
-
-#define SDIO_MASKR_ALL \
- (SDMMC_MASK_CCRCFAILIE | SDMMC_MASK_DCRCFAILIE | SDMMC_MASK_CTIMEOUTIE | \
- SDMMC_MASK_TXUNDERRIE | SDMMC_MASK_RXOVERRIE | SDMMC_MASK_CMDRENDIE | \
- SDMMC_MASK_CMDSENTIE | SDMMC_MASK_DATAENDIE | SDMMC_MASK_ACKTIMEOUTIE)
-
-#define HW_SDIO_DATATIMEOUT (0xFFFFFFFFU)
-
-struct stm32_sdio
-{
- volatile rt_uint32_t power; /* offset 0x00 */
- volatile rt_uint32_t clkcr; /* offset 0x04 */
- volatile rt_uint32_t arg; /* offset 0x08 */
- volatile rt_uint32_t cmd; /* offset 0x0C */
- volatile rt_uint32_t respcmd; /* offset 0x10 */
- volatile rt_uint32_t resp1; /* offset 0x14 */
- volatile rt_uint32_t resp2; /* offset 0x18 */
- volatile rt_uint32_t resp3; /* offset 0x1C */
- volatile rt_uint32_t resp4; /* offset 0x20 */
- volatile rt_uint32_t dtimer; /* offset 0x24 */
- volatile rt_uint32_t dlen; /* offset 0x28 */
- volatile rt_uint32_t dctrl; /* offset 0x2C */
- volatile rt_uint32_t dcount; /* offset 0x30 */
- volatile rt_uint32_t sta; /* offset 0x34 */
- volatile rt_uint32_t icr; /* offset 0x38 */
- volatile rt_uint32_t mask; /* offset 0x3C */
- volatile rt_uint32_t acktimer; /* offset 0x40 */
- volatile rt_uint32_t reserved0[3]; /* offset 0x44 ~ 0x4C */
- volatile rt_uint32_t idmatrlr; /* offset 0x50 */
- volatile rt_uint32_t idmabsizer; /* offset 0x54 */
- volatile rt_uint32_t idmabase0r; /* offset 0x58 */
- volatile rt_uint32_t idmabase1r; /* offset 0x5C */
- volatile rt_uint32_t reserved1[8]; /* offset 0x60 ~ 7C */
- volatile rt_uint32_t fifo; /* offset 0x80 */
-};
-
-typedef rt_uint32_t (*sdio_clk_get)(struct stm32_sdio *hw_sdio);
-
-struct stm32_sdio_des
-{
- struct stm32_sdio *hw_sdio;
- sdio_clk_get clk_get;
- SD_HandleTypeDef hsd;
-};
-
-/* stm32 sdio dirver class */
-struct stm32_sdio_class
-{
- struct stm32_sdio_des *des;
- const struct stm32_sdio_config *cfg;
- struct rt_mmcsd_host host;
-};
-
-extern void sdcard_change(void);
-
-#endif /* __DRV_SDIO_H__ */
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/port/drv_spi_ili9488.c b/bsp/stm32/stm32h750-artpi-h750/board/port/drv_spi_ili9488.c
deleted file mode 100644
index 9852102bf6..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/board/port/drv_spi_ili9488.c
+++ /dev/null
@@ -1,1167 +0,0 @@
-/*
- * Copyright (c) 2006-2022, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2020-08-10 zylx first version
- * 2022-02-01 Rudy Lo add lcd_fill_array function
- */
-
-#include
-
-#ifdef BSP_USING_SPI_LCD_ILI9488
-#include
-#include "drv_spi.h"
-#include "drv_spi_ili9488.h"
-#include
-#include "drv_lcd_font.h"
-#include
-#include
-
-#if defined(PKG_USING_GUIENGINE)
-#include
-#endif
-
-#define DRV_DEBUG
-#define LOG_TAG "drv.spi_lcd"
-#include
-
-#define LCD_DC_PIN GET_PIN(C, 7)
-
-#define LCD_DEVICE(dev) (struct drv_lcd_device*)(dev)
-
-#define LCD_CLEAR_SEND_NUMBER (LCD_H * LCD_W *3)
-
-static rt_uint32_t BACK_COLOR = WHITE, FORE_COLOR = BLACK;
-static struct rt_spi_device *spi_dev_lcd;
-
-static int rt_hw_lcd_config(void)
-{
- spi_dev_lcd = (struct rt_spi_device *)rt_device_find("spi20");
-
- /* config spi */
- {
- struct rt_spi_configuration cfg;
- cfg.data_width = 8;
- cfg.mode = RT_SPI_MASTER | RT_SPI_MODE_0 | RT_SPI_MSB;
- cfg.max_hz = 50 * 1000 * 1000;
-
- rt_spi_configure(spi_dev_lcd, &cfg);
- }
-
- return RT_EOK;
-}
-
-static rt_err_t lcd_write_cmd(const rt_uint8_t cmd)
-{
- rt_size_t len;
-
- rt_pin_write(LCD_DC_PIN, PIN_LOW);
-
- len = rt_spi_send(spi_dev_lcd, &cmd, 1);
-
- if (len != 1)
- {
- LOG_I("lcd_write_cmd error. %d", len);
- return -RT_ERROR;
- }
- else
- {
- return RT_EOK;
- }
-}
-
-static rt_err_t lcd_write_data(const rt_uint8_t data)
-{
- rt_size_t len;
-
- rt_pin_write(LCD_DC_PIN, PIN_HIGH);
-
- len = rt_spi_send(spi_dev_lcd, &data, 1);
-
- if (len != 1)
- {
- LOG_I("lcd_write_data error. %d", len);
- return -RT_ERROR;
- }
- else
- {
- return RT_EOK;
- }
-}
-
-static rt_err_t lcd_write_half_word(const rt_uint16_t da)
-{
- rt_size_t len;
- char data[2] = {0};
-
- data[0] = da >> 8;
- data[1] = da;
-
- rt_pin_write(LCD_DC_PIN, PIN_HIGH);
- len = rt_spi_send(spi_dev_lcd, data, 2);
- if (len != 2)
- {
- LOG_I("lcd_write_half_word error. %d", len);
- return -RT_ERROR;
- }
- else
- {
- return RT_EOK;
- }
-}
-
-static rt_err_t lcd_write_three_bytes(const rt_uint32_t da)
-{
- rt_size_t len;
- char data[3] = {0};
-
- data[0] = da >> 16;
- data[1] = da >> 8;
- data[2] = da;
-
- rt_pin_write(LCD_DC_PIN, PIN_HIGH);
- len = rt_spi_send(spi_dev_lcd, data, 3);
- if (len != 3)
- {
- LOG_I("lcd_write_half_word error. %d", len);
- return -RT_ERROR;
- }
- else
- {
- return RT_EOK;
- }
-}
-
-static void lcd_gpio_init(void)
-{
- rt_hw_lcd_config();
-
- __HAL_RCC_GPIOC_CLK_ENABLE();
- rt_pin_mode(LCD_DC_PIN, PIN_MODE_OUTPUT);
- rt_pin_mode(LCD_BL_PIN, PIN_MODE_OUTPUT);
- rt_pin_mode(LCD_RES_PIN, PIN_MODE_OUTPUT);
- rt_pin_write(LCD_BL_PIN, PIN_LOW);
-}
-
-int rt_hw_spi_lcd_init(void)
-{
- __HAL_RCC_GPIOI_CLK_ENABLE();
- rt_hw_spi_device_attach("spi2", "spi20", GPIOI, GPIO_PIN_0);
- lcd_gpio_init();
-
- rt_pin_write(LCD_RES_PIN, PIN_HIGH);
- rt_thread_mdelay(10);
- rt_pin_write(LCD_RES_PIN, PIN_LOW);
- rt_thread_mdelay(50);
- rt_pin_write(LCD_RES_PIN, PIN_HIGH);
- rt_thread_mdelay(200);
-
- //************* Start Initial Sequence **********//
- lcd_write_cmd(0xE0);
- lcd_write_data(0x00);
- lcd_write_data(0x07);
- lcd_write_data(0x0f);
- lcd_write_data(0x0D);
- lcd_write_data(0x1B);
- lcd_write_data(0x0A);
- lcd_write_data(0x3c);
- lcd_write_data(0x78);
- lcd_write_data(0x4A);
- lcd_write_data(0x07);
- lcd_write_data(0x0E);
- lcd_write_data(0x09);
- lcd_write_data(0x1B);
- lcd_write_data(0x1e);
- lcd_write_data(0x0f);
-
- lcd_write_cmd(0xE1);
- lcd_write_data(0x00);
- lcd_write_data(0x22);
- lcd_write_data(0x24);
- lcd_write_data(0x06);
- lcd_write_data(0x12);
- lcd_write_data(0x07);
- lcd_write_data(0x36);
- lcd_write_data(0x47);
- lcd_write_data(0x47);
- lcd_write_data(0x06);
- lcd_write_data(0x0a);
- lcd_write_data(0x07);
- lcd_write_data(0x30);
- lcd_write_data(0x37);
- lcd_write_data(0x0f);
-
- lcd_write_cmd(0xC0);
- lcd_write_data(0x10);
- lcd_write_data(0x10);
-
- lcd_write_cmd(0xC1);
- lcd_write_data(0x41);
-
- lcd_write_cmd(0xC5);
- lcd_write_data(0x00);
- lcd_write_data(0x22);
- lcd_write_data(0x80);
-
- lcd_write_cmd(0x36);
-#ifndef LCD_HOR_SCREEN
- lcd_write_data(0x48);
-#else
- lcd_write_data(0x28);
-#endif
-
- lcd_write_cmd(0x3A); //Interface Mode Control
- lcd_write_data(0x66);
-
- lcd_write_cmd(0XB0); //Interface Mode Control
- lcd_write_data(0x00);
- lcd_write_cmd(0xB1); //Frame rate 70HZ
- lcd_write_data(0xB0);
- lcd_write_data(0x11);
- lcd_write_cmd(0xB4);
- lcd_write_data(0x02);
- lcd_write_cmd(0xB6); //RGB/MCU Interface Control
- lcd_write_data(0x02);
- lcd_write_data(0x02);
-
- lcd_write_cmd(0xB7);
- lcd_write_data(0xC6);
-
- lcd_write_cmd(0xE9);
- lcd_write_data(0x00);
-
- lcd_write_cmd(0XF7);
- lcd_write_data(0xA9);
- lcd_write_data(0x51);
- lcd_write_data(0x2C);
- lcd_write_data(0x82);
-
- lcd_fill(0, 0, LCD_WIDTH, LCD_HEIGHT, LCD_FULL_COLOR);
-
- lcd_write_cmd(0x11);
- rt_thread_mdelay(120);
- lcd_write_cmd(0x29);
-
- rt_thread_mdelay(50); //delay screen update to prevent screen appears white when the default color is black
-
- return RT_EOK;
-}
-
-/**
- * Set background color and foreground color
- *
- * @param back background color
- * @param fore fore color
- *
- * @return void
- */
-void lcd_set_color(rt_uint32_t back, rt_uint32_t fore)
-{
- BACK_COLOR = back;
- FORE_COLOR = fore;
-}
-
-void lcd_display_on(void)
-{
- rt_pin_write(LCD_BL_PIN, PIN_HIGH);
-}
-
-void lcd_display_off(void)
-{
- rt_pin_write(LCD_BL_PIN, PIN_LOW);
-}
-
-/* lcd enter the minimum power consumption mode and backlight off. */
-void lcd_enter_sleep(void)
-{
- lcd_display_off();
- rt_thread_mdelay(5);
- lcd_write_cmd(0x28);
- rt_thread_mdelay(10);
- lcd_write_cmd(0x10);
- rt_thread_mdelay(120);
-}
-/* lcd turn off sleep mode and backlight on. */
-void lcd_exit_sleep(void)
-{
- lcd_display_on();
- rt_thread_mdelay(5);
- lcd_write_cmd(0x11);
- rt_thread_mdelay(120);
- lcd_write_cmd(0x29);
-}
-
-/**
- * Set drawing area
- *
- * @param x1 start of x position
- * @param y1 start of y position
- * @param x2 end of x position
- * @param y2 end of y position
- *
- * @return void
- */
-void lcd_address_set(rt_uint16_t x1, rt_uint16_t y1, rt_uint16_t x2, rt_uint16_t y2)
-{
- lcd_write_cmd(0x2a);
- lcd_write_data(x1 >> 8);
- lcd_write_data(x1);
- lcd_write_data(x2 >> 8);
- lcd_write_data(x2);
-
- lcd_write_cmd(0x2b);
- lcd_write_data(y1 >> 8);
- lcd_write_data(y1);
- lcd_write_data(y2 >> 8);
- lcd_write_data(y2);
-
- lcd_write_cmd(0x2C);
-}
-
-/**
- * clear the lcd.
- *
- * @param color Fill color
- *
- * @return void
- */
-void lcd_clear(rt_uint32_t color)
-{
- rt_uint32_t i, j;
- rt_uint8_t data[3] = {0};
- rt_uint8_t *buf = RT_NULL;
-
- data[0] = color >> 16;
- data[1] = color >> 8;
- data[2] = color;
- lcd_address_set(0, 0, LCD_WIDTH - 1, LCD_HEIGHT - 1);
-
- buf = rt_malloc(LCD_BUF_SIZE);
- if (buf)
- {
- /* color is 16 bit */
- for (j = 0; j < LCD_BUF_SIZE / 3; j++)
- {
- buf[j * 3] = data[0];
- buf[j * 3 + 1] = data[1];
- buf[j * 3 + 2] = data[2];
- }
-
- rt_pin_write(LCD_DC_PIN, PIN_HIGH);
- rt_spi_send(spi_dev_lcd, buf, LCD_BUF_SIZE);
- rt_free(buf);
- }
- else
- {
- rt_pin_write(LCD_DC_PIN, PIN_HIGH);
- for (i = 0; i < LCD_WIDTH; i++)
- {
- for (j = 0; j < LCD_HEIGHT; j++)
- {
- rt_spi_send(spi_dev_lcd, data, 3);
- }
- }
- }
-}
-
-/**
- * display a point on the lcd using the given colour.
- *
- * @param x x position
- * @param y y position
- * @param color color of point
- *
- * @return void
- */
-void lcd_draw_point_color(rt_uint16_t x, rt_uint16_t y, rt_uint32_t color)
-{
- lcd_address_set(x, y, x, y);
- lcd_write_three_bytes(color);
-}
-
-/**
- * display a point on the lcd.
- *
- * @param x x position
- * @param y y position
- *
- * @return void
- */
-void lcd_draw_point(rt_uint16_t x, rt_uint16_t y)
-{
- lcd_draw_point_color(x, y, FORE_COLOR);
-}
-
-/**
- * full color on the lcd.
- *
- * @param x_start start of x position
- * @param y_start start of y position
- * @param x_end end of x position
- * @param y_end end of y position
- * @param color Fill color
- *
- * @return void
- */
-void lcd_fill(rt_uint16_t x_start, rt_uint16_t y_start, rt_uint16_t x_end, rt_uint16_t y_end, rt_uint32_t color)
-{
- rt_uint32_t i = 0, j = 0;
- rt_uint32_t size = 0, size_remain = 0;
- rt_uint8_t *fill_buf = RT_NULL;
-
- size = (x_end - x_start) * (y_end - y_start) * 3;
-
- if (size > LCD_CLEAR_SEND_NUMBER)
- {
- /* the number of remaining to be filled */
- size_remain = size - LCD_CLEAR_SEND_NUMBER;
- size = LCD_CLEAR_SEND_NUMBER;
- }
-
- lcd_address_set(x_start, y_start, x_end, y_end);
-
- fill_buf = (rt_uint8_t *)rt_malloc(LCD_CLEAR_SEND_NUMBER);
- if (fill_buf)
- {
- /* fast fill */
- while (1)
- {
- for (i = 0; i < size / 3; i++)
- {
- fill_buf[3 * i] = color >> 16;
- fill_buf[3 * i + 1] = color >> 8;
- fill_buf[3 * i + 2] = color;
- }
- rt_pin_write(LCD_DC_PIN, PIN_HIGH);
- rt_spi_send(spi_dev_lcd, fill_buf, size);
-
- /* Fill completed */
- if (size_remain == 0)
- break;
-
- /* calculate the number of fill next time */
- if (size_remain > LCD_CLEAR_SEND_NUMBER)
- {
- size_remain = size_remain - LCD_CLEAR_SEND_NUMBER;
- }
- else
- {
- size = size_remain;
- size_remain = 0;
- }
-
- }
- rt_free(fill_buf);
- }
- else
- {
- for (i = y_start; i <= y_end; i++)
- {
- for (j = x_start; j <= x_end; j++)lcd_write_three_bytes(color);
- }
- }
-}
-
-/**
- * full color array on the lcd.
- *
- * @param x_start start of x position
- * @param y_start start of y position
- * @param x_end end of x position
- * @param y_end end of y position
- * @param pcolor Fill color array's pointer
- *
- * @return void
- */
-void lcd_fill_array(rt_uint16_t x_start, rt_uint16_t y_start, rt_uint16_t x_end, rt_uint16_t y_end, void *pcolor)
-{
- rt_uint32_t size = 0;
- rt_uint8_t *array = RT_NULL;
-
- size = (x_end - x_start + 1) * (y_end - y_start + 1) * 3 /* 24bit */;
- array = (rt_uint8_t *)rt_malloc(size);
-
- if (!array) {
- LOG_E("not enough memory");
- return ;
- }
-
- rt_uint32_t *color_p = (rt_uint32_t *)pcolor;
-
- for (rt_uint16_t i = 0; i < size / 3; i++)
- {
- array[3 * i] = *color_p >> 16;
- array[3 * i + 1] = *color_p >> 8;
- array[3 * i + 2] = *color_p;
- color_p++;
- }
-
- lcd_address_set(x_start, y_start, x_end, y_end);
- rt_pin_write(LCD_DC_PIN, PIN_HIGH);
- rt_spi_send(spi_dev_lcd, array, size);
-
- rt_free(array);
-}
-
-/**
- * display a line on the lcd.
- *
- * @param x1 x1 position
- * @param y1 y1 position
- * @param x2 x2 position
- * @param y2 y2 position
- *
- * @return void
- */
-void lcd_draw_line(rt_uint16_t x1, rt_uint16_t y1, rt_uint16_t x2, rt_uint16_t y2)
-{
- rt_uint16_t t;
- rt_uint32_t i = 0;
- int xerr = 0, yerr = 0, delta_x, delta_y, distance;
- int incx, incy, row, col;
-
- if (y1 == y2)
- {
- /* fast draw transverse line */
- lcd_address_set(x1, y1, x2, y2);
-
- rt_uint8_t line_buf[960] = {0};
-
- for (i = 0; i < x2 - x1; i++)
- {
- line_buf[3 * i] = FORE_COLOR >> 16;
- line_buf[3 * i + 1] = FORE_COLOR >> 8;
- line_buf[3 * i + 2] = FORE_COLOR;
- }
-
- rt_pin_write(LCD_DC_PIN, PIN_HIGH);
- rt_spi_send(spi_dev_lcd, line_buf, (x2 - x1) * 3);
-
- return ;
- }
-
- delta_x = x2 - x1;
- delta_y = y2 - y1;
- row = x1;
- col = y1;
- if (delta_x > 0)incx = 1;
- else if (delta_x == 0)incx = 0;
- else
- {
- incx = -1;
- delta_x = -delta_x;
- }
- if (delta_y > 0)incy = 1;
- else if (delta_y == 0)incy = 0;
- else
- {
- incy = -1;
- delta_y = -delta_y;
- }
- if (delta_x > delta_y)distance = delta_x;
- else distance = delta_y;
- for (t = 0; t <= distance + 1; t++)
- {
- lcd_draw_point(row, col);
- xerr += delta_x ;
- yerr += delta_y ;
- if (xerr > distance)
- {
- xerr -= distance;
- row += incx;
- }
- if (yerr > distance)
- {
- yerr -= distance;
- col += incy;
- }
- }
-}
-
-/**
- * display a rectangle on the lcd.
- *
- * @param x1 x1 position
- * @param y1 y1 position
- * @param x2 x2 position
- * @param y2 y2 position
- *
- * @return void
- */
-void lcd_draw_rectangle(rt_uint16_t x1, rt_uint16_t y1, rt_uint16_t x2, rt_uint16_t y2)
-{
- lcd_draw_line(x1, y1, x2, y1);
- lcd_draw_line(x1, y1, x1, y2);
- lcd_draw_line(x1, y2, x2, y2);
- lcd_draw_line(x2, y1, x2, y2);
-}
-
-/**
- * display a circle on the lcd.
- *
- * @param x x position of Center
- * @param y y position of Center
- * @param r radius
- *
- * @return void
- */
-void lcd_draw_circle(rt_uint16_t x0, rt_uint16_t y0, rt_uint8_t r)
-{
- int a, b;
- int di;
- a = 0;
- b = r;
- di = 3 - (r << 1);
- while (a <= b)
- {
- lcd_draw_point(x0 - b, y0 - a);
- lcd_draw_point(x0 + b, y0 - a);
- lcd_draw_point(x0 - a, y0 + b);
- lcd_draw_point(x0 - b, y0 - a);
- lcd_draw_point(x0 - a, y0 - b);
- lcd_draw_point(x0 + b, y0 + a);
- lcd_draw_point(x0 + a, y0 - b);
- lcd_draw_point(x0 + a, y0 + b);
- lcd_draw_point(x0 - b, y0 + a);
- a++;
- //Bresenham
- if (di < 0)di += 4 * a + 6;
- else
- {
- di += 10 + 4 * (a - b);
- b--;
- }
- lcd_draw_point(x0 + a, y0 + b);
- }
-}
-
-static void lcd_show_char(rt_uint16_t x, rt_uint16_t y, rt_uint8_t data, rt_uint32_t size)
-{
- rt_uint8_t temp;
- rt_uint8_t num = 0;;
- rt_uint8_t pos, t;
- rt_uint32_t colortemp = FORE_COLOR;
- rt_uint8_t *font_buf = RT_NULL;
-
- if (x > LCD_WIDTH - size / 2 || y > LCD_HEIGHT - size)return;
-
- data = data - ' ';
-#ifdef ASC2_1608
- if (size == 16)
- {
- lcd_address_set(x, y, x + size / 2 - 1, y + size - 1);//(x,y,x+8-1,y+16-1)
-
- font_buf = (rt_uint8_t *)rt_malloc(size * size / 2 * 3);
- if (!font_buf)
- {
- /* fast show char */
- for (pos = 0; pos < size * (size / 2) / 8; pos++)
- {
- temp = asc2_1608[(rt_uint16_t)data * size * (size / 2) / 8 + pos];
- for (t = 0; t < 8; t++)
- {
- if (temp & 0x80)colortemp = FORE_COLOR;
- else colortemp = BACK_COLOR;
- lcd_write_three_bytes(colortemp);
- temp <<= 1;
- }
- }
- }
- else
- {
- for (pos = 0; pos < size * (size / 2) / 8; pos++)
- {
- temp = asc2_1608[(rt_uint16_t)data * size * (size / 2) / 8 + pos];
- for (t = 0; t < 8; t++)
- {
- if (temp & 0x80)colortemp = FORE_COLOR;
- else colortemp = BACK_COLOR;
- font_buf[3 * (8 * pos + t)] = colortemp >> 16;
- font_buf[3 * (8 * pos + t) + 1] = colortemp >> 8;
- font_buf[3 * (8 * pos + t) + 2] = colortemp;
- temp <<= 1;
- }
- }
- rt_pin_write(LCD_DC_PIN, PIN_HIGH);
- rt_spi_send(spi_dev_lcd, font_buf, size * size / 2 * 3);
- rt_free(font_buf);
- }
- }
- else
-#endif
-
-#ifdef ASC2_2412
- if (size == 24)
- {
- lcd_address_set(x, y, x + size / 2 - 1, y + size - 1);
-
- font_buf = (rt_uint8_t *)rt_malloc(size * size / 2 * 3);
- if (!font_buf)
- {
- /* fast show char */
- for (pos = 0; pos < (size * 16) / 8; pos++)
- {
- temp = asc2_2412[(rt_uint16_t)data * (size * 16) / 8 + pos];
- if (pos % 2 == 0)
- {
- num = 8;
- }
- else
- {
- num = 4;
- }
-
- for (t = 0; t < num; t++)
- {
- if (temp & 0x80)colortemp = FORE_COLOR;
- else colortemp = BACK_COLOR;
- lcd_write_three_bytes(colortemp);
- temp <<= 1;
- }
- }
- }
- else
- {
- for (pos = 0; pos < (size * 16) / 8; pos++)
- {
- temp = asc2_2412[(rt_uint16_t)data * (size * 16) / 8 + pos];
- if (pos % 2 == 0)
- {
- num = 8;
- }
- else
- {
- num = 4;
- }
-
- for (t = 0; t < num; t++)
- {
- if (temp & 0x80)colortemp = FORE_COLOR;
- else colortemp = BACK_COLOR;
- if (num == 8)
- {
- font_buf[3 * (12 * (pos / 2) + t)] = colortemp >> 16;
- font_buf[3 * (12 * (pos / 2) + t) + 1] = colortemp >> 8;
- font_buf[3 * (12 * (pos / 2) + t) + 2] = colortemp;
- }
- else
- {
- font_buf[3 * (8 + 12 * (pos / 2) + t)] = colortemp >> 16;
- font_buf[3 * (8 + 12 * (pos / 2) + t) + 1] = colortemp >> 8;
- font_buf[3 * (8 + 12 * (pos / 2) + t) + 2] = colortemp;
- }
- temp <<= 1;
- }
- }
- rt_pin_write(LCD_DC_PIN, PIN_HIGH);
- rt_spi_send(spi_dev_lcd, font_buf, size * size / 2 * 3);
- rt_free(font_buf);
- }
- }
- else
-#endif
-
-#ifdef ASC2_3216
- if (size == 32)
- {
- lcd_address_set(x, y, x + size / 2 - 1, y + size - 1);
-
- font_buf = (rt_uint8_t *)rt_malloc(size * size / 2 * 3);
- if (!font_buf)
- {
- /* fast show char */
- for (pos = 0; pos < size * (size / 2) / 8; pos++)
- {
- temp = asc2_3216[(rt_uint16_t)data * size * (size / 2) / 8 + pos];
- for (t = 0; t < 8; t++)
- {
- if (temp & 0x80)colortemp = FORE_COLOR;
- else colortemp = BACK_COLOR;
- lcd_write_three_bytes(colortemp);
- temp <<= 1;
- }
- }
- }
- else
- {
- for (pos = 0; pos < size * (size / 2) / 8; pos++)
- {
- temp = asc2_3216[(rt_uint16_t)data * size * (size / 2) / 8 + pos];
- for (t = 0; t < 8; t++)
- {
- if (temp & 0x80)colortemp = FORE_COLOR;
- else colortemp = BACK_COLOR;
- font_buf[3 * (8 * pos + t)] = colortemp >> 16;
- font_buf[3 * (8 * pos + t) + 1] = colortemp >> 8;
- font_buf[3 * (8 * pos + t) + 2] = colortemp;
- temp <<= 1;
- }
- }
- rt_pin_write(LCD_DC_PIN, PIN_HIGH);
- rt_spi_send(spi_dev_lcd, font_buf, size * size / 2 * 3);
- rt_free(font_buf);
- }
- }
- else
-#endif
- {
- LOG_E("There is no any define ASC2_1208 && ASC2_2412 && ASC2_2416 && ASC2_3216 !");
- }
-}
-
-/**
- * display the number on the lcd.
- *
- * @param x x position
- * @param y y position
- * @param num number
- * @param len length of number
- * @param size size of font
- *
- * @return void
- */
-void lcd_show_num(rt_uint16_t x, rt_uint16_t y, rt_uint32_t num, rt_uint8_t len, rt_uint32_t size)
-{
- lcd_show_string(x, y, size, "%d", num);
-}
-
-/**
- * display the string on the lcd.
- *
- * @param x x position
- * @param y y position
- * @param size size of font
- * @param p the string to be display
- *
- * @return 0: display success
- * -1: size of font is not support
- */
-rt_err_t lcd_show_string(rt_uint16_t x, rt_uint16_t y, rt_uint32_t size, const char *fmt, ...)
-{
-#define LCD_STRING_BUF_LEN 128
-
- va_list args;
- rt_uint8_t buf[LCD_STRING_BUF_LEN] = {0};
- rt_uint8_t *p = RT_NULL;
-
- if (size != 16 && size != 24 && size != 32)
- {
- LOG_E("font size(%d) is not support!", size);
- return -RT_ERROR;
- }
-
- va_start(args, fmt);
- rt_vsnprintf((char *)buf, 100, (const char *)fmt, args);
- va_end(args);
-
- p = buf;
- while (*p != '\0')
- {
- if (x > LCD_WIDTH - size / 2)
- {
- x = 0;
- y += size;
- }
- if (y > LCD_HEIGHT - size)
- {
- y = x = 0;
- lcd_clear(RED);
- }
- lcd_show_char(x, y, *p, size);
- x += size / 2;
- p++;
- }
-
- return RT_EOK;
-}
-
-/**
- * display the image on the lcd.
- *
- * @param x x position
- * @param y y position
- * @param length length of image
- * @param wide wide of image
- * @param p image
- *
- * @return 0: display success
- * -1: the image is too large
- */
-rt_err_t lcd_show_image(rt_uint16_t x, rt_uint16_t y, rt_uint16_t length, rt_uint16_t wide, const rt_uint8_t *p)
-{
- RT_ASSERT(p);
-
- if (x + length > LCD_WIDTH || y + wide > LCD_HEIGHT)
- {
- return -RT_ERROR;
- }
-
- lcd_address_set(x, y, x + length - 1, y + wide - 1);
-
- rt_pin_write(LCD_DC_PIN, PIN_HIGH);
- rt_spi_send(spi_dev_lcd, p, length * wide * 3);
-
- return RT_EOK;
-}
-
-struct drv_lcd_device
-{
- struct rt_device parent;
-
- struct rt_device_graphic_info lcd_info;
-
- struct rt_semaphore lcd_lock;
-
- /* 0:front_buf is being used 1: back_buf is being used*/
- rt_uint8_t cur_buf;
- rt_uint8_t *front_buf;
- rt_uint8_t *back_buf;
-};
-
-struct drv_lcd_device _lcd;
-
-static rt_err_t drv_lcd_init(struct rt_device *device)
-{
- struct drv_lcd_device *lcd = LCD_DEVICE(device);
- /* nothing, right now */
- lcd = lcd;
- return RT_EOK;
-}
-
-static rt_err_t drv_lcd_control(struct rt_device *device, int cmd, void *args)
-{
- struct drv_lcd_device *lcd = LCD_DEVICE(device);
- struct rt_device_rect_info *rect_info = RT_NULL;
- uint32_t data_start_addr = 0;
- uint32_t i = 0;
-
- switch (cmd)
- {
- case RTGRAPHIC_CTRL_RECT_UPDATE:
- {
- /* update */
- rect_info = (struct rt_device_rect_info *)args;
- if(rect_info != NULL)
- {
- data_start_addr = rect_info->y * LCD_BYTES_PER_PIXEL * LCD_WIDTH + rect_info->x * LCD_BYTES_PER_PIXEL;
- for(i = 0; i < rect_info->height; i++)
- {
- memcpy(&_lcd.front_buf[i * LCD_BYTES_PER_PIXEL * rect_info->width], &_lcd.lcd_info.framebuffer[data_start_addr + i * LCD_BYTES_PER_PIXEL * LCD_WIDTH], rect_info->width * LCD_BYTES_PER_PIXEL);
- }
- lcd_show_image(rect_info->x, rect_info->y, rect_info->width, rect_info->height, _lcd.front_buf);
- }
- else
- {
- memcpy(_lcd.front_buf, _lcd.lcd_info.framebuffer, LCD_BUF_SIZE);
- lcd_show_image(0, 0, LCD_WIDTH, LCD_HEIGHT, _lcd.front_buf);
- }
- }
- break;
-
- case RTGRAPHIC_CTRL_GET_INFO:
- {
- struct rt_device_graphic_info *info = (struct rt_device_graphic_info *)args;
-
- RT_ASSERT(info != RT_NULL);
- info->pixel_format = lcd->lcd_info.pixel_format;
- info->bits_per_pixel = lcd->lcd_info.bits_per_pixel;
- info->width = lcd->lcd_info.width;
- info->height = lcd->lcd_info.height;
- info->framebuffer = lcd->lcd_info.framebuffer;
- }
- break;
- }
-
- return RT_EOK;
-}
-
-#if defined(LCD_BACKLIGHT_USING_GPIO)
-void turn_on_lcd_backlight(void)
-{
- rt_pin_mode(LCD_BL_PIN, PIN_MODE_OUTPUT);
- rt_pin_write(LCD_BL_PIN, PIN_HIGH);
-}
-#else
-void turn_on_lcd_backlight(void)
-{
-
-}
-#endif
-
-#ifdef RT_USING_DEVICE_OPS
-const static struct rt_device_ops lcd_ops =
-{
- drv_lcd_init,
- RT_NULL,
- RT_NULL,
- RT_NULL,
- RT_NULL,
- drv_lcd_control
-};
-#endif
-
-int drv_lcd_ili9488_hw_init(void)
-{
- rt_err_t result = RT_EOK;
- struct rt_device *device = &_lcd.parent;
-
- /* memset _lcd to zero */
- memset(&_lcd, 0x00, sizeof(_lcd));
-
- /* init lcd_lock semaphore */
- result = rt_sem_init(&_lcd.lcd_lock, "lcd_lock", 0, RT_IPC_FLAG_FIFO);
- if (result != RT_EOK)
- {
- LOG_E("init semaphore failed!\n");
- result = -RT_ENOMEM;
- goto __exit;
- }
-
- /* config LCD dev info */
- _lcd.lcd_info.height = LCD_HEIGHT;
- _lcd.lcd_info.width = LCD_WIDTH;
- _lcd.lcd_info.bits_per_pixel = LCD_BITS_PER_PIXEL;
- _lcd.lcd_info.pixel_format = LCD_PIXEL_FORMAT;
-
- /* malloc memory for double Buffering */
- _lcd.lcd_info.framebuffer = rt_malloc(LCD_BUF_SIZE);
- _lcd.front_buf = rt_malloc(LCD_BUF_SIZE);
- if (_lcd.lcd_info.framebuffer == RT_NULL || _lcd.front_buf == RT_NULL)
- {
- LOG_E("init frame buffer failed!\n");
- result = -RT_ENOMEM;
- goto __exit;
- }
-
- /* memset buff to 0xFF */
- memset(_lcd.lcd_info.framebuffer, 0xFF, LCD_BUF_SIZE);
- memset(_lcd.front_buf, 0xFF, LCD_BUF_SIZE);
-
- device->type = RT_Device_Class_Graphic;
-#ifdef RT_USING_DEVICE_OPS
- device->ops = &lcd_ops;
-#else
- device->init = drv_lcd_init;
- device->control = drv_lcd_control;
-#endif
-
- /* register lcd device */
- rt_device_register(device, "lcd", RT_DEVICE_FLAG_RDWR);
-
- /* init spi lcd */
- if (rt_hw_spi_lcd_init() != RT_EOK)
- {
- result = -RT_ERROR;
- goto __exit;
- }
- else
- {
- turn_on_lcd_backlight();
- }
-
-#if defined(PKG_USING_GUIENGINE)
- rtgui_graphic_set_device(device);
-#endif
-
-__exit:
- if (result != RT_EOK)
- {
- rt_sem_detach(&_lcd.lcd_lock);
-
- if (_lcd.lcd_info.framebuffer)
- {
- rt_free(_lcd.lcd_info.framebuffer);
- }
-
- if (_lcd.back_buf)
- {
- rt_free(_lcd.back_buf);
- }
-
- if (_lcd.front_buf)
- {
- rt_free(_lcd.front_buf);
- }
- }
- return result;
-}
-INIT_COMPONENT_EXPORT(drv_lcd_ili9488_hw_init);
-
-#ifdef DRV_DEBUG
-#ifdef FINSH_USING_MSH
-int ili9488_test()
-{
- struct drv_lcd_device *lcd;
- lcd = (struct drv_lcd_device *)rt_device_find("lcd");
- struct rt_device_rect_info rect_info = {0, 0, LCD_WIDTH, LCD_HEIGHT};
- uint32_t i = 0;
-
- lcd_clear(WHITE);
-
- lcd_show_image(0, 0, 240, 69, image_rttlogo);
-
- lcd_set_color(WHITE, BLACK);
-
- lcd_show_string(10, 69, 16, "Hello, RT-Thread!");
- lcd_show_string(10, 69+16, 24, "RT-Thread");
- lcd_show_string(10, 69+16+24, 32, "RT-Thread");
-
- lcd_draw_line(0, 69+16+24+32, LCD_H, 69+16+24+32);
-
- lcd_draw_point(160, 310);
- for (int i = 0; i < 150; i += 4)
- {
- lcd_draw_circle(160, 310, i);
- }
-
- rt_thread_mdelay(2000);
-
- while (1)
- {
- i += 10;
- if(i >= 120)
- {
- i = 0;
- }
-
- rect_info.x = i;
- rect_info.y = i;
- rect_info.width =LCD_WIDTH - 2 * i;
- rect_info.height =LCD_HEIGHT - 2 * i;
-
- /* red */
- for (int i = 0; i < LCD_BUF_SIZE / 3; i++)
- {
- lcd->lcd_info.framebuffer[3 * i] = 0xFF;
- lcd->lcd_info.framebuffer[3 * i + 1] = 0x00;
- lcd->lcd_info.framebuffer[3 * i + 2] = 0x00;
- }
- lcd->parent.control(&lcd->parent, RTGRAPHIC_CTRL_RECT_UPDATE, &rect_info);
- rt_thread_mdelay(1000);
- /* green */
- for (int i = 0; i < LCD_BUF_SIZE / 3; i++)
- {
- lcd->lcd_info.framebuffer[3 * i] = 0x00;
- lcd->lcd_info.framebuffer[3 * i + 1] = 0xFF;
- lcd->lcd_info.framebuffer[3 * i + 2] = 0x00;
- }
- lcd->parent.control(&lcd->parent, RTGRAPHIC_CTRL_RECT_UPDATE, &rect_info);
- rt_thread_mdelay(1000);
- /* blue */
- for (int i = 0; i < LCD_BUF_SIZE / 3; i++)
- {
- lcd->lcd_info.framebuffer[3 * i] = 0x00;
- lcd->lcd_info.framebuffer[3 * i + 1] = 0x00;
- lcd->lcd_info.framebuffer[3 * i + 2] = 0xFF;
- }
- lcd->parent.control(&lcd->parent, RTGRAPHIC_CTRL_RECT_UPDATE, &rect_info);
- rt_thread_mdelay(1000);
- }
-}
-MSH_CMD_EXPORT(ili9488_test, test ili9488 driver);
-#endif /* FINSH_USING_MSH */
-#endif /* DRV_DEBUG */
-#endif /* BSP_USING_SPI_LCD_ILI9488 */
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/port/drv_spi_ili9488.h b/bsp/stm32/stm32h750-artpi-h750/board/port/drv_spi_ili9488.h
deleted file mode 100644
index 479fd93251..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/board/port/drv_spi_ili9488.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (c) 2006-2022, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2018-08-14 flybreak the first version
- * 2018-09-18 balanceTWK add sleep mode function
- * 2022-02-01 Rudy Lo add lcd_fill_array function
- */
-
-#ifndef __DRV_LCD_SPI_H__
-#define __DRV_LCD_SPI_H__
-
-#include
-
-#define LCD_W 480
-#define LCD_H 320
-
-//POINT_COLOR
-#define WHITE 0xFFFFFF
-#define BLACK 0x000000
-#define BLUE 0x0000FF
-//#define BRED 0XF81F
-//#define GRED 0XFFE0
-//#define GBLUE 0X07FF
-#define RED 0xFF0000
-//#define MAGENTA 0xF81F
-#define GREEN 0x00FF00
-//#define CYAN 0x7FFF
-//#define YELLOW 0xFFE0
-//#define BROWN 0XBC40
-//#define BRRED 0XFC07
-//#define GRAY 0X8430
-//#define GRAY175 0XAD75
-//#define GRAY151 0X94B2
-//#define GRAY187 0XBDD7
-//#define GRAY240 0XF79E
-
-int rt_hw_spi_lcd_init(void);
-
-void lcd_clear(rt_uint32_t color);
-void lcd_address_set(rt_uint16_t x1, rt_uint16_t y1, rt_uint16_t x2, rt_uint16_t y2);
-void lcd_set_color(rt_uint32_t back, rt_uint32_t fore);
-
-void lcd_draw_point(rt_uint16_t x, rt_uint16_t y);
-void lcd_draw_point_color(rt_uint16_t x, rt_uint16_t y, rt_uint32_t color);
-void lcd_draw_circle(rt_uint16_t x0, rt_uint16_t y0, rt_uint8_t r);
-void lcd_draw_line(rt_uint16_t x1, rt_uint16_t y1, rt_uint16_t x2, rt_uint16_t y2);
-void lcd_draw_rectangle(rt_uint16_t x1, rt_uint16_t y1, rt_uint16_t x2, rt_uint16_t y2);
-void lcd_fill(rt_uint16_t x_start, rt_uint16_t y_start, rt_uint16_t x_end, rt_uint16_t y_end, rt_uint32_t color);
-void lcd_fill_array(rt_uint16_t x_start, rt_uint16_t y_start, rt_uint16_t x_end, rt_uint16_t y_end, void *pcolor);
-
-void lcd_show_num(rt_uint16_t x, rt_uint16_t y, rt_uint32_t num, rt_uint8_t len, rt_uint32_t size);
-rt_err_t lcd_show_string(rt_uint16_t x, rt_uint16_t y, rt_uint32_t size, const char *fmt, ...);
-rt_err_t lcd_show_image(rt_uint16_t x, rt_uint16_t y, rt_uint16_t length, rt_uint16_t wide, const rt_uint8_t *p);
-
-void lcd_enter_sleep(void);
-void lcd_exit_sleep(void);
-void lcd_display_on(void);
-void lcd_display_off(void);
-
-#endif /* __DRV_LCD_SPI_H__ */
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/port/drv_wlan.c b/bsp/stm32/stm32h750-artpi-h750/board/port/drv_wlan.c
deleted file mode 100644
index 4393c9ea1c..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/board/port/drv_wlan.c
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * Copyright (c) 2006-2022, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2018-08-30 ZeroFree the first version
- */
-
-#include
-#include
-
-#ifdef RT_USING_WIFI
-
-#include
-#include
-#include
-#include
-#include
-#include
-
-#define DBG_ENABLE
-#define DBG_SECTION_NAME "WLAN"
-#define DBG_COLOR
-#define DBG_LEVEL DBG_LOG
-#include
-
-#define NVRAM_GENERATED_MAC_ADDRESS "macaddr=02:0A:F7:fe:86:1c"
-#define WIFI_IMAGE_PARTITION_NAME "wifi_image"
-#define WIFI_INIT_THREAD_STACK_SIZE (1024 * 4)
-#define WIFI_INIT_THREAD_PRIORITY (RT_THREAD_PRIORITY_MAX/2)
-#define WIFI_INIT_WAIT_TIME (rt_tick_from_millisecond(1000))
-
-extern int wifi_hw_init(void);
-static rt_bool_t init_flag = 0;
-static const struct fal_partition *partition = RT_NULL;
-
-ALIGN(64)
-static const char wifi_nvram_image[] =
- // # The following parameter values are just placeholders, need to be updated.
- "manfid=0x2d0" "\x00"
- "prodid=0x0726" "\x00"
- "vendid=0x14e4" "\x00"
- "devid=0x43e2" "\x00"
- "boardtype=0x0726" "\x00"
- "boardrev=0x1101" "\x00"
- "boardnum=22" "\x00"
- "xtalfreq=26000" "\x00"
- "sromrev=11" "\x00"
- "boardflags=0x00404201" "\x00"
- "boardflags3=0x08000000" "\x00"
- NVRAM_GENERATED_MAC_ADDRESS "\x00"
- "nocrc=1" "\x00"
- "ag0=255" "\x00"
- "aa2g=1" "\x00"
- "ccode=ALL"
- "\x00"
- "swdiv_en=1" "\x00"
- "swdiv_gpio=2" "\x00"
-
- "pa0itssit=0x20" "\x00"
- "extpagain2g=0" "\x00"
- "pa2ga0=-215,5267,-656" "\x00"
- "AvVmid_c0=0x0,0xc8" "\x00"
- "cckpwroffset0=5" "\x00"
- "maxp2ga0=80" "\x00"
- "txpwrbckof=6" "\x00"
- "cckbw202gpo=0x6666" "\x00"
- "legofdmbw202gpo=0xaaaaaaaa" "\x00"
- "mcsbw202gpo=0xbbbbbbbb" "\x00"
- "propbw202gpo=0xdd" "\x00"
- "ofdmdigfilttype=18" "\x00"
- "ofdmdigfilttypebe=18" "\x00"
- "papdmode=1" "\x00"
- "papdvalidtest=1" "\x00"
- "pacalidx2g=32" "\x00"
- "papdepsoffset=-36" "\x00"
- "papdendidx=61" "\x00"
- "wl0id=0x431b" "\x00"
- "deadman_to=0xffffffff" "\x00"
- "muxenab=0x11" "\x00"
- "spurconfig=0x3" "\x00"
- "\x00\x00";
-
-int wiced_platform_resource_size(int resource)
-{
- int size = 0;
-
- /* Download firmware */
- if (resource == 0)
- {
- size = 355159;
- }
- else if (resource == 1)
- {
- size = sizeof(wifi_nvram_image);
- }
-
- return size;
-}
-
-int wiced_platform_resource_read(int resource, uint32_t offset, void* buffer, uint32_t buffer_size)
-{
- if (resource == 0)
- {
- /* read RF firmware from partition */
- fal_partition_read(partition, offset, buffer, buffer_size);
- }
- else if (resource == 1)
- {
- memcpy(buffer, &wifi_nvram_image[offset], buffer_size);
- }
-
- return buffer_size;
-}
-
-/**
- * wait milliseconds for wifi low level initialize complete
- *
- * time_ms: timeout in milliseconds
- */
-int rt_hw_wlan_wait_init_done(rt_uint32_t time_ms)
-{
- rt_uint32_t time_cnt = 0;
-
- /* wait wifi low level initialize complete */
- while (time_cnt <= (time_ms / 100))
- {
- time_cnt++;
- rt_thread_mdelay(100);
-
- if (init_flag == 1)
- {
- break;
- }
- }
-
- if (time_cnt > (time_ms / 100))
- {
- return -RT_ETIMEOUT;
- }
-
- return RT_EOK;
-}
-
-
-static void wifi_init_thread_entry(void *parameter)
-{
- /* initialize fal */
- fal_init();
- partition = fal_partition_find(WIFI_IMAGE_PARTITION_NAME);
-
- if (partition == RT_NULL)
- {
- LOG_E("%s partition is not exist, please check your configuration!", WIFI_IMAGE_PARTITION_NAME);
- return;
- }
-
- /* initialize low level wifi(ap6212) library */
- wifi_hw_init();
-
- /* waiting for sdio bus stability */
- rt_thread_delay(WIFI_INIT_WAIT_TIME);
-
- /* set wifi work mode */
- rt_wlan_set_mode(RT_WLAN_DEVICE_STA_NAME, RT_WLAN_STATION);
- /* NEED TODO !!! */
- /* rt_wlan_set_mode(RT_WLAN_DEVICE_AP_NAME, RT_WLAN_AP); */
-
- init_flag = 1;
-}
-
-int rt_hw_wlan_init(void)
-{
- if (init_flag == 1)
- {
- return RT_EOK;
- }
-
- rt_thread_t tid = RT_NULL;
-
- tid = rt_thread_create("wifi_init", wifi_init_thread_entry, RT_NULL, WIFI_INIT_THREAD_STACK_SIZE, WIFI_INIT_THREAD_PRIORITY, 20);
-
- if (tid)
- {
- rt_thread_startup(tid);
- }
- else
- {
- LOG_E("Create wifi initialization thread fail!");
- return -RT_ERROR;
- }
-
- return RT_EOK;
-}
-INIT_APP_EXPORT(rt_hw_wlan_init);
-
-static int ap6212_init(void)
-{
-#define AP6212_WL_REG_ON GET_PIN(C, 13)
-
- /* enable the WLAN REG pin */
- rt_pin_mode(AP6212_WL_REG_ON, PIN_MODE_OUTPUT);
- rt_pin_write(AP6212_WL_REG_ON, PIN_HIGH);
-
- return 0;
-}
-INIT_DEVICE_EXPORT(ap6212_init);
-
-#endif /* RT_USING_WIFI */
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/port/ef_fal_port.c b/bsp/stm32/stm32h750-artpi-h750/board/port/ef_fal_port.c
deleted file mode 100644
index 69bf39efa7..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/board/port/ef_fal_port.c
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * This file is part of the EasyFlash Library.
- *
- * Copyright (c) 2015, Armink,
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and associated documentation files (the
- * 'Software'), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sublicense, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Function: Portable interface for FAL (Flash Abstraction Layer) partition.
- * Created on: 2018-05-19
- */
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-/* EasyFlash partition name on FAL partition table */
-#define FAL_EF_PART_NAME "easyflash"
-
-/* default ENV set for user */
-static const ef_env default_env_set[] = {
- {"boot_times", "0"}
-};
-
-static char log_buf[RT_CONSOLEBUF_SIZE];
-static struct rt_semaphore env_cache_lock;
-static const struct fal_partition *part = NULL;
-
-/**
- * Flash port for hardware initialize.
- *
- * @param default_env default ENV set for user
- * @param default_env_size default ENV size
- *
- * @return result
- */
-EfErrCode ef_port_init(ef_env const **default_env, size_t *default_env_size) {
- EfErrCode result = EF_NO_ERR;
-
- *default_env = default_env_set;
- *default_env_size = sizeof(default_env_set) / sizeof(default_env_set[0]);
-
- rt_sem_init(&env_cache_lock, "env lock", 1, RT_IPC_FLAG_PRIO);
-
- part = fal_partition_find(FAL_EF_PART_NAME);
- EF_ASSERT(part);
-
- return result;
-}
-
-/**
- * Read data from flash.
- * @note This operation's units is word.
- *
- * @param addr flash address
- * @param buf buffer to store read data
- * @param size read bytes size
- *
- * @return result
- */
-EfErrCode ef_port_read(uint32_t addr, uint32_t *buf, size_t size) {
- EfErrCode result = EF_NO_ERR;
-
- fal_partition_read(part, addr, (uint8_t *)buf, size);
-
- return result;
-}
-
-/**
- * Erase data on flash.
- * @note This operation is irreversible.
- * @note This operation's units is different which on many chips.
- *
- * @param addr flash address
- * @param size erase bytes size
- *
- * @return result
- */
-EfErrCode ef_port_erase(uint32_t addr, size_t size) {
- EfErrCode result = EF_NO_ERR;
-
- /* make sure the start address is a multiple of FLASH_ERASE_MIN_SIZE */
- EF_ASSERT(addr % EF_ERASE_MIN_SIZE == 0);
-
- if (fal_partition_erase(part, addr, size) < 0)
- {
- result = EF_ERASE_ERR;
- }
-
- return result;
-}
-/**
- * Write data to flash.
- * @note This operation's units is word.
- * @note This operation must after erase. @see flash_erase.
- *
- * @param addr flash address
- * @param buf the write data buffer
- * @param size write bytes size
- *
- * @return result
- */
-EfErrCode ef_port_write(uint32_t addr, const uint32_t *buf, size_t size) {
- EfErrCode result = EF_NO_ERR;
-
- if (fal_partition_write(part, addr, (uint8_t *)buf, size) < 0)
- {
- result = EF_WRITE_ERR;
- }
-
- return result;
-}
-
-/**
- * lock the ENV ram cache
- */
-void ef_port_env_lock(void) {
- rt_sem_take(&env_cache_lock, RT_WAITING_FOREVER);
-}
-
-/**
- * unlock the ENV ram cache
- */
-void ef_port_env_unlock(void) {
- rt_sem_release(&env_cache_lock);
-}
-
-/**
- * This function is print flash debug info.
- *
- * @param file the file which has call this function
- * @param line the line number which has call this function
- * @param format output format
- * @param ... args
- *
- */
-void ef_log_debug(const char *file, const long line, const char *format, ...) {
-
-#ifdef PRINT_DEBUG
-
- va_list args;
-
- /* args point to the first variable parameter */
- va_start(args, format);
- ef_print("[Flash] (%s:%ld) ", file, line);
- /* must use vprintf to print */
- rt_vsprintf(log_buf, format, args);
- ef_print("%s", log_buf);
- va_end(args);
-
-#endif
-
-}
-
-/**
- * This function is print flash routine info.
- *
- * @param format output format
- * @param ... args
- */
-void ef_log_info(const char *format, ...) {
- va_list args;
-
- /* args point to the first variable parameter */
- va_start(args, format);
- ef_print("[Flash] ");
- /* must use vprintf to print */
- rt_vsprintf(log_buf, format, args);
- ef_print("%s", log_buf);
- va_end(args);
-}
-/**
- * This function is print flash non-package info.
- *
- * @param format output format
- * @param ... args
- */
-void ef_print(const char *format, ...) {
- va_list args;
-
- /* args point to the first variable parameter */
- va_start(args, format);
- /* must use vprintf to print */
- rt_vsprintf(log_buf, format, args);
- rt_kprintf("%s", log_buf);
- va_end(args);
-}
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/port/fal_cfg.h b/bsp/stm32/stm32h750-artpi-h750/board/port/fal_cfg.h
deleted file mode 100644
index ac5a076eff..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/board/port/fal_cfg.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * File : fal_cfg.h
- * This file is part of FAL (Flash Abstraction Layer) package
- * COPYRIGHT (C) 2006 - 2018, RT-Thread Development Team
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Change Logs:
- * Date Author Notes
- * 2018-05-17 armink the first version
- */
-
-#ifndef _FAL_CFG_H_
-#define _FAL_CFG_H_
-
-#include
-#include
-
-#define NOR_FLASH_DEV_NAME "norflash0"
-
-/* ===================== Flash device Configuration ========================= */
-extern struct fal_flash_dev nor_flash0;
-
-/* flash device table */
-#define FAL_FLASH_DEV_TABLE \
-{ \
- &nor_flash0, \
-}
-/* ====================== Partition Configuration ========================== */
-#ifdef FAL_PART_HAS_TABLE_CFG
-/* partition table */
-#define FAL_PART_TABLE \
-{ \
- {FAL_PART_MAGIC_WORD, "wifi_image", NOR_FLASH_DEV_NAME, 0, 512*1024, 0}, \
- {FAL_PART_MAGIC_WORD, "bt_image", NOR_FLASH_DEV_NAME, 512*1024, 512*1024, 0}, \
- {FAL_PART_MAGIC_WORD, "download", NOR_FLASH_DEV_NAME, 1024*1024, 2*1024*1024, 0}, \
- {FAL_PART_MAGIC_WORD, "easyflash", NOR_FLASH_DEV_NAME, 3*1024*1024, 1*1024*1024, 0}, \
- {FAL_PART_MAGIC_WORD, "filesystem", NOR_FLASH_DEV_NAME, 4*1024*1024, 12*1024*1024, 0}, \
-}
-#endif /* FAL_PART_HAS_TABLE_CFG */
-
-#endif /* _FAL_CFG_H_ */
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/port/filesystem.c b/bsp/stm32/stm32h750-artpi-h750/board/port/filesystem.c
deleted file mode 100644
index a774907b33..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/board/port/filesystem.c
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * Copyright (c) 2006-2022, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2018-12-13 balanceTWK add sdcard port file
- * 2019-06-11 WillianChan Add SD card hot plug detection
- */
-
-#include
-
-#ifdef BSP_USING_FS
-#if DFS_FILESYSTEMS_MAX < 4
- #error "Please define DFS_FILESYSTEMS_MAX more than 4"
-#endif
-#if DFS_FILESYSTEM_TYPES_MAX < 4
- #error "Please define DFS_FILESYSTEM_TYPES_MAX more than 4"
-#endif
-
-#include
-#include "dfs_romfs.h"
-#ifdef BSP_USING_SDCARD_FS
- #include
- #include "drv_sdio.h"
-#endif
-#ifdef BSP_USING_SPI_FLASH_FS
- #include "fal.h"
-#endif
-#define DBG_TAG "app.filesystem"
-#define DBG_LVL DBG_INFO
-#include
-
-static const struct romfs_dirent _romfs_root[] =
-{
- {ROMFS_DIRENT_DIR, "flash", RT_NULL, 0},
- {ROMFS_DIRENT_DIR, "sdcard", RT_NULL, 0}
-};
-
-const struct romfs_dirent romfs_root =
-{
- ROMFS_DIRENT_DIR, "/", (rt_uint8_t *)_romfs_root, sizeof(_romfs_root) / sizeof(_romfs_root[0])
-};
-
-#ifdef BSP_USING_SDCARD_FS
-
-/* SD Card hot plug detection pin */
-#define SD_CHECK_PIN GET_PIN(D, 5)
-
-static void _sdcard_mount(void)
-{
- rt_device_t device;
-
- device = rt_device_find("sd0");
-
- if (device == NULL)
- {
- mmcsd_wait_cd_changed(0);
- sdcard_change();
- mmcsd_wait_cd_changed(RT_WAITING_FOREVER);
- device = rt_device_find("sd0");
- }
-
- if (device != RT_NULL)
- {
- if (dfs_mount("sd0", "/sdcard", "elm", 0, 0) == RT_EOK)
- {
- LOG_I("sd card mount to '/sdcard'");
- }
- else
- {
- LOG_W("sd card mount to '/sdcard' failed!");
- }
- }
-}
-
-static void _sdcard_unmount(void)
-{
- rt_thread_mdelay(200);
- dfs_unmount("/sdcard");
- LOG_I("Unmount \"/sdcard\"");
-
- mmcsd_wait_cd_changed(0);
- sdcard_change();
- mmcsd_wait_cd_changed(RT_WAITING_FOREVER);
-}
-
-static void sd_mount(void *parameter)
-{
- rt_uint8_t re_sd_check_pin = 1;
- rt_thread_mdelay(200);
-
- if (rt_pin_read(SD_CHECK_PIN))
- {
- _sdcard_mount();
- }
-
- while (1)
- {
- rt_thread_mdelay(200);
-
- if (!re_sd_check_pin && (re_sd_check_pin = rt_pin_read(SD_CHECK_PIN)) != 0)
- {
- _sdcard_mount();
- }
-
- if (re_sd_check_pin && (re_sd_check_pin = rt_pin_read(SD_CHECK_PIN)) == 0)
- {
- _sdcard_unmount();
- }
- }
-}
-
-#endif /* BSP_USING_SDCARD_FS */
-
-int mount_init(void)
-{
- if (dfs_mount(RT_NULL, "/", "rom", 0, &(romfs_root)) != 0)
- {
- LOG_E("rom mount to '/' failed!");
- }
-
- #ifdef BSP_USING_SPI_FLASH_FS
- struct rt_device *flash_dev = RT_NULL;
-
- #ifndef RT_USING_WIFI
- fal_init();
- #endif
-
- flash_dev = fal_mtd_nor_device_create("filesystem");
-
- if (flash_dev)
- {
- //mount filesystem
- if (dfs_mount(flash_dev->parent.name, "/flash", "lfs", 0, 0) != 0)
- {
- LOG_W("mount to '/flash' failed! try to mkfs %s", flash_dev->parent.name);
- dfs_mkfs("lfs", flash_dev->parent.name);
-
- if (dfs_mount(flash_dev->parent.name, "/flash", "lfs", 0, 0) == 0)
- {
- LOG_I("mount to '/flash' success!");
- }
- }
- else
- {
- LOG_I("mount to '/flash' success!");
- }
- }
- else
- {
- LOG_E("Can't create block device filesystem or bt_image partition.");
- }
-
- #endif
-
- #ifdef BSP_USING_SDCARD_FS
- rt_thread_t tid;
-
- rt_pin_mode(SD_CHECK_PIN, PIN_MODE_INPUT_PULLUP);
-
- tid = rt_thread_create("sd_mount", sd_mount, RT_NULL,
- 2048, RT_THREAD_PRIORITY_MAX - 2, 20);
-
- if (tid != RT_NULL)
- {
- rt_thread_startup(tid);
- }
- else
- {
- LOG_E("create sd_mount thread err!");
- }
-
- #endif
- return RT_EOK;
-}
-INIT_APP_EXPORT(mount_init);
-
-#endif /* BSP_USING_FS */
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/port/lcd_port.h b/bsp/stm32/stm32h750-artpi-h750/board/port/lcd_port.h
deleted file mode 100644
index 02fd3304ff..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/board/port/lcd_port.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2006-2022, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2019-01-08 zylx first version
- */
-
-#ifndef __LCD_PORT_H__
-#define __LCD_PORT_H__
-
-/* atk 4.3 inch screen, 800 * 480 */
-
-struct drv_lcd_device
-{
- struct rt_device parent;
-
- struct rt_device_graphic_info lcd_info;
-
- struct rt_semaphore lcd_lock;
-
- /* 0:front_buf is being used 1: back_buf is being used*/
- rt_uint8_t cur_buf;
- rt_uint8_t *front_buf;
- rt_uint8_t *back_buf;
-};
-
-#define LCD_WIDTH 800
-#define LCD_HEIGHT 480
-#define LCD_BITS_PER_PIXEL 24
-#define LCD_BUF_SIZE (LCD_WIDTH * LCD_HEIGHT * LCD_BITS_PER_PIXEL / 8)
-#define LCD_PIXEL_FORMAT RTGRAPHIC_PIXEL_FORMAT_RGB888
-
-#define LCD_HSYNC_WIDTH 1
-#define LCD_VSYNC_HEIGHT 1
-#define LCD_HBP 88
-#define LCD_VBP 32
-#define LCD_HFP 40
-#define LCD_VFP 13
-
-#define LCD_BACKLIGHT_USING_GPIO
-#define LCD_BL_GPIO_NUM GET_PIN(D, 4)
-#define LCD_DISP_GPIO_NUM GET_PIN(B, 5)
-/* atk 4.3 inch screen, 800 * 480 */
-
-#endif /* __LCD_PORT_H__ */
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/port/lcd_spi_port.h b/bsp/stm32/stm32h750-artpi-h750/board/port/lcd_spi_port.h
deleted file mode 100644
index ab4e63cd46..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/board/port/lcd_spi_port.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2006-2022, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2020-08-10 zylx first version
- */
-
-#ifndef __LCD_PORT_H__
-#define __LCD_PORT_H__
-
-/* rt-thread 3.5 inch screen, 320 * 480 */
-#define LCD_HOR_SCREEN
-#define LCD_FULL_COLOR BLACK
-
-#ifndef LCD_FULL_COLOR
-#define LCD_FULL_COLOR WHITE
-#endif
-
-#ifndef LCD_HOR_SCREEN
-#define LCD_WIDTH 320
-#define LCD_HEIGHT 480
-#else
-#define LCD_WIDTH 480
-#define LCD_HEIGHT 320
-#endif
-#define LCD_BITS_PER_PIXEL 24
-#define LCD_BYTES_PER_PIXEL (LCD_BITS_PER_PIXEL / 8)
-#define LCD_BUF_SIZE (LCD_WIDTH * LCD_HEIGHT * LCD_BYTES_PER_PIXEL)
-#define LCD_PIXEL_FORMAT RTGRAPHIC_PIXEL_FORMAT_RGB888
-
-#define LCD_BACKLIGHT_USING_GPIO
-#define LCD_BL_PIN GET_PIN(C, 6)
-#define LCD_RES_PIN GET_PIN(A, 3)
-/* rt-thread 3.5 inch screen, 320 * 480 */
-
-#endif /* __LCD_PORT_H__ */
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/port/rttlogo.h b/bsp/stm32/stm32h750-artpi-h750/board/port/rttlogo.h
deleted file mode 100644
index 752703417d..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/board/port/rttlogo.h
+++ /dev/null
@@ -1,2072 +0,0 @@
-const unsigned char image_rttlogo[] = { /* 0X10,0X10,0X00,0XF0,0X00,0X45,0X01,0X1B, */
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XDF,0XFF,0XBF,0X7F,
-0XBE,0XFF,0XBE,0XFF,0XB6,0XFF,0XA6,0XBF,0XA6,0XBF,0XB6,0XDF,0XBE,0XDF,0XBE,0XFF,
-0XBF,0X1F,0XCF,0XBF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF7,0XFF,0XB6,0XDF,0X85,0XBF,
-0X4C,0X9E,0X23,0X9B,0X02,0X98,0X02,0X37,0X01,0X96,0X01,0X36,0X01,0X36,0X00,0XF4,
-0X00,0XD4,0X00,0XD5,0X00,0XD5,0X00,0XD5,0X00,0XD4,0X00,0XD4,0X00,0XD4,0X00,0XD4,
-0X00,0XF4,0X01,0X15,0X01,0X36,0X01,0X76,0X01,0XD7,0X02,0X78,0X13,0X3A,0X3C,0X1C,
-0X64,0XFE,0X9E,0X7F,0XDF,0XDF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XF7,0XFF,0X96,0X5F,0X4C,0X7D,0X0A,0XDA,0X01,0XB7,0X01,0X36,0X00,0XB4,0X00,0XF4,
-0X01,0X35,0X01,0X76,0X01,0XD7,0X02,0X18,0X02,0X79,0X02,0X78,0X02,0X98,0X02,0X98,
-0X02,0XB8,0X02,0XB8,0X02,0X98,0X02,0X99,0X02,0XB9,0X02,0X98,0X02,0XB8,0X02,0XB8,
-0X02,0XB9,0X02,0X78,0X02,0X79,0X02,0X78,0X02,0X37,0X02,0X17,0X01,0X96,0X01,0X56,
-0X00,0XF5,0X00,0XD4,0X00,0XF5,0X01,0X76,0X02,0X99,0X3C,0X1C,0X8D,0XFF,0XDF,0XDF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XCF,0X5F,0X5C,0X9E,0X01,0XF7,
-0X00,0XB4,0X00,0XF4,0X00,0XF5,0X01,0XB7,0X02,0X58,0X02,0X98,0X02,0XB9,0X02,0X99,
-0X02,0X99,0X02,0X99,0X02,0X99,0X02,0XB9,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,
-0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,
-0X02,0X79,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0X99,
-0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X78,0X01,0XD7,0X01,0X35,0X00,0XF5,0X00,0X94,
-0X01,0X56,0X4C,0X7D,0XCF,0X5F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0X8D,0XBF,0X1B,0X3A,0X01,0X96,0X00,0XD4,0X00,0XF4,0X02,0X17,
-0X02,0X99,0X02,0XB9,0X02,0X99,0X02,0X79,0X02,0X78,0X02,0X79,0X02,0X79,0X02,0X99,
-0X02,0X98,0X02,0X99,0X02,0X79,0X02,0X98,0X02,0X98,0X02,0X79,0X02,0X99,0X02,0X99,
-0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,
-0X02,0X99,0X02,0X99,0X02,0X78,0X02,0X78,0X02,0X79,0X02,0X99,0X02,0X99,0X02,0XB8,
-0X02,0X99,0X02,0X99,0X02,0X98,0X02,0X78,0X02,0X99,0X02,0XB9,0X02,0X99,0X02,0XB9,
-0X02,0X59,0X01,0X15,0X00,0XB4,0X01,0X96,0X2B,0X7B,0X9E,0X3F,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X85,0X3F,
-0X00,0XF5,0X01,0X76,0X00,0XB4,0X01,0X76,0X02,0X59,0X02,0XB9,0X02,0XB9,0X02,0X99,
-0X02,0X78,0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,
-0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0X79,
-0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X79,
-0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X98,0X02,0X98,
-0X02,0X98,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0X99,0X02,0X78,0X02,0X98,0X02,0X98,
-0X02,0X98,0X02,0X99,0X02,0XB8,0X02,0X58,0X01,0X56,0X00,0X94,0X01,0X55,0X1B,0X3A,
-0X85,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XE7,0XFF,
-0X00,0X53,0X01,0XD7,0X02,0XD9,0X02,0XB9,0X02,0X38,0X01,0X15,0X00,0XF5,0X02,0X98,
-0X02,0XB9,0X02,0X79,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X98,
-0X02,0X99,0X02,0X99,0X02,0X78,0X02,0X99,0X02,0X98,0X02,0X99,0X02,0X79,0X02,0X99,
-0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,
-0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0XB9,0X02,0X99,0X02,0X99,
-0X02,0X98,0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,
-0X02,0X79,0X02,0X99,0X02,0X79,0X02,0X98,0X02,0X98,0X02,0XB9,0X02,0X78,0X01,0X97,
-0X00,0XB4,0X01,0X15,0X1B,0X1A,0XAE,0X5F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XD7,0XBF,0X00,0X94,0X01,0X97,0X00,0X94,0X01,0X96,0X6D,0X5F,0XAE,0X9F,0X01,0X76,
-0X02,0X79,0X02,0X98,0X02,0X98,0X02,0X99,0X02,0X98,0X02,0X99,0X02,0X98,0X02,0X79,
-0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,
-0X02,0X98,0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,
-0X02,0X98,0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,
-0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0X99,0X02,0X98,
-0X02,0X78,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X98,0X02,0X98,0X02,0X99,0X02,0X99,
-0X02,0XB9,0X02,0XB9,0X01,0X76,0X00,0X94,0X01,0XB6,0X6C,0XBE,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0X2B,0XDB,0X01,0XD7,0XA6,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X75,0X3E,
-0X00,0XD4,0X02,0XD9,0X02,0X7A,0X02,0X79,0X02,0X98,0X02,0X79,0X02,0X98,0X02,0X99,
-0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,
-0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X98,0X02,0X98,
-0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,
-0X02,0X99,0X02,0X99,0X02,0X98,0X02,0X98,0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X99,
-0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X79,
-0X02,0X99,0X02,0X98,0X02,0X99,0X02,0XB9,0X02,0X37,0X00,0XD5,0X01,0X15,0X33,0XBB,
-0XBE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X6D,0X3E,0X01,0X35,0X01,0XB6,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0X17,0X01,0XD7,0X02,0X99,0X02,0XB8,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,
-0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X98,0X02,0X98,0X02,0X98,0X02,0X98,0X02,0X78,
-0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0X98,
-0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X79,
-0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X78,0X02,0X78,0X02,0X99,0X02,0X99,0X02,0X99,
-0X02,0X99,0X02,0X79,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X98,
-0X02,0X99,0X02,0X98,0X02,0X98,0X02,0X99,0X02,0X99,0X02,0XD9,0X02,0X98,0X01,0X36,
-0X00,0X74,0X02,0X58,0XA6,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC6,0XFF,0X00,0X11,
-0X00,0XF4,0X02,0X38,0X00,0X74,0XAE,0XDF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF7,0XFF,
-0X53,0XDB,0X7D,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X9E,0X7F,0X00,0X93,0X02,0XD9,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X78,0X02,0XB8,
-0X02,0X79,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0X99,0X02,0X99,
-0X02,0X98,0X02,0X78,0X02,0X98,0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X98,
-0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X98,0X02,0X98,
-0X02,0X78,0X02,0X78,0X02,0XB8,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,
-0X02,0X79,0X02,0X99,0X02,0XB8,0X02,0X98,0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X79,
-0X02,0X99,0X02,0X79,0X02,0X98,0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X78,0X02,0X79,
-0X02,0XB9,0X01,0XB6,0X00,0X94,0X02,0X17,0XB6,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X02,0X99,
-0X01,0X76,0X02,0XD9,0X01,0X96,0X0B,0X1A,0XFF,0XFF,0XDF,0XBF,0X23,0X3A,0X00,0X94,
-0X00,0X54,0X00,0X93,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0X01,0X96,0X02,0X17,0X02,0X98,0X02,0X98,0X02,0X79,0X02,0X99,0X02,0X79,
-0X02,0X98,0X02,0X98,0X02,0X79,0X02,0X79,0X02,0X99,0X02,0X99,0X02,0X98,0X02,0X98,
-0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,
-0X02,0X38,0X02,0X17,0X01,0XD7,0X01,0XB7,0X01,0X97,0X01,0X97,0X01,0X97,0X01,0X97,
-0X01,0XB7,0X01,0X97,0X01,0X97,0X01,0XB7,0X01,0XD7,0X01,0XF8,0X02,0X38,0X02,0X38,
-0X02,0X78,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X78,0X02,0X99,
-0X02,0X99,0X02,0X98,0X02,0X79,0X02,0X99,0X02,0X99,0X02,0X98,0X02,0X99,0X02,0X78,
-0X02,0X79,0X02,0X99,0X02,0XB9,0X01,0XD7,0X00,0X33,0X43,0XFC,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XE7,0XFF,
-0X00,0X54,0X02,0XD9,0X02,0X78,0X00,0X11,0XCE,0XFF,0X7D,0X7F,0X00,0X11,0X02,0XD9,
-0X02,0XF9,0X00,0XF5,0X4C,0X9D,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0X96,0X5F,0X00,0XF4,0X02,0X99,0X02,0X99,0X02,0X98,0X02,0X99,0X02,0X99,
-0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0XB9,0X02,0X79,0X02,0X79,
-0X01,0XD7,0X01,0X96,0X01,0X35,0X00,0XF4,0X00,0XF4,0X00,0XF5,0X01,0X55,0X01,0XD7,
-0X01,0XF7,0X02,0X37,0X02,0XD9,0X0B,0X3A,0X1B,0X7B,0X1B,0X7B,0X1B,0X9B,0X1B,0X7B,
-0X13,0X9B,0X1B,0X9B,0X1B,0X9B,0X0B,0X5A,0X02,0XF9,0X02,0X78,0X02,0X17,0X01,0XB7,
-0X01,0X35,0X00,0XF5,0X00,0XD5,0X00,0XF5,0X01,0X35,0X01,0X96,0X01,0XF7,0X02,0X58,
-0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X98,
-0X02,0X99,0X02,0X98,0X02,0X99,0X02,0XB9,0X02,0XB9,0X00,0XF5,0X01,0X36,0X85,0X7F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X13,0X3A,0X00,0X11,0X01,0XB7,0X43,0XBB,0XFF,0XFF,0XFF,0XFF,0X01,0XB6,0X01,0XF8,
-0X02,0XB9,0X02,0X99,0X00,0X74,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0X01,0XD6,0X02,0X18,0X02,0X99,0X02,0X99,0X02,0X98,0X02,0X99,
-0X02,0X98,0X02,0X99,0X02,0X38,0X01,0XB6,0X01,0X15,0X00,0XF5,0X01,0X15,0X01,0X96,
-0X02,0X98,0X1B,0XBC,0X54,0XDE,0X85,0XDF,0XB6,0XFF,0XDF,0XDF,0XF7,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XDF,0XFF,0XBF,0X1F,0X8D,0XFF,0X5C,0XDE,0X1B,0XBB,0X02,0XB9,0X01,0X96,
-0X00,0XF5,0X00,0XF4,0X01,0X15,0X01,0X97,0X02,0X38,0X02,0X99,0X02,0X99,0X02,0X99,
-0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0XD9,0X02,0X38,0X00,0XB4,
-0X01,0X76,0X95,0XBF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X9E,0X3F,0X09,0XB6,0XFF,0XFF,
-0XFF,0XFF,0X84,0XBD,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X9E,0X3F,0X00,0X12,
-0X01,0XD8,0X00,0XF5,0X00,0X32,0X8D,0XBF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XAE,0X9F,0X2B,0XBB,0X02,0X78,0X02,0X78,0X02,0XB9,0X02,0X79,0X01,0XD7,0X01,0X56,
-0X00,0XB5,0X01,0X15,0X01,0XD6,0X13,0X7B,0X65,0X1F,0XAE,0X9F,0XEF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XEF,0XFF,0XA6,0XBF,0X5C,0XDE,0X0B,0X1A,0X01,0XD7,0X00,0XD4,0X00,0XF4,0X01,0X96,
-0X02,0X38,0X02,0X99,0X02,0XB9,0X02,0X98,0X02,0X79,0X02,0X98,0X02,0X99,0X02,0XB9,
-0X02,0X17,0X00,0X74,0X02,0X98,0XE7,0XDF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X4C,0X3C,0X01,0X56,0X00,0X95,0X00,0X53,0X02,0XD9,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X9D,0XFF,0X5C,0X7D,0XFF,0XFF,0X3C,0X1C,
-0X01,0X96,0X8D,0XBF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XDF,0X9F,0X33,0X3A,0X01,0XB7,
-0X00,0XB4,0X01,0XB7,0X02,0X78,0X01,0XB6,0X00,0XD5,0X01,0X15,0X02,0X77,0X34,0X1C,
-0X8D,0XDF,0XE7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XD7,0X9F,0X6D,0X7F,0X13,0X5A,
-0X01,0XD7,0X00,0XB4,0X01,0X14,0X01,0XF7,0X02,0X99,0X02,0XB9,0X02,0X79,0X02,0X99,
-0X02,0X99,0X02,0XD9,0X01,0X76,0X00,0X94,0X64,0X9D,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X3B,0XBC,0X00,0X53,0X02,0XF9,0X02,0XD9,0X00,0X53,
-0XF7,0XFF,0XFF,0XFF,0X44,0X1C,0X01,0XD6,0X00,0X95,0X00,0X10,0XBF,0X7F,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0X11,0X02,0X38,
-0X01,0X96,0X00,0XF4,0X01,0X75,0X1B,0X9B,0X85,0XDF,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XCF,0X7F,0X64,0XDE,0X02,0X78,0X00,0XF5,0X00,0XF5,0X01,0XF7,0X02,0X98,
-0X02,0XB9,0X02,0X99,0X02,0XB9,0X02,0X79,0X00,0XB3,0X01,0XF7,0XE7,0XDF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X96,0X02,0X38,0X02,0XD8,0X01,0XB7,
-0X02,0X18,0XFF,0XFF,0X0B,0X1A,0X00,0XB4,0X02,0XD9,0X02,0X38,0X00,0XB4,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X2B,0XFC,0X00,0X11,
-0X1B,0X7A,0X9E,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XEF,0XFF,0X64,0XFE,0X02,0X58,0X00,0XB4,
-0X01,0X36,0X02,0X79,0X02,0XD9,0X02,0X98,0X02,0XD9,0X01,0X96,0X00,0X94,0X75,0X5F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X7D,0XBF,0X00,0X12,0X01,0X35,0X00,0X74,
-0X0A,0X78,0XFF,0XFF,0XFF,0XFF,0X00,0XB4,0X02,0X99,0X02,0XF9,0X00,0XF4,0X12,0XFA,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF7,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XCF,0X9F,
-0X3C,0X1C,0X00,0XF4,0X00,0XF5,0X02,0X38,0X02,0XB9,0X02,0XD9,0X02,0X78,0X00,0XF4,
-0X01,0X96,0X6C,0X7D,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0XB6,0X4C,0X5C,0XD7,0X7F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X0B,0X3A,0X00,0XF4,0X01,0X15,0X00,0XF5,0X01,0X15,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0X5C,0X9D,0X01,0XB6,0X00,0XB4,0X01,0XD6,0X02,0XBA,0X02,0XB9,
-0X02,0X18,0X00,0X33,0X1A,0XD9,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XDF,0XBF,0X00,0X93,0X4C,0X9D,0XDF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X95,0XDF,0X02,0X58,0X00,0X94,0X01,0X96,
-0X02,0XB9,0X02,0XFA,0X00,0XF5,0X01,0X96,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XAE,0X9F,0X02,0XB8,
-0X00,0XB4,0X00,0XF5,0X02,0X79,0X01,0XD7,0X00,0XB4,0XBE,0X7F,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XE7,0XDF,0X85,0X9F,0X01,0X95,0X01,0X36,0X02,0X38,0X00,0X74,0X6D,0X1E,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X12,0XD9,0X00,0XB4,0X01,0X76,0X00,0X53,0X95,0XDF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC6,0XFF,0X02,0X78,0X00,0X93,0X00,0X13,
-0X75,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X95,0XBF,0X01,0X36,
-0X00,0X10,0X1B,0X1A,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X3B,0XFC,0X00,0X10,0X01,0X56,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XB6,0XFF,0X00,0X10,0X00,0XF4,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0XF7,0X01,0X56,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0X5C,0X01,0XF7,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC7,0X3F,0X54,0X3D,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XA6,0X3F,0X8D,0XDF,0X96,0X3F,0X9E,0X1F,0X9E,0X3F,0X96,0X3F,0X96,0X3F,0X9E,0X3F,
-0X9E,0X3F,0X96,0X3F,0X96,0X3F,0X96,0X3F,0X96,0X3F,0X96,0X3F,0X9E,0X3F,0X96,0X3F,
-0X96,0X3F,0X96,0X3F,0X96,0X3F,0XA6,0X7F,0XDF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X85,0X3F,0X96,0X5F,
-0X96,0X3F,0X96,0X3F,0X96,0X3F,0X96,0X3F,0X9E,0X3F,0X96,0X3F,0X96,0X3F,0X9E,0X3F,
-0X96,0X3F,0X96,0X3F,0X9E,0X3F,0X96,0X3F,0X9E,0X3F,0X96,0X3F,0X96,0X3F,0X9E,0X3F,
-0X96,0X3F,0X96,0X3F,0X96,0X3F,0X96,0X3F,0X96,0X3F,0X96,0X3F,0X96,0X3F,0X96,0X3F,
-0X85,0X9F,0XCF,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X96,0X3F,0X8D,0XFF,0X96,0X3F,0X96,0X3F,
-0X96,0X3F,0X96,0X3F,0X96,0X3F,0X96,0X3F,0X96,0X3F,0X96,0X3F,0X96,0X3F,0X96,0X3F,
-0X96,0X3F,0X96,0X3F,0X9E,0X3F,0X96,0X3F,0X9E,0X3F,0X96,0X3F,0X96,0X3F,0X9E,0X3F,
-0X96,0X3F,0X96,0X3F,0X96,0X3F,0X9E,0X3F,0X96,0X3F,0X96,0X3F,0X85,0X5F,0XDF,0XBF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XD7,0XBF,0X85,0X7F,0X96,0X3F,0X96,0X3F,0X96,0X3F,
-0X85,0X7F,0XCF,0XBF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XEF,0XBF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0X85,0X3F,0X96,0X3F,0X9E,0X3F,0X96,0X5F,0X7D,0X3F,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X00,0XD3,0X00,0X53,0X00,0XF5,0X00,0XF4,0X01,0X15,0X00,0XF4,0X00,0XF5,0X00,0XF5,
-0X00,0XF4,0X00,0XF4,0X00,0XF4,0X00,0XF4,0X00,0XF4,0X00,0XF5,0X00,0XF4,0X00,0XF4,
-0X00,0XF4,0X00,0XF4,0X00,0XD5,0X00,0XF4,0X01,0X14,0X01,0XD7,0X3B,0XFC,0XEF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X8E,0X3F,0X00,0X10,0X00,0XF4,
-0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,
-0X00,0XF4,0X00,0XF4,0X00,0XF5,0X01,0X14,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF4,
-0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,
-0X00,0X12,0X02,0X99,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0XD4,0X00,0X53,0X00,0XF4,0X00,0XF4,
-0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF4,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF4,
-0X00,0XF5,0X00,0XF4,0X00,0XF4,0X00,0XF4,0X00,0XF4,0X00,0XF4,0X00,0XF5,0X00,0XF4,
-0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF4,0X00,0XF5,0X00,0XF5,0X00,0X11,0X33,0XDB,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X2B,0XBC,0X00,0X11,0X00,0XF5,0X00,0XF4,0X00,0XF6,
-0X00,0X11,0X1B,0XBB,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XC7,0X3F,0X00,0X11,0X00,0XF5,0X00,0XF5,0X01,0X15,0X00,0X10,0X75,0X3F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0X78,0X02,0X38,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0XB9,0X02,0XB8,0X02,0XB8,
-0X02,0XB9,0X02,0X99,0X02,0X99,0X02,0XB9,0X02,0X99,0X02,0XB9,0X02,0XB9,0X02,0X99,
-0X02,0XB9,0X02,0X98,0X02,0X99,0X02,0X98,0X02,0X79,0X02,0X38,0X00,0XF4,0X00,0X54,
-0X85,0X9F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XAE,0XDF,0X01,0X15,0X02,0X99,
-0X02,0XB9,0X02,0X99,0X02,0X99,0X02,0XB9,0X02,0XB9,0X02,0X99,0X02,0X99,0X02,0X99,
-0X02,0X99,0X02,0X99,0X02,0X9A,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X98,
-0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0XB9,0X02,0X99,0X02,0X99,0X02,0X99,
-0X01,0X76,0X34,0X1C,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X02,0X38,0X02,0X18,0X02,0X79,0X02,0XB9,
-0X02,0XB9,0X02,0X98,0X02,0X98,0X02,0XB9,0X02,0XB8,0X02,0X99,0X02,0X99,0X02,0X99,
-0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X9A,0X02,0XB9,0X02,0X99,0X02,0X99,0X02,0XB9,
-0X02,0X99,0X02,0X98,0X02,0XB8,0X02,0XB9,0X02,0X99,0X02,0XB9,0X01,0X35,0X64,0XFE,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0XB9,0X02,0X99,0X02,0XB9,
-0X01,0X36,0X4C,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XDF,0XDF,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X00,0XF5,0X9E,0X1F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0X77,0X02,0X17,0X02,0X79,0X02,0X99,0X02,0X99,0X02,0X78,0X02,0X79,0X02,0X99,
-0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0XB9,0X02,0XB9,0X02,0X99,
-0X02,0X98,0X02,0X99,0X02,0X98,0X02,0X78,0X02,0X99,0X02,0XB8,0X02,0XB8,0X02,0X79,
-0X00,0X12,0X9E,0X9F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XAF,0X1F,0X00,0XF4,0X02,0XB9,
-0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0XB9,0X02,0X99,
-0X02,0X99,0X02,0X98,0X02,0X79,0X02,0X99,0X02,0X98,0X02,0X99,0X02,0X79,0X02,0X98,
-0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,
-0X01,0X76,0X33,0XDB,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X02,0X38,0X02,0X18,0X02,0X98,0X02,0XB9,
-0X02,0X99,0X02,0XB9,0X02,0X99,0X02,0X99,0X02,0XB9,0X02,0XB9,0X02,0X99,0X02,0X98,
-0X02,0X98,0X02,0X99,0X02,0X78,0X02,0X99,0X02,0X99,0X02,0XB9,0X02,0X99,0X02,0X99,
-0X02,0X99,0X02,0X99,0X02,0XB8,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0X36,0X5C,0XFE,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X54,0XFD,0X01,0X36,0X02,0X98,0X02,0X99,0X02,0X99,
-0X01,0X36,0X44,0XFD,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XDF,0XDF,0X01,0X14,0X02,0X98,0X02,0X79,0X02,0X9A,0X00,0XB5,0X96,0X3F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0X58,0X02,0X38,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0XD9,0X02,0X18,0X00,0XF5,
-0X00,0XF4,0X00,0XF4,0X00,0XF5,0X00,0XF4,0X00,0XF5,0X00,0XF4,0X00,0XF4,0X01,0X15,
-0X01,0X76,0X02,0X58,0X02,0XB9,0X02,0X99,0X02,0X79,0X02,0X78,0X02,0X99,0X02,0XB9,
-0X02,0X17,0X01,0X15,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X8E,0X3F,0X00,0X10,0X00,0XF5,
-0X00,0XF4,0X00,0XF4,0X00,0XF4,0X00,0XF4,0X00,0XF5,0X00,0XF5,0X00,0XF4,0X00,0XF4,
-0X01,0X97,0X02,0XD8,0X02,0X98,0X02,0X99,0X02,0X98,0X02,0X99,0X02,0X99,0X01,0X36,
-0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,
-0X00,0X12,0X02,0XB9,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0XB4,0X00,0X53,0X00,0XF5,0X00,0XF5,
-0X00,0XF4,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF4,0X00,0XF4,0X01,0XD7,0X02,0XDA,
-0X02,0X98,0X02,0X78,0X02,0X98,0X02,0X99,0X02,0X99,0X01,0X36,0X00,0XF3,0X00,0XD4,
-0X00,0XF5,0X00,0XF5,0X00,0XF4,0X00,0XF5,0X00,0XF4,0X01,0X15,0X00,0X11,0X33,0XDC,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFF,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0XB9,
-0X01,0X35,0X4C,0XFD,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XDF,0XDF,0X01,0X15,0X02,0X79,0X02,0X99,0X02,0X98,0X00,0XB4,0X9E,0X5F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0X78,0X01,0XF7,0X02,0X99,0X02,0X78,0X02,0XB9,0X01,0XD7,0X13,0X7B,0XB6,0XDF,
-0XA6,0X7F,0XA6,0X7F,0XA6,0X7F,0XA6,0X7F,0XA6,0X7F,0XA6,0X7F,0XA6,0XBF,0X8D,0XDF,
-0X2B,0XDC,0X01,0X55,0X01,0XB6,0X02,0XD9,0X02,0X99,0X02,0X79,0X02,0X79,0X02,0X98,
-0X02,0XD9,0X00,0X74,0X75,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X95,0X7F,0XA6,0X7F,
-0XA6,0X7F,0XA6,0X7F,0XA6,0X7F,0XA6,0X7F,0XA6,0X7F,0XA6,0X5F,0XA6,0X7F,0XAE,0XDF,
-0X54,0X9E,0X01,0XD7,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0X58,0X02,0X78,0X8D,0XDF,
-0XAE,0XBF,0XA6,0X7F,0XA6,0X5F,0XA6,0X7F,0XA6,0X7F,0XA6,0X7F,0XA6,0X7F,0XA6,0X7F,
-0X95,0XBF,0XD7,0X5F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XA6,0X5F,0X9E,0X1F,0XA6,0X7F,0X9E,0X7F,
-0XA6,0X5F,0XA6,0X5F,0XA6,0X5F,0XA6,0X7F,0XA6,0X7F,0XB6,0XBF,0X4C,0X5C,0X01,0XD7,
-0X02,0X99,0X02,0X99,0X02,0X98,0X02,0X79,0X02,0X57,0X85,0X9F,0XAE,0X9F,0XA6,0X7F,
-0XA6,0X7F,0XA6,0X7F,0X9E,0X7F,0XA6,0X5F,0XA6,0X5F,0X9E,0X7F,0X95,0XBF,0XE7,0XDF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X35,0X02,0X99,0X02,0XB9,0X02,0X98,
-0X01,0X36,0X4C,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XDF,0XDF,0X00,0XF5,0X02,0X98,0X02,0X98,0X02,0X98,0X00,0XD4,0X96,0X3F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0X57,0X02,0X17,0X02,0X99,0X02,0X98,0X02,0X99,0X00,0XB4,0X6D,0X7F,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0X02,0X37,0X01,0X96,0X02,0XB9,0X02,0X98,0X02,0X78,0X02,0X99,
-0X02,0X99,0X01,0X96,0X0B,0X3A,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0X00,0XF5,0X02,0X79,0X02,0X99,0X02,0X99,0X01,0XF7,0X02,0X78,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XD7,0X7F,0X00,0X94,
-0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X17,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XDE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X98,
-0X01,0X35,0X4C,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XDF,0XDF,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X00,0XD4,0X9E,0X3F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0X58,0X02,0X17,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0X15,0X54,0XFE,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X36,0X02,0X78,0X02,0X99,0X02,0X78,0X02,0X99,
-0X02,0X99,0X02,0X38,0X01,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XDF,0XBF,0X01,0X15,0X02,0X98,0X02,0X99,0X02,0X99,0X01,0XF7,0X02,0X79,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBE,0XDF,0X00,0XF5,
-0X02,0X99,0X02,0XB9,0X02,0X99,0X02,0X38,0X01,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X79,0X02,0X99,
-0X01,0X36,0X55,0X3E,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XF7,0XFF,0X00,0XF4,0X02,0X79,0X02,0X78,0X02,0XB9,0X00,0XD5,0X9E,0X3F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0X58,0X02,0X38,0X02,0X79,0X02,0X79,0X02,0XB9,0X00,0XF5,0X54,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X23,0XDB,0X01,0X56,0X02,0X78,0X02,0X98,0X02,0X99,
-0X02,0X99,0X02,0X38,0X01,0XB7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XDF,0X9F,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XF8,0X02,0X78,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
-0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X99,
-0X01,0X76,0X44,0X9D,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XC7,0X1F,0X01,0X35,0X02,0X99,0X02,0X78,0X02,0XB9,0X00,0XB4,0X9E,0X5F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0X78,0X01,0XF7,0X02,0X98,0X02,0X98,0X02,0X99,0X01,0X15,0X5C,0XFE,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XBD,0X00,0XF5,0X02,0X99,0X02,0X98,0X02,0X79,
-0X02,0X98,0X02,0X58,0X01,0XD6,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XDF,0X9F,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XF8,0X02,0X78,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
-0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X99,
-0X02,0X99,0X02,0X79,0X02,0X79,0X02,0X58,0X02,0X78,0X02,0X58,0X02,0X78,0X02,0X58,
-0X02,0X78,0X02,0X58,0X02,0X37,0X02,0XD9,0X44,0X5D,0XC6,0XDF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X35,0X02,0X38,0X02,0X58,
-0X02,0X58,0X02,0X58,0X02,0X58,0X02,0X78,0X02,0X57,0X02,0X58,0X02,0X78,0X02,0X37,
-0X02,0X78,0X54,0X7D,0XD7,0X9F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XEF,0XFF,0X6D,0X3E,
-0X13,0X9B,0X02,0X78,0X02,0X38,0X02,0X58,0X02,0X78,0X02,0X57,0X02,0X78,0X02,0X58,
-0X02,0X58,0X02,0X58,0X02,0X78,0X00,0XB3,0XBF,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X01,0X75,0X02,0X17,0X02,0X58,0X02,0X58,0X02,0X58,0X02,0X58,0X02,0X58,0X02,0X78,
-0X02,0X78,0X02,0X77,0X02,0X58,0X02,0X58,0X02,0X58,0X02,0X17,0X02,0XD9,0X54,0XDE,
-0XE7,0XBF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBE,0XDF,0X4C,0X7D,
-0X02,0XF9,0X02,0X38,0X02,0X58,0X02,0X58,0X02,0X58,0X02,0X57,0X02,0X58,0X02,0X58,
-0X02,0X78,0X02,0X78,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X00,0XD4,0X9E,0X3F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0X58,0X01,0XF8,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0X35,0X5C,0XFE,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X44,0X7C,0X01,0X35,0X02,0X99,0X02,0X99,0X02,0XB8,
-0X02,0X99,0X02,0X38,0X01,0XB7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XDF,0X9F,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XF8,0X02,0X78,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
-0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X99,
-0X02,0XB9,0X02,0X59,0X01,0XF8,0X02,0X18,0X02,0X17,0X01,0XF7,0X02,0X17,0X02,0X17,
-0X02,0X17,0X02,0X18,0X02,0X38,0X01,0XB7,0X01,0X15,0X00,0X73,0X12,0X99,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0XD4,0X01,0XF7,0X02,0X18,
-0X02,0X17,0X02,0X17,0X02,0X18,0X01,0XF8,0X02,0X17,0X02,0X17,0X02,0X17,0X02,0X18,
-0X01,0XD7,0X01,0X14,0X00,0X33,0X44,0X1D,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X1A,0XFA,0X00,0XD4,0X00,0XD5,
-0X01,0X76,0X02,0X18,0X02,0X17,0X02,0X17,0X01,0XF8,0X01,0XF7,0X02,0X17,0X02,0X18,
-0X02,0X17,0X02,0X17,0X02,0X17,0X00,0X53,0XAE,0XDF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X01,0X15,0X01,0XD7,0X02,0X18,0X02,0X17,0X02,0X17,0X02,0X17,0X01,0XF8,0X02,0X18,
-0X02,0X17,0X02,0X18,0X02,0X18,0X01,0XF7,0X01,0XF8,0X02,0X17,0X01,0XD7,0X00,0XF5,
-0X00,0X94,0X12,0XB8,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X9D,0XFF,0X01,0XB7,0X00,0XB4,0X01,0X14,
-0X01,0XB7,0X02,0X17,0X02,0X37,0X02,0X17,0X02,0X18,0X01,0XF7,0X02,0X17,0X02,0X17,
-0X01,0XF8,0X02,0X38,0X02,0XB9,0X02,0X98,0X02,0X79,0X02,0XB9,0X00,0XD4,0X9E,0X3F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0X58,0X01,0XF7,0X02,0X99,0X02,0XB8,0X02,0XB9,0X01,0X15,0X5D,0X1F,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X02,0XB9,0X01,0XB7,0X02,0X99,0X02,0X99,0X02,0X79,
-0X02,0X99,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XDF,0X9F,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XF8,0X02,0X78,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
-0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X99,
-0X02,0X99,0X02,0X99,0X02,0X99,0X02,0XB9,0X02,0XB8,0X02,0X99,0X02,0X99,0X02,0X99,
-0X02,0X99,0X02,0XB9,0X02,0X98,0X02,0X99,0X02,0XB8,0X02,0XD9,0X00,0XB4,0X02,0X58,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X78,0X02,0X99,
-0X02,0X79,0X02,0X99,0X02,0X99,0X02,0XB8,0X02,0X99,0X02,0X98,0X02,0X99,0X02,0X99,
-0X02,0X99,0X02,0X99,0X02,0X99,0X00,0X11,0X7D,0X9F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XCF,0XBF,0X00,0X53,0X01,0X35,0X02,0X99,0X02,0XB9,
-0X02,0XB8,0X02,0X79,0X02,0XB8,0X02,0XB8,0X02,0X79,0X02,0X99,0X02,0X98,0X02,0X99,
-0X02,0X99,0X02,0X99,0X02,0X99,0X00,0XF5,0XBF,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X01,0X96,0X02,0X58,0X02,0X99,0X02,0X99,0X02,0XB8,0X02,0X98,0X02,0X79,0X02,0X99,
-0X02,0X99,0X02,0X98,0X02,0X78,0X02,0X98,0X02,0X98,0X02,0XB9,0X02,0X99,0X02,0XB9,
-0X02,0X99,0X01,0X56,0X00,0X13,0XDF,0XBF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X3B,0XBB,0X00,0X32,0X01,0XD7,0X02,0XB9,0X02,0X99,
-0X02,0X99,0X02,0X79,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X98,0X02,0X99,
-0X02,0X99,0X02,0XB9,0X02,0X99,0X02,0X98,0X02,0X99,0X02,0X99,0X00,0XD4,0X9E,0X3F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0X58,0X02,0X17,0X02,0XB8,0X02,0X99,0X02,0X99,0X00,0XF5,0X5D,0X1E,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XBE,0XFF,0X01,0X15,0X02,0X98,0X02,0X99,0X02,0X98,0X02,0XB8,
-0X02,0X78,0X01,0XD6,0X02,0XB9,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XDF,0X9F,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XF8,0X02,0X78,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
-0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X99,
-0X02,0XDA,0X02,0X18,0X01,0X16,0X01,0X15,0X01,0X15,0X01,0X35,0X01,0X36,0X01,0X15,
-0X01,0X15,0X01,0X76,0X02,0X58,0X02,0X98,0X02,0X99,0X02,0X99,0X02,0XDA,0X00,0X73,
-0X8D,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X78,0X02,0X98,
-0X02,0X99,0X02,0XD9,0X02,0X37,0X00,0XF5,0X01,0X15,0X01,0X16,0X02,0X17,0X02,0XB9,
-0X02,0X98,0X02,0X99,0X02,0X99,0X01,0XF7,0X01,0X96,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0XD5,0X01,0X97,0X02,0XD9,0X02,0X99,0X02,0XD9,
-0X02,0X38,0X01,0X36,0X00,0XF5,0X01,0X14,0X01,0X15,0X00,0XF5,0X01,0X15,0X00,0XF5,
-0X00,0XF4,0X00,0XF5,0X00,0XF5,0X00,0X11,0X9E,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X00,0X12,0X00,0XB4,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X01,0X15,0X00,0XF5,0X00,0XF5,
-0X01,0X15,0X00,0XD5,0X01,0X15,0X00,0XF5,0X01,0X15,0X01,0XD7,0X02,0XDA,0X02,0X99,
-0X02,0XB8,0X02,0XD9,0X01,0X96,0X01,0X96,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0X33,0XDC,0X00,0X74,0X02,0XB9,0X02,0X98,0X02,0X79,0X02,0X99,
-0X02,0XB9,0X02,0X17,0X01,0X55,0X01,0X36,0X01,0X15,0X01,0X15,0X01,0X16,0X01,0X15,
-0X00,0XF4,0X01,0XB7,0X02,0XD9,0X02,0X98,0X02,0X99,0X02,0XB9,0X00,0XD4,0X96,0X3F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0X58,0X02,0X17,0X02,0X79,0X02,0X98,0X02,0X99,0X01,0X15,0X5C,0XFE,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0X9E,0X1F,0X01,0X56,0X02,0X38,0X02,0XB9,0X02,0X99,0X02,0X79,0X02,0X98,
-0X02,0XD9,0X00,0XF5,0X44,0X5D,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XDF,0X9F,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XF8,0X02,0X78,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XA6,0XBF,0X9E,0X7F,
-0XA6,0XBF,0XA6,0XBF,0XA6,0XBF,0XA6,0XBF,0XA6,0XBF,0XA6,0XBF,0XA6,0XBF,0XA6,0XBF,
-0X8E,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
-0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X99,
-0X02,0X38,0X03,0X39,0X75,0X7F,0X6D,0X3F,0X6D,0X1F,0X6D,0X3E,0X65,0X1E,0X6D,0X3E,
-0X65,0X5F,0X34,0X1C,0X01,0X96,0X01,0XD7,0X02,0XD9,0X02,0X98,0X02,0XB8,0X01,0XF7,
-0X01,0XB6,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X55,0X02,0X79,0X02,0X99,
-0X02,0X98,0X02,0X17,0X13,0X7A,0X7D,0X9F,0X75,0X7F,0X65,0X1F,0X02,0X58,0X01,0X96,
-0X02,0XD9,0X02,0X98,0X02,0X99,0X02,0XB9,0X00,0XB4,0XBF,0X1F,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0X02,0X37,0X01,0X36,0X02,0XDA,0X02,0X99,0X02,0XD9,0X01,0X76,
-0X01,0XD7,0X64,0XDF,0X85,0XFF,0X96,0X7F,0XAE,0XFF,0XA6,0XFF,0XA6,0XDF,0XAE,0XDF,
-0XA6,0XDF,0XAE,0XDF,0XA6,0XFF,0X95,0XDF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XA6,0X3F,0XA6,0XBF,0XA6,0XDF,0XAE,0XDF,0XA6,0XDF,0XA6,0XDF,0XA6,0XDF,0XA6,0XDF,
-0XA6,0XDF,0XAE,0XDF,0XAE,0XDF,0XA6,0X9F,0X75,0X9F,0X02,0X99,0X01,0X56,0X02,0XB9,
-0X02,0X79,0X02,0X99,0X02,0XD9,0X00,0X53,0X85,0XDF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0X9E,0X5F,0X00,0X13,0X02,0X99,0X02,0X98,0X02,0X79,0X02,0XD9,0X02,0X58,
-0X00,0XF5,0X02,0X78,0X3C,0X7D,0X65,0X3E,0X6D,0X3F,0X6D,0X3F,0X6D,0X3E,0X6D,0X3F,
-0X75,0X9F,0X3C,0X3D,0X02,0X18,0X02,0X99,0X02,0X78,0X02,0X99,0X00,0XB5,0X9E,0X3F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0X38,0X02,0X17,0X02,0X99,0X02,0X78,0X02,0X98,0X02,0X58,0X02,0XD9,0X13,0X7A,
-0X0B,0X3A,0X0B,0X3A,0X0B,0X3A,0X0B,0X3A,0X0B,0X3A,0X0B,0X3A,0X0B,0X1A,0X0B,0X1A,
-0X02,0X17,0X00,0XF5,0X02,0X38,0X02,0XDA,0X02,0X99,0X02,0X99,0X02,0X78,0X02,0X79,
-0X02,0X79,0X00,0X54,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XDF,0X9F,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XF8,0X02,0X78,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0X94,0X00,0X74,
-0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,
-0X00,0X11,0XC7,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
-0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X99,
-0X01,0X15,0X5D,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0XF7,0X01,0XD7,0X02,0XB9,0X02,0X78,0X02,0XD9,
-0X00,0X94,0X9E,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X78,0X02,0X99,
-0X02,0X98,0X00,0XB5,0X95,0XDF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X0A,0XD9,
-0X01,0XD7,0X02,0X99,0X02,0XB9,0X02,0XB9,0X00,0XD4,0X9E,0X1F,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0X4C,0X7D,0X00,0X93,0X02,0XDA,0X02,0X79,0X02,0XB9,0X01,0X95,0X0A,0XFA,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X2B,0X9B,0X01,0X96,
-0X02,0X98,0X02,0XB9,0X02,0X98,0X01,0X97,0X03,0X19,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0X01,0X96,0X01,0XF8,0X02,0XBA,0X02,0X99,0X02,0X99,0X02,0X38,0X01,0X15,
-0X95,0XDF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0X00,0XF5,0X02,0X99,0X02,0X98,0X02,0X99,0X00,0XB5,0X9E,0X3F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0X58,0X02,0X18,0X02,0X99,0X02,0X98,0X02,0X79,0X02,0XDA,0X02,0X38,0X01,0X96,
-0X01,0XB7,0X01,0XB7,0X01,0XB7,0X01,0XB7,0X01,0XB7,0X01,0XB7,0X01,0X97,0X01,0XB7,
-0X02,0X38,0X02,0X99,0X02,0XB9,0X02,0X78,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0XB9,
-0X00,0X53,0X44,0X5D,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XDF,0X9F,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XF8,0X02,0X78,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X02,0X37,0X02,0X38,
-0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,
-0X01,0X15,0XDF,0XBF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
-0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X99,
-0X01,0X55,0X4C,0XFD,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBF,0X5F,0X00,0XF6,0X02,0X78,0X02,0X98,0X02,0XB9,
-0X00,0XB4,0X6C,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X78,0X02,0X99,
-0X02,0X99,0X00,0XF4,0X7D,0X9F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XCF,0XBF,
-0X00,0XF5,0X02,0X99,0X02,0X99,0X02,0X99,0X00,0XF4,0XA6,0X3F,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0X01,0X36,0X02,0X38,0X02,0X98,0X02,0X99,0X02,0X79,0X00,0XF5,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X96,
-0X02,0X38,0X02,0X79,0X02,0X78,0X02,0X38,0X01,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XB6,0XDF,0X00,0X93,0X02,0XB9,0X02,0X98,0X02,0X99,0X02,0XB9,0X00,0XB4,0XAE,0X5F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XE7,0XFF,0X00,0XF5,0X02,0X99,0X02,0X99,0X02,0X99,0X00,0XD4,0X9E,0X3F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0X58,0X02,0X17,0X02,0X79,0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X79,
-0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0XB8,0X02,0X99,
-0X02,0X98,0X02,0X99,0X02,0X79,0X02,0X78,0X02,0XB9,0X02,0X99,0X01,0XD7,0X00,0X33,
-0X33,0X5A,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XDF,0X9F,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XF8,0X02,0X78,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0XF5,0X00,0XD5,
-0X01,0X56,0X01,0X56,0X01,0X56,0X01,0X56,0X01,0X56,0X01,0X56,0X01,0X56,0X01,0X56,
-0X00,0X12,0XCF,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
-0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X99,
-0X01,0X35,0X4C,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X76,0X02,0X58,0X02,0X99,0X02,0XB9,
-0X00,0XF4,0X6D,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X78,0X02,0X99,
-0X02,0X99,0X00,0XF5,0X85,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XE7,0XFF,
-0X00,0X33,0X01,0XD7,0X01,0XF7,0X02,0X17,0X00,0X13,0X95,0XDF,0XFF,0XFF,0XFF,0XFF,
-0XCF,0X5F,0X00,0XD5,0X02,0XB8,0X02,0X99,0X02,0X99,0X01,0X97,0X02,0XD9,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X02,0X79,
-0X01,0XF7,0X02,0X79,0X02,0X79,0X02,0X58,0X01,0X96,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X3C,0X3D,0X01,0X16,0X02,0XB9,0X02,0X98,0X02,0X99,0X01,0X76,0X13,0X5A,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XDF,0XDF,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X00,0XD4,0X9E,0X3F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0X58,0X02,0X17,0X02,0X79,0X02,0X99,0X02,0X99,0X02,0XD9,0X02,0X37,0X01,0X55,
-0X01,0X76,0X01,0X76,0X01,0X76,0X01,0X95,0X01,0X35,0X01,0XB7,0X02,0XB9,0X02,0X99,
-0X02,0X79,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0XB9,0X01,0XB6,0X01,0XF7,0X95,0XDF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XDF,0X9F,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XF8,0X02,0X78,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X43,0XFB,0X2B,0XBB,
-0X34,0X1C,0X34,0X1C,0X34,0X1C,0X34,0X1C,0X34,0X1C,0X34,0X1C,0X34,0X1C,0X34,0X1C,
-0X22,0XF9,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
-0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X99,
-0X01,0X35,0X4C,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X96,0X02,0X58,0X02,0X99,0X02,0XB9,
-0X00,0XF4,0X6D,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X78,0X02,0X99,
-0X02,0XB8,0X00,0XF5,0X85,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XEF,0XFF,
-0X01,0X76,0X02,0X98,0X02,0XB9,0X02,0X99,0X01,0X15,0XAE,0X7F,0XFF,0XFF,0XFF,0XFF,
-0X85,0XDF,0X00,0XF4,0X02,0XB8,0X02,0X79,0X02,0X99,0X01,0XB7,0X23,0X9B,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X02,0X77,
-0X02,0X18,0X02,0X99,0X02,0X99,0X02,0X58,0X01,0X76,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0XD9,0X01,0XD7,0X02,0X99,0X02,0X99,0X02,0XB8,0X00,0XB4,0XBE,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XDF,0XDF,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X00,0XD4,0X9E,0X3F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0X58,0X02,0X17,0X02,0X79,0X02,0X99,0X02,0X98,0X02,0X38,0X02,0XFA,0X3C,0X5C,
-0X2B,0XFC,0X23,0XFC,0X2C,0X1C,0X2B,0XFB,0X3C,0X5D,0X03,0X1A,0X02,0X17,0X02,0XB9,
-0X02,0X99,0X02,0X79,0X02,0X99,0X02,0X99,0X01,0X56,0X8D,0XDF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XDF,0X9F,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XF8,0X02,0X78,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
-0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X99,
-0X01,0X35,0X4C,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X96,0X02,0X58,0X02,0X99,0X02,0X99,
-0X00,0XF4,0X6D,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X78,0X02,0X99,
-0X02,0X99,0X00,0XF5,0X85,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X54,0XBE,0X01,0X16,0X02,0X99,0X02,0X78,0X02,0X99,0X02,0XB8,0X02,0X78,0X01,0XB7,
-0X01,0X96,0X01,0X96,0X01,0X96,0X01,0X96,0X01,0X96,0X01,0X96,0X01,0X96,0X01,0X96,
-0X01,0XB6,0X01,0X97,0X01,0X96,0X00,0X12,0XAE,0XBF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XCF,0X1F,0X3B,0XFC,0X02,0X58,0X01,0X96,0X01,0X77,0X01,0X96,0X01,0X76,
-0X01,0X97,0X01,0X96,0X01,0X96,0X01,0X96,0X01,0X97,0X01,0XB6,0X01,0XB7,0X02,0X79,
-0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X58,0X01,0X96,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0X38,0X02,0X18,0X02,0X98,0X02,0X99,0X02,0X78,0X01,0X76,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XDF,0XDF,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X00,0XD4,0X9E,0X3F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0X78,0X02,0X17,0X02,0X79,0X02,0X98,0X02,0X99,0X00,0XF5,0X65,0X1E,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X35,0X01,0XF8,
-0X02,0X99,0X02,0XB8,0X02,0X78,0X02,0X99,0X00,0XF4,0X75,0X9F,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XDF,0X9F,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XF8,0X02,0X78,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
-0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X99,
-0X01,0X35,0X4C,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X96,0X02,0X58,0X02,0X99,0X02,0X99,
-0X00,0XF4,0X6D,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X78,0X02,0X99,
-0X02,0X99,0X00,0XF5,0X85,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X54,0X7D,0X01,0X35,0X02,0X98,0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X38,
-0X02,0X58,0X02,0X58,0X02,0X58,0X02,0X58,0X02,0X58,0X02,0X58,0X02,0X58,0X02,0X58,
-0X02,0X58,0X02,0X78,0X02,0X59,0X00,0X94,0XB7,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X44,0X1C,0X00,0X33,0X01,0X35,0X01,0XF8,0X02,0X59,0X02,0X58,0X02,0X58,0X02,0X58,
-0X02,0X59,0X02,0X58,0X02,0X58,0X02,0X78,0X02,0X59,0X02,0X58,0X02,0X58,0X02,0X99,
-0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X58,0X01,0X97,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X01,0XD7,0X02,0X38,0X02,0X98,0X02,0X99,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XDF,0XDF,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X00,0XD4,0X9E,0X3F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0X58,0X01,0XF7,0X02,0X99,0X02,0X99,0X02,0XB8,0X00,0XF4,0X5D,0X3E,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X8D,0XDF,0X00,0X94,
-0X02,0XB9,0X02,0X98,0X02,0X79,0X02,0X99,0X02,0X79,0X00,0XF5,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XDF,0X9F,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XF8,0X02,0X78,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
-0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X99,
-0X01,0X35,0X4C,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X96,0X02,0X58,0X02,0X99,0X02,0XB9,
-0X00,0XF4,0X6D,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X78,0X02,0X99,
-0X02,0X99,0X00,0XF5,0X85,0X9F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X54,0X5D,0X01,0X35,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0X78,
-0X02,0X78,0X02,0X78,0X02,0X78,0X02,0X78,0X02,0X78,0X02,0X78,0X02,0X79,0X02,0X78,
-0X02,0X79,0X02,0X78,0X02,0X78,0X00,0XD4,0XB7,0X1F,0XFF,0XFF,0XFF,0XFF,0X9E,0X7F,
-0X00,0X13,0X02,0X58,0X02,0XD9,0X02,0X99,0X02,0X98,0X02,0X99,0X02,0X78,0X02,0X79,
-0X02,0X79,0X02,0X78,0X02,0X79,0X02,0X99,0X02,0X79,0X02,0X79,0X02,0X78,0X02,0X98,
-0X02,0X79,0X02,0X99,0X02,0X99,0X02,0X58,0X01,0X76,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X01,0XD7,0X02,0X38,0X02,0X98,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XDF,0XDF,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X00,0XD4,0X9E,0X3F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0X58,0X02,0X17,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0X15,0X5C,0XFE,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X02,0XD8,
-0X01,0X56,0X02,0XB9,0X02,0X99,0X02,0X99,0X02,0XB9,0X01,0X56,0X0A,0XD9,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XDF,0X9F,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XF8,0X02,0X78,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
-0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X99,
-0X01,0X35,0X4C,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X96,0X02,0X58,0X02,0X99,0X02,0XB9,
-0X00,0XF4,0X6D,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X78,0X02,0X99,
-0X02,0X99,0X01,0X15,0X85,0X5F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X4C,0XDE,0X01,0X16,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0XD9,0X02,0X58,0X01,0X36,
-0X01,0X56,0X01,0X36,0X01,0X36,0X01,0X56,0X01,0X36,0X01,0X36,0X01,0X36,0X01,0X56,
-0X01,0X35,0X01,0X56,0X01,0X75,0X00,0X10,0XA6,0X7F,0XFF,0XFF,0XFF,0XFF,0X01,0X56,
-0X01,0XF8,0X02,0XB8,0X02,0X79,0X02,0XB8,0X02,0X98,0X01,0X35,0X00,0XF5,0X01,0X55,
-0X01,0X36,0X01,0X35,0X01,0X35,0X01,0X55,0X01,0X36,0X01,0X56,0X01,0X76,0X02,0X79,
-0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X78,0X01,0X76,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0X37,0X02,0X18,0X02,0X98,0X02,0X99,0X02,0X78,0X01,0X76,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XDF,0XDF,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X00,0XD4,0X9E,0X3F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0X57,0X02,0X17,0X02,0X79,0X02,0X99,0X02,0X99,0X01,0X35,0X5C,0XFE,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF7,0XFF,
-0X00,0X94,0X02,0XB9,0X02,0X98,0X02,0X78,0X02,0X98,0X02,0XD9,0X00,0X13,0XA6,0X9F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XDF,0X9F,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XF8,0X02,0X78,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
-0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X99,
-0X01,0X35,0X4C,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X96,0X02,0X58,0X02,0X99,0X02,0XB9,
-0X00,0XF4,0X6D,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X78,0X02,0X99,
-0X02,0XB9,0X00,0XF4,0X85,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X8D,0XDF,0X00,0XF4,0X02,0X99,0X02,0X79,0X02,0X99,0X01,0XD7,0X1B,0X9B,0XFF,0XFF,
-0XF7,0XFF,0XF7,0XFF,0XF7,0XFF,0XF7,0XFF,0XF7,0XFF,0XF7,0XFF,0XF7,0XFF,0XF7,0XFF,
-0XF7,0XFF,0XF7,0XFF,0XF7,0XFF,0XE7,0XDF,0XFF,0XFF,0XFF,0XFF,0XAE,0XBF,0X00,0X74,
-0X02,0XB9,0X02,0X98,0X02,0X79,0X02,0X98,0X01,0XB7,0X65,0X3F,0XDF,0XFF,0XFF,0XFF,
-0XF7,0XFF,0XF7,0XFF,0XF7,0XFF,0XF7,0XFF,0XF7,0XFF,0XFF,0XFF,0XDF,0XBF,0X02,0X78,
-0X02,0X38,0X02,0X99,0X02,0X79,0X02,0X58,0X01,0X96,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0XD9,0X01,0XD7,0X02,0X99,0X02,0X79,0X02,0X98,0X00,0XB4,0XC7,0X5F,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XDF,0XDF,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X00,0XD4,0X9E,0X3F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0X58,0X02,0X18,0X02,0X98,0X02,0X79,0X02,0XB9,0X00,0XF5,0X5C,0XFE,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X23,0X9B,0X01,0X35,0X02,0XB9,0X02,0X99,0X02,0X78,0X02,0XB8,0X01,0XD7,0X01,0XD7,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XDF,0X9F,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XF8,0X02,0X78,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
-0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X99,
-0X01,0X35,0X4C,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X96,0X02,0X58,0X02,0X99,0X02,0XB8,
-0X00,0XF4,0X6D,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X78,0X02,0X99,
-0X02,0X98,0X01,0X15,0X85,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XD7,0XBF,0X00,0XD4,0X02,0X99,0X02,0X99,0X02,0X98,0X01,0X96,0X0B,0X5B,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X15,
-0X02,0X98,0X02,0X99,0X02,0X99,0X01,0X36,0X44,0X5D,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X02,0X57,
-0X01,0XF7,0X02,0X79,0X02,0X99,0X02,0X58,0X01,0X96,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X3C,0X3C,0X01,0X56,0X02,0X99,0X02,0X98,0X02,0X99,0X01,0X56,0X23,0XBB,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XDF,0XDF,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X00,0XD4,0X9E,0X3F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0X58,0X01,0XF7,0X02,0XB8,0X02,0X98,0X02,0X98,0X01,0X15,0X5D,0X1F,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0X00,0X93,0X02,0XB8,0X02,0X99,0X02,0X78,0X02,0XB9,0X02,0XD9,0X00,0X73,
-0X9E,0X5F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XDF,0X9F,0X01,0X15,0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X17,0X02,0X78,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
-0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X54,0XFE,0X01,0X35,0X02,0X99,0X02,0X99,0X02,0X99,
-0X01,0X36,0X4C,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X96,0X02,0X58,0X02,0X99,0X02,0XB9,
-0X00,0XF4,0X6D,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X79,0X02,0X99,
-0X02,0X99,0X00,0XF5,0X85,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0X01,0X96,0X02,0X58,0X02,0X99,0X02,0X78,0X02,0X78,0X01,0X36,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X54,0X9D,0X01,0X35,
-0X02,0X99,0X02,0X98,0X02,0X99,0X00,0X94,0XB6,0XBF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X02,0X77,
-0X02,0X18,0X02,0X98,0X02,0X99,0X02,0X58,0X01,0X96,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X96,0X1F,0X00,0X94,0X02,0XD9,0X02,0X99,0X02,0X79,0X02,0XB9,0X00,0X94,0XE7,0XDF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XD7,0XFF,0X01,0X15,0X02,0X78,0X02,0X79,0X02,0X98,0X00,0XF4,0X9E,0X3F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0X58,0X02,0X38,0X02,0X99,0X02,0X78,0X02,0X99,0X01,0X15,0X5C,0XFE,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0X02,0XB9,0X01,0X76,0X02,0X98,0X02,0X99,0X02,0X78,0X02,0X99,0X01,0XB7,
-0X02,0X78,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XDF,0X9F,0X00,0XF5,0X02,0X99,0X02,0X78,0X02,0X78,0X02,0X18,0X02,0X78,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF4,
-0X02,0XB8,0X02,0X99,0X02,0X99,0X02,0X17,0X02,0X17,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XDE,0X01,0X36,0X02,0X98,0X02,0X98,0X02,0XB9,
-0X01,0X55,0X4C,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X97,0X02,0X58,0X02,0X99,0X02,0XB9,
-0X00,0XD4,0X6D,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X79,0X02,0X99,
-0X02,0X99,0X00,0XF5,0X7D,0X9F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0X0A,0XD9,0X01,0X15,0X02,0XD8,0X02,0X78,0X02,0X99,0X01,0X34,0X6D,0X3F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X54,0XDE,0X01,0X15,
-0X02,0X99,0X02,0X99,0X02,0X99,0X01,0X35,0X44,0X7D,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X02,0X58,
-0X01,0XF7,0X02,0X98,0X02,0X99,0X02,0X59,0X01,0X96,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0X00,0XD4,0X02,0X79,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XD7,0X01,0XF7,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0X00,0XF4,0X02,0X78,0X02,0X99,0X02,0X99,0X00,0XD5,0X9E,0X3F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0X58,0X02,0X17,0X02,0X78,0X02,0X98,0X02,0X99,0X00,0XF4,0X5C,0XFE,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XEF,0XFF,0X00,0X94,0X02,0XB8,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0XB8,
-0X00,0X93,0XAE,0X9F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XDF,0X9F,0X01,0X15,0X02,0X78,0X02,0X99,0X02,0X99,0X01,0XF7,0X02,0X79,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBE,0XDF,0X00,0XF5,
-0X02,0X99,0X02,0X99,0X02,0X78,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X35,0X02,0XB9,0X02,0X79,0X02,0X99,
-0X01,0X56,0X4C,0XDD,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X96,0X02,0X58,0X02,0X79,0X02,0XB9,
-0X00,0XF5,0X6D,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X78,0X02,0XB8,
-0X02,0X99,0X01,0X15,0X85,0X9F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0X00,0XF5,0X02,0X38,0X02,0XB9,0X02,0X99,0X02,0X98,0X01,0X36,
-0X4C,0X7D,0XDF,0X9F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X8E,0X1F,0X00,0XD4,
-0X02,0XBA,0X02,0X99,0X02,0X98,0X02,0X79,0X01,0X97,0X8D,0XDF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X02,0X78,
-0X02,0X18,0X02,0X99,0X02,0X78,0X02,0X59,0X01,0X96,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0X1B,0X7A,0X01,0X15,0X02,0XD9,0X02,0X99,0X02,0X99,0X02,0XD9,0X01,0XD7,
-0X01,0X56,0X5C,0XDE,0XCF,0X7F,0XEF,0XFF,0XE7,0XDF,0XE7,0XDF,0XE7,0XDF,0XE7,0XFF,
-0XEF,0XFF,0X85,0XBF,0X01,0XB7,0X02,0XB9,0X02,0X98,0X02,0XB8,0X00,0XB5,0X9E,0X3F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0X58,0X02,0X18,0X02,0X99,0X02,0X99,0X02,0XB9,0X01,0X16,0X5C,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0X0B,0X3B,0X01,0X56,0X02,0XB8,0X02,0X79,0X02,0X98,0X02,0X99,
-0X01,0XD7,0X01,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XD7,0X9F,0X01,0X15,0X02,0XB8,0X02,0X79,0X02,0X99,0X01,0XF7,0X02,0X98,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
-0X02,0X98,0X02,0X99,0X02,0XB8,0X02,0X37,0X01,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X79,0X02,0X99,
-0X01,0X35,0X4C,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X97,0X02,0X59,0X02,0X79,0X02,0XB8,
-0X00,0XF4,0X6D,0X1E,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X78,0X02,0X79,
-0X02,0X99,0X00,0XF5,0X85,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0X9E,0X7F,0X00,0X12,0X02,0XB9,0X02,0X99,0X02,0XB9,0X02,0X99,
-0X01,0X55,0X00,0XD5,0X01,0XB7,0X02,0X37,0X02,0X17,0X02,0X17,0X02,0X18,0X02,0X17,
-0X02,0X37,0X02,0X37,0X02,0X37,0X00,0X73,0XB6,0XDF,0XFF,0XFF,0XFF,0XFF,0X00,0XD4,
-0X02,0X78,0X02,0X99,0X02,0X79,0X02,0XB9,0X02,0X98,0X01,0X15,0X01,0X97,0X02,0X58,
-0X02,0X37,0X01,0XF7,0X02,0X17,0X02,0X17,0X02,0X17,0X02,0X58,0X02,0X38,0X02,0X99,
-0X02,0X99,0X02,0X99,0X02,0XB8,0X02,0X58,0X01,0X76,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0X00,0X53,0X01,0XD7,0X02,0XB9,0X02,0XB8,0X02,0X99,0X02,0XB9,
-0X02,0X58,0X01,0X15,0X00,0XF4,0X01,0X14,0X01,0X15,0X00,0XF5,0X01,0X15,0X01,0X15,
-0X01,0X15,0X01,0X96,0X02,0XDA,0X02,0X78,0X02,0X99,0X02,0XB9,0X00,0XD4,0X96,0X3F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0X58,0X01,0XF7,0X02,0X78,0X02,0X98,0X02,0X99,0X00,0XF5,0X5C,0XFE,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XD7,0X7F,0X00,0X54,0X02,0XB9,0X02,0X98,0X02,0X99,0X02,0X98,
-0X02,0XB8,0X00,0X94,0XB6,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XDF,0X9F,0X00,0XF5,0X02,0X99,0X02,0X98,0X02,0X98,0X01,0XF7,0X02,0X98,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
-0X02,0X99,0X02,0X79,0X02,0X99,0X02,0X37,0X01,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X54,0XFE,0X01,0X36,0X02,0XB8,0X02,0X99,0X02,0X99,
-0X01,0X36,0X44,0XFD,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X96,0X02,0X78,0X02,0X98,0X02,0XB8,
-0X00,0XD5,0X6D,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X79,0X02,0X99,
-0X02,0XB8,0X01,0X15,0X85,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X2B,0X7A,0X00,0X33,0X02,0X58,0X02,0XD9,0X02,0X79,
-0X02,0X99,0X02,0X99,0X02,0X38,0X02,0X38,0X02,0X38,0X02,0X38,0X02,0X38,0X02,0X38,
-0X02,0X18,0X02,0X38,0X02,0X38,0X00,0X93,0XAE,0XFF,0XFF,0XFF,0XFF,0XFF,0X0B,0X19,
-0X00,0XB4,0X02,0XD9,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X58,0X02,0X38,
-0X02,0X38,0X02,0X38,0X02,0X18,0X02,0X38,0X02,0X38,0X02,0X17,0X02,0X38,0X02,0X99,
-0X02,0X98,0X02,0X79,0X02,0X78,0X02,0X78,0X01,0X96,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XCF,0X1F,0X00,0X93,0X01,0X76,0X02,0XB9,0X02,0XB9,0X02,0X98,
-0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X79,0X02,0X99,0X02,0X79,0X02,0X99,
-0X02,0X99,0X02,0XB9,0X02,0X79,0X02,0X98,0X02,0X99,0X02,0XBA,0X00,0XB4,0X9E,0X3F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X02,0X38,0X02,0X17,0X02,0X99,0X02,0X99,0X02,0XB8,0X00,0XF5,0X54,0XFE,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X02,0XD9,0X01,0X56,0X02,0XB9,0X02,0X99,0X02,0X99,
-0X02,0X99,0X01,0XB7,0X02,0X58,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XD7,0X9F,0X00,0XF5,0X02,0XB9,0X02,0X79,0X02,0X99,0X02,0X18,0X02,0X78,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBE,0XDF,0X00,0XF4,
-0X02,0X99,0X02,0X98,0X02,0X99,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X54,0XDE,0X01,0X35,0X02,0X99,0X02,0X99,0X02,0X99,
-0X01,0X35,0X4C,0XDE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X96,0X02,0X58,0X02,0X78,0X02,0X99,
-0X00,0XF4,0X6D,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X36,0X02,0X79,0X02,0X79,
-0X02,0XB9,0X00,0XF5,0X7D,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X74,0XDE,0X00,0XD5,0X00,0XD4,0X01,0XD7,
-0X02,0X78,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X98,0X02,0X98,0X02,0X99,
-0X02,0X99,0X02,0X98,0X02,0X98,0X00,0XF5,0XB7,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X01,0X96,0X00,0X93,0X01,0XD7,0X02,0X78,0X02,0X99,0X02,0X99,0X02,0X78,0X02,0X99,
-0X02,0X98,0X02,0X79,0X02,0X99,0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,
-0X02,0X98,0X02,0X99,0X02,0X98,0X02,0X59,0X01,0X76,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0XF7,0X00,0X93,0X01,0X56,0X02,0X38,
-0X02,0X98,0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X78,0X02,0X78,0X02,0XB9,0X02,0X78,
-0X02,0X98,0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X78,0X02,0X99,0X00,0XB5,0X96,0X3F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0X00,0XF4,0X00,0X93,0X01,0X15,0X00,0XF5,0X01,0X35,0X00,0X11,0X33,0XFC,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XE7,0XFF,0X00,0X12,0X00,0XF5,0X01,0X35,0X01,0X15,
-0X01,0X15,0X01,0X35,0X00,0X10,0X64,0XDE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XC7,0X1F,0X00,0X11,0X01,0X15,0X01,0X15,0X01,0X35,0X00,0X54,0X01,0X15,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X9E,0X1F,0X00,0X11,
-0X01,0X16,0X01,0X14,0X01,0X15,0X00,0X94,0X00,0X92,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X33,0XFB,0X00,0X11,0X01,0X36,0X01,0X14,0X01,0X15,
-0X00,0X12,0X1B,0XDC,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0X11,0X00,0XF4,0X01,0X15,0X01,0X35,
-0X00,0X11,0X4C,0X3B,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0X12,0X00,0XF5,0X01,0X15,
-0X01,0X36,0X00,0X11,0X64,0X9D,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X64,0X9E,0X02,0X78,
-0X01,0X76,0X01,0X15,0X01,0X35,0X01,0X15,0X00,0XF5,0X01,0X34,0X01,0X35,0X00,0XF5,
-0X01,0X34,0X01,0X35,0X00,0XF5,0X00,0X11,0XA6,0X5F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0X6C,0X7D,0X02,0X57,0X01,0X36,0X00,0XF5,0X00,0XF5,0X01,0X15,0X01,0X35,
-0X01,0X15,0X00,0XF5,0X01,0X35,0X01,0X15,0X01,0X15,0X01,0X15,0X01,0X15,0X01,0X35,
-0X01,0X15,0X01,0X15,0X01,0X35,0X00,0XF5,0X00,0X12,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0X5F,0X1B,0X5A,0X01,0XD7,
-0X01,0X34,0X01,0X16,0X00,0XF5,0X01,0X15,0X01,0X15,0X01,0X35,0X01,0X14,0X01,0X15,
-0X01,0X15,0X01,0X15,0X01,0X35,0X00,0XF5,0X01,0X15,0X01,0X35,0X00,0X11,0X7D,0X7F,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XC7,0X5F,0XBF,0X1F,0XC7,0X7F,0XC7,0X7F,0XC7,0X7F,0XAE,0XBF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XCF,0XBF,0XB7,0X1F,0XC7,0X7F,0XC7,0X7F,
-0XC7,0X5F,0XC7,0X7F,0XB6,0XDF,0XBF,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XB6,0XBF,0XC7,0X7F,0XC7,0X5F,0XC7,0X7F,0XBF,0X1F,0XC7,0X7F,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XAE,0X9F,
-0XC7,0X7F,0XC7,0X7F,0XC7,0X7F,0XBF,0X3F,0XBF,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF7,0XFF,0XAE,0XDF,0XC7,0X7F,0XC7,0X5F,0XC7,0X7F,
-0XAE,0XDF,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0XBF,0X7F,0XC7,0X7F,0XBF,0X7F,
-0XAE,0XBF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XFF,0XC7,0X5F,0XC7,0X7F,
-0XC7,0X7F,0XAE,0XBF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XEF,0XFF,0XD7,0X9F,0XBF,0X5F,0XC7,0X5F,0XC7,0X5F,0XC7,0X5F,0XBF,0X7F,
-0XC7,0X5F,0XC7,0X5F,0XC7,0X7F,0XAE,0XBF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XD7,0X9F,0XC7,0X5F,0XC7,0X7F,0XC7,0X5F,
-0XC7,0X7F,0XBF,0X7F,0XC7,0X5F,0XC7,0X7F,0XC7,0X5F,0XC7,0X5F,0XC7,0X7F,0XC7,0X7F,
-0XC7,0X5F,0XC7,0X7F,0XC7,0X7F,0XBF,0X5F,0XB6,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XF7,0XFF,0XDF,0X9F,0XC7,0X7F,0XC7,0X7F,0XC7,0X5F,0XC7,0X5F,0XC7,0X7F,0XC7,0X5F,
-0XC7,0X5F,0XC7,0X7F,0XC7,0X7F,0XC7,0X7F,0XC7,0X5F,0XC7,0X7F,0XAE,0X9F,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
-};
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/port/sdram_port.h b/bsp/stm32/stm32h750-artpi-h750/board/port/sdram_port.h
deleted file mode 100644
index b382849929..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/board/port/sdram_port.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) 2006-2022, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2018-12-04 zylx The first version for STM32F4xx
- */
-
-#ifndef __SDRAM_PORT_H__
-#define __SDRAM_PORT_H__
-
-/* parameters for sdram peripheral */
-/* Bank1 or Bank2 */
-#define SDRAM_TARGET_BANK 1
-/* stm32h7 Bank1:0XC0000000 Bank2:0XD0000000 */
-#define SDRAM_BANK_ADDR ((uint32_t)0XC0000000)
-/* data width: 8, 16, 32 */
-#define SDRAM_DATA_WIDTH 16
-/* column bit numbers: 8, 9, 10, 11 */
-#define SDRAM_COLUMN_BITS 9
-/* row bit numbers: 11, 12, 13 */
-#define SDRAM_ROW_BITS 13
-/* cas latency clock number: 1, 2, 3 */
-#define SDRAM_CAS_LATENCY 2
-/* read pipe delay: 0, 1, 2 */
-#define SDRAM_RPIPE_DELAY 0
-/* clock divid: 2, 3 */
-#define SDCLOCK_PERIOD 2
-/* refresh rate counter */
-#define SDRAM_REFRESH_COUNT ((uint32_t)0x02A5)
-#define SDRAM_SIZE ((uint32_t)0x2000000)
-
-/* Timing configuration for W9825G6KH-6 */
-/* 100 MHz of HCKL3 clock frequency (200MHz/2) */
-/* TMRD: 2 Clock cycles */
-#define LOADTOACTIVEDELAY 2
-/* TXSR: 8x10ns */
-#define EXITSELFREFRESHDELAY 8
-/* TRAS: 5x10ns */
-#define SELFREFRESHTIME 6
-/* TRC: 7x10ns */
-#define ROWCYCLEDELAY 6
-/* TWR: 2 Clock cycles */
-#define WRITERECOVERYTIME 2
-/* TRP: 2x10ns */
-#define RPDELAY 2
-/* TRCD: 2x10ns */
-#define RCDDELAY 2
-
-/* memory mode register */
-#define SDRAM_MODEREG_BURST_LENGTH_1 ((uint16_t)0x0000)
-#define SDRAM_MODEREG_BURST_LENGTH_2 ((uint16_t)0x0001)
-#define SDRAM_MODEREG_BURST_LENGTH_4 ((uint16_t)0x0002)
-#define SDRAM_MODEREG_BURST_LENGTH_8 ((uint16_t)0x0004)
-#define SDRAM_MODEREG_BURST_TYPE_SEQUENTIAL ((uint16_t)0x0000)
-#define SDRAM_MODEREG_BURST_TYPE_INTERLEAVED ((uint16_t)0x0008)
-#define SDRAM_MODEREG_CAS_LATENCY_2 ((uint16_t)0x0020)
-#define SDRAM_MODEREG_CAS_LATENCY_3 ((uint16_t)0x0030)
-#define SDRAM_MODEREG_OPERATING_MODE_STANDARD ((uint16_t)0x0000)
-#define SDRAM_MODEREG_WRITEBURST_MODE_PROGRAMMED ((uint16_t)0x0000)
-#define SDRAM_MODEREG_WRITEBURST_MODE_SINGLE ((uint16_t)0x0200)
-
-#endif
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/port/spi_flash_init.c b/bsp/stm32/stm32h750-artpi-h750/board/port/spi_flash_init.c
deleted file mode 100644
index 94f3f92cbb..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/board/port/spi_flash_init.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (c) 2006-2022, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2020-11-07 wanghaijing the first version
- */
-
-#include
-#include
-#include
-#include
-
-static int rt_flash_init(void)
-{
- extern rt_spi_flash_device_t rt_sfud_flash_probe(const char *spi_flash_dev_name, const char *spi_dev_name);
- extern int fal_init(void);
-
- rt_hw_spi_device_attach("spi1", "spi10", GPIOA, GPIO_PIN_4);
-
- /* initialize SPI Flash device */
- rt_sfud_flash_probe("norflash0", "spi10");
-
- fal_init();
-
- return 0;
-}
-INIT_ENV_EXPORT(rt_flash_init);
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/port/wifi_config.c b/bsp/stm32/stm32h750-artpi-h750/board/port/wifi_config.c
deleted file mode 100644
index 256739de07..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/board/port/wifi_config.c
+++ /dev/null
@@ -1,263 +0,0 @@
-/*
- * File : wifi_config.c
- * This file is part of RT-Thread RTOS
- * COPYRIGHT (C) 2006 - 2018, RT-Thread Development Team
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Change Logs:
- * Date Author Notes
- * 2018-09-04 ZeroFree first implementation
- * 2019-06-14 armink add easyflash v4.0 support
- */
-
-#include
-
-#ifdef BSP_USING_WIFI
-
-#include
-#include
-#include
-
-#include
-#include
-
-#include
-#include
-
-#if (EF_SW_VERSION_NUM < 0x40000)
-
-static char *str_base64_encode_len(const void *src, char *out, int input_length);
-static int str_base64_decode(const char *data, int input_length, char *decoded_data);
-
-static const unsigned char base64_table[65] =
- "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
-
-static const char base64_decode_table[256] =
-{
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x3F,
- 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E,
- 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
- 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-
-static char *str_base64_encode_len(const void *src, char *out, int len)
-{
- unsigned char *pos;
- const unsigned char *end, *in;
- size_t olen;
-
- olen = len * 4 / 3 + 4; /* 3-byte blocks to 4-byte */
- olen += olen / 72; /* line feeds */
- olen++; /* nul termination */
-
- end = (const unsigned char *)src + len;
- in = (const unsigned char *)src;
- pos = (unsigned char *)out;
- while (end - in >= 3)
- {
- *pos++ = base64_table[in[0] >> 2];
- *pos++ = base64_table[((in[0] & 0x03) << 4) | (in[1] >> 4)];
- *pos++ = base64_table[((in[1] & 0x0f) << 2) | (in[2] >> 6)];
- *pos++ = base64_table[in[2] & 0x3f];
- in += 3;
- }
-
- if (end - in)
- {
- *pos++ = base64_table[in[0] >> 2];
-
- if (end - in == 1)
- {
- *pos++ = base64_table[(in[0] & 0x03) << 4];
- *pos++ = '=';
- }
- else
- {
- *pos++ = base64_table[((in[0] & 0x03) << 4) |
- (in[1] >> 4)];
- *pos++ = base64_table[(in[1] & 0x0f) << 2];
- }
- *pos++ = '=';
- }
-
- *pos = '\0';
- return (char *)out;
-}
-
-/*
- * return: length, 0 is error.
- */
-static int str_base64_decode(const char *data, int input_length, char *decoded_data)
-{
- int out_len;
- int i, j;
-
- if (input_length % 4 != 0) return 0;
-
- out_len = input_length / 4 * 3;
-
- if (data[input_length - 1] == '=') out_len--;
- if (data[input_length - 2] == '=') out_len--;
-
- for (i = 0, j = 0; i < input_length;)
- {
- uint32_t sextet_a = data[i] == '=' ? 0 & i++ : base64_decode_table[data[i++]];
- uint32_t sextet_b = data[i] == '=' ? 0 & i++ : base64_decode_table[data[i++]];
- uint32_t sextet_c = data[i] == '=' ? 0 & i++ : base64_decode_table[data[i++]];
- uint32_t sextet_d = data[i] == '=' ? 0 & i++ : base64_decode_table[data[i++]];
-
- uint32_t triple = (sextet_a << 3 * 6)
- + (sextet_b << 2 * 6)
- + (sextet_c << 1 * 6)
- + (sextet_d << 0 * 6);
-
- if (j < out_len) decoded_data[j++] = (triple >> 2 * 8) & 0xFF;
- if (j < out_len) decoded_data[j++] = (triple >> 1 * 8) & 0xFF;
- if (j < out_len) decoded_data[j++] = (triple >> 0 * 8) & 0xFF;
- }
-
- return out_len;
-}
-
-static int read_cfg(void *buff, int len)
-{
- char *wlan_cfg_info = RT_NULL;
-
- wlan_cfg_info = ef_get_env("wlan_cfg_info");
- if (wlan_cfg_info != RT_NULL)
- {
- str_base64_decode(wlan_cfg_info, rt_strlen(wlan_cfg_info), buff);
- return len;
- }
- else
- {
- return 0;
- }
-}
-
-static int get_len(void)
-{
- int len;
- char *wlan_cfg_len = RT_NULL;
-
- wlan_cfg_len = ef_get_env("wlan_cfg_len");
- if (wlan_cfg_len == RT_NULL)
- {
- len = 0;
- }
- else
- {
- len = atoi(wlan_cfg_len);
- }
-
- return len;
-}
-
-static int write_cfg(void *buff, int len)
-{
- char wlan_cfg_len[12] = {0};
- char *base64_buf = RT_NULL;
-
- base64_buf = rt_malloc(len * 4 / 3 + 4); /* 3-byte blocks to 4-byte, and the end. */
- if (base64_buf == RT_NULL)
- {
- return -RT_ENOMEM;
- }
- rt_memset(base64_buf, 0, len);
-
- /* interger to string */
- sprintf(wlan_cfg_len, "%d", len);
- /* set and store the wlan config lengths to Env */
- ef_set_env("wlan_cfg_len", wlan_cfg_len);
- str_base64_encode_len(buff, base64_buf, len);
- /* set and store the wlan config information to Env */
- ef_set_env("wlan_cfg_info", base64_buf);
- ef_save_env();
- rt_free(base64_buf);
-
- return len;
-}
-
-#else
-
-static int read_cfg(void *buff, int len)
-{
- size_t saved_len;
-
- ef_get_env_blob("wlan_cfg_info", buff, len, &saved_len);
- if (saved_len == 0)
- {
- return 0;
- }
- return len;
-}
-
-static int get_len(void)
-{
- int len;
- size_t saved_len;
-
- ef_get_env_blob("wlan_cfg_len", &len, sizeof(len), &saved_len);
- if (saved_len == 0)
- {
- return 0;
- }
-
- return len;
-}
-
-static int write_cfg(void *buff, int len)
-{
- /* set and store the wlan config lengths to Env */
- ef_set_env_blob("wlan_cfg_len", &len, sizeof(len));
-
- /* set and store the wlan config information to Env */
- ef_set_env_blob("wlan_cfg_info", buff, len);
-
- return len;
-}
-
-#endif /* (EF_SW_VERSION_NUM < 0x40000) */
-
-static const struct rt_wlan_cfg_ops ops =
-{
- read_cfg,
- get_len,
- write_cfg
-};
-
-void wlan_autoconnect_init(void)
-{
- fal_init();
- easyflash_init();
-
- rt_wlan_cfg_set_ops(&ops);
- rt_wlan_cfg_cache_refresh();
-}
-
-#endif
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/port/wlan_wiced_lib/SConscript b/bsp/stm32/stm32h750-artpi-h750/board/port/wlan_wiced_lib/SConscript
deleted file mode 100644
index 54538df77b..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/board/port/wlan_wiced_lib/SConscript
+++ /dev/null
@@ -1,20 +0,0 @@
-Import('rtconfig')
-from building import *
-
-cwd = GetCurrentDir()
-
-LIBS = []
-LIBPATH = []
-src = []
-
-LIBPATH = [cwd]
-if rtconfig.PLATFORM == 'gcc':
- LIBS += ['wifi_6212_armcm7_2.1.2_gcc']
-elif rtconfig.PLATFORM in ['armcc', 'armclang']:
- LIBS += ['libwifi_6212_armcm7_2.1.2_armcc']
-
-path = [cwd]
-
-group = DefineGroup('WICED', src, depend = ['ART_PI_USING_WIFI_6212_LIB'], CPPPATH = path, LIBS = LIBS, LIBPATH = LIBPATH)
-
-Return('group')
diff --git a/bsp/stm32/stm32h750-artpi-h750/board/port/wlan_wiced_lib/libwifi_6212_armcm7_2.1.2_armcc.lib b/bsp/stm32/stm32h750-artpi-h750/board/port/wlan_wiced_lib/libwifi_6212_armcm7_2.1.2_armcc.lib
deleted file mode 100644
index da5bb7d11b..0000000000
Binary files a/bsp/stm32/stm32h750-artpi-h750/board/port/wlan_wiced_lib/libwifi_6212_armcm7_2.1.2_armcc.lib and /dev/null differ
diff --git a/bsp/stm32/stm32h750-artpi-h750/figures/board.jpg b/bsp/stm32/stm32h750-artpi-h750/figures/board.jpg
deleted file mode 100644
index d83e0f3082..0000000000
Binary files a/bsp/stm32/stm32h750-artpi-h750/figures/board.jpg and /dev/null differ
diff --git a/bsp/stm32/stm32h750-artpi-h750/project.ewp b/bsp/stm32/stm32h750-artpi-h750/project.ewp
deleted file mode 100644
index 0185a845ba..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/project.ewp
+++ /dev/null
@@ -1,2407 +0,0 @@
-
- 3
-
- rtthread
-
- ARM
-
- 1
-
- General
- 3
-
- 31
- 1
- 1
-
- ExePath
- build\iar\Exe
-
-
- ObjPath
- build\iar\Obj
-
-
- ListPath
- build\iar\List
-
-
- GEndianMode
- 0
-
-
- Input description
- Automatic choice of formatter, without multibyte support.
-
-
- Output description
- Automatic choice of formatter, without multibyte support.
-
-
- GOutputBinary
- 0
-
-
- OGCoreOrChip
- 1
-
-
- GRuntimeLibSelect
- 0
- 1
-
-
- GRuntimeLibSelectSlave
- 0
- 1
-
-
- RTDescription
- Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.
-
-
- OGProductVersion
- 6.30.6.53380
-
-
- OGLastSavedByProductVersion
- 8.32.1.18618
-
-
- GeneralEnableMisra
- 0
-
-
- GeneralMisraVerbose
- 0
-
-
- OGChipSelectEditMenu
- STM32H743ZI ST STM32H743ZI
-
-
- GenLowLevelInterface
- 1
-
-
- GEndianModeBE
- 1
-
-
- OGBufferedTerminalOutput
- 0
-
-
- GenStdoutInterface
- 0
-
-
- GeneralMisraRules98
- 0
- 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
-
-
- GeneralMisraVer
- 0
-
-
- GeneralMisraRules04
- 0
- 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
-
-
- RTConfigPath2
- $TOOLKIT_DIR$\inc\c\DLib_Config_Normal.h
-
-
- GBECoreSlave
- 26
- 41
-
-
- OGUseCmsis
- 0
-
-
- OGUseCmsisDspLib
- 0
-
-
- GRuntimeLibThreads
- 0
-
-
- CoreVariant
- 26
- 41
-
-
- GFPUDeviceSlave
- STM32H743ZI ST STM32H743ZI
-
-
- FPU2
- 0
- 7
-
-
- NrRegs
- 0
- 1
-
-
- NEON
- 0
-
-
- GFPUCoreSlave2
- 26
- 41
-
-
- OGCMSISPackSelectDevice
-
-
- OgLibHeap
- 0
-
-
- OGLibAdditionalLocale
- 0
-
-
- OGPrintfVariant
- 0
- 0
-
-
- OGPrintfMultibyteSupport
- 0
-
-
- OGScanfVariant
- 0
- 0
-
-
- OGScanfMultibyteSupport
- 0
-
-
- GenLocaleTags
-
-
-
- GenLocaleDisplayOnly
-
-
-
- DSPExtension
- 1
-
-
- TrustZone
- 0
-
-
- TrustZoneModes
- 0
- 0
-
-
-
-
- ICCARM
- 2
-
- 35
- 1
- 1
-
- CCOptimizationNoSizeConstraints
- 0
-
-
- CCDefines
-
- RT_USING_DLIBC
- STM32H750xx
- __RTTHREAD__
- USE_HAL_DRIVER
-
-
- CCPreprocFile
- 0
-
-
- CCPreprocComments
- 0
-
-
- CCPreprocLine
- 0
-
-
- CCListCFile
- 0
-
-
- CCListCMnemonics
- 0
-
-
- CCListCMessages
- 0
-
-
- CCListAssFile
- 0
-
-
- CCListAssSource
- 0
-
-
- CCEnableRemarks
- 0
-
-
- CCDiagSuppress
- Pa050
-
-
- CCDiagRemark
-
-
-
- CCDiagWarning
-
-
-
- CCDiagError
-
-
-
- CCObjPrefix
- 1
-
-
- CCAllowList
- 1
- 00000000
-
-
- CCDebugInfo
- 1
-
-
- IEndianMode
- 1
-
-
- IProcessor
- 1
-
-
- IExtraOptionsCheck
- 0
-
-
- IExtraOptions
-
-
-
- CCLangConformance
- 0
-
-
- CCSignedPlainChar
- 1
-
-
- CCRequirePrototypes
- 0
-
-
- CCDiagWarnAreErr
- 0
-
-
- CCCompilerRuntimeInfo
- 0
-
-
- IFpuProcessor
- 1
-
-
- OutputFile
- $FILE_BNAME$.o
-
-
- CCLibConfigHeader
- 1
-
-
- PreInclude
-
-
-
- CompilerMisraOverride
- 0
-
-
- CCIncludePath2
-
- $PROJ_DIR$\..\..\..\components\finsh
- $PROJ_DIR$\..\..\..\components\drivers\include
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Inc
- $PROJ_DIR$\..\..\..\components\libc\compilers\common\extension
- $PROJ_DIR$\..\..\..\components\libc\compilers\common
- $PROJ_DIR$\..\..\..\components\libc\posix\ipc
- $PROJ_DIR$\board\CubeMX_Config\Core\Inc
- $PROJ_DIR$\..\..\..\components\libc\posix\io\stdio
- $PROJ_DIR$\.
- $PROJ_DIR$\..\libraries\HAL_Drivers\config
- $PROJ_DIR$\board
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\CMSIS\Device\ST\STM32H7xx\Include
- $PROJ_DIR$\..\..\..\components\drivers\spi
- $PROJ_DIR$\..\libraries\HAL_Drivers
- $PROJ_DIR$\applications
- $PROJ_DIR$\..\..\..\libcpu\arm\common
- $PROJ_DIR$\..\..\..\include
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\CMSIS\Include
- $PROJ_DIR$\board\port
- $PROJ_DIR$\..\..\..\components\libc\posix\io\poll
- $PROJ_DIR$\..\..\..\components\drivers\touch
- $PROJ_DIR$\..\..\..\libcpu\arm\cortex-m7
-
-
- CCStdIncCheck
- 0
-
-
- CCCodeSection
- .text
-
-
- IProcessorMode2
- 1
-
-
- CCOptLevel
- 1
-
-
- CCOptStrategy
- 0
- 0
-
-
- CCOptLevelSlave
- 1
-
-
- CompilerMisraRules98
- 0
- 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
-
-
- CompilerMisraRules04
- 0
- 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
-
-
- CCPosIndRopi
- 0
-
-
- CCPosIndRwpi
- 0
-
-
- CCPosIndNoDynInit
- 0
-
-
- IccLang
- 0
-
-
- IccCDialect
- 1
-
-
- IccAllowVLA
- 0
-
-
- IccStaticDestr
- 1
-
-
- IccCppInlineSemantics
- 0
-
-
- IccCmsis
- 1
-
-
- IccFloatSemantics
- 0
-
-
- CCNoLiteralPool
- 0
-
-
- CCOptStrategySlave
- 0
- 0
-
-
- CCGuardCalls
- 1
-
-
- CCEncSource
- 0
-
-
- CCEncOutput
- 0
-
-
- CCEncOutputBom
- 1
-
-
- CCEncInput
- 0
-
-
- IccExceptions2
- 0
-
-
- IccRTTI2
- 0
-
-
- OICompilerExtraOption
- 1
-
-
-
-
- AARM
- 2
-
- 10
- 1
- 1
-
- AObjPrefix
- 1
-
-
- AEndian
- 1
-
-
- ACaseSensitivity
- 1
-
-
- MacroChars
- 0
- 0
-
-
- AWarnEnable
- 0
-
-
- AWarnWhat
- 0
-
-
- AWarnOne
-
-
-
- AWarnRange1
-
-
-
- AWarnRange2
-
-
-
- ADebug
- 1
-
-
- AltRegisterNames
- 0
-
-
- ADefines
-
-
-
- AList
- 0
-
-
- AListHeader
- 1
-
-
- AListing
- 1
-
-
- Includes
- 0
-
-
- MacDefs
- 0
-
-
- MacExps
- 1
-
-
- MacExec
- 0
-
-
- OnlyAssed
- 0
-
-
- MultiLine
- 0
-
-
- PageLengthCheck
- 0
-
-
- PageLength
- 80
-
-
- TabSpacing
- 8
-
-
- AXRef
- 0
-
-
- AXRefDefines
- 0
-
-
- AXRefInternal
- 0
-
-
- AXRefDual
- 0
-
-
- AProcessor
- 1
-
-
- AFpuProcessor
- 1
-
-
- AOutputFile
- $FILE_BNAME$.o
-
-
- ALimitErrorsCheck
- 0
-
-
- ALimitErrorsEdit
- 100
-
-
- AIgnoreStdInclude
- 0
-
-
- AUserIncludes
-
-
-
- AExtraOptionsCheckV2
- 0
-
-
- AExtraOptionsV2
-
-
-
- AsmNoLiteralPool
- 0
-
-
-
-
- OBJCOPY
- 0
-
- 1
- 1
- 1
-
- OOCOutputFormat
- 3
- 3
-
-
- OCOutputOverride
- 1
-
-
- OOCOutputFile
- ../../../rtthread.bin
-
-
- OOCCommandLineProducer
- 1
-
-
- OOCObjCopyEnable
- 1
-
-
-
-
- CUSTOM
- 3
-
-
-
- 0
-
-
-
- BICOMP
- 0
-
-
-
- BUILDACTION
- 1
-
-
-
-
-
-
- ILINK
- 0
-
- 22
- 1
- 1
-
- IlinkLibIOConfig
- 1
-
-
- XLinkMisraHandler
- 0
-
-
- IlinkInputFileSlave
- 0
-
-
- IlinkOutputFile
- project.out
-
-
- IlinkDebugInfoEnable
- 1
-
-
- IlinkKeepSymbols
-
-
-
- IlinkRawBinaryFile
-
-
-
- IlinkRawBinarySymbol
-
-
-
- IlinkRawBinarySegment
-
-
-
- IlinkRawBinaryAlign
-
-
-
- IlinkDefines
-
-
-
- IlinkConfigDefines
-
-
-
- IlinkMapFile
- 0
-
-
- IlinkLogFile
- 0
-
-
- IlinkLogInitialization
- 0
-
-
- IlinkLogModule
- 0
-
-
- IlinkLogSection
- 0
-
-
- IlinkLogVeneer
- 0
-
-
- IlinkIcfOverride
- 1
-
-
- IlinkIcfFile
- $PROJ_DIR$\board\linker_scripts\link.icf
-
-
- IlinkIcfFileSlave
-
-
-
- IlinkEnableRemarks
- 0
-
-
- IlinkSuppressDiags
-
-
-
- IlinkTreatAsRem
-
-
-
- IlinkTreatAsWarn
-
-
-
- IlinkTreatAsErr
-
-
-
- IlinkWarningsAreErrors
- 0
-
-
- IlinkUseExtraOptions
- 0
-
-
- IlinkExtraOptions
-
-
-
- IlinkLowLevelInterfaceSlave
- 1
-
-
- IlinkAutoLibEnable
- 1
-
-
- IlinkAdditionalLibs
-
-
-
- IlinkOverrideProgramEntryLabel
- 0
-
-
- IlinkProgramEntryLabelSelect
- 0
-
-
- IlinkProgramEntryLabel
- __iar_program_start
-
-
- DoFill
- 0
-
-
- FillerByte
- 0xFF
-
-
- FillerStart
- 0x0
-
-
- FillerEnd
- 0x0
-
-
- CrcSize
- 0
- 1
-
-
- CrcAlign
- 1
-
-
- CrcPoly
- 0x11021
-
-
- CrcCompl
- 0
- 0
-
-
- CrcBitOrder
- 0
- 0
-
-
- CrcInitialValue
- 0x0
-
-
- DoCrc
- 0
-
-
- IlinkBE8Slave
- 1
-
-
- IlinkBufferedTerminalOutput
- 1
-
-
- IlinkStdoutInterfaceSlave
- 1
-
-
- CrcFullSize
- 0
-
-
- IlinkIElfToolPostProcess
- 0
-
-
- IlinkLogAutoLibSelect
- 0
-
-
- IlinkLogRedirSymbols
- 0
-
-
- IlinkLogUnusedFragments
- 0
-
-
- IlinkCrcReverseByteOrder
- 0
-
-
- IlinkCrcUseAsInput
- 1
-
-
- IlinkOptInline
- 0
-
-
- IlinkOptExceptionsAllow
- 1
-
-
- IlinkOptExceptionsForce
- 0
-
-
- IlinkCmsis
- 1
-
-
- IlinkOptMergeDuplSections
- 0
-
-
- IlinkOptUseVfe
- 1
-
-
- IlinkOptForceVfe
- 0
-
-
- IlinkStackAnalysisEnable
- 0
-
-
- IlinkStackControlFile
-
-
-
- IlinkStackCallGraphFile
-
-
-
- CrcAlgorithm
- 1
- 1
-
-
- CrcUnitSize
- 0
- 0
-
-
- IlinkThreadsSlave
- 1
-
-
- IlinkLogCallGraph
- 0
-
-
- IlinkIcfFile_AltDefault
-
-
-
- IlinkEncInput
- 0
-
-
- IlinkEncOutput
- 0
-
-
- IlinkEncOutputBom
- 1
-
-
- IlinkHeapSelect
- 1
-
-
- IlinkLocaleSelect
- 1
-
-
- IlinkTrustzoneImportLibraryOut
- ###Unitialized###
-
-
- OILinkExtraOption
- 1
-
-
-
-
- IARCHIVE
- 0
-
- 0
- 1
- 1
-
- IarchiveInputs
-
-
-
- IarchiveOverride
- 0
-
-
- IarchiveOutput
- ###Unitialized###
-
-
-
-
- BILINK
- 0
-
-
-
-
- Release
-
- ARM
-
- 0
-
- General
- 3
-
- 31
- 1
- 0
-
- ExePath
- Release\Exe
-
-
- ObjPath
- Release\Obj
-
-
- ListPath
- Release\List
-
-
- GEndianMode
- 0
-
-
- Input description
-
-
-
- Output description
-
-
-
- GOutputBinary
- 0
-
-
- OGCoreOrChip
- 0
-
-
- GRuntimeLibSelect
- 0
- 1
-
-
- GRuntimeLibSelectSlave
- 0
- 1
-
-
- RTDescription
-
-
-
- OGProductVersion
- 6.30.6.53380
-
-
- OGLastSavedByProductVersion
- 8.11.3.13977
-
-
- GeneralEnableMisra
- 0
-
-
- GeneralMisraVerbose
- 0
-
-
- OGChipSelectEditMenu
- Default None
-
-
- GenLowLevelInterface
- 0
-
-
- GEndianModeBE
- 0
-
-
- OGBufferedTerminalOutput
- 0
-
-
- GenStdoutInterface
- 0
-
-
- GeneralMisraRules98
- 0
- 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
-
-
- GeneralMisraVer
- 0
-
-
- GeneralMisraRules04
- 0
- 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
-
-
- RTConfigPath2
-
-
-
- GBECoreSlave
- 26
- 1
-
-
- OGUseCmsis
- 0
-
-
- OGUseCmsisDspLib
- 0
-
-
- GRuntimeLibThreads
- 0
-
-
- CoreVariant
- 26
- 0
-
-
- GFPUDeviceSlave
- Default None
-
-
- FPU2
- 0
- 0
-
-
- NrRegs
- 0
- 0
-
-
- NEON
- 0
-
-
- GFPUCoreSlave2
- 26
- 0
-
-
- OGCMSISPackSelectDevice
-
-
- OgLibHeap
- 0
-
-
- OGLibAdditionalLocale
- 0
-
-
- OGPrintfVariant
- 0
- 0
-
-
- OGPrintfMultibyteSupport
- 0
-
-
- OGScanfVariant
- 0
- 0
-
-
- OGScanfMultibyteSupport
- 0
-
-
- GenLocaleTags
-
-
-
- GenLocaleDisplayOnly
-
-
-
- DSPExtension
- 0
-
-
- TrustZone
- 0
-
-
- TrustZoneModes
- 0
- 0
-
-
-
-
- ICCARM
- 2
-
- 35
- 1
- 0
-
- CCOptimizationNoSizeConstraints
- 0
-
-
- CCDefines
-
- RT_USING_DLIBC
- STM32H750xx
- __RTTHREAD__
- USE_HAL_DRIVER
-
-
- CCPreprocFile
- 0
-
-
- CCPreprocComments
- 0
-
-
- CCPreprocLine
- 0
-
-
- CCListCFile
- 0
-
-
- CCListCMnemonics
- 0
-
-
- CCListCMessages
- 0
-
-
- CCListAssFile
- 0
-
-
- CCListAssSource
- 0
-
-
- CCEnableRemarks
- 0
-
-
- CCDiagSuppress
-
-
-
- CCDiagRemark
-
-
-
- CCDiagWarning
-
-
-
- CCDiagError
-
-
-
- CCObjPrefix
- 1
-
-
- CCAllowList
- 1
- 11111110
-
-
- CCDebugInfo
- 0
-
-
- IEndianMode
- 1
-
-
- IProcessor
- 1
-
-
- IExtraOptionsCheck
- 0
-
-
- IExtraOptions
-
-
-
- CCLangConformance
- 0
-
-
- CCSignedPlainChar
- 1
-
-
- CCRequirePrototypes
- 0
-
-
- CCDiagWarnAreErr
- 0
-
-
- CCCompilerRuntimeInfo
- 0
-
-
- IFpuProcessor
- 1
-
-
- OutputFile
-
-
-
- CCLibConfigHeader
- 1
-
-
- PreInclude
-
-
-
- CompilerMisraOverride
- 0
-
-
- CCIncludePath2
-
- $PROJ_DIR$\..\..\..\components\finsh
- $PROJ_DIR$\..\..\..\components\drivers\include
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Inc
- $PROJ_DIR$\..\..\..\components\libc\compilers\common\extension
- $PROJ_DIR$\..\..\..\components\libc\compilers\common
- $PROJ_DIR$\..\..\..\components\libc\posix\ipc
- $PROJ_DIR$\board\CubeMX_Config\Core\Inc
- $PROJ_DIR$\..\..\..\components\libc\posix\io\stdio
- $PROJ_DIR$\.
- $PROJ_DIR$\..\libraries\HAL_Drivers\config
- $PROJ_DIR$\board
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\CMSIS\Device\ST\STM32H7xx\Include
- $PROJ_DIR$\..\..\..\components\drivers\spi
- $PROJ_DIR$\..\libraries\HAL_Drivers
- $PROJ_DIR$\applications
- $PROJ_DIR$\..\..\..\libcpu\arm\common
- $PROJ_DIR$\..\..\..\include
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\CMSIS\Include
- $PROJ_DIR$\board\port
- $PROJ_DIR$\..\..\..\components\libc\posix\io\poll
- $PROJ_DIR$\..\..\..\components\drivers\touch
- $PROJ_DIR$\..\..\..\libcpu\arm\cortex-m7
-
-
- CCStdIncCheck
- 0
-
-
- CCCodeSection
- .text
-
-
- IProcessorMode2
- 1
-
-
- CCOptLevel
- 3
-
-
- CCOptStrategy
- 0
- 0
-
-
- CCOptLevelSlave
- 1
-
-
- CompilerMisraRules98
- 0
- 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
-
-
- CompilerMisraRules04
- 0
- 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
-
-
- CCPosIndRopi
- 0
-
-
- CCPosIndRwpi
- 0
-
-
- CCPosIndNoDynInit
- 0
-
-
- IccLang
- 0
-
-
- IccCDialect
- 1
-
-
- IccAllowVLA
- 0
-
-
- IccStaticDestr
- 1
-
-
- IccCppInlineSemantics
- 0
-
-
- IccCmsis
- 1
-
-
- IccFloatSemantics
- 0
-
-
- CCNoLiteralPool
- 0
-
-
- CCOptStrategySlave
- 0
- 0
-
-
- CCGuardCalls
- 1
-
-
- CCEncSource
- 0
-
-
- CCEncOutput
- 0
-
-
- CCEncOutputBom
- 1
-
-
- CCEncInput
- 0
-
-
- IccExceptions2
- 0
-
-
- IccRTTI2
- 0
-
-
- OICompilerExtraOption
- 1
-
-
-
-
- AARM
- 2
-
- 10
- 1
- 0
-
- AObjPrefix
- 1
-
-
- AEndian
- 1
-
-
- ACaseSensitivity
- 1
-
-
- MacroChars
- 0
- 0
-
-
- AWarnEnable
- 0
-
-
- AWarnWhat
- 0
-
-
- AWarnOne
-
-
-
- AWarnRange1
-
-
-
- AWarnRange2
-
-
-
- ADebug
- 0
-
-
- AltRegisterNames
- 0
-
-
- ADefines
-
-
-
- AList
- 0
-
-
- AListHeader
- 1
-
-
- AListing
- 1
-
-
- Includes
- 0
-
-
- MacDefs
- 0
-
-
- MacExps
- 1
-
-
- MacExec
- 0
-
-
- OnlyAssed
- 0
-
-
- MultiLine
- 0
-
-
- PageLengthCheck
- 0
-
-
- PageLength
- 80
-
-
- TabSpacing
- 8
-
-
- AXRef
- 0
-
-
- AXRefDefines
- 0
-
-
- AXRefInternal
- 0
-
-
- AXRefDual
- 0
-
-
- AProcessor
- 1
-
-
- AFpuProcessor
- 1
-
-
- AOutputFile
-
-
-
- ALimitErrorsCheck
- 0
-
-
- ALimitErrorsEdit
- 100
-
-
- AIgnoreStdInclude
- 0
-
-
- AUserIncludes
-
-
-
- AExtraOptionsCheckV2
- 0
-
-
- AExtraOptionsV2
-
-
-
- AsmNoLiteralPool
- 0
-
-
-
-
- OBJCOPY
- 0
-
- 1
- 1
- 0
-
- OOCOutputFormat
- 3
- 0
-
-
- OCOutputOverride
- 0
-
-
- OOCOutputFile
-
-
-
- OOCCommandLineProducer
- 1
-
-
- OOCObjCopyEnable
- 0
-
-
-
-
- CUSTOM
- 3
-
-
-
- 0
-
-
-
- BICOMP
- 0
-
-
-
- BUILDACTION
- 1
-
-
-
-
-
-
- ILINK
- 0
-
- 22
- 1
- 0
-
- IlinkLibIOConfig
- 1
-
-
- XLinkMisraHandler
- 0
-
-
- IlinkInputFileSlave
- 0
-
-
- IlinkOutputFile
- ###Unitialized###
-
-
- IlinkDebugInfoEnable
- 1
-
-
- IlinkKeepSymbols
-
-
-
- IlinkRawBinaryFile
-
-
-
- IlinkRawBinarySymbol
-
-
-
- IlinkRawBinarySegment
-
-
-
- IlinkRawBinaryAlign
-
-
-
- IlinkDefines
-
-
-
- IlinkConfigDefines
-
-
-
- IlinkMapFile
- 0
-
-
- IlinkLogFile
- 0
-
-
- IlinkLogInitialization
- 0
-
-
- IlinkLogModule
- 0
-
-
- IlinkLogSection
- 0
-
-
- IlinkLogVeneer
- 0
-
-
- IlinkIcfOverride
- 0
-
-
- IlinkIcfFile
- lnk0t.icf
-
-
- IlinkIcfFileSlave
-
-
-
- IlinkEnableRemarks
- 0
-
-
- IlinkSuppressDiags
-
-
-
- IlinkTreatAsRem
-
-
-
- IlinkTreatAsWarn
-
-
-
- IlinkTreatAsErr
-
-
-
- IlinkWarningsAreErrors
- 0
-
-
- IlinkUseExtraOptions
- 0
-
-
- IlinkExtraOptions
-
-
-
- IlinkLowLevelInterfaceSlave
- 1
-
-
- IlinkAutoLibEnable
- 1
-
-
- IlinkAdditionalLibs
-
-
-
- IlinkOverrideProgramEntryLabel
- 0
-
-
- IlinkProgramEntryLabelSelect
- 0
-
-
- IlinkProgramEntryLabel
-
-
-
- DoFill
- 0
-
-
- FillerByte
- 0xFF
-
-
- FillerStart
- 0x0
-
-
- FillerEnd
- 0x0
-
-
- CrcSize
- 0
- 1
-
-
- CrcAlign
- 1
-
-
- CrcPoly
- 0x11021
-
-
- CrcCompl
- 0
- 0
-
-
- CrcBitOrder
- 0
- 0
-
-
- CrcInitialValue
- 0x0
-
-
- DoCrc
- 0
-
-
- IlinkBE8Slave
- 1
-
-
- IlinkBufferedTerminalOutput
- 1
-
-
- IlinkStdoutInterfaceSlave
- 1
-
-
- CrcFullSize
- 0
-
-
- IlinkIElfToolPostProcess
- 0
-
-
- IlinkLogAutoLibSelect
- 0
-
-
- IlinkLogRedirSymbols
- 0
-
-
- IlinkLogUnusedFragments
- 0
-
-
- IlinkCrcReverseByteOrder
- 0
-
-
- IlinkCrcUseAsInput
- 1
-
-
- IlinkOptInline
- 1
-
-
- IlinkOptExceptionsAllow
- 1
-
-
- IlinkOptExceptionsForce
- 0
-
-
- IlinkCmsis
- 1
-
-
- IlinkOptMergeDuplSections
- 0
-
-
- IlinkOptUseVfe
- 1
-
-
- IlinkOptForceVfe
- 0
-
-
- IlinkStackAnalysisEnable
- 0
-
-
- IlinkStackControlFile
-
-
-
- IlinkStackCallGraphFile
-
-
-
- CrcAlgorithm
- 1
- 1
-
-
- CrcUnitSize
- 0
- 0
-
-
- IlinkThreadsSlave
- 1
-
-
- IlinkLogCallGraph
- 0
-
-
- IlinkIcfFile_AltDefault
-
-
-
- IlinkEncInput
- 0
-
-
- IlinkEncOutput
- 0
-
-
- IlinkEncOutputBom
- 1
-
-
- IlinkHeapSelect
- 1
-
-
- IlinkLocaleSelect
- 1
-
-
- IlinkTrustzoneImportLibraryOut
- ###Unitialized###
-
-
- OILinkExtraOption
- 1
-
-
-
-
- IARCHIVE
- 0
-
- 0
- 1
- 0
-
- IarchiveInputs
-
-
-
- IarchiveOverride
- 0
-
-
- IarchiveOutput
- ###Unitialized###
-
-
-
-
- BILINK
- 0
-
-
-
-
- Applications
-
- $PROJ_DIR$\applications\main.c
-
-
-
- Compiler
-
- $PROJ_DIR$\..\..\..\components\libc\compilers\common\stdlib.c
-
-
- $PROJ_DIR$\..\..\..\components\libc\compilers\common\time.c
-
-
- $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_open.c
-
-
- $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_mem.c
-
-
- $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\environ.c
-
-
- $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_write.c
-
-
- $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_close.c
-
-
- $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscalls.c
-
-
- $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_read.c
-
-
- $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_lseek.c
-
-
- $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_remove.c
-
-
-
- CPU
-
- $PROJ_DIR$\..\..\..\libcpu\arm\common\showmem.c
-
-
- $PROJ_DIR$\..\..\..\libcpu\arm\common\div0.c
-
-
- $PROJ_DIR$\..\..\..\libcpu\arm\common\backtrace.c
-
-
- $PROJ_DIR$\..\..\..\libcpu\arm\cortex-m7\cpuport.c
-
-
- $PROJ_DIR$\..\..\..\libcpu\arm\cortex-m7\cpu_cache.c
-
-
- $PROJ_DIR$\..\..\..\libcpu\arm\cortex-m7\context_iar.S
-
-
-
- DeviceDrivers
-
- $PROJ_DIR$\..\..\..\components\drivers\i2c\i2c_core.c
-
-
- $PROJ_DIR$\..\..\..\components\drivers\i2c\i2c_dev.c
-
-
- $PROJ_DIR$\..\..\..\components\drivers\i2c\i2c-bit-ops.c
-
-
- $PROJ_DIR$\..\..\..\components\drivers\ipc\waitqueue.c
-
-
- $PROJ_DIR$\..\..\..\components\drivers\ipc\workqueue.c
-
-
- $PROJ_DIR$\..\..\..\components\drivers\ipc\ringbuffer.c
-
-
- $PROJ_DIR$\..\..\..\components\drivers\ipc\dataqueue.c
-
-
- $PROJ_DIR$\..\..\..\components\drivers\ipc\pipe.c
-
-
- $PROJ_DIR$\..\..\..\components\drivers\ipc\completion.c
-
-
- $PROJ_DIR$\..\..\..\components\drivers\ipc\ringblk_buf.c
-
-
- $PROJ_DIR$\..\..\..\components\drivers\misc\pin.c
-
-
- $PROJ_DIR$\..\..\..\components\drivers\serial\serial_v2.c
-
-
- $PROJ_DIR$\..\..\..\components\drivers\spi\spi_core.c
-
-
- $PROJ_DIR$\..\..\..\components\drivers\spi\spi_dev.c
-
-
- $PROJ_DIR$\..\..\..\components\drivers\touch\touch.c
-
-
-
- Drivers
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\CMSIS\Device\ST\STM32H7xx\Source\Templates\iar\startup_stm32h750xx.s
-
-
- $PROJ_DIR$\board\board.c
-
-
- $PROJ_DIR$\board\CubeMX_Config\Core\Src\stm32h7xx_hal_msp.c
-
-
- $PROJ_DIR$\..\libraries\HAL_Drivers\drv_sdram.c
-
-
- $PROJ_DIR$\..\libraries\HAL_Drivers\drv_gpio.c
-
-
- $PROJ_DIR$\..\libraries\HAL_Drivers\drv_usart_v2.c
-
-
- $PROJ_DIR$\..\libraries\HAL_Drivers\drv_common.c
-
-
- $PROJ_DIR$\..\libraries\HAL_Drivers\drv_spi.c
-
-
-
- Finsh
-
- $PROJ_DIR$\..\..\..\components\finsh\shell.c
-
-
- $PROJ_DIR$\..\..\..\components\finsh\msh.c
-
-
- $PROJ_DIR$\..\..\..\components\finsh\cmd.c
-
-
-
- Kernel
-
- $PROJ_DIR$\..\..\..\src\thread.c
-
-
- $PROJ_DIR$\..\..\..\src\device.c
-
-
- $PROJ_DIR$\..\..\..\src\timer.c
-
-
- $PROJ_DIR$\..\..\..\src\mempool.c
-
-
- $PROJ_DIR$\..\..\..\src\components.c
-
-
- $PROJ_DIR$\..\..\..\src\mem.c
-
-
- $PROJ_DIR$\..\..\..\src\ipc.c
-
-
- $PROJ_DIR$\..\..\..\src\clock.c
-
-
- $PROJ_DIR$\..\..\..\src\kservice.c
-
-
- $PROJ_DIR$\..\..\..\src\object.c
-
-
- $PROJ_DIR$\..\..\..\src\scheduler.c
-
-
- $PROJ_DIR$\..\..\..\src\idle.c
-
-
- $PROJ_DIR$\..\..\..\src\irq.c
-
-
-
- Libraries
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rcc.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_spi.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pwr.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rcc_ex.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sram.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cortex.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2c_ex.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cryp_ex.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dma_ex.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_fmc.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2c.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cryp.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_usart.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_crc_ex.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sdram.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_gpio.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_uart_ex.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_mdma.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dma.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_uart.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_comp.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rng.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_crc.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cec.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_qspi.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pwr_ex.c
-
-
- $PROJ_DIR$\..\libraries\STM32H7xx_HAL\CMSIS\Device\ST\STM32H7xx\Source\Templates\system_stm32h7xx.c
-
-
-
- POSIX
-
-
diff --git a/bsp/stm32/stm32h750-artpi-h750/project.eww b/bsp/stm32/stm32h750-artpi-h750/project.eww
deleted file mode 100644
index c2cb02eb1e..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/project.eww
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
- $WS_DIR$\project.ewp
-
-
-
-
-
diff --git a/bsp/stm32/stm32h750-artpi-h750/project.uvoptx b/bsp/stm32/stm32h750-artpi-h750/project.uvoptx
deleted file mode 100644
index 6ea03b6d88..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/project.uvoptx
+++ /dev/null
@@ -1,184 +0,0 @@
-
-
-
- 1.0
-
- ### uVision Project, (C) Keil Software
-
-
- *.c
- *.s*; *.src; *.a*
- *.obj; *.o
- *.lib
- *.txt; *.h; *.inc
- *.plm
- *.cpp
- 0
-
-
-
- 0
- 0
-
-
-
- rt-thread
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
- 0
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\build\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 0
- 0
- 1
-
- 18
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 0
- 0
- 6
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 ) -FN1 -FC1000 -FD20000000 -FF0STM32H7x_128k -FL020000 -FS08000000 -FP0($$Device:STM32H750XBHx$CMSIS\Flash\STM32H7x_128k.FLM)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U066BFF393732484257162540 -O206 -SF4000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP") -D00(6BA02477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC4000 -FN1 -FF0ART-PI_W25Q64 -FS090000000 -FL0800000
-
-
-
-
- 0
-
-
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
-
- 1
- 1
- 0
- 2
- 10000000
-
-
-
-
-
diff --git a/bsp/stm32/stm32h750-artpi-h750/project.uvprojx b/bsp/stm32/stm32h750-artpi-h750/project.uvprojx
deleted file mode 100644
index 9c83049634..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/project.uvprojx
+++ /dev/null
@@ -1,957 +0,0 @@
-
-
- 2.1
- ### uVision Project, (C) Keil Software
-
-
- rt-thread
- 0x4
- ARM-ADS
- 5060750::V5.06 update 6 (build 750)::ARMCC
- 0
-
-
- STM32H750XBHx
- STMicroelectronics
- Keil.STM32H7xx_DFP.2.5.0
- http://www.keil.com/pack/
- IRAM(0x20000000,0x00020000) IRAM2(0x24000000,0x00080000) IROM(0x08000000,0x00020000) XRAM(0x30000000,0x00048000) XRAM2(0x38000000,0x00010000) CPUTYPE("Cortex-M7") FPU3(DFPU) CLOCK(12000000) ELITTLE
-
-
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32H7x_128k -FS08000000 -FL020000 -FP0($$Device:STM32H750XBHx$CMSIS\Flash\STM32H7x_128k.FLM))
- 0
- $$Device:STM32H750XBHx$Drivers\CMSIS\Device\ST\STM32H7xx\Include\stm32h7xx.h
-
-
-
-
-
-
-
-
-
- $$Device:STM32H750XBHx$CMSIS\SVD\STM32H750x.svd
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
- 0
- 1
-
- .\build\
- rt-thread
- 1
- 0
- 0
- 1
- 0
- .\build\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 1
- 0
- fromelf --bin !L --output rtthread.bin
-
- 0
- 0
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -REMAP -MPU
- DCM.DLL
- -pCM7
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM7
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4096
-
- 1
- BIN\UL2CM3.DLL
-
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M7"
-
- 0
- 0
- 0
- 1
- 1
- 1
- 0
- 3
- 0
- 1
- 0
- 8
- 1
- 0
- 0
- 0
- 3
- 4
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 1
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0x20000
-
-
- 1
- 0x8000000
- 0x20000
-
-
- 1
- 0x30000000
- 0x48000
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x20000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x30000000
- 0x48000
-
-
- 0
- 0x38000000
- 0x10000
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0x20000
-
-
- 0
- 0x24000000
- 0x80000
-
-
-
-
-
- 1
- 1
- 0
- 0
- 1
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
-
-
- STM32H750xx, USE_HAL_DRIVER, __RTTHREAD__, RT_USING_ARM_LIBC, __CLK_TCK=RT_TICK_PER_SECOND
-
- applications;..\..\..\components\libc\compilers\common;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m7;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\spi;..\..\..\components\drivers\include;..\..\..\components\drivers\touch;..\..\..\components\drivers\include;board;board\CubeMX_Config\Core\Inc;board\port;..\libraries\HAL_Drivers;..\libraries\HAL_Drivers\config;..\..\..\components\finsh;.;..\..\..\include;..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Inc;..\libraries\STM32H7xx_HAL\CMSIS\Device\ST\STM32H7xx\Include;..\libraries\STM32H7xx_HAL\CMSIS\Include;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\io\stdio;..\..\..\components\libc\posix\ipc
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 0
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
- .\board\linker_scripts\link.sct
-
-
-
-
-
-
-
-
-
-
- Applications
-
-
- main.c
- 1
- applications\main.c
-
-
-
-
- Compiler
-
-
- syscall_mem.c
- 1
- ..\..\..\components\libc\compilers\armlibc\syscall_mem.c
-
-
-
-
- syscalls.c
- 1
- ..\..\..\components\libc\compilers\armlibc\syscalls.c
-
-
-
-
- time.c
- 1
- ..\..\..\components\libc\compilers\common\time.c
-
-
-
-
- stdlib.c
- 1
- ..\..\..\components\libc\compilers\common\stdlib.c
-
-
-
-
- CPU
-
-
- backtrace.c
- 1
- ..\..\..\libcpu\arm\common\backtrace.c
-
-
-
-
- div0.c
- 1
- ..\..\..\libcpu\arm\common\div0.c
-
-
-
-
- showmem.c
- 1
- ..\..\..\libcpu\arm\common\showmem.c
-
-
-
-
- cpu_cache.c
- 1
- ..\..\..\libcpu\arm\cortex-m7\cpu_cache.c
-
-
-
-
- context_rvds.S
- 2
- ..\..\..\libcpu\arm\cortex-m7\context_rvds.S
-
-
-
-
- cpuport.c
- 1
- ..\..\..\libcpu\arm\cortex-m7\cpuport.c
-
-
-
-
- DeviceDrivers
-
-
- i2c_core.c
- 1
- ..\..\..\components\drivers\i2c\i2c_core.c
-
-
-
-
- i2c_dev.c
- 1
- ..\..\..\components\drivers\i2c\i2c_dev.c
-
-
-
-
- i2c-bit-ops.c
- 1
- ..\..\..\components\drivers\i2c\i2c-bit-ops.c
-
-
-
-
- workqueue.c
- 1
- ..\..\..\components\drivers\ipc\workqueue.c
-
-
-
-
- waitqueue.c
- 1
- ..\..\..\components\drivers\ipc\waitqueue.c
-
-
-
-
- dataqueue.c
- 1
- ..\..\..\components\drivers\ipc\dataqueue.c
-
-
-
-
- ringblk_buf.c
- 1
- ..\..\..\components\drivers\ipc\ringblk_buf.c
-
-
-
-
- ringbuffer.c
- 1
- ..\..\..\components\drivers\ipc\ringbuffer.c
-
-
-
-
- pipe.c
- 1
- ..\..\..\components\drivers\ipc\pipe.c
-
-
-
-
- completion.c
- 1
- ..\..\..\components\drivers\ipc\completion.c
-
-
-
-
- pin.c
- 1
- ..\..\..\components\drivers\misc\pin.c
-
-
-
-
- serial_v2.c
- 1
- ..\..\..\components\drivers\serial\serial_v2.c
-
-
-
-
- spi_core.c
- 1
- ..\..\..\components\drivers\spi\spi_core.c
-
-
-
-
- spi_dev.c
- 1
- ..\..\..\components\drivers\spi\spi_dev.c
-
-
-
-
- touch.c
- 1
- ..\..\..\components\drivers\touch\touch.c
-
-
-
-
- Drivers
-
-
- stm32h7xx_hal_msp.c
- 1
- board\CubeMX_Config\Core\Src\stm32h7xx_hal_msp.c
-
-
-
-
- startup_stm32h750xx.s
- 2
- ..\libraries\STM32H7xx_HAL\CMSIS\Device\ST\STM32H7xx\Source\Templates\arm\startup_stm32h750xx.s
-
-
-
-
- board.c
- 1
- board\board.c
-
-
-
-
- drv_sdram.c
- 1
- ..\libraries\HAL_Drivers\drv_sdram.c
-
-
-
-
- drv_gpio.c
- 1
- ..\libraries\HAL_Drivers\drv_gpio.c
-
-
-
-
- drv_usart_v2.c
- 1
- ..\libraries\HAL_Drivers\drv_usart_v2.c
-
-
-
-
- drv_common.c
- 1
- ..\libraries\HAL_Drivers\drv_common.c
-
-
-
-
- drv_spi.c
- 1
- ..\libraries\HAL_Drivers\drv_spi.c
-
-
-
-
- Finsh
-
-
- shell.c
- 1
- ..\..\..\components\finsh\shell.c
-
-
-
-
- msh.c
- 1
- ..\..\..\components\finsh\msh.c
-
-
-
-
- cmd.c
- 1
- ..\..\..\components\finsh\cmd.c
-
-
-
-
- Kernel
-
-
- device.c
- 1
- ..\..\..\src\device.c
-
-
-
-
- components.c
- 1
- ..\..\..\src\components.c
-
-
-
-
- thread.c
- 1
- ..\..\..\src\thread.c
-
-
-
-
- mempool.c
- 1
- ..\..\..\src\mempool.c
-
-
-
-
- kservice.c
- 1
- ..\..\..\src\kservice.c
-
-
-
-
- mem.c
- 1
- ..\..\..\src\mem.c
-
-
-
-
- irq.c
- 1
- ..\..\..\src\irq.c
-
-
-
-
- timer.c
- 1
- ..\..\..\src\timer.c
-
-
-
-
- clock.c
- 1
- ..\..\..\src\clock.c
-
-
-
-
- object.c
- 1
- ..\..\..\src\object.c
-
-
-
-
- idle.c
- 1
- ..\..\..\src\idle.c
-
-
-
-
- scheduler.c
- 1
- ..\..\..\src\scheduler.c
-
-
-
-
- ipc.c
- 1
- ..\..\..\src\ipc.c
-
-
-
-
- Libraries
-
-
- stm32h7xx_hal_rcc.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rcc.c
-
-
-
-
- stm32h7xx_hal_spi.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_spi.c
-
-
-
-
- stm32h7xx_hal_pwr.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pwr.c
-
-
-
-
- stm32h7xx_hal_rcc_ex.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rcc_ex.c
-
-
-
-
- stm32h7xx_hal_sram.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sram.c
-
-
-
-
- stm32h7xx_hal_cortex.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cortex.c
-
-
-
-
- stm32h7xx_hal_i2c_ex.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2c_ex.c
-
-
-
-
- stm32h7xx_hal_cryp_ex.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cryp_ex.c
-
-
-
-
- stm32h7xx_hal_dma_ex.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dma_ex.c
-
-
-
-
- stm32h7xx_ll_fmc.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_fmc.c
-
-
-
-
- stm32h7xx_hal_i2c.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2c.c
-
-
-
-
- stm32h7xx_hal_cryp.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cryp.c
-
-
-
-
- stm32h7xx_hal_usart.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_usart.c
-
-
-
-
- stm32h7xx_hal_crc_ex.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_crc_ex.c
-
-
-
-
- stm32h7xx_hal_sdram.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sdram.c
-
-
-
-
- stm32h7xx_hal_gpio.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_gpio.c
-
-
-
-
- stm32h7xx_hal_uart_ex.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_uart_ex.c
-
-
-
-
- stm32h7xx_hal_mdma.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_mdma.c
-
-
-
-
- stm32h7xx_hal.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal.c
-
-
-
-
- stm32h7xx_hal_dma.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dma.c
-
-
-
-
- stm32h7xx_hal_uart.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_uart.c
-
-
-
-
- stm32h7xx_hal_comp.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_comp.c
-
-
-
-
- stm32h7xx_hal_rng.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rng.c
-
-
-
-
- stm32h7xx_hal_crc.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_crc.c
-
-
-
-
- stm32h7xx_hal_cec.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cec.c
-
-
-
-
- stm32h7xx_hal_qspi.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_qspi.c
-
-
-
-
- stm32h7xx_hal_pwr_ex.c
- 1
- ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pwr_ex.c
-
-
-
-
- system_stm32h7xx.c
- 1
- ..\libraries\STM32H7xx_HAL\CMSIS\Device\ST\STM32H7xx\Source\Templates\system_stm32h7xx.c
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/bsp/stm32/stm32h750-artpi-h750/rtconfig.h b/bsp/stm32/stm32h750-artpi-h750/rtconfig.h
deleted file mode 100644
index a0d835e4ad..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/rtconfig.h
+++ /dev/null
@@ -1,207 +0,0 @@
-#ifndef RT_CONFIG_H__
-#define RT_CONFIG_H__
-
-/* Automatically generated file; DO NOT EDIT. */
-/* RT-Thread Configuration */
-
-/* RT-Thread Kernel */
-
-#define RT_NAME_MAX 8
-#define RT_ALIGN_SIZE 4
-#define RT_THREAD_PRIORITY_32
-#define RT_THREAD_PRIORITY_MAX 32
-#define RT_TICK_PER_SECOND 1000
-#define RT_USING_OVERFLOW_CHECK
-#define RT_USING_HOOK
-#define RT_HOOK_USING_FUNC_PTR
-#define RT_USING_IDLE_HOOK
-#define RT_IDLE_HOOK_LIST_SIZE 4
-#define IDLE_THREAD_STACK_SIZE 256
-
-/* kservice optimization */
-
-#define RT_DEBUG
-
-/* Inter-Thread communication */
-
-#define RT_USING_SEMAPHORE
-#define RT_USING_MUTEX
-#define RT_USING_EVENT
-#define RT_USING_MAILBOX
-#define RT_USING_MESSAGEQUEUE
-
-/* Memory Management */
-
-#define RT_USING_MEMPOOL
-#define RT_USING_SMALL_MEM
-#define RT_USING_SMALL_MEM_AS_HEAP
-#define RT_USING_HEAP
-
-/* Kernel Device Object */
-
-#define RT_USING_DEVICE
-#define RT_USING_CONSOLE
-#define RT_CONSOLEBUF_SIZE 128
-#define RT_CONSOLE_DEVICE_NAME "uart4"
-#define RT_VER_NUM 0x40100
-#define ARCH_ARM
-#define RT_USING_CPU_FFS
-#define ARCH_ARM_CORTEX_M
-#define ARCH_ARM_CORTEX_M7
-
-/* RT-Thread Components */
-
-#define RT_USING_COMPONENTS_INIT
-#define RT_USING_USER_MAIN
-#define RT_MAIN_THREAD_STACK_SIZE 2048
-#define RT_MAIN_THREAD_PRIORITY 10
-#define RT_USING_MSH
-#define RT_USING_FINSH
-#define FINSH_USING_MSH
-#define FINSH_THREAD_NAME "tshell"
-#define FINSH_THREAD_PRIORITY 20
-#define FINSH_THREAD_STACK_SIZE 4096
-#define FINSH_USING_HISTORY
-#define FINSH_HISTORY_LINES 5
-#define FINSH_USING_SYMTAB
-#define FINSH_CMD_SIZE 80
-#define MSH_USING_BUILT_IN_COMMANDS
-#define FINSH_USING_DESCRIPTION
-#define FINSH_ARG_MAX 10
-
-/* Device Drivers */
-
-#define RT_USING_DEVICE_IPC
-#define RT_USING_SERIAL
-#define RT_USING_SERIAL_V2
-#define RT_SERIAL_USING_DMA
-#define RT_USING_I2C
-#define RT_USING_I2C_BITOPS
-#define RT_USING_PIN
-#define RT_USING_SPI
-#define RT_USING_TOUCH
-
-/* Using USB */
-
-
-/* C/C++ and POSIX layer */
-
-#define RT_LIBC_DEFAULT_TIMEZONE 8
-
-/* POSIX (Portable Operating System Interface) layer */
-
-
-/* Interprocess Communication (IPC) */
-
-
-/* Socket is in the 'Network' category */
-
-
-/* Network */
-
-
-/* Utilities */
-
-
-/* RT-Thread Utestcases */
-
-
-/* RT-Thread online packages */
-
-/* IoT - internet of things */
-
-
-/* Wi-Fi */
-
-/* Marvell WiFi */
-
-
-/* Wiced WiFi */
-
-
-/* IoT Cloud */
-
-
-/* security packages */
-
-
-/* language packages */
-
-/* JSON: JavaScript Object Notation, a lightweight data-interchange format */
-
-
-/* XML: Extensible Markup Language */
-
-
-/* multimedia packages */
-
-/* LVGL: powerful and easy-to-use embedded GUI library */
-
-
-/* u8g2: a monochrome graphic library */
-
-
-/* PainterEngine: A cross-platform graphics application framework written in C language */
-
-
-/* tools packages */
-
-
-/* system packages */
-
-/* enhanced kernel services */
-
-
-/* POSIX extension functions */
-
-
-/* acceleration: Assembly language or algorithmic acceleration packages */
-
-
-/* CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */
-
-
-/* Micrium: Micrium software products porting for RT-Thread */
-
-
-/* peripheral libraries and drivers */
-
-
-/* AI packages */
-
-
-/* miscellaneous packages */
-
-/* project laboratory */
-
-/* samples: kernel and components samples */
-
-
-/* entertainment: terminal games and other interesting software packages */
-
-#define SOC_FAMILY_STM32
-#define SOC_SERIES_STM32H7
-
-/* Hardware Drivers Config */
-
-#define SOC_STM32H750XB
-#define BOARD_STM32H750_ARTPI
-
-/* Board extended module */
-
-
-/* Onboard Peripheral Drivers */
-
-#define BSP_USING_USB_TO_USART
-
-/* On-chip Peripheral Drivers */
-
-#define BSP_USING_GPIO
-#define BSP_USING_UART
-#define BSP_USING_UART4
-#define BSP_USING_SDRAM
-
-/* External Libraries */
-
-
-#endif
diff --git a/bsp/stm32/stm32h750-artpi-h750/rtconfig.py b/bsp/stm32/stm32h750-artpi-h750/rtconfig.py
deleted file mode 100644
index bf04a43eb9..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/rtconfig.py
+++ /dev/null
@@ -1,185 +0,0 @@
-import os
-
-# toolchains options
-ARCH='arm'
-CPU='cortex-m7'
-CROSS_TOOL='gcc'
-
-# bsp lib config
-BSP_LIBRARY_TYPE = None
-
-if os.getenv('RTT_CC'):
- CROSS_TOOL = os.getenv('RTT_CC')
-if os.getenv('RTT_ROOT'):
- RTT_ROOT = os.getenv('RTT_ROOT')
-
-# cross_tool provides the cross compiler
-# EXEC_PATH is the compiler execute path, for example, CodeSourcery, Keil MDK, IAR
-if CROSS_TOOL == 'gcc':
- PLATFORM = 'gcc'
- EXEC_PATH = r'/opt/gcc-arm-none-eabi/bin/'
-elif CROSS_TOOL == 'keil':
- PLATFORM = 'armcc'
- EXEC_PATH = r'C:/Keil_v5'
-elif CROSS_TOOL == 'iar':
- PLATFORM = 'iar'
- EXEC_PATH = r'C:/Program Files (x86)/IAR Systems/Embedded Workbench 8.0'
-
-if os.getenv('RTT_EXEC_PATH'):
- EXEC_PATH = os.getenv('RTT_EXEC_PATH')
-
-BUILD = 'debug'
-
-if PLATFORM == 'gcc':
- # toolchains
- PREFIX = 'arm-none-eabi-'
- CC = PREFIX + 'gcc'
- AS = PREFIX + 'gcc'
- AR = PREFIX + 'ar'
- CXX = PREFIX + 'g++'
- LINK = PREFIX + 'gcc'
- TARGET_EXT = 'elf'
- SIZE = PREFIX + 'size'
- OBJDUMP = PREFIX + 'objdump'
- OBJCPY = PREFIX + 'objcopy'
-
- DEVICE = ' -mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard -ffunction-sections -fdata-sections'
- CFLAGS = DEVICE + ' -Dgcc'
- AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp -Wa,-mimplicit-it=thumb '
- LFLAGS = DEVICE + ' -Wl,--gc-sections,-Map=rtthread.map,-cref,-u,Reset_Handler -T board/linker_scripts/link.lds'
-
- CPATH = ''
- LPATH = ''
-
- if BUILD == 'debug':
- CFLAGS += ' -O0 -gdwarf-2 -g'
- AFLAGS += ' -gdwarf-2'
- else:
- CFLAGS += ' -O2'
-
- CXXFLAGS = CFLAGS
- CFLAGS += ' -std=c99'
-
- POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n'
-
-elif PLATFORM == 'armcc':
- # toolchains
- CC = 'armcc'
- CXX = 'armcc'
- AS = 'armasm'
- AR = 'armar'
- LINK = 'armlink'
- TARGET_EXT = 'axf'
-
- DEVICE = ' --cpu Cortex-M7.fp.sp'
- CFLAGS = '-c ' + DEVICE + ' --apcs=interwork --c99'
- AFLAGS = DEVICE + ' --apcs=interwork '
- LFLAGS = DEVICE + ' --scatter "board\linker_scripts\link.sct" --info sizes --info totals --info unused --info veneers --list rtthread.map --strict'
- CFLAGS += ' -I' + EXEC_PATH + '/ARM/ARMCC/include'
- LFLAGS += ' --libpath=' + EXEC_PATH + '/ARM/ARMCC/lib'
-
- CFLAGS += ' -D__MICROLIB '
- AFLAGS += ' --pd "__MICROLIB SETA 1" '
- LFLAGS += ' --library_type=microlib '
- EXEC_PATH += '/ARM/ARMCC/bin/'
-
- if BUILD == 'debug':
- CFLAGS += ' -g -O0'
- AFLAGS += ' -g'
- else:
- CFLAGS += ' -O2'
-
- CXXFLAGS = CFLAGS
- CFLAGS += ' -std=c99'
-
- POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET'
-
-elif PLATFORM == 'armclang':
- # toolchains
- CC = 'armclang'
- CXX = 'armclang'
- AS = 'armasm'
- AR = 'armar'
- LINK = 'armlink'
- TARGET_EXT = 'axf'
-
- DEVICE = ' --cpu Cortex-M7.fp.sp '
- CFLAGS = ' --target=arm-arm-none-eabi -mcpu=cortex-M7 '
- CFLAGS += ' -mcpu=cortex-M7 -mfpu=fpv4-sp-d16 '
- CFLAGS += ' -mfloat-abi=hard -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar '
- CFLAGS += ' -gdwarf-3 -ffunction-sections '
- AFLAGS = DEVICE + ' --apcs=interwork '
- LFLAGS = DEVICE + ' --info sizes --info totals --info unused --info veneers '
- LFLAGS += ' --list rt-thread.map '
- LFLAGS += r' --strict --scatter "board\linker_scripts\link.sct" '
- CFLAGS += ' -I' + EXEC_PATH + '/ARM/ARMCLANG/include'
- LFLAGS += ' --libpath=' + EXEC_PATH + '/ARM/ARMCLANG/lib'
-
- EXEC_PATH += '/ARM/ARMCLANG/bin/'
-
- if BUILD == 'debug':
- CFLAGS += ' -g -O1' # armclang recommend
- AFLAGS += ' -g'
- else:
- CFLAGS += ' -O2'
-
- CXXFLAGS = CFLAGS
- CFLAGS += ' -std=c99'
-
- POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET'
-
-elif PLATFORM == 'iar':
- # toolchains
- CC = 'iccarm'
- CXX = 'iccarm'
- AS = 'iasmarm'
- AR = 'iarchive'
- LINK = 'ilinkarm'
- TARGET_EXT = 'out'
-
- DEVICE = '-Dewarm'
-
- CFLAGS = DEVICE
- CFLAGS += ' --diag_suppress Pa050'
- CFLAGS += ' --no_cse'
- CFLAGS += ' --no_unroll'
- CFLAGS += ' --no_inline'
- CFLAGS += ' --no_code_motion'
- CFLAGS += ' --no_tbaa'
- CFLAGS += ' --no_clustering'
- CFLAGS += ' --no_scheduling'
- CFLAGS += ' --endian=little'
- CFLAGS += ' --cpu=Cortex-M7'
- CFLAGS += ' -e'
- CFLAGS += ' --fpu=VFPv5_sp'
- CFLAGS += ' --dlib_config "' + EXEC_PATH + '/arm/INC/c/DLib_Config_Normal.h"'
- CFLAGS += ' --silent'
-
- AFLAGS = DEVICE
- AFLAGS += ' -s+'
- AFLAGS += ' -w+'
- AFLAGS += ' -r'
- AFLAGS += ' --cpu Cortex-M7'
- AFLAGS += ' --fpu VFPv5_sp'
- AFLAGS += ' -S'
-
- if BUILD == 'debug':
- CFLAGS += ' --debug'
- CFLAGS += ' -On'
- else:
- CFLAGS += ' -Oh'
-
- LFLAGS = ' --config "board/linker_scripts/link.icf"'
- LFLAGS += ' --entry __iar_program_start'
-
- CXXFLAGS = CFLAGS
-
- EXEC_PATH = EXEC_PATH + '/arm/bin/'
- POST_ACTION = 'ielftool --bin $TARGET rtthread.bin'
-
-def dist_handle(BSP_ROOT, dist_dir):
- import sys
- cwd_path = os.getcwd()
- sys.path.append(os.path.join(os.path.dirname(BSP_ROOT), 'tools'))
- from sdk_dist import dist_do_building
- dist_do_building(BSP_ROOT, dist_dir)
diff --git a/bsp/stm32/stm32h750-artpi-h750/template.ewp b/bsp/stm32/stm32h750-artpi-h750/template.ewp
deleted file mode 100644
index 1ca2a5511b..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/template.ewp
+++ /dev/null
@@ -1,2074 +0,0 @@
-
-
- 3
-
- rtthread
-
- ARM
-
- 1
-
- General
- 3
-
- 31
- 1
- 1
-
- ExePath
- build\iar\Exe
-
-
- ObjPath
- build\iar\Obj
-
-
- ListPath
- build\iar\List
-
-
- GEndianMode
- 0
-
-
- Input description
- Automatic choice of formatter, without multibyte support.
-
-
- Output description
- Automatic choice of formatter, without multibyte support.
-
-
- GOutputBinary
- 0
-
-
- OGCoreOrChip
- 1
-
-
- GRuntimeLibSelect
- 0
- 1
-
-
- GRuntimeLibSelectSlave
- 0
- 1
-
-
- RTDescription
- Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.
-
-
- OGProductVersion
- 6.30.6.53380
-
-
- OGLastSavedByProductVersion
- 8.32.1.18618
-
-
- GeneralEnableMisra
- 0
-
-
- GeneralMisraVerbose
- 0
-
-
- OGChipSelectEditMenu
- STM32H743ZI ST STM32H743ZI
-
-
- GenLowLevelInterface
- 1
-
-
- GEndianModeBE
- 1
-
-
- OGBufferedTerminalOutput
- 0
-
-
- GenStdoutInterface
- 0
-
-
- GeneralMisraRules98
- 0
- 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
-
-
- GeneralMisraVer
- 0
-
-
- GeneralMisraRules04
- 0
- 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
-
-
- RTConfigPath2
- $TOOLKIT_DIR$\inc\c\DLib_Config_Normal.h
-
-
- GBECoreSlave
- 26
- 41
-
-
- OGUseCmsis
- 0
-
-
- OGUseCmsisDspLib
- 0
-
-
- GRuntimeLibThreads
- 0
-
-
- CoreVariant
- 26
- 41
-
-
- GFPUDeviceSlave
- STM32H743ZI ST STM32H743ZI
-
-
- FPU2
- 0
- 7
-
-
- NrRegs
- 0
- 1
-
-
- NEON
- 0
-
-
- GFPUCoreSlave2
- 26
- 41
-
-
- OGCMSISPackSelectDevice
-
-
- OgLibHeap
- 0
-
-
- OGLibAdditionalLocale
- 0
-
-
- OGPrintfVariant
- 0
- 0
-
-
- OGPrintfMultibyteSupport
- 0
-
-
- OGScanfVariant
- 0
- 0
-
-
- OGScanfMultibyteSupport
- 0
-
-
- GenLocaleTags
-
-
-
- GenLocaleDisplayOnly
-
-
-
- DSPExtension
- 1
-
-
- TrustZone
- 0
-
-
- TrustZoneModes
- 0
- 0
-
-
-
-
- ICCARM
- 2
-
- 35
- 1
- 1
-
- CCOptimizationNoSizeConstraints
- 0
-
-
- CCDefines
-
-
-
- CCPreprocFile
- 0
-
-
- CCPreprocComments
- 0
-
-
- CCPreprocLine
- 0
-
-
- CCListCFile
- 0
-
-
- CCListCMnemonics
- 0
-
-
- CCListCMessages
- 0
-
-
- CCListAssFile
- 0
-
-
- CCListAssSource
- 0
-
-
- CCEnableRemarks
- 0
-
-
- CCDiagSuppress
- Pa050
-
-
- CCDiagRemark
-
-
-
- CCDiagWarning
-
-
-
- CCDiagError
-
-
-
- CCObjPrefix
- 1
-
-
- CCAllowList
- 1
- 00000000
-
-
- CCDebugInfo
- 1
-
-
- IEndianMode
- 1
-
-
- IProcessor
- 1
-
-
- IExtraOptionsCheck
- 0
-
-
- IExtraOptions
-
-
-
- CCLangConformance
- 0
-
-
- CCSignedPlainChar
- 1
-
-
- CCRequirePrototypes
- 0
-
-
- CCDiagWarnAreErr
- 0
-
-
- CCCompilerRuntimeInfo
- 0
-
-
- IFpuProcessor
- 1
-
-
- OutputFile
- $FILE_BNAME$.o
-
-
- CCLibConfigHeader
- 1
-
-
- PreInclude
-
-
-
- CompilerMisraOverride
- 0
-
-
- CCIncludePath2
-
-
-
- CCStdIncCheck
- 0
-
-
- CCCodeSection
- .text
-
-
- IProcessorMode2
- 1
-
-
- CCOptLevel
- 1
-
-
- CCOptStrategy
- 0
- 0
-
-
- CCOptLevelSlave
- 1
-
-
- CompilerMisraRules98
- 0
- 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
-
-
- CompilerMisraRules04
- 0
- 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
-
-
- CCPosIndRopi
- 0
-
-
- CCPosIndRwpi
- 0
-
-
- CCPosIndNoDynInit
- 0
-
-
- IccLang
- 0
-
-
- IccCDialect
- 1
-
-
- IccAllowVLA
- 0
-
-
- IccStaticDestr
- 1
-
-
- IccCppInlineSemantics
- 0
-
-
- IccCmsis
- 1
-
-
- IccFloatSemantics
- 0
-
-
- CCNoLiteralPool
- 0
-
-
- CCOptStrategySlave
- 0
- 0
-
-
- CCGuardCalls
- 1
-
-
- CCEncSource
- 0
-
-
- CCEncOutput
- 0
-
-
- CCEncOutputBom
- 1
-
-
- CCEncInput
- 0
-
-
- IccExceptions2
- 0
-
-
- IccRTTI2
- 0
-
-
- OICompilerExtraOption
- 1
-
-
-
-
- AARM
- 2
-
- 10
- 1
- 1
-
- AObjPrefix
- 1
-
-
- AEndian
- 1
-
-
- ACaseSensitivity
- 1
-
-
- MacroChars
- 0
- 0
-
-
- AWarnEnable
- 0
-
-
- AWarnWhat
- 0
-
-
- AWarnOne
-
-
-
- AWarnRange1
-
-
-
- AWarnRange2
-
-
-
- ADebug
- 1
-
-
- AltRegisterNames
- 0
-
-
- ADefines
-
-
-
- AList
- 0
-
-
- AListHeader
- 1
-
-
- AListing
- 1
-
-
- Includes
- 0
-
-
- MacDefs
- 0
-
-
- MacExps
- 1
-
-
- MacExec
- 0
-
-
- OnlyAssed
- 0
-
-
- MultiLine
- 0
-
-
- PageLengthCheck
- 0
-
-
- PageLength
- 80
-
-
- TabSpacing
- 8
-
-
- AXRef
- 0
-
-
- AXRefDefines
- 0
-
-
- AXRefInternal
- 0
-
-
- AXRefDual
- 0
-
-
- AProcessor
- 1
-
-
- AFpuProcessor
- 1
-
-
- AOutputFile
- $FILE_BNAME$.o
-
-
- ALimitErrorsCheck
- 0
-
-
- ALimitErrorsEdit
- 100
-
-
- AIgnoreStdInclude
- 0
-
-
- AUserIncludes
-
-
-
- AExtraOptionsCheckV2
- 0
-
-
- AExtraOptionsV2
-
-
-
- AsmNoLiteralPool
- 0
-
-
-
-
- OBJCOPY
- 0
-
- 1
- 1
- 1
-
- OOCOutputFormat
- 3
- 3
-
-
- OCOutputOverride
- 1
-
-
- OOCOutputFile
- ../../../rtthread.bin
-
-
- OOCCommandLineProducer
- 1
-
-
- OOCObjCopyEnable
- 1
-
-
-
-
- CUSTOM
- 3
-
-
-
- 0
-
-
-
- BICOMP
- 0
-
-
-
- BUILDACTION
- 1
-
-
-
-
-
-
- ILINK
- 0
-
- 22
- 1
- 1
-
- IlinkLibIOConfig
- 1
-
-
- XLinkMisraHandler
- 0
-
-
- IlinkInputFileSlave
- 0
-
-
- IlinkOutputFile
- project.out
-
-
- IlinkDebugInfoEnable
- 1
-
-
- IlinkKeepSymbols
-
-
-
- IlinkRawBinaryFile
-
-
-
- IlinkRawBinarySymbol
-
-
-
- IlinkRawBinarySegment
-
-
-
- IlinkRawBinaryAlign
-
-
-
- IlinkDefines
-
-
-
- IlinkConfigDefines
-
-
-
- IlinkMapFile
- 0
-
-
- IlinkLogFile
- 0
-
-
- IlinkLogInitialization
- 0
-
-
- IlinkLogModule
- 0
-
-
- IlinkLogSection
- 0
-
-
- IlinkLogVeneer
- 0
-
-
- IlinkIcfOverride
- 1
-
-
- IlinkIcfFile
- $PROJ_DIR$\board\linker_scripts\link.icf
-
-
- IlinkIcfFileSlave
-
-
-
- IlinkEnableRemarks
- 0
-
-
- IlinkSuppressDiags
-
-
-
- IlinkTreatAsRem
-
-
-
- IlinkTreatAsWarn
-
-
-
- IlinkTreatAsErr
-
-
-
- IlinkWarningsAreErrors
- 0
-
-
- IlinkUseExtraOptions
- 0
-
-
- IlinkExtraOptions
-
-
-
- IlinkLowLevelInterfaceSlave
- 1
-
-
- IlinkAutoLibEnable
- 1
-
-
- IlinkAdditionalLibs
-
-
-
- IlinkOverrideProgramEntryLabel
- 0
-
-
- IlinkProgramEntryLabelSelect
- 0
-
-
- IlinkProgramEntryLabel
- __iar_program_start
-
-
- DoFill
- 0
-
-
- FillerByte
- 0xFF
-
-
- FillerStart
- 0x0
-
-
- FillerEnd
- 0x0
-
-
- CrcSize
- 0
- 1
-
-
- CrcAlign
- 1
-
-
- CrcPoly
- 0x11021
-
-
- CrcCompl
- 0
- 0
-
-
- CrcBitOrder
- 0
- 0
-
-
- CrcInitialValue
- 0x0
-
-
- DoCrc
- 0
-
-
- IlinkBE8Slave
- 1
-
-
- IlinkBufferedTerminalOutput
- 1
-
-
- IlinkStdoutInterfaceSlave
- 1
-
-
- CrcFullSize
- 0
-
-
- IlinkIElfToolPostProcess
- 0
-
-
- IlinkLogAutoLibSelect
- 0
-
-
- IlinkLogRedirSymbols
- 0
-
-
- IlinkLogUnusedFragments
- 0
-
-
- IlinkCrcReverseByteOrder
- 0
-
-
- IlinkCrcUseAsInput
- 1
-
-
- IlinkOptInline
- 0
-
-
- IlinkOptExceptionsAllow
- 1
-
-
- IlinkOptExceptionsForce
- 0
-
-
- IlinkCmsis
- 1
-
-
- IlinkOptMergeDuplSections
- 0
-
-
- IlinkOptUseVfe
- 1
-
-
- IlinkOptForceVfe
- 0
-
-
- IlinkStackAnalysisEnable
- 0
-
-
- IlinkStackControlFile
-
-
-
- IlinkStackCallGraphFile
-
-
-
- CrcAlgorithm
- 1
- 1
-
-
- CrcUnitSize
- 0
- 0
-
-
- IlinkThreadsSlave
- 1
-
-
- IlinkLogCallGraph
- 0
-
-
- IlinkIcfFile_AltDefault
-
-
-
- IlinkEncInput
- 0
-
-
- IlinkEncOutput
- 0
-
-
- IlinkEncOutputBom
- 1
-
-
- IlinkHeapSelect
- 1
-
-
- IlinkLocaleSelect
- 1
-
-
- IlinkTrustzoneImportLibraryOut
- ###Unitialized###
-
-
- OILinkExtraOption
- 1
-
-
-
-
- IARCHIVE
- 0
-
- 0
- 1
- 1
-
- IarchiveInputs
-
-
-
- IarchiveOverride
- 0
-
-
- IarchiveOutput
- ###Unitialized###
-
-
-
-
- BILINK
- 0
-
-
-
-
- Release
-
- ARM
-
- 0
-
- General
- 3
-
- 31
- 1
- 0
-
- ExePath
- Release\Exe
-
-
- ObjPath
- Release\Obj
-
-
- ListPath
- Release\List
-
-
- GEndianMode
- 0
-
-
- Input description
-
-
-
- Output description
-
-
-
- GOutputBinary
- 0
-
-
- OGCoreOrChip
- 0
-
-
- GRuntimeLibSelect
- 0
- 1
-
-
- GRuntimeLibSelectSlave
- 0
- 1
-
-
- RTDescription
-
-
-
- OGProductVersion
- 6.30.6.53380
-
-
- OGLastSavedByProductVersion
- 8.11.3.13977
-
-
- GeneralEnableMisra
- 0
-
-
- GeneralMisraVerbose
- 0
-
-
- OGChipSelectEditMenu
- Default None
-
-
- GenLowLevelInterface
- 0
-
-
- GEndianModeBE
- 0
-
-
- OGBufferedTerminalOutput
- 0
-
-
- GenStdoutInterface
- 0
-
-
- GeneralMisraRules98
- 0
- 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
-
-
- GeneralMisraVer
- 0
-
-
- GeneralMisraRules04
- 0
- 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
-
-
- RTConfigPath2
-
-
-
- GBECoreSlave
- 26
- 1
-
-
- OGUseCmsis
- 0
-
-
- OGUseCmsisDspLib
- 0
-
-
- GRuntimeLibThreads
- 0
-
-
- CoreVariant
- 26
- 0
-
-
- GFPUDeviceSlave
- Default None
-
-
- FPU2
- 0
- 0
-
-
- NrRegs
- 0
- 0
-
-
- NEON
- 0
-
-
- GFPUCoreSlave2
- 26
- 0
-
-
- OGCMSISPackSelectDevice
-
-
- OgLibHeap
- 0
-
-
- OGLibAdditionalLocale
- 0
-
-
- OGPrintfVariant
- 0
- 0
-
-
- OGPrintfMultibyteSupport
- 0
-
-
- OGScanfVariant
- 0
- 0
-
-
- OGScanfMultibyteSupport
- 0
-
-
- GenLocaleTags
-
-
-
- GenLocaleDisplayOnly
-
-
-
- DSPExtension
- 0
-
-
- TrustZone
- 0
-
-
- TrustZoneModes
- 0
- 0
-
-
-
-
- ICCARM
- 2
-
- 35
- 1
- 0
-
- CCOptimizationNoSizeConstraints
- 0
-
-
- CCDefines
-
-
-
- CCPreprocFile
- 0
-
-
- CCPreprocComments
- 0
-
-
- CCPreprocLine
- 0
-
-
- CCListCFile
- 0
-
-
- CCListCMnemonics
- 0
-
-
- CCListCMessages
- 0
-
-
- CCListAssFile
- 0
-
-
- CCListAssSource
- 0
-
-
- CCEnableRemarks
- 0
-
-
- CCDiagSuppress
-
-
-
- CCDiagRemark
-
-
-
- CCDiagWarning
-
-
-
- CCDiagError
-
-
-
- CCObjPrefix
- 1
-
-
- CCAllowList
- 1
- 11111110
-
-
- CCDebugInfo
- 0
-
-
- IEndianMode
- 1
-
-
- IProcessor
- 1
-
-
- IExtraOptionsCheck
- 0
-
-
- IExtraOptions
-
-
-
- CCLangConformance
- 0
-
-
- CCSignedPlainChar
- 1
-
-
- CCRequirePrototypes
- 0
-
-
- CCDiagWarnAreErr
- 0
-
-
- CCCompilerRuntimeInfo
- 0
-
-
- IFpuProcessor
- 1
-
-
- OutputFile
-
-
-
- CCLibConfigHeader
- 1
-
-
- PreInclude
-
-
-
- CompilerMisraOverride
- 0
-
-
- CCIncludePath2
-
-
-
- CCStdIncCheck
- 0
-
-
- CCCodeSection
- .text
-
-
- IProcessorMode2
- 1
-
-
- CCOptLevel
- 3
-
-
- CCOptStrategy
- 0
- 0
-
-
- CCOptLevelSlave
- 1
-
-
- CompilerMisraRules98
- 0
- 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
-
-
- CompilerMisraRules04
- 0
- 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
-
-
- CCPosIndRopi
- 0
-
-
- CCPosIndRwpi
- 0
-
-
- CCPosIndNoDynInit
- 0
-
-
- IccLang
- 0
-
-
- IccCDialect
- 1
-
-
- IccAllowVLA
- 0
-
-
- IccStaticDestr
- 1
-
-
- IccCppInlineSemantics
- 0
-
-
- IccCmsis
- 1
-
-
- IccFloatSemantics
- 0
-
-
- CCNoLiteralPool
- 0
-
-
- CCOptStrategySlave
- 0
- 0
-
-
- CCGuardCalls
- 1
-
-
- CCEncSource
- 0
-
-
- CCEncOutput
- 0
-
-
- CCEncOutputBom
- 1
-
-
- CCEncInput
- 0
-
-
- IccExceptions2
- 0
-
-
- IccRTTI2
- 0
-
-
- OICompilerExtraOption
- 1
-
-
-
-
- AARM
- 2
-
- 10
- 1
- 0
-
- AObjPrefix
- 1
-
-
- AEndian
- 1
-
-
- ACaseSensitivity
- 1
-
-
- MacroChars
- 0
- 0
-
-
- AWarnEnable
- 0
-
-
- AWarnWhat
- 0
-
-
- AWarnOne
-
-
-
- AWarnRange1
-
-
-
- AWarnRange2
-
-
-
- ADebug
- 0
-
-
- AltRegisterNames
- 0
-
-
- ADefines
-
-
-
- AList
- 0
-
-
- AListHeader
- 1
-
-
- AListing
- 1
-
-
- Includes
- 0
-
-
- MacDefs
- 0
-
-
- MacExps
- 1
-
-
- MacExec
- 0
-
-
- OnlyAssed
- 0
-
-
- MultiLine
- 0
-
-
- PageLengthCheck
- 0
-
-
- PageLength
- 80
-
-
- TabSpacing
- 8
-
-
- AXRef
- 0
-
-
- AXRefDefines
- 0
-
-
- AXRefInternal
- 0
-
-
- AXRefDual
- 0
-
-
- AProcessor
- 1
-
-
- AFpuProcessor
- 1
-
-
- AOutputFile
-
-
-
- ALimitErrorsCheck
- 0
-
-
- ALimitErrorsEdit
- 100
-
-
- AIgnoreStdInclude
- 0
-
-
- AUserIncludes
-
-
-
- AExtraOptionsCheckV2
- 0
-
-
- AExtraOptionsV2
-
-
-
- AsmNoLiteralPool
- 0
-
-
-
-
- OBJCOPY
- 0
-
- 1
- 1
- 0
-
- OOCOutputFormat
- 3
- 0
-
-
- OCOutputOverride
- 0
-
-
- OOCOutputFile
-
-
-
- OOCCommandLineProducer
- 1
-
-
- OOCObjCopyEnable
- 0
-
-
-
-
- CUSTOM
- 3
-
-
-
- 0
-
-
-
- BICOMP
- 0
-
-
-
- BUILDACTION
- 1
-
-
-
-
-
-
- ILINK
- 0
-
- 22
- 1
- 0
-
- IlinkLibIOConfig
- 1
-
-
- XLinkMisraHandler
- 0
-
-
- IlinkInputFileSlave
- 0
-
-
- IlinkOutputFile
- ###Unitialized###
-
-
- IlinkDebugInfoEnable
- 1
-
-
- IlinkKeepSymbols
-
-
-
- IlinkRawBinaryFile
-
-
-
- IlinkRawBinarySymbol
-
-
-
- IlinkRawBinarySegment
-
-
-
- IlinkRawBinaryAlign
-
-
-
- IlinkDefines
-
-
-
- IlinkConfigDefines
-
-
-
- IlinkMapFile
- 0
-
-
- IlinkLogFile
- 0
-
-
- IlinkLogInitialization
- 0
-
-
- IlinkLogModule
- 0
-
-
- IlinkLogSection
- 0
-
-
- IlinkLogVeneer
- 0
-
-
- IlinkIcfOverride
- 0
-
-
- IlinkIcfFile
- lnk0t.icf
-
-
- IlinkIcfFileSlave
-
-
-
- IlinkEnableRemarks
- 0
-
-
- IlinkSuppressDiags
-
-
-
- IlinkTreatAsRem
-
-
-
- IlinkTreatAsWarn
-
-
-
- IlinkTreatAsErr
-
-
-
- IlinkWarningsAreErrors
- 0
-
-
- IlinkUseExtraOptions
- 0
-
-
- IlinkExtraOptions
-
-
-
- IlinkLowLevelInterfaceSlave
- 1
-
-
- IlinkAutoLibEnable
- 1
-
-
- IlinkAdditionalLibs
-
-
-
- IlinkOverrideProgramEntryLabel
- 0
-
-
- IlinkProgramEntryLabelSelect
- 0
-
-
- IlinkProgramEntryLabel
-
-
-
- DoFill
- 0
-
-
- FillerByte
- 0xFF
-
-
- FillerStart
- 0x0
-
-
- FillerEnd
- 0x0
-
-
- CrcSize
- 0
- 1
-
-
- CrcAlign
- 1
-
-
- CrcPoly
- 0x11021
-
-
- CrcCompl
- 0
- 0
-
-
- CrcBitOrder
- 0
- 0
-
-
- CrcInitialValue
- 0x0
-
-
- DoCrc
- 0
-
-
- IlinkBE8Slave
- 1
-
-
- IlinkBufferedTerminalOutput
- 1
-
-
- IlinkStdoutInterfaceSlave
- 1
-
-
- CrcFullSize
- 0
-
-
- IlinkIElfToolPostProcess
- 0
-
-
- IlinkLogAutoLibSelect
- 0
-
-
- IlinkLogRedirSymbols
- 0
-
-
- IlinkLogUnusedFragments
- 0
-
-
- IlinkCrcReverseByteOrder
- 0
-
-
- IlinkCrcUseAsInput
- 1
-
-
- IlinkOptInline
- 1
-
-
- IlinkOptExceptionsAllow
- 1
-
-
- IlinkOptExceptionsForce
- 0
-
-
- IlinkCmsis
- 1
-
-
- IlinkOptMergeDuplSections
- 0
-
-
- IlinkOptUseVfe
- 1
-
-
- IlinkOptForceVfe
- 0
-
-
- IlinkStackAnalysisEnable
- 0
-
-
- IlinkStackControlFile
-
-
-
- IlinkStackCallGraphFile
-
-
-
- CrcAlgorithm
- 1
- 1
-
-
- CrcUnitSize
- 0
- 0
-
-
- IlinkThreadsSlave
- 1
-
-
- IlinkLogCallGraph
- 0
-
-
- IlinkIcfFile_AltDefault
-
-
-
- IlinkEncInput
- 0
-
-
- IlinkEncOutput
- 0
-
-
- IlinkEncOutputBom
- 1
-
-
- IlinkHeapSelect
- 1
-
-
- IlinkLocaleSelect
- 1
-
-
- IlinkTrustzoneImportLibraryOut
- ###Unitialized###
-
-
- OILinkExtraOption
- 1
-
-
-
-
- IARCHIVE
- 0
-
- 0
- 1
- 0
-
- IarchiveInputs
-
-
-
- IarchiveOverride
- 0
-
-
- IarchiveOutput
- ###Unitialized###
-
-
-
-
- BILINK
- 0
-
-
-
-
diff --git a/bsp/stm32/stm32h750-artpi-h750/template.eww b/bsp/stm32/stm32h750-artpi-h750/template.eww
deleted file mode 100644
index bd036bb4c9..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/template.eww
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
- $WS_DIR$\template.ewp
-
-
-
-
-
diff --git a/bsp/stm32/stm32h750-artpi-h750/template.uvoptx b/bsp/stm32/stm32h750-artpi-h750/template.uvoptx
deleted file mode 100644
index 6ea03b6d88..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/template.uvoptx
+++ /dev/null
@@ -1,184 +0,0 @@
-
-
-
- 1.0
-
- ### uVision Project, (C) Keil Software
-
-
- *.c
- *.s*; *.src; *.a*
- *.obj; *.o
- *.lib
- *.txt; *.h; *.inc
- *.plm
- *.cpp
- 0
-
-
-
- 0
- 0
-
-
-
- rt-thread
- 0x4
- ARM-ADS
-
- 12000000
-
- 1
- 1
- 0
- 1
- 0
-
-
- 1
- 65535
- 0
- 0
- 0
-
-
- 79
- 66
- 8
- .\build\
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 0
- 0
- 0
- 0
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
-
-
- 0
- 0
- 1
-
- 18
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 1
- 1
- 0
- 0
- 1
- 0
- 0
- 6
-
-
-
-
-
-
-
-
-
-
- STLink\ST-LINKIII-KEIL_SWO.dll
-
-
-
- 0
- UL2CM3
- UL2CM3(-S0 -C0 -P0 ) -FN1 -FC1000 -FD20000000 -FF0STM32H7x_128k -FL020000 -FS08000000 -FP0($$Device:STM32H750XBHx$CMSIS\Flash\STM32H7x_128k.FLM)
-
-
- 0
- ST-LINKIII-KEIL_SWO
- -U066BFF393732484257162540 -O206 -SF4000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP") -D00(6BA02477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC4000 -FN1 -FF0ART-PI_W25Q64 -FS090000000 -FL0800000
-
-
-
-
- 0
-
-
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
-
- 1
- 1
- 0
- 2
- 10000000
-
-
-
-
-
diff --git a/bsp/stm32/stm32h750-artpi-h750/template.uvprojx b/bsp/stm32/stm32h750-artpi-h750/template.uvprojx
deleted file mode 100644
index d12a55c27c..0000000000
--- a/bsp/stm32/stm32h750-artpi-h750/template.uvprojx
+++ /dev/null
@@ -1,390 +0,0 @@
-
-
-
- 2.1
-
- ### uVision Project, (C) Keil Software
-
-
-
- rt-thread
- 0x4
- ARM-ADS
- 5060750::V5.06 update 6 (build 750)::ARMCC
- 0
-
-
- STM32H750XBHx
- STMicroelectronics
- Keil.STM32H7xx_DFP.2.5.0
- http://www.keil.com/pack/
- IRAM(0x20000000,0x00020000) IRAM2(0x24000000,0x00080000) IROM(0x08000000,0x00020000) XRAM(0x30000000,0x00048000) XRAM2(0x38000000,0x00010000) CPUTYPE("Cortex-M7") FPU3(DFPU) CLOCK(12000000) ELITTLE
-
-
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32H7x_128k -FS08000000 -FL020000 -FP0($$Device:STM32H750XBHx$CMSIS\Flash\STM32H7x_128k.FLM))
- 0
- $$Device:STM32H750XBHx$Drivers\CMSIS\Device\ST\STM32H7xx\Include\stm32h7xx.h
-
-
-
-
-
-
-
-
-
- $$Device:STM32H750XBHx$CMSIS\SVD\STM32H750x.svd
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
- 0
- 1
-
- .\build\
- rt-thread
- 1
- 0
- 0
- 1
- 0
- .\build\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 1
- 0
- fromelf --bin !L --output rtthread.bin
-
- 0
- 0
- 0
- 0
-
- 0
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -REMAP -MPU
- DCM.DLL
- -pCM7
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM7
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4096
-
- 1
- BIN\UL2CM3.DLL
-
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M7"
-
- 0
- 0
- 0
- 1
- 1
- 1
- 0
- 3
- 0
- 1
- 0
- 8
- 1
- 0
- 0
- 0
- 3
- 4
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 1
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0x20000
-
-
- 1
- 0x8000000
- 0x20000
-
-
- 1
- 0x30000000
- 0x48000
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x20000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x30000000
- 0x48000
-
-
- 0
- 0x38000000
- 0x10000
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0x20000
-
-
- 0
- 0x24000000
- 0x80000
-
-
-
-
-
- 1
- 1
- 0
- 0
- 1
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 0
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
- .\board\linker_scripts\link.sct
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/bsp/stm32/stm32h750-artpi/.config b/bsp/stm32/stm32h750-artpi/.config
new file mode 100644
index 0000000000..d04b45decc
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/.config
@@ -0,0 +1,705 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# RT-Thread Configuration
+#
+
+#
+# RT-Thread Kernel
+#
+CONFIG_RT_NAME_MAX=8
+# CONFIG_RT_USING_ARCH_DATA_TYPE is not set
+# CONFIG_RT_USING_SMP is not set
+CONFIG_RT_ALIGN_SIZE=4
+# CONFIG_RT_THREAD_PRIORITY_8 is not set
+CONFIG_RT_THREAD_PRIORITY_32=y
+# CONFIG_RT_THREAD_PRIORITY_256 is not set
+CONFIG_RT_THREAD_PRIORITY_MAX=32
+CONFIG_RT_TICK_PER_SECOND=1000
+CONFIG_RT_USING_OVERFLOW_CHECK=y
+CONFIG_RT_USING_HOOK=y
+CONFIG_RT_HOOK_USING_FUNC_PTR=y
+CONFIG_RT_USING_IDLE_HOOK=y
+CONFIG_RT_IDLE_HOOK_LIST_SIZE=4
+CONFIG_IDLE_THREAD_STACK_SIZE=256
+# CONFIG_RT_USING_TIMER_SOFT is not set
+
+#
+# kservice optimization
+#
+# CONFIG_RT_KSERVICE_USING_STDLIB is not set
+# CONFIG_RT_KSERVICE_USING_TINY_SIZE is not set
+# CONFIG_RT_USING_TINY_FFS is not set
+# CONFIG_RT_PRINTF_LONGLONG is not set
+CONFIG_RT_DEBUG=y
+# CONFIG_RT_DEBUG_COLOR is not set
+# CONFIG_RT_DEBUG_INIT_CONFIG is not set
+# CONFIG_RT_DEBUG_THREAD_CONFIG is not set
+# CONFIG_RT_DEBUG_SCHEDULER_CONFIG is not set
+# CONFIG_RT_DEBUG_IPC_CONFIG is not set
+# CONFIG_RT_DEBUG_TIMER_CONFIG is not set
+# CONFIG_RT_DEBUG_IRQ_CONFIG is not set
+# CONFIG_RT_DEBUG_MEM_CONFIG is not set
+# CONFIG_RT_DEBUG_SLAB_CONFIG is not set
+# CONFIG_RT_DEBUG_MEMHEAP_CONFIG is not set
+# CONFIG_RT_DEBUG_MODULE_CONFIG is not set
+
+#
+# Inter-Thread communication
+#
+CONFIG_RT_USING_SEMAPHORE=y
+CONFIG_RT_USING_MUTEX=y
+CONFIG_RT_USING_EVENT=y
+CONFIG_RT_USING_MAILBOX=y
+CONFIG_RT_USING_MESSAGEQUEUE=y
+# CONFIG_RT_USING_SIGNALS is not set
+
+#
+# Memory Management
+#
+CONFIG_RT_USING_MEMPOOL=y
+CONFIG_RT_USING_SMALL_MEM=y
+# CONFIG_RT_USING_SLAB is not set
+# CONFIG_RT_USING_MEMHEAP is not set
+CONFIG_RT_USING_SMALL_MEM_AS_HEAP=y
+# CONFIG_RT_USING_MEMHEAP_AS_HEAP is not set
+# CONFIG_RT_USING_SLAB_AS_HEAP is not set
+# CONFIG_RT_USING_USERHEAP is not set
+# CONFIG_RT_USING_NOHEAP is not set
+# CONFIG_RT_USING_MEMTRACE is not set
+# CONFIG_RT_USING_HEAP_ISR is not set
+CONFIG_RT_USING_HEAP=y
+
+#
+# Kernel Device Object
+#
+CONFIG_RT_USING_DEVICE=y
+# CONFIG_RT_USING_DEVICE_OPS is not set
+# CONFIG_RT_USING_INTERRUPT_INFO is not set
+CONFIG_RT_USING_CONSOLE=y
+CONFIG_RT_CONSOLEBUF_SIZE=128
+CONFIG_RT_CONSOLE_DEVICE_NAME="uart4"
+CONFIG_RT_VER_NUM=0x40100
+CONFIG_ARCH_ARM=y
+CONFIG_RT_USING_CPU_FFS=y
+CONFIG_ARCH_ARM_CORTEX_M=y
+CONFIG_ARCH_ARM_CORTEX_M7=y
+# CONFIG_ARCH_CPU_STACK_GROWS_UPWARD is not set
+
+#
+# RT-Thread Components
+#
+CONFIG_RT_USING_COMPONENTS_INIT=y
+CONFIG_RT_USING_USER_MAIN=y
+CONFIG_RT_MAIN_THREAD_STACK_SIZE=2048
+CONFIG_RT_MAIN_THREAD_PRIORITY=10
+# CONFIG_RT_USING_LEGACY is not set
+CONFIG_RT_USING_MSH=y
+CONFIG_RT_USING_FINSH=y
+CONFIG_FINSH_USING_MSH=y
+CONFIG_FINSH_THREAD_NAME="tshell"
+CONFIG_FINSH_THREAD_PRIORITY=20
+CONFIG_FINSH_THREAD_STACK_SIZE=4096
+CONFIG_FINSH_USING_HISTORY=y
+CONFIG_FINSH_HISTORY_LINES=5
+CONFIG_FINSH_USING_SYMTAB=y
+CONFIG_FINSH_CMD_SIZE=80
+CONFIG_MSH_USING_BUILT_IN_COMMANDS=y
+CONFIG_FINSH_USING_DESCRIPTION=y
+# CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set
+# CONFIG_FINSH_USING_AUTH is not set
+CONFIG_FINSH_ARG_MAX=10
+# CONFIG_RT_USING_DFS is not set
+# CONFIG_RT_USING_FAL is not set
+# CONFIG_RT_USING_LWP is not set
+
+#
+# Device Drivers
+#
+CONFIG_RT_USING_DEVICE_IPC=y
+# CONFIG_RT_USING_SYSTEM_WORKQUEUE is not set
+CONFIG_RT_USING_SERIAL=y
+# CONFIG_RT_USING_SERIAL_V1 is not set
+CONFIG_RT_USING_SERIAL_V2=y
+CONFIG_RT_SERIAL_USING_DMA=y
+# CONFIG_RT_USING_CAN is not set
+# CONFIG_RT_USING_HWTIMER is not set
+# CONFIG_RT_USING_CPUTIME is not set
+CONFIG_RT_USING_I2C=y
+# CONFIG_RT_I2C_DEBUG is not set
+CONFIG_RT_USING_I2C_BITOPS=y
+# CONFIG_RT_I2C_BITOPS_DEBUG is not set
+# CONFIG_RT_USING_PHY is not set
+CONFIG_RT_USING_PIN=y
+# CONFIG_RT_USING_ADC is not set
+# CONFIG_RT_USING_DAC is not set
+# CONFIG_RT_USING_PWM is not set
+# CONFIG_RT_USING_MTD_NOR is not set
+# CONFIG_RT_USING_MTD_NAND is not set
+# CONFIG_RT_USING_PM is not set
+# CONFIG_RT_USING_RTC is not set
+# CONFIG_RT_USING_SDIO is not set
+CONFIG_RT_USING_SPI=y
+# CONFIG_RT_USING_SPI_BITOPS is not set
+# CONFIG_RT_USING_QSPI is not set
+# CONFIG_RT_USING_SPI_MSD is not set
+# CONFIG_RT_USING_SFUD is not set
+# CONFIG_RT_USING_ENC28J60 is not set
+# CONFIG_RT_USING_SPI_WIFI is not set
+# CONFIG_RT_USING_WDT is not set
+# CONFIG_RT_USING_AUDIO is not set
+# CONFIG_RT_USING_SENSOR is not set
+CONFIG_RT_USING_TOUCH=y
+# CONFIG_RT_TOUCH_PIN_IRQ is not set
+# CONFIG_RT_USING_HWCRYPTO is not set
+# CONFIG_RT_USING_PULSE_ENCODER is not set
+# CONFIG_RT_USING_INPUT_CAPTURE is not set
+# CONFIG_RT_USING_WIFI is not set
+
+#
+# Using USB
+#
+# CONFIG_RT_USING_USB is not set
+# CONFIG_RT_USING_USB_HOST is not set
+# CONFIG_RT_USING_USB_DEVICE is not set
+
+#
+# C/C++ and POSIX layer
+#
+CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
+
+#
+# POSIX (Portable Operating System Interface) layer
+#
+# CONFIG_RT_USING_POSIX_FS is not set
+# CONFIG_RT_USING_POSIX_DELAY is not set
+# CONFIG_RT_USING_POSIX_CLOCK is not set
+# CONFIG_RT_USING_POSIX_TIMER is not set
+# CONFIG_RT_USING_PTHREADS is not set
+# CONFIG_RT_USING_MODULE is not set
+
+#
+# Interprocess Communication (IPC)
+#
+# CONFIG_RT_USING_POSIX_PIPE is not set
+# CONFIG_RT_USING_POSIX_MESSAGE_QUEUE is not set
+# CONFIG_RT_USING_POSIX_MESSAGE_SEMAPHORE is not set
+
+#
+# Socket is in the 'Network' category
+#
+# CONFIG_RT_USING_CPLUSPLUS is not set
+
+#
+# Network
+#
+# CONFIG_RT_USING_SAL is not set
+# CONFIG_RT_USING_NETDEV is not set
+# CONFIG_RT_USING_LWIP is not set
+# CONFIG_RT_USING_AT is not set
+
+#
+# Utilities
+#
+# CONFIG_RT_USING_RYM is not set
+# CONFIG_RT_USING_ULOG is not set
+# CONFIG_RT_USING_UTEST is not set
+# CONFIG_RT_USING_VAR_EXPORT is not set
+# CONFIG_RT_USING_RT_LINK is not set
+# CONFIG_RT_USING_VBUS is not set
+
+#
+# RT-Thread Utestcases
+#
+# CONFIG_RT_USING_UTESTCASES is not set
+
+#
+# RT-Thread online packages
+#
+
+#
+# IoT - internet of things
+#
+# CONFIG_PKG_USING_LWIP is not set
+# CONFIG_PKG_USING_LORAWAN_DRIVER is not set
+# CONFIG_PKG_USING_PAHOMQTT is not set
+# CONFIG_PKG_USING_UMQTT is not set
+# CONFIG_PKG_USING_WEBCLIENT is not set
+# CONFIG_PKG_USING_WEBNET is not set
+# CONFIG_PKG_USING_MONGOOSE is not set
+# CONFIG_PKG_USING_MYMQTT is not set
+# CONFIG_PKG_USING_KAWAII_MQTT is not set
+# CONFIG_PKG_USING_BC28_MQTT is not set
+# CONFIG_PKG_USING_WEBTERMINAL is not set
+# CONFIG_PKG_USING_LIBMODBUS is not set
+# CONFIG_PKG_USING_FREEMODBUS is not set
+# CONFIG_PKG_USING_NANOPB is not set
+
+#
+# Wi-Fi
+#
+
+#
+# Marvell WiFi
+#
+# CONFIG_PKG_USING_WLANMARVELL is not set
+
+#
+# Wiced WiFi
+#
+# CONFIG_PKG_USING_WLAN_WICED is not set
+# CONFIG_PKG_USING_RW007 is not set
+# CONFIG_PKG_USING_COAP is not set
+# CONFIG_PKG_USING_NOPOLL is not set
+# CONFIG_PKG_USING_NETUTILS is not set
+# CONFIG_PKG_USING_CMUX is not set
+# CONFIG_PKG_USING_PPP_DEVICE is not set
+# CONFIG_PKG_USING_AT_DEVICE is not set
+# CONFIG_PKG_USING_ATSRV_SOCKET is not set
+# CONFIG_PKG_USING_WIZNET is not set
+# CONFIG_PKG_USING_ZB_COORDINATOR is not set
+
+#
+# IoT Cloud
+#
+# CONFIG_PKG_USING_ONENET is not set
+# CONFIG_PKG_USING_GAGENT_CLOUD is not set
+# CONFIG_PKG_USING_ALI_IOTKIT is not set
+# CONFIG_PKG_USING_AZURE is not set
+# CONFIG_PKG_USING_TENCENT_IOT_EXPLORER is not set
+# CONFIG_PKG_USING_JIOT-C-SDK is not set
+# CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set
+# CONFIG_PKG_USING_JOYLINK is not set
+# CONFIG_PKG_USING_EZ_IOT_OS is not set
+# CONFIG_PKG_USING_NIMBLE is not set
+# CONFIG_PKG_USING_LLSYNC_SDK_ADAPTER is not set
+# CONFIG_PKG_USING_OTA_DOWNLOADER is not set
+# CONFIG_PKG_USING_IPMSG is not set
+# CONFIG_PKG_USING_LSSDP is not set
+# CONFIG_PKG_USING_AIRKISS_OPEN is not set
+# CONFIG_PKG_USING_LIBRWS is not set
+# CONFIG_PKG_USING_TCPSERVER is not set
+# CONFIG_PKG_USING_PROTOBUF_C is not set
+# CONFIG_PKG_USING_DLT645 is not set
+# CONFIG_PKG_USING_QXWZ is not set
+# CONFIG_PKG_USING_SMTP_CLIENT is not set
+# CONFIG_PKG_USING_ABUP_FOTA is not set
+# CONFIG_PKG_USING_LIBCURL2RTT is not set
+# CONFIG_PKG_USING_CAPNP is not set
+# CONFIG_PKG_USING_AGILE_TELNET is not set
+# CONFIG_PKG_USING_NMEALIB is not set
+# CONFIG_PKG_USING_PDULIB is not set
+# CONFIG_PKG_USING_BTSTACK is not set
+# CONFIG_PKG_USING_LORAWAN_ED_STACK is not set
+# CONFIG_PKG_USING_WAYZ_IOTKIT is not set
+# CONFIG_PKG_USING_MAVLINK is not set
+# CONFIG_PKG_USING_BSAL is not set
+# CONFIG_PKG_USING_AGILE_MODBUS is not set
+# CONFIG_PKG_USING_AGILE_FTP is not set
+# CONFIG_PKG_USING_EMBEDDEDPROTO is not set
+# CONFIG_PKG_USING_RT_LINK_HW is not set
+# CONFIG_PKG_USING_LORA_PKT_FWD is not set
+# CONFIG_PKG_USING_LORA_GW_DRIVER_LIB is not set
+# CONFIG_PKG_USING_LORA_PKT_SNIFFER is not set
+# CONFIG_PKG_USING_HM is not set
+# CONFIG_PKG_USING_SMALL_MODBUS is not set
+# CONFIG_PKG_USING_NET_SERVER is not set
+
+#
+# security packages
+#
+# CONFIG_PKG_USING_MBEDTLS is not set
+# CONFIG_PKG_USING_LIBSODIUM is not set
+# CONFIG_PKG_USING_TINYCRYPT is not set
+# CONFIG_PKG_USING_TFM is not set
+# CONFIG_PKG_USING_YD_CRYPTO is not set
+
+#
+# language packages
+#
+
+#
+# JSON: JavaScript Object Notation, a lightweight data-interchange format
+#
+# CONFIG_PKG_USING_CJSON is not set
+# CONFIG_PKG_USING_LJSON is not set
+# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set
+# CONFIG_PKG_USING_RAPIDJSON is not set
+# CONFIG_PKG_USING_JSMN is not set
+# CONFIG_PKG_USING_AGILE_JSMN is not set
+
+#
+# XML: Extensible Markup Language
+#
+# CONFIG_PKG_USING_SIMPLE_XML is not set
+# CONFIG_PKG_USING_EZXML is not set
+# CONFIG_PKG_USING_LUATOS_SOC is not set
+# CONFIG_PKG_USING_LUA is not set
+# CONFIG_PKG_USING_JERRYSCRIPT is not set
+# CONFIG_PKG_USING_MICROPYTHON is not set
+# CONFIG_PKG_USING_PIKASCRIPT is not set
+
+#
+# multimedia packages
+#
+
+#
+# LVGL: powerful and easy-to-use embedded GUI library
+#
+# CONFIG_PKG_USING_LVGL is not set
+# CONFIG_PKG_USING_LITTLEVGL2RTT is not set
+# CONFIG_PKG_USING_LV_MUSIC_DEMO is not set
+
+#
+# u8g2: a monochrome graphic library
+#
+# CONFIG_PKG_USING_U8G2_OFFICIAL is not set
+# CONFIG_PKG_USING_U8G2 is not set
+# CONFIG_PKG_USING_OPENMV is not set
+# CONFIG_PKG_USING_MUPDF is not set
+# CONFIG_PKG_USING_STEMWIN is not set
+# CONFIG_PKG_USING_WAVPLAYER is not set
+# CONFIG_PKG_USING_TJPGD is not set
+# CONFIG_PKG_USING_PDFGEN is not set
+# CONFIG_PKG_USING_HELIX is not set
+# CONFIG_PKG_USING_AZUREGUIX is not set
+# CONFIG_PKG_USING_TOUCHGFX2RTT is not set
+# CONFIG_PKG_USING_NUEMWIN is not set
+# CONFIG_PKG_USING_MP3PLAYER is not set
+# CONFIG_PKG_USING_TINYJPEG is not set
+# CONFIG_PKG_USING_UGUI is not set
+
+#
+# PainterEngine: A cross-platform graphics application framework written in C language
+#
+# CONFIG_PKG_USING_PAINTERENGINE is not set
+# CONFIG_PKG_USING_PAINTERENGINE_AUX is not set
+# CONFIG_PKG_USING_MCURSES is not set
+# CONFIG_PKG_USING_TERMBOX is not set
+# CONFIG_PKG_USING_VT100 is not set
+# CONFIG_PKG_USING_QRCODE is not set
+
+#
+# tools packages
+#
+# CONFIG_PKG_USING_CMBACKTRACE is not set
+# CONFIG_PKG_USING_EASYFLASH is not set
+# CONFIG_PKG_USING_EASYLOGGER is not set
+# CONFIG_PKG_USING_SYSTEMVIEW is not set
+# CONFIG_PKG_USING_SEGGER_RTT is not set
+# CONFIG_PKG_USING_RDB is not set
+# CONFIG_PKG_USING_ULOG_EASYFLASH is not set
+# CONFIG_PKG_USING_ULOG_FILE is not set
+# CONFIG_PKG_USING_LOGMGR is not set
+# CONFIG_PKG_USING_ADBD is not set
+# CONFIG_PKG_USING_COREMARK is not set
+# CONFIG_PKG_USING_DHRYSTONE is not set
+# CONFIG_PKG_USING_MEMORYPERF is not set
+# CONFIG_PKG_USING_NR_MICRO_SHELL is not set
+# CONFIG_PKG_USING_CHINESE_FONT_LIBRARY is not set
+# CONFIG_PKG_USING_LUNAR_CALENDAR is not set
+# CONFIG_PKG_USING_BS8116A is not set
+# CONFIG_PKG_USING_GPS_RMC is not set
+# CONFIG_PKG_USING_URLENCODE is not set
+# CONFIG_PKG_USING_UMCN is not set
+# CONFIG_PKG_USING_LWRB2RTT is not set
+# CONFIG_PKG_USING_CPU_USAGE is not set
+# CONFIG_PKG_USING_GBK2UTF8 is not set
+# CONFIG_PKG_USING_VCONSOLE is not set
+# CONFIG_PKG_USING_KDB is not set
+# CONFIG_PKG_USING_WAMR is not set
+# CONFIG_PKG_USING_MICRO_XRCE_DDS_CLIENT is not set
+# CONFIG_PKG_USING_LWLOG is not set
+# CONFIG_PKG_USING_ANV_TRACE is not set
+# CONFIG_PKG_USING_ANV_MEMLEAK is not set
+# CONFIG_PKG_USING_ANV_TESTSUIT is not set
+# CONFIG_PKG_USING_ANV_BENCH is not set
+# CONFIG_PKG_USING_DEVMEM is not set
+# CONFIG_PKG_USING_REGEX is not set
+# CONFIG_PKG_USING_MEM_SANDBOX is not set
+# CONFIG_PKG_USING_SOLAR_TERMS is not set
+# CONFIG_PKG_USING_GAN_ZHI is not set
+# CONFIG_PKG_USING_FDT is not set
+# CONFIG_PKG_USING_CBOX is not set
+# CONFIG_PKG_USING_SNOWFLAKE is not set
+
+#
+# system packages
+#
+
+#
+# enhanced kernel services
+#
+# CONFIG_PKG_USING_RT_MEMCPY_CM is not set
+# CONFIG_PKG_USING_RT_KPRINTF_THREADSAFE is not set
+# CONFIG_PKG_USING_RT_VSNPRINTF_FULL is not set
+
+#
+# POSIX extension functions
+#
+# CONFIG_PKG_USING_POSIX_GETLINE is not set
+# CONFIG_PKG_USING_POSIX_WCWIDTH is not set
+# CONFIG_PKG_USING_POSIX_ITOA is not set
+# CONFIG_PKG_USING_POSIX_STRINGS is not set
+
+#
+# acceleration: Assembly language or algorithmic acceleration packages
+#
+# CONFIG_PKG_USING_QFPLIB_M0_FULL is not set
+# CONFIG_PKG_USING_QFPLIB_M0_TINY is not set
+# CONFIG_PKG_USING_QFPLIB_M3 is not set
+
+#
+# CMSIS: ARM Cortex-M Microcontroller Software Interface Standard
+#
+# CONFIG_PKG_USING_CMSIS_5 is not set
+# CONFIG_PKG_USING_CMSIS_RTOS2 is not set
+
+#
+# Micrium: Micrium software products porting for RT-Thread
+#
+# CONFIG_PKG_USING_UCOSIII_WRAPPER is not set
+# CONFIG_PKG_USING_UCOSII_WRAPPER is not set
+# CONFIG_PKG_USING_UC_CRC is not set
+# CONFIG_PKG_USING_UC_CLK is not set
+# CONFIG_PKG_USING_UC_COMMON is not set
+# CONFIG_PKG_USING_UC_MODBUS is not set
+# CONFIG_PKG_USING_RTDUINO is not set
+# CONFIG_PKG_USING_GUIENGINE is not set
+# CONFIG_PKG_USING_PERSIMMON is not set
+# CONFIG_PKG_USING_CAIRO is not set
+# CONFIG_PKG_USING_PIXMAN is not set
+# CONFIG_PKG_USING_PARTITION is not set
+# CONFIG_PKG_USING_FLASHDB is not set
+# CONFIG_PKG_USING_SQLITE is not set
+# CONFIG_PKG_USING_RTI is not set
+# CONFIG_PKG_USING_DFS_YAFFS is not set
+# CONFIG_PKG_USING_LITTLEFS is not set
+# CONFIG_PKG_USING_DFS_JFFS2 is not set
+# CONFIG_PKG_USING_DFS_UFFS is not set
+# CONFIG_PKG_USING_LWEXT4 is not set
+# CONFIG_PKG_USING_THREAD_POOL is not set
+# CONFIG_PKG_USING_ROBOTS is not set
+# CONFIG_PKG_USING_EV is not set
+# CONFIG_PKG_USING_SYSWATCH is not set
+# CONFIG_PKG_USING_SYS_LOAD_MONITOR is not set
+# CONFIG_PKG_USING_PLCCORE is not set
+# CONFIG_PKG_USING_RAMDISK is not set
+# CONFIG_PKG_USING_MININI is not set
+# CONFIG_PKG_USING_QBOOT is not set
+# CONFIG_PKG_USING_PPOOL is not set
+# CONFIG_PKG_USING_OPENAMP is not set
+# CONFIG_PKG_USING_LPM is not set
+# CONFIG_PKG_USING_TLSF is not set
+# CONFIG_PKG_USING_EVENT_RECORDER is not set
+# CONFIG_PKG_USING_ARM_2D is not set
+# CONFIG_PKG_USING_MCUBOOT is not set
+# CONFIG_PKG_USING_TINYUSB is not set
+# CONFIG_PKG_USING_CHERRYUSB is not set
+# CONFIG_PKG_USING_KMULTI_RTIMER is not set
+
+#
+# peripheral libraries and drivers
+#
+# CONFIG_PKG_USING_SENSORS_DRIVERS is not set
+# CONFIG_PKG_USING_REALTEK_AMEBA is not set
+# CONFIG_PKG_USING_SHT2X is not set
+# CONFIG_PKG_USING_SHT3X is not set
+# CONFIG_PKG_USING_AS7341 is not set
+# CONFIG_PKG_USING_STM32_SDIO is not set
+# CONFIG_PKG_USING_ICM20608 is not set
+# CONFIG_PKG_USING_BUTTON is not set
+# CONFIG_PKG_USING_PCF8574 is not set
+# CONFIG_PKG_USING_SX12XX is not set
+# CONFIG_PKG_USING_SIGNAL_LED is not set
+# CONFIG_PKG_USING_LEDBLINK is not set
+# CONFIG_PKG_USING_LITTLED is not set
+# CONFIG_PKG_USING_LKDGUI is not set
+# CONFIG_PKG_USING_NRF5X_SDK is not set
+# CONFIG_PKG_USING_NRFX is not set
+# CONFIG_PKG_USING_WM_LIBRARIES is not set
+# CONFIG_PKG_USING_KENDRYTE_SDK is not set
+# CONFIG_PKG_USING_INFRARED is not set
+# CONFIG_PKG_USING_MULTI_INFRARED is not set
+# CONFIG_PKG_USING_AGILE_BUTTON is not set
+# CONFIG_PKG_USING_AGILE_LED is not set
+# CONFIG_PKG_USING_AT24CXX is not set
+# CONFIG_PKG_USING_MOTIONDRIVER2RTT is not set
+# CONFIG_PKG_USING_AD7746 is not set
+# CONFIG_PKG_USING_PCA9685 is not set
+# CONFIG_PKG_USING_I2C_TOOLS is not set
+# CONFIG_PKG_USING_NRF24L01 is not set
+# CONFIG_PKG_USING_TOUCH_DRIVERS is not set
+# CONFIG_PKG_USING_MAX17048 is not set
+# CONFIG_PKG_USING_RPLIDAR is not set
+# CONFIG_PKG_USING_AS608 is not set
+# CONFIG_PKG_USING_RC522 is not set
+# CONFIG_PKG_USING_WS2812B is not set
+# CONFIG_PKG_USING_EMBARC_BSP is not set
+# CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set
+# CONFIG_PKG_USING_MULTI_RTIMER is not set
+# CONFIG_PKG_USING_MAX7219 is not set
+# CONFIG_PKG_USING_BEEP is not set
+# CONFIG_PKG_USING_EASYBLINK is not set
+# CONFIG_PKG_USING_PMS_SERIES is not set
+# CONFIG_PKG_USING_CAN_YMODEM is not set
+# CONFIG_PKG_USING_LORA_RADIO_DRIVER is not set
+# CONFIG_PKG_USING_QLED is not set
+# CONFIG_PKG_USING_PAJ7620 is not set
+# CONFIG_PKG_USING_AGILE_CONSOLE is not set
+# CONFIG_PKG_USING_LD3320 is not set
+# CONFIG_PKG_USING_WK2124 is not set
+# CONFIG_PKG_USING_LY68L6400 is not set
+# CONFIG_PKG_USING_DM9051 is not set
+# CONFIG_PKG_USING_SSD1306 is not set
+# CONFIG_PKG_USING_QKEY is not set
+# CONFIG_PKG_USING_RS485 is not set
+# CONFIG_PKG_USING_RS232 is not set
+# CONFIG_PKG_USING_NES is not set
+# CONFIG_PKG_USING_VIRTUAL_SENSOR is not set
+# CONFIG_PKG_USING_VDEVICE is not set
+# CONFIG_PKG_USING_SGM706 is not set
+# CONFIG_PKG_USING_STM32WB55_SDK is not set
+# CONFIG_PKG_USING_RDA58XX is not set
+# CONFIG_PKG_USING_LIBNFC is not set
+# CONFIG_PKG_USING_MFOC is not set
+# CONFIG_PKG_USING_TMC51XX is not set
+# CONFIG_PKG_USING_TCA9534 is not set
+# CONFIG_PKG_USING_KOBUKI is not set
+# CONFIG_PKG_USING_ROSSERIAL is not set
+# CONFIG_PKG_USING_MICRO_ROS is not set
+# CONFIG_PKG_USING_MCP23008 is not set
+# CONFIG_PKG_USING_BLUETRUM_SDK is not set
+# CONFIG_PKG_USING_MISAKA_AT24CXX is not set
+# CONFIG_PKG_USING_MISAKA_RGB_BLING is not set
+# CONFIG_PKG_USING_LORA_MODEM_DRIVER is not set
+# CONFIG_PKG_USING_BL_MCU_SDK is not set
+# CONFIG_PKG_USING_SOFT_SERIAL is not set
+# CONFIG_PKG_USING_MB85RS16 is not set
+# CONFIG_PKG_USING_CW2015 is not set
+# CONFIG_PKG_USING_RFM300 is not set
+
+#
+# AI packages
+#
+# CONFIG_PKG_USING_LIBANN is not set
+# CONFIG_PKG_USING_NNOM is not set
+# CONFIG_PKG_USING_ONNX_BACKEND is not set
+# CONFIG_PKG_USING_ONNX_PARSER is not set
+# CONFIG_PKG_USING_TENSORFLOWLITEMICRO is not set
+# CONFIG_PKG_USING_ELAPACK is not set
+# CONFIG_PKG_USING_ULAPACK is not set
+# CONFIG_PKG_USING_QUEST is not set
+# CONFIG_PKG_USING_NAXOS is not set
+
+#
+# miscellaneous packages
+#
+
+#
+# project laboratory
+#
+
+#
+# samples: kernel and components samples
+#
+# CONFIG_PKG_USING_KERNEL_SAMPLES is not set
+# CONFIG_PKG_USING_FILESYSTEM_SAMPLES is not set
+# CONFIG_PKG_USING_NETWORK_SAMPLES is not set
+# CONFIG_PKG_USING_PERIPHERAL_SAMPLES is not set
+
+#
+# entertainment: terminal games and other interesting software packages
+#
+# CONFIG_PKG_USING_CMATRIX is not set
+# CONFIG_PKG_USING_SL is not set
+# CONFIG_PKG_USING_CAL is not set
+# CONFIG_PKG_USING_ACLOCK is not set
+# CONFIG_PKG_USING_THREES is not set
+# CONFIG_PKG_USING_2048 is not set
+# CONFIG_PKG_USING_SNAKE is not set
+# CONFIG_PKG_USING_TETRIS is not set
+# CONFIG_PKG_USING_DONUT is not set
+# CONFIG_PKG_USING_COWSAY is not set
+# CONFIG_PKG_USING_LIBCSV is not set
+# CONFIG_PKG_USING_OPTPARSE is not set
+# CONFIG_PKG_USING_FASTLZ is not set
+# CONFIG_PKG_USING_MINILZO is not set
+# CONFIG_PKG_USING_QUICKLZ is not set
+# CONFIG_PKG_USING_LZMA is not set
+# CONFIG_PKG_USING_MULTIBUTTON is not set
+# CONFIG_PKG_USING_FLEXIBLE_BUTTON is not set
+# CONFIG_PKG_USING_CANFESTIVAL is not set
+# CONFIG_PKG_USING_ZLIB is not set
+# CONFIG_PKG_USING_MINIZIP is not set
+# CONFIG_PKG_USING_HEATSHRINK is not set
+# CONFIG_PKG_USING_DSTR is not set
+# CONFIG_PKG_USING_TINYFRAME is not set
+# CONFIG_PKG_USING_KENDRYTE_DEMO is not set
+# CONFIG_PKG_USING_DIGITALCTRL is not set
+# CONFIG_PKG_USING_UPACKER is not set
+# CONFIG_PKG_USING_UPARAM is not set
+# CONFIG_PKG_USING_HELLO is not set
+# CONFIG_PKG_USING_VI is not set
+# CONFIG_PKG_USING_KI is not set
+# CONFIG_PKG_USING_ARMv7M_DWT is not set
+# CONFIG_PKG_USING_UKAL is not set
+# CONFIG_PKG_USING_CRCLIB is not set
+# CONFIG_PKG_USING_LWGPS is not set
+# CONFIG_PKG_USING_STATE_MACHINE is not set
+# CONFIG_PKG_USING_DESIGN_PATTERN is not set
+# CONFIG_PKG_USING_CONTROLLER is not set
+# CONFIG_PKG_USING_PHASE_LOCKED_LOOP is not set
+# CONFIG_PKG_USING_MFBD is not set
+CONFIG_SOC_FAMILY_STM32=y
+CONFIG_SOC_SERIES_STM32H7=y
+
+#
+# Hardware Drivers Config
+#
+CONFIG_SOC_STM32H750XB=y
+CONFIG_BOARD_STM32H750_ARTPI=y
+
+#
+# Board extended module
+#
+# CONFIG_ART_PI_USING_MEDIA_IO is not set
+# CONFIG_ART_PI_USING_INDUSTRY_IO is not set
+
+#
+# Onboard Peripheral Drivers
+#
+CONFIG_BSP_USING_USB_TO_USART=y
+# CONFIG_BSP_USING_SPI_FLASH is not set
+# CONFIG_BSP_USING_QSPI_FLASH is not set
+# CONFIG_BSP_USING_FS is not set
+# CONFIG_BSP_USING_WIFI is not set
+
+#
+# On-chip Peripheral Drivers
+#
+CONFIG_BSP_USING_GPIO=y
+CONFIG_BSP_USING_UART=y
+# CONFIG_BSP_USING_UART1 is not set
+# CONFIG_BSP_USING_UART3 is not set
+CONFIG_BSP_USING_UART4=y
+# CONFIG_BSP_USING_UART6 is not set
+# CONFIG_BSP_USING_SPI is not set
+# CONFIG_BSP_USING_QSPI is not set
+# CONFIG_BSP_USING_ONCHIP_RTC is not set
+# CONFIG_BSP_USING_I2C is not set
+CONFIG_BSP_USING_SDRAM=y
+# CONFIG_BSP_USING_WDT is not set
+# CONFIG_BSP_USING_LCD is not set
+# CONFIG_BSP_USING_SDIO_ARTPI is not set
+# CONFIG_BSP_USING_USBD is not set
+# CONFIG_BSP_USING_USBH is not set
+# CONFIG_BSP_USING_ETH_H750 is not set
+# CONFIG_BSP_USING_LTDC is not set
+# CONFIG_BSP_USING_CRC is not set
+# CONFIG_BSP_USING_RNG is not set
+# CONFIG_BSP_USING_UDID is not set
+
+#
+# External Libraries
+#
+# CONFIG_ART_PI_USING_WIFI_6212_LIB is not set
diff --git a/bsp/stm32/stm32h750-artpi/.gitignore b/bsp/stm32/stm32h750-artpi/.gitignore
new file mode 100644
index 0000000000..7221bde019
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/.gitignore
@@ -0,0 +1,42 @@
+*.pyc
+*.map
+*.dblite
+*.elf
+*.bin
+*.hex
+*.axf
+*.exe
+*.pdb
+*.idb
+*.ilk
+*.old
+build
+Debug
+documentation/html
+packages/
+*~
+*.o
+*.obj
+*.out
+*.bak
+*.dep
+*.lib
+*.i
+*.d
+.DS_Stor*
+.config 3
+.config 4
+.config 5
+Midea-X1
+*.uimg
+GPATH
+GRTAGS
+GTAGS
+.vscode
+JLinkLog.txt
+JLinkSettings.ini
+DebugConfig/
+RTE/
+settings/
+*.uvguix*
+cconfig.h
diff --git a/bsp/stm32/stm32h750-artpi/EventRecorderStub.scvd b/bsp/stm32/stm32h750-artpi/EventRecorderStub.scvd
new file mode 100644
index 0000000000..2956b29683
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/EventRecorderStub.scvd
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/bsp/stm32/stm32h750-artpi/Kconfig b/bsp/stm32/stm32h750-artpi/Kconfig
new file mode 100644
index 0000000000..8cbc7b71a8
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/Kconfig
@@ -0,0 +1,21 @@
+mainmenu "RT-Thread Configuration"
+
+config BSP_DIR
+ string
+ option env="BSP_ROOT"
+ default "."
+
+config RTT_DIR
+ string
+ option env="RTT_ROOT"
+ default "../../.."
+
+config PKGS_DIR
+ string
+ option env="PKGS_ROOT"
+ default "packages"
+
+source "$RTT_DIR/Kconfig"
+source "$PKGS_DIR/Kconfig"
+source "../libraries/Kconfig"
+source "board/Kconfig"
diff --git a/bsp/stm32/stm32h750-artpi/README.md b/bsp/stm32/stm32h750-artpi/README.md
new file mode 100644
index 0000000000..3c598c2845
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/README.md
@@ -0,0 +1,128 @@
+# STM32H750-artpi 开发板 BSP 说明
+
+## 简介
+
+本文档 为 STM32H750-ART-PI 开发板提供的 BSP (板级支持包) 说明。
+
+主要内容如下:
+
+- 开发板资源介绍
+- BSP 快速上手
+- 进阶使用方法
+
+通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开发者利用 RT-Thread 驱动更多板载资源。
+
+## 开发板介绍
+
+STM32H750 是RTTHREAD推出的一款基于 ARM Cortex-M7 内核的开发板,最高主频为 480Mhz,该开发板具有丰富的板载资源,可以充分发挥 STM32H750 的芯片性能。
+
+开发板外观如下图所示:
+
+
+
+该开发板常用 **板载资源** 如下:
+
+- MCU:STM32H750,主频 480MHz,128KB FLASH, 1MB RAM
+- 常用接口:USB 转串口、USB OTG、RGB888等
+- 调试接口,标准 ST-LINK
+
+开发板更多详细信息请参考[H750-ART-PI](https://www.rt-thread.org/product/153.html)。
+
+官方仓库[sdk-bsp-stm32h750-realthread-artpi](https://github.com/RT-Thread-Studio/sdk-bsp-stm32h750-realthread-artpi)
+
+官方主页 [ART-PI](https://art-pi.gitee.io/website)
+
+## 外设支持
+
+本 BSP 目前对外设的支持情况如下:
+
+| **板载外设** | **支持情况** | **备注** |
+| :----------- | :----------: | :------------------------ |
+| LED | 待支持 | 一个红灯,一个蓝灯 |
+| BUTTON | 待支持 | 一个用户可控button |
+| QSPI FLASH | 待支持 | 1MB w25q64 QSPI接口FLASH |
+| SPI FLASH | 待支持 | 2MB w25q128 SPI FLASH |
+| SDCARD | 待支持 | sdcard接口 |
+| AP6212 | 待支持 | WIFI & BLUETOOTH |
+| LCD RG888 | 待支持 | 显示屏接口 |
+| **片上外设** | **支持情况** | **备注** |
+| GPIO | 支持 | |
+| UART | 支持 | UART4 UART3 |
+| SPI | 支持 | SPI |
+| QSPI | 支持 | |
+| | | |
+
+
+## 使用说明
+
+使用说明分为如下两个章节:
+
+- 快速上手
+
+ 本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。
+
+- 进阶使用
+
+ 本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。
+
+
+### 快速上手
+
+本 BSP 为开发者提供 MDK5 和 IAR 工程,并且支持 GCC 开发环境。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。
+
+#### 硬件连接
+
+使用数据线连接开发板到 PC,将 TVCC 接到 3.3V。使用 usb 转串口工具连接 TTLRX 和 TTLTX。
+
+#### 编译下载
+
+双击 project.uvprojx 文件,打开 MDK5 工程,编译并下载程序到开发板。
+
+> 工程默认配置使用 ST_LINK 仿真器下载程序,在通过 ST_LINK 连接开发板的基础上,点击下载按钮即可下载程序到开发板
+
+#### 运行结果
+
+下载程序成功之后,系统会自动运行,LED闪烁。
+
+连接开发板对应串口到 PC , 在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到 RT-Thread 的输出信息:
+
+```bash
+ \ | /
+- RT - Thread Operating System
+ / | \ 4.0.2 build Oct 25 2019
+ 2006 - 2019 Copyright by rt-thread team
+msh >
+```
+### 进阶使用
+
+此 BSP 默认只开启了 GPIO 和 串口1 的功能,如果需使用更多高级功能,需要利用 ENV 工具对BSP 进行配置,步骤如下:
+
+1. 在 bsp 下打开 env 工具。
+
+2. 输入`menuconfig`命令配置工程,配置好之后保存退出。
+
+3. 输入`pkgs --update`命令更新软件包。
+
+4. 输入`scons --target=mdk4/mdk5/iar` 命令重新生成工程。
+
+本章节更多详细的介绍请参考 [STM32 系列 BSP 外设驱动使用教程](../docs/STM32系列BSP外设驱动使用教程.md)。
+
+## 注意事项
+
+- 调试串口为串口4 映射说明
+
+ PI9 ------> USART4_RX
+
+ PA0 ------> USART4_TX
+
+## 联系人信息
+
+ART-Pi 是一个开源创意硬件平台,期待有更多的小伙伴能一起发现更多的乐趣,在使用过程中若您有任何的想法和建议,建议您通过以下方式来联系到我们。
+
+RT-Thread [社区论坛](https://club.rt-thread.org/)。
+
+- ART-Pi 官方交流 QQ 群(1016035998)。
+
+## 贡献代码
+
+如果您对 ART-Pi 感兴趣,并有一些好玩的项目愿意与大家分享,欢迎给我们贡献代码,您可以参考 [ART-Pi 代码贡献手册](https://github.com/RT-Thread-Studio/sdk-bsp-stm32h750-realthread-artpi/blob/master/documents/UM5004-RT-Thread ART-Pi 代码贡献手册.md) 。
\ No newline at end of file
diff --git a/bsp/stm32/stm32h750-artpi/SConscript b/bsp/stm32/stm32h750-artpi/SConscript
new file mode 100644
index 0000000000..c7ef7659ec
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/SConscript
@@ -0,0 +1,14 @@
+# for module compiling
+import os
+from building import *
+
+cwd = GetCurrentDir()
+objs = []
+list = os.listdir(cwd)
+
+for d in list:
+ path = os.path.join(cwd, d)
+ if os.path.isfile(os.path.join(path, 'SConscript')):
+ objs = objs + SConscript(os.path.join(d, 'SConscript'))
+
+Return('objs')
diff --git a/bsp/stm32/stm32h750-artpi/SConstruct b/bsp/stm32/stm32h750-artpi/SConstruct
new file mode 100644
index 0000000000..fc6658ebc7
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/SConstruct
@@ -0,0 +1,60 @@
+import os
+import sys
+import rtconfig
+
+if os.getenv('RTT_ROOT'):
+ RTT_ROOT = os.getenv('RTT_ROOT')
+else:
+ RTT_ROOT = os.path.normpath(os.getcwd() + '/../../..')
+
+sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
+try:
+ from building import *
+except:
+ print('Cannot found RT-Thread root directory, please check RTT_ROOT')
+ print(RTT_ROOT)
+ exit(-1)
+
+TARGET = 'rt-thread.' + rtconfig.TARGET_EXT
+
+DefaultEnvironment(tools=[])
+env = Environment(tools = ['mingw'],
+ AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
+ CC = rtconfig.CC, CFLAGS = rtconfig.CFLAGS,
+ AR = rtconfig.AR, ARFLAGS = '-rc',
+ CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS,
+ LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
+env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
+
+if rtconfig.PLATFORM == 'iar':
+ env.Replace(CCCOM = ['$CC $CFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS -o $TARGET $SOURCES'])
+ env.Replace(ARFLAGS = [''])
+ env.Replace(LINKCOM = env["LINKCOM"] + ' --map rt-thread.map')
+
+Export('RTT_ROOT')
+Export('rtconfig')
+
+SDK_ROOT = os.path.abspath('./')
+
+if os.path.exists(SDK_ROOT + '/libraries'):
+ libraries_path_prefix = SDK_ROOT + '/libraries'
+else:
+ libraries_path_prefix = os.path.dirname(SDK_ROOT) + '/libraries'
+
+SDK_LIB = libraries_path_prefix
+Export('SDK_LIB')
+
+# prepare building environment
+objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False)
+
+stm32_library = 'STM32H7xx_HAL'
+rtconfig.BSP_LIBRARY_TYPE = stm32_library
+
+# include drivers
+objs.extend(SConscript(os.path.join(libraries_path_prefix, stm32_library, 'SConscript')))
+
+# include libraries
+objs.extend(SConscript(os.path.join(libraries_path_prefix, 'HAL_Drivers', 'SConscript')))
+
+# make a building
+DoBuilding(TARGET, objs)
diff --git a/bsp/stm32/stm32h750-artpi/applications/SConscript b/bsp/stm32/stm32h750-artpi/applications/SConscript
new file mode 100644
index 0000000000..fe708e67c8
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/applications/SConscript
@@ -0,0 +1,16 @@
+import rtconfig
+from building import *
+import os
+
+cwd = GetCurrentDir()
+path = [cwd]
+src = Glob('*.c')
+
+group = DefineGroup('Applications', src, depend = [''], CPPPATH = path)
+
+list = os.listdir(cwd)
+for item in list:
+ if os.path.isfile(os.path.join(cwd, item, 'SConscript')):
+ group = group + SConscript(os.path.join(item, 'SConscript'))
+
+Return('group')
\ No newline at end of file
diff --git a/bsp/stm32/stm32h750-artpi/applications/lvgl/SConscript b/bsp/stm32/stm32h750-artpi/applications/lvgl/SConscript
new file mode 100644
index 0000000000..79d9772177
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/applications/lvgl/SConscript
@@ -0,0 +1,16 @@
+from building import *
+import os
+
+cwd = GetCurrentDir()
+group = []
+src = Glob('*.c')
+CPPPATH = [cwd]
+
+list = os.listdir(cwd)
+for d in list:
+ path = os.path.join(cwd, d)
+ if os.path.isfile(os.path.join(path, 'SConscript')):
+ group = group + SConscript(os.path.join(d, 'SConscript'))
+
+group = group + DefineGroup('LVGL-port', src, depend = ['BSP_USING_LVGL'], CPPPATH = CPPPATH)
+Return('group')
diff --git a/bsp/stm32/stm32h750-artpi/applications/lvgl/lv_conf.h b/bsp/stm32/stm32h750-artpi/applications/lvgl/lv_conf.h
new file mode 100644
index 0000000000..dd2fc777d7
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/applications/lvgl/lv_conf.h
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2006-2022, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2022-01-28 Rudy Lo The first version
+ */
+
+#ifndef LV_CONF_H
+#define LV_CONF_H
+
+#include
+
+#define LCD_W 480
+#define LCD_H 320
+
+#define LV_COLOR_16_SWAP 0
+#define LV_COLOR_DEPTH 32
+#define LV_USE_PERF_MONITOR 1
+
+#define LV_HOR_RES_MAX LCD_W
+#define LV_VER_RES_MAX LCD_H
+
+#define LV_USE_DEMO_RTT_MUSIC 1
+#define LV_DEMO_RTT_MUSIC_AUTO_PLAY 1
+
+#define LV_FONT_MONTSERRAT_12 1
+#define LV_FONT_MONTSERRAT_16 1
+
+#endif
diff --git a/bsp/stm32/stm32h750-artpi/applications/lvgl/lv_demo.c b/bsp/stm32/stm32h750-artpi/applications/lvgl/lv_demo.c
new file mode 100644
index 0000000000..4facba0470
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/applications/lvgl/lv_demo.c
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2006-2022, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2022-01-28 Rudy Lo The first version
+ */
+#include
+#include
+#include
+#define DBG_TAG "LVGL.demo"
+#define DBG_LVL DBG_INFO
+#include
+
+#ifndef LV_THREAD_STACK_SIZE
+#define LV_THREAD_STACK_SIZE 4096
+#endif
+
+#ifndef LV_THREAD_PRIO
+#define LV_THREAD_PRIO (RT_THREAD_PRIORITY_MAX * 2 / 3)
+#endif
+
+static void lvgl_thread(void *parameter)
+{
+ extern void lv_demo_music(void);
+ lv_demo_music();
+
+ /* handle the tasks of LVGL */
+ while(1)
+ {
+ lv_task_handler();
+ rt_thread_mdelay(10);
+ }
+}
+
+static int lvgl_demo_init(void)
+{
+ rt_thread_t tid;
+
+ tid = rt_thread_create("LVGL", lvgl_thread, RT_NULL, LV_THREAD_STACK_SIZE, LV_THREAD_PRIO, 0);
+ if(tid == RT_NULL)
+ {
+ LOG_E("Fail to create 'LVGL' thread");
+ }
+ rt_thread_startup(tid);
+
+ return 0;
+}
+INIT_APP_EXPORT(lvgl_demo_init);
diff --git a/bsp/stm32/stm32h750-artpi/applications/lvgl/lv_port_disp.c b/bsp/stm32/stm32h750-artpi/applications/lvgl/lv_port_disp.c
new file mode 100644
index 0000000000..689d934b4b
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/applications/lvgl/lv_port_disp.c
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2006-2022, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2022-02-01 Rudy Lo The first version
+ */
+
+#include
+#include
+#include "drv_spi_ili9488.h"
+
+#define MY_DISP_HOR_RES (LCD_W)
+#define DISP_BUFFER_LINES (LCD_H / 5)
+
+/*A static or global variable to store the buffers*/
+static lv_disp_draw_buf_t disp_buf;
+
+/*Descriptor of a display driver*/
+static lv_disp_drv_t disp_drv;
+
+/*Static or global buffer(s). The second buffer is optional*/
+static lv_color_t buf_1[MY_DISP_HOR_RES * DISP_BUFFER_LINES];
+//static lv_color_t buf_2[MY_DISP_HOR_RES * DISP_BUFFER_LINES];
+
+/*Flush the content of the internal buffer the specific area on the display
+ *You can use DMA or any hardware acceleration to do this operation in the background but
+ *'lv_disp_flush_ready()' has to be called when finished.*/
+static void disp_flush(lv_disp_drv_t * disp_drv, const lv_area_t * area, lv_color_t * color_p)
+{
+ /* color_p is a buffer pointer; the buffer is provided by LVGL */
+ lcd_fill_array(area->x1, area->y1, area->x2, area->y2, color_p);
+
+ /*IMPORTANT!!!
+ *Inform the graphics library that you are ready with the flushing*/
+ lv_disp_flush_ready(disp_drv);
+}
+
+void lv_port_disp_init(void)
+{
+ /*Initialize `disp_buf` with the buffer(s). With only one buffer use NULL instead buf_2 */
+ lv_disp_draw_buf_init(&disp_buf, buf_1, RT_NULL, MY_DISP_HOR_RES * DISP_BUFFER_LINES);
+
+ lv_disp_drv_init(&disp_drv); /*Basic initialization*/
+
+ /*Set the resolution of the display*/
+ disp_drv.hor_res = LCD_W;
+ disp_drv.ver_res = LCD_H;
+
+ /*Set a display buffer*/
+ disp_drv.draw_buf = &disp_buf;
+
+ /*Used to copy the buffer's content to the display*/
+ disp_drv.flush_cb = disp_flush;
+
+ /*Finally register the driver*/
+ lv_disp_drv_register(&disp_drv);
+}
diff --git a/bsp/stm32/stm32h750-artpi/applications/lvgl/lv_port_disp.h b/bsp/stm32/stm32h750-artpi/applications/lvgl/lv_port_disp.h
new file mode 100644
index 0000000000..5c93b6c9d4
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/applications/lvgl/lv_port_disp.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2006-2022, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2022-02-01 Rudy Lo The first version
+ */
+
+#ifndef LV_PORT_DISP_H
+#define LV_PORT_DISP_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void lv_port_disp_init(void);
+
+#ifdef __cplusplus
+} /*extern "C"*/
+#endif
+
+#endif
diff --git a/bsp/stm32/stm32h750-artpi/applications/lvgl/lv_port_indev.c b/bsp/stm32/stm32h750-artpi/applications/lvgl/lv_port_indev.c
new file mode 100644
index 0000000000..26d0bc2988
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/applications/lvgl/lv_port_indev.c
@@ -0,0 +1,115 @@
+/*
+ * Copyright (c) 2006-2022, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2022-02-01 Rudy Lo The first version
+ */
+
+#include
+#include
+#include
+#include
+
+#include "ft6236.h"
+
+#define TOUCH_DEVICE_NAME "touch_ft" /* Touch device name */
+#define TOUCH_DEVICE_I2C_BUS "i2c2" /* SCL -> PH15(127), SDA -> PH13(125) */
+#define REST_PIN GET_PIN(A, 3) /* reset pin */
+#define USER_BUTTON_PIN GET_PIN(H, 4) /* Reserve for LV_INDEV_TYPE_BUTTON */
+
+static rt_device_t ts; /* Touch device handle, Touchscreen */
+static struct rt_touch_data *read_data;
+
+static rt_int16_t last_x = 0;
+static rt_int16_t last_y = 0;
+
+static bool touchpad_is_pressed(void)
+{
+ if (RT_EOK == rt_device_read(ts, 0, read_data, 1)) /* return RT_EOK is a bug (ft6236) */
+ {
+ if (read_data->event == RT_TOUCH_EVENT_DOWN) {
+ /* swap x and y */
+ rt_int16_t tmp_x = read_data->y_coordinate;
+ rt_int16_t tmp_y = read_data->x_coordinate;
+
+ /* invert y */
+ tmp_y = 320 - tmp_y;
+
+ /* restore data */
+ last_x = tmp_x;
+ last_y = tmp_y;
+
+ rt_kprintf("touch: x = %d, y = %d\n", last_x, last_y);
+ return true;
+ }
+ }
+
+ return false;
+}
+
+static void touchpad_get_xy(rt_int16_t *x, rt_int16_t *y)
+{
+ *x = last_x;
+ *y = last_y;
+}
+
+static void touchpad_read(lv_indev_drv_t *indev, lv_indev_data_t *data)
+{
+ /*`touchpad_is_pressed` and `touchpad_get_xy` needs to be implemented by you*/
+ if(touchpad_is_pressed()) {
+ data->state = LV_INDEV_STATE_PRESSED;
+ touchpad_get_xy(&data->point.x, &data->point.y);
+ } else {
+ data->state = LV_INDEV_STATE_RELEASED;
+ }
+}
+
+rt_err_t rt_hw_ft6236_register(void)
+{
+ struct rt_touch_config config;
+ config.dev_name = TOUCH_DEVICE_I2C_BUS;
+ rt_hw_ft6236_init(TOUCH_DEVICE_NAME, &config, REST_PIN);
+
+ ts = rt_device_find(TOUCH_DEVICE_NAME);
+ if (!ts) {
+ return -RT_ERROR;
+ }
+
+ read_data = (struct rt_touch_data *)rt_calloc(1, sizeof(struct rt_touch_data));
+ if (!read_data) {
+ return -RT_ENOMEM;
+ }
+
+ if (!rt_device_open(ts, RT_DEVICE_FLAG_RDONLY)) {
+ struct rt_touch_info info;
+ rt_device_control(ts, RT_TOUCH_CTRL_GET_INFO, &info);
+ rt_kprintf("type :%d\n", info.type);
+ rt_kprintf("vendor :%s\n", info.vendor);
+ rt_kprintf("point_num :%d\n", info.point_num);
+ rt_kprintf("range_x :%d\n", info.range_x);
+ rt_kprintf("range_y :%d\n", info.range_y);
+ return RT_EOK;
+ } else {
+ rt_kprintf("open touch device failed.\n");
+ return -RT_ERROR;
+ }
+}
+
+lv_indev_t * touch_indev;
+
+void lv_port_indev_init(void)
+{
+ static lv_indev_drv_t indev_drv; /* Descriptor of a input device driver */
+ lv_indev_drv_init(&indev_drv); /* Basic initialization */
+ indev_drv.type = LV_INDEV_TYPE_POINTER; /* Touch pad is a pointer-like device */
+ indev_drv.read_cb = touchpad_read; /* Set your driver function */
+
+ /* Register the driver in LVGL and save the created input device object */
+ touch_indev = lv_indev_drv_register(&indev_drv);
+
+ /* Register touch device */
+ rt_hw_ft6236_register();
+}
diff --git a/bsp/stm32/stm32h750-artpi/applications/lvgl/lv_port_indev.h b/bsp/stm32/stm32h750-artpi/applications/lvgl/lv_port_indev.h
new file mode 100644
index 0000000000..c546f232b9
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/applications/lvgl/lv_port_indev.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2006-2022, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2022-02-01 Rudy Lo The first version
+ */
+
+#ifndef LV_PORT_INDEV_H
+#define LV_PORT_INDEV_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void lv_port_indev_init(void);
+
+#ifdef __cplusplus
+} /*extern "C"*/
+#endif
+
+#endif
diff --git a/bsp/stm32/stm32h750-artpi/applications/main.c b/bsp/stm32/stm32h750-artpi/applications/main.c
new file mode 100644
index 0000000000..5016caf031
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/applications/main.c
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2006-2022, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2021-03-17 supperthomas first version
+ */
+
+#include
+#include
+#include
+
+/* defined the LED0 pin: PI8 */
+#define LED0_PIN GET_PIN(I, 8)
+
+#ifdef RT_USING_WIFI
+ extern void wlan_autoconnect_init(void);
+#endif
+
+int main(void)
+{
+ /* set LED0 pin mode to output */
+ rt_pin_mode(LED0_PIN, PIN_MODE_OUTPUT);
+ #ifdef RT_USING_WIFI
+ /* init Wi-Fi auto connect feature */
+ wlan_autoconnect_init();
+ /* enable auto reconnect on WLAN device */
+ rt_wlan_config_autoreconnect(RT_TRUE);
+ #endif
+
+ while (1)
+ {
+ rt_pin_write(LED0_PIN, PIN_HIGH);
+ rt_thread_mdelay(500);
+ rt_pin_write(LED0_PIN, PIN_LOW);
+ rt_thread_mdelay(500);
+ }
+}
+
+#include "stm32h7xx.h"
+static int vtor_config(void)
+{
+ /* Vector Table Relocation in Internal QSPI_FLASH */
+ SCB->VTOR = QSPI_BASE;
+ return 0;
+}
+INIT_BOARD_EXPORT(vtor_config);
diff --git a/bsp/stm32/stm32h750-artpi/board/.ignore_format.yml b/bsp/stm32/stm32h750-artpi/board/.ignore_format.yml
new file mode 100644
index 0000000000..0d7f3e360c
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/board/.ignore_format.yml
@@ -0,0 +1,6 @@
+# files format check exclude path, please follow the instructions below to modify;
+# If you need to exclude an entire folder, add the folder path in dir_path;
+# If you need to exclude a file, add the path to the file in file_path.
+
+dir_path:
+- CubeMX_Config
diff --git a/bsp/stm32/stm32h750-artpi/board/CubeMX_Config/Core/Inc/main.h b/bsp/stm32/stm32h750-artpi/board/CubeMX_Config/Core/Inc/main.h
new file mode 100644
index 0000000000..4677beb2d9
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/board/CubeMX_Config/Core/Inc/main.h
@@ -0,0 +1,71 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file : main.h
+ * @brief : Header for main.c file.
+ * This file contains the common defines of the application.
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2020 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under BSD 3-Clause license,
+ * the "License"; You may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ * opensource.org/licenses/BSD-3-Clause
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __MAIN_H
+#define __MAIN_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "stm32h7xx_hal.h"
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Exported types ------------------------------------------------------------*/
+/* USER CODE BEGIN ET */
+
+/* USER CODE END ET */
+
+/* Exported constants --------------------------------------------------------*/
+/* USER CODE BEGIN EC */
+
+/* USER CODE END EC */
+
+/* Exported macro ------------------------------------------------------------*/
+/* USER CODE BEGIN EM */
+
+/* USER CODE END EM */
+
+/* Exported functions prototypes ---------------------------------------------*/
+void Error_Handler(void);
+
+/* USER CODE BEGIN EFP */
+
+/* USER CODE END EFP */
+
+/* Private defines -----------------------------------------------------------*/
+/* USER CODE BEGIN Private defines */
+
+/* USER CODE END Private defines */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __MAIN_H */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/bsp/stm32/stm32h750-artpi/board/CubeMX_Config/Core/Inc/stm32h7xx_hal_conf.h b/bsp/stm32/stm32h750-artpi/board/CubeMX_Config/Core/Inc/stm32h7xx_hal_conf.h
new file mode 100644
index 0000000000..55856dbf6b
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/board/CubeMX_Config/Core/Inc/stm32h7xx_hal_conf.h
@@ -0,0 +1,511 @@
+/**
+ ******************************************************************************
+ * @file stm32h7xx_hal_conf.h
+ * @author MCD Application Team
+ * @brief HAL configuration file.
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2017 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under BSD 3-Clause license,
+ * the "License"; You may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ * opensource.org/licenses/BSD-3-Clause
+ *
+ ******************************************************************************
+ */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef STM32H7xx_HAL_CONF_H
+#define STM32H7xx_HAL_CONF_H
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/* Exported types ------------------------------------------------------------*/
+/* Exported constants --------------------------------------------------------*/
+
+/* ########################## Module Selection ############################## */
+/**
+ * @brief This is the list of modules to be used in the HAL driver
+ */
+#define HAL_MODULE_ENABLED
+
+ #define HAL_ADC_MODULE_ENABLED
+/* #define HAL_FDCAN_MODULE_ENABLED */
+/* #define HAL_FMAC_MODULE_ENABLED */
+/* #define HAL_CEC_MODULE_ENABLED */
+/* #define HAL_COMP_MODULE_ENABLED */
+/* #define HAL_CORDIC_MODULE_ENABLED */
+/* #define HAL_CRC_MODULE_ENABLED */
+/* #define HAL_CRYP_MODULE_ENABLED */
+/* #define HAL_DAC_MODULE_ENABLED */
+/* #define HAL_DCMI_MODULE_ENABLED */
+/* #define HAL_DMA2D_MODULE_ENABLED */
+#define HAL_ETH_MODULE_ENABLED
+/* #define HAL_NAND_MODULE_ENABLED */
+/* #define HAL_NOR_MODULE_ENABLED */
+/* #define HAL_OTFDEC_MODULE_ENABLED */
+/* #define HAL_SRAM_MODULE_ENABLED */
+#define HAL_SDRAM_MODULE_ENABLED
+/* #define HAL_HASH_MODULE_ENABLED */
+/* #define HAL_HRTIM_MODULE_ENABLED */
+/* #define HAL_HSEM_MODULE_ENABLED */
+/* #define HAL_GFXMMU_MODULE_ENABLED */
+/* #define HAL_JPEG_MODULE_ENABLED */
+/* #define HAL_OPAMP_MODULE_ENABLED */
+/* #define HAL_OSPI_MODULE_ENABLED */
+/* #define HAL_OSPI_MODULE_ENABLED */
+/* #define HAL_I2S_MODULE_ENABLED */
+/* #define HAL_SMBUS_MODULE_ENABLED */
+/* #define HAL_IWDG_MODULE_ENABLED */
+/* #define HAL_LPTIM_MODULE_ENABLED */
+#define HAL_LTDC_MODULE_ENABLED
+/* #define HAL_QSPI_MODULE_ENABLED */
+/* #define HAL_RNG_MODULE_ENABLED */
+/* #define HAL_RTC_MODULE_ENABLED */
+/* #define HAL_SAI_MODULE_ENABLED */
+#define HAL_SD_MODULE_ENABLED
+/* #define HAL_MMC_MODULE_ENABLED */
+/* #define HAL_SPDIFRX_MODULE_ENABLED */
+#define HAL_SPI_MODULE_ENABLED
+/* #define HAL_SWPMI_MODULE_ENABLED */
+#define HAL_TIM_MODULE_ENABLED
+#define HAL_UART_MODULE_ENABLED
+/* #define HAL_USART_MODULE_ENABLED */
+/* #define HAL_IRDA_MODULE_ENABLED */
+/* #define HAL_SMARTCARD_MODULE_ENABLED */
+/* #define HAL_WWDG_MODULE_ENABLED */
+#define HAL_PCD_MODULE_ENABLED
+/* #define HAL_HCD_MODULE_ENABLED */
+/* #define HAL_DFSDM_MODULE_ENABLED */
+/* #define HAL_DSI_MODULE_ENABLED */
+/* #define HAL_JPEG_MODULE_ENABLED */
+/* #define HAL_MDIOS_MODULE_ENABLED */
+/* #define HAL_PSSI_MODULE_ENABLED */
+/* #define HAL_DTS_MODULE_ENABLED */
+#define HAL_GPIO_MODULE_ENABLED
+#define HAL_DMA_MODULE_ENABLED
+#define HAL_MDMA_MODULE_ENABLED
+#define HAL_RCC_MODULE_ENABLED
+#define HAL_FLASH_MODULE_ENABLED
+#define HAL_EXTI_MODULE_ENABLED
+#define HAL_PWR_MODULE_ENABLED
+#define HAL_I2C_MODULE_ENABLED
+#define HAL_CORTEX_MODULE_ENABLED
+#define HAL_HSEM_MODULE_ENABLED
+
+/* ########################## Oscillator Values adaptation ####################*/
+/**
+ * @brief Adjust the value of External High Speed oscillator (HSE) used in your application.
+ * This value is used by the RCC HAL module to compute the system frequency
+ * (when HSE is used as system clock source, directly or through the PLL).
+ */
+#if !defined (HSE_VALUE)
+#define HSE_VALUE ((uint32_t)25000000) /*!< Value of the External oscillator in Hz : FPGA case fixed to 60MHZ */
+#endif /* HSE_VALUE */
+
+#if !defined (HSE_STARTUP_TIMEOUT)
+ #define HSE_STARTUP_TIMEOUT ((uint32_t)100U) /*!< Time out for HSE start up, in ms */
+#endif /* HSE_STARTUP_TIMEOUT */
+
+/**
+ * @brief Internal oscillator (CSI) default value.
+ * This value is the default CSI value after Reset.
+ */
+#if !defined (CSI_VALUE)
+ #define CSI_VALUE ((uint32_t)4000000) /*!< Value of the Internal oscillator in Hz*/
+#endif /* CSI_VALUE */
+
+/**
+ * @brief Internal High Speed oscillator (HSI) value.
+ * This value is used by the RCC HAL module to compute the system frequency
+ * (when HSI is used as system clock source, directly or through the PLL).
+ */
+#if !defined (HSI_VALUE)
+ #define HSI_VALUE ((uint32_t)64000000) /*!< Value of the Internal oscillator in Hz*/
+#endif /* HSI_VALUE */
+
+/**
+ * @brief External Low Speed oscillator (LSE) value.
+ * This value is used by the UART, RTC HAL module to compute the system frequency
+ */
+#if !defined (LSE_VALUE)
+ #define LSE_VALUE ((uint32_t)32768U) /*!< Value of the External oscillator in Hz*/
+#endif /* LSE_VALUE */
+
+#if !defined (LSE_STARTUP_TIMEOUT)
+ #define LSE_STARTUP_TIMEOUT ((uint32_t)5000U) /*!< Time out for LSE start up, in ms */
+#endif /* LSE_STARTUP_TIMEOUT */
+
+#if !defined (LSI_VALUE)
+ #define LSI_VALUE (32000UL) /*!< LSI Typical Value in Hz*/
+#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz
+ The real value may vary depending on the variations
+ in voltage and temperature.*/
+
+/**
+ * @brief External clock source for I2S peripheral
+ * This value is used by the I2S HAL module to compute the I2S clock source
+ * frequency, this source is inserted directly through I2S_CKIN pad.
+ */
+#if !defined (EXTERNAL_CLOCK_VALUE)
+ #define EXTERNAL_CLOCK_VALUE 12288000U /*!< Value of the External clock in Hz*/
+#endif /* EXTERNAL_CLOCK_VALUE */
+
+/* Tip: To avoid modifying this file each time you need to use different HSE,
+ === you can define the HSE value in your toolchain compiler preprocessor. */
+
+/* ########################### System Configuration ######################### */
+/**
+ * @brief This is the HAL system configuration section
+ */
+#define VDD_VALUE ((uint32_t)3300U) /*!< Value of VDD in mv */
+#define TICK_INT_PRIORITY ((uint32_t)0U) /*!< tick interrupt priority */
+#define USE_RTOS 0U
+#define USE_SD_TRANSCEIVER 1U /*!< use uSD Transceiver */
+#define USE_SPI_CRC 0U /*!< use CRC in SPI */
+
+#define USE_HAL_ADC_REGISTER_CALLBACKS 0U /* ADC register callback disabled */
+#define USE_HAL_CEC_REGISTER_CALLBACKS 0U /* CEC register callback disabled */
+#define USE_HAL_COMP_REGISTER_CALLBACKS 0U /* COMP register callback disabled */
+#define USE_HAL_CORDIC_REGISTER_CALLBACKS 0U /* CORDIC register callback disabled */
+#define USE_HAL_CRYP_REGISTER_CALLBACKS 0U /* CRYP register callback disabled */
+#define USE_HAL_DAC_REGISTER_CALLBACKS 0U /* DAC register callback disabled */
+#define USE_HAL_DCMI_REGISTER_CALLBACKS 0U /* DCMI register callback disabled */
+#define USE_HAL_DFSDM_REGISTER_CALLBACKS 0U /* DFSDM register callback disabled */
+#define USE_HAL_DMA2D_REGISTER_CALLBACKS 0U /* DMA2D register callback disabled */
+#define USE_HAL_DSI_REGISTER_CALLBACKS 0U /* DSI register callback disabled */
+#define USE_HAL_DTS_REGISTER_CALLBACKS 0U /* DTS register callback disabled */
+#define USE_HAL_ETH_REGISTER_CALLBACKS 0U /* ETH register callback disabled */
+#define USE_HAL_FDCAN_REGISTER_CALLBACKS 0U /* FDCAN register callback disabled */
+#define USE_HAL_FMAC_REGISTER_CALLBACKS 0U /* FMAC register callback disabled */
+#define USE_HAL_NAND_REGISTER_CALLBACKS 0U /* NAND register callback disabled */
+#define USE_HAL_NOR_REGISTER_CALLBACKS 0U /* NOR register callback disabled */
+#define USE_HAL_SDRAM_REGISTER_CALLBACKS 0U /* SDRAM register callback disabled */
+#define USE_HAL_SRAM_REGISTER_CALLBACKS 0U /* SRAM register callback disabled */
+#define USE_HAL_HASH_REGISTER_CALLBACKS 0U /* HASH register callback disabled */
+#define USE_HAL_HCD_REGISTER_CALLBACKS 0U /* HCD register callback disabled */
+#define USE_HAL_GFXMMU_REGISTER_CALLBACKS 0U /* GFXMMU register callback disabled */
+#define USE_HAL_HRTIM_REGISTER_CALLBACKS 0U /* HRTIM register callback disabled */
+#define USE_HAL_I2C_REGISTER_CALLBACKS 0U /* I2C register callback disabled */
+#define USE_HAL_I2S_REGISTER_CALLBACKS 0U /* I2S register callback disabled */
+#define USE_HAL_IRDA_REGISTER_CALLBACKS 0U /* IRDA register callback disabled */
+#define USE_HAL_JPEG_REGISTER_CALLBACKS 0U /* JPEG register callback disabled */
+#define USE_HAL_LPTIM_REGISTER_CALLBACKS 0U /* LPTIM register callback disabled */
+#define USE_HAL_LTDC_REGISTER_CALLBACKS 0U /* LTDC register callback disabled */
+#define USE_HAL_MDIOS_REGISTER_CALLBACKS 0U /* MDIO register callback disabled */
+#define USE_HAL_MMC_REGISTER_CALLBACKS 0U /* MMC register callback disabled */
+#define USE_HAL_OPAMP_REGISTER_CALLBACKS 0U /* MDIO register callback disabled */
+#define USE_HAL_OSPI_REGISTER_CALLBACKS 0U /* OSPI register callback disabled */
+#define USE_HAL_OTFDEC_REGISTER_CALLBACKS 0U /* OTFDEC register callback disabled */
+#define USE_HAL_PCD_REGISTER_CALLBACKS 0U /* PCD register callback disabled */
+#define USE_HAL_QSPI_REGISTER_CALLBACKS 0U /* QSPI register callback disabled */
+#define USE_HAL_RNG_REGISTER_CALLBACKS 0U /* RNG register callback disabled */
+#define USE_HAL_RTC_REGISTER_CALLBACKS 0U /* RTC register callback disabled */
+#define USE_HAL_SAI_REGISTER_CALLBACKS 0U /* SAI register callback disabled */
+#define USE_HAL_SD_REGISTER_CALLBACKS 0U /* SD register callback disabled */
+#define USE_HAL_SMARTCARD_REGISTER_CALLBACKS 0U /* SMARTCARD register callback disabled */
+#define USE_HAL_SPDIFRX_REGISTER_CALLBACKS 0U /* SPDIFRX register callback disabled */
+#define USE_HAL_SMBUS_REGISTER_CALLBACKS 0U /* SMBUS register callback disabled */
+#define USE_HAL_SPI_REGISTER_CALLBACKS 0U /* SPI register callback disabled */
+#define USE_HAL_SWPMI_REGISTER_CALLBACKS 0U /* SWPMI register callback disabled */
+#define USE_HAL_TIM_REGISTER_CALLBACKS 0U /* TIM register callback disabled */
+#define USE_HAL_UART_REGISTER_CALLBACKS 0U /* UART register callback disabled */
+#define USE_HAL_USART_REGISTER_CALLBACKS 0U /* USART register callback disabled */
+#define USE_HAL_WWDG_REGISTER_CALLBACKS 0U /* WWDG register callback disabled */
+
+/* ########################### Ethernet Configuration ######################### */
+#define ETH_TX_DESC_CNT 4 /* number of Ethernet Tx DMA descriptors */
+#define ETH_RX_DESC_CNT 4 /* number of Ethernet Rx DMA descriptors */
+
+#define ETH_MAC_ADDR0 ((uint8_t)0x02)
+#define ETH_MAC_ADDR1 ((uint8_t)0x00)
+#define ETH_MAC_ADDR2 ((uint8_t)0x00)
+#define ETH_MAC_ADDR3 ((uint8_t)0x00)
+#define ETH_MAC_ADDR4 ((uint8_t)0x00)
+#define ETH_MAC_ADDR5 ((uint8_t)0x00)
+
+/* ########################## Assert Selection ############################## */
+/**
+ * @brief Uncomment the line below to expanse the "assert_param" macro in the
+ * HAL drivers code
+ */
+/* #define USE_FULL_ASSERT 1U */
+
+/* Includes ------------------------------------------------------------------*/
+/**
+ * @brief Include module's header file
+ */
+
+#ifdef HAL_RCC_MODULE_ENABLED
+ #include "stm32h7xx_hal_rcc.h"
+#endif /* HAL_RCC_MODULE_ENABLED */
+
+#ifdef HAL_GPIO_MODULE_ENABLED
+ #include "stm32h7xx_hal_gpio.h"
+#endif /* HAL_GPIO_MODULE_ENABLED */
+
+#ifdef HAL_DMA_MODULE_ENABLED
+ #include "stm32h7xx_hal_dma.h"
+#endif /* HAL_DMA_MODULE_ENABLED */
+
+#ifdef HAL_MDMA_MODULE_ENABLED
+ #include "stm32h7xx_hal_mdma.h"
+#endif /* HAL_MDMA_MODULE_ENABLED */
+
+#ifdef HAL_HASH_MODULE_ENABLED
+ #include "stm32h7xx_hal_hash.h"
+#endif /* HAL_HASH_MODULE_ENABLED */
+
+#ifdef HAL_DCMI_MODULE_ENABLED
+ #include "stm32h7xx_hal_dcmi.h"
+#endif /* HAL_DCMI_MODULE_ENABLED */
+
+#ifdef HAL_DMA2D_MODULE_ENABLED
+ #include "stm32h7xx_hal_dma2d.h"
+#endif /* HAL_DMA2D_MODULE_ENABLED */
+
+#ifdef HAL_DSI_MODULE_ENABLED
+ #include "stm32h7xx_hal_dsi.h"
+#endif /* HAL_DSI_MODULE_ENABLED */
+
+#ifdef HAL_DFSDM_MODULE_ENABLED
+ #include "stm32h7xx_hal_dfsdm.h"
+#endif /* HAL_DFSDM_MODULE_ENABLED */
+
+#ifdef HAL_ETH_MODULE_ENABLED
+ #include "stm32h7xx_hal_eth.h"
+#endif /* HAL_ETH_MODULE_ENABLED */
+
+#ifdef HAL_EXTI_MODULE_ENABLED
+ #include "stm32h7xx_hal_exti.h"
+#endif /* HAL_EXTI_MODULE_ENABLED */
+
+#ifdef HAL_CORTEX_MODULE_ENABLED
+ #include "stm32h7xx_hal_cortex.h"
+#endif /* HAL_CORTEX_MODULE_ENABLED */
+
+#ifdef HAL_ADC_MODULE_ENABLED
+ #include "stm32h7xx_hal_adc.h"
+#endif /* HAL_ADC_MODULE_ENABLED */
+
+#ifdef HAL_FDCAN_MODULE_ENABLED
+ #include "stm32h7xx_hal_fdcan.h"
+#endif /* HAL_FDCAN_MODULE_ENABLED */
+
+#ifdef HAL_CEC_MODULE_ENABLED
+ #include "stm32h7xx_hal_cec.h"
+#endif /* HAL_CEC_MODULE_ENABLED */
+
+#ifdef HAL_COMP_MODULE_ENABLED
+ #include "stm32h7xx_hal_comp.h"
+#endif /* HAL_COMP_MODULE_ENABLED */
+
+#ifdef HAL_CORDIC_MODULE_ENABLED
+ #include "stm32h7xx_hal_cordic.h"
+#endif /* HAL_CORDIC_MODULE_ENABLED */
+
+#ifdef HAL_CRC_MODULE_ENABLED
+ #include "stm32h7xx_hal_crc.h"
+#endif /* HAL_CRC_MODULE_ENABLED */
+
+#ifdef HAL_CRYP_MODULE_ENABLED
+ #include "stm32h7xx_hal_cryp.h"
+#endif /* HAL_CRYP_MODULE_ENABLED */
+
+#ifdef HAL_DAC_MODULE_ENABLED
+ #include "stm32h7xx_hal_dac.h"
+#endif /* HAL_DAC_MODULE_ENABLED */
+
+#ifdef HAL_FLASH_MODULE_ENABLED
+ #include "stm32h7xx_hal_flash.h"
+#endif /* HAL_FLASH_MODULE_ENABLED */
+
+#ifdef HAL_FMAC_MODULE_ENABLED
+ #include "stm32h7xx_hal_fmac.h"
+#endif /* HAL_FMAC_MODULE_ENABLED */
+
+#ifdef HAL_GFXMMU_MODULE_ENABLED
+ #include "stm32h7xx_hal_gfxmmu.h"
+#endif /* HAL_GFXMMU_MODULE_ENABLED */
+
+#ifdef HAL_HRTIM_MODULE_ENABLED
+ #include "stm32h7xx_hal_hrtim.h"
+#endif /* HAL_HRTIM_MODULE_ENABLED */
+
+#ifdef HAL_HSEM_MODULE_ENABLED
+ #include "stm32h7xx_hal_hsem.h"
+#endif /* HAL_HSEM_MODULE_ENABLED */
+
+#ifdef HAL_SRAM_MODULE_ENABLED
+ #include "stm32h7xx_hal_sram.h"
+#endif /* HAL_SRAM_MODULE_ENABLED */
+
+#ifdef HAL_NOR_MODULE_ENABLED
+ #include "stm32h7xx_hal_nor.h"
+#endif /* HAL_NOR_MODULE_ENABLED */
+
+#ifdef HAL_NAND_MODULE_ENABLED
+ #include "stm32h7xx_hal_nand.h"
+#endif /* HAL_NAND_MODULE_ENABLED */
+
+#ifdef HAL_I2C_MODULE_ENABLED
+ #include "stm32h7xx_hal_i2c.h"
+#endif /* HAL_I2C_MODULE_ENABLED */
+
+#ifdef HAL_I2S_MODULE_ENABLED
+ #include "stm32h7xx_hal_i2s.h"
+#endif /* HAL_I2S_MODULE_ENABLED */
+
+#ifdef HAL_IWDG_MODULE_ENABLED
+ #include "stm32h7xx_hal_iwdg.h"
+#endif /* HAL_IWDG_MODULE_ENABLED */
+
+#ifdef HAL_JPEG_MODULE_ENABLED
+ #include "stm32h7xx_hal_jpeg.h"
+#endif /* HAL_JPEG_MODULE_ENABLED */
+
+#ifdef HAL_MDIOS_MODULE_ENABLED
+ #include "stm32h7xx_hal_mdios.h"
+#endif /* HAL_MDIOS_MODULE_ENABLED */
+
+#ifdef HAL_MMC_MODULE_ENABLED
+ #include "stm32h7xx_hal_mmc.h"
+#endif /* HAL_MMC_MODULE_ENABLED */
+
+#ifdef HAL_LPTIM_MODULE_ENABLED
+#include "stm32h7xx_hal_lptim.h"
+#endif /* HAL_LPTIM_MODULE_ENABLED */
+
+#ifdef HAL_LTDC_MODULE_ENABLED
+#include "stm32h7xx_hal_ltdc.h"
+#endif /* HAL_LTDC_MODULE_ENABLED */
+
+#ifdef HAL_OPAMP_MODULE_ENABLED
+#include "stm32h7xx_hal_opamp.h"
+#endif /* HAL_OPAMP_MODULE_ENABLED */
+
+#ifdef HAL_OSPI_MODULE_ENABLED
+ #include "stm32h7xx_hal_ospi.h"
+#endif /* HAL_OSPI_MODULE_ENABLED */
+
+#ifdef HAL_OTFDEC_MODULE_ENABLED
+#include "stm32h7xx_hal_otfdec.h"
+#endif /* HAL_OTFDEC_MODULE_ENABLED */
+
+#ifdef HAL_PWR_MODULE_ENABLED
+ #include "stm32h7xx_hal_pwr.h"
+#endif /* HAL_PWR_MODULE_ENABLED */
+
+#ifdef HAL_QSPI_MODULE_ENABLED
+ #include "stm32h7xx_hal_qspi.h"
+#endif /* HAL_QSPI_MODULE_ENABLED */
+
+#ifdef HAL_RAMECC_MODULE_ENABLED
+ #include "stm32h7xx_hal_ramecc.h"
+#endif /* HAL_HCD_MODULE_ENABLED */
+
+#ifdef HAL_RNG_MODULE_ENABLED
+ #include "stm32h7xx_hal_rng.h"
+#endif /* HAL_RNG_MODULE_ENABLED */
+
+#ifdef HAL_RTC_MODULE_ENABLED
+ #include "stm32h7xx_hal_rtc.h"
+#endif /* HAL_RTC_MODULE_ENABLED */
+
+#ifdef HAL_SAI_MODULE_ENABLED
+ #include "stm32h7xx_hal_sai.h"
+#endif /* HAL_SAI_MODULE_ENABLED */
+
+#ifdef HAL_SD_MODULE_ENABLED
+ #include "stm32h7xx_hal_sd.h"
+#endif /* HAL_SD_MODULE_ENABLED */
+
+#ifdef HAL_SDRAM_MODULE_ENABLED
+ #include "stm32h7xx_hal_sdram.h"
+#endif /* HAL_SDRAM_MODULE_ENABLED */
+
+#ifdef HAL_SPI_MODULE_ENABLED
+ #include "stm32h7xx_hal_spi.h"
+#endif /* HAL_SPI_MODULE_ENABLED */
+
+#ifdef HAL_SPDIFRX_MODULE_ENABLED
+ #include "stm32h7xx_hal_spdifrx.h"
+#endif /* HAL_SPDIFRX_MODULE_ENABLED */
+
+#ifdef HAL_SWPMI_MODULE_ENABLED
+ #include "stm32h7xx_hal_swpmi.h"
+#endif /* HAL_SWPMI_MODULE_ENABLED */
+
+#ifdef HAL_TIM_MODULE_ENABLED
+ #include "stm32h7xx_hal_tim.h"
+#endif /* HAL_TIM_MODULE_ENABLED */
+
+#ifdef HAL_UART_MODULE_ENABLED
+ #include "stm32h7xx_hal_uart.h"
+#endif /* HAL_UART_MODULE_ENABLED */
+
+#ifdef HAL_USART_MODULE_ENABLED
+ #include "stm32h7xx_hal_usart.h"
+#endif /* HAL_USART_MODULE_ENABLED */
+
+#ifdef HAL_IRDA_MODULE_ENABLED
+ #include "stm32h7xx_hal_irda.h"
+#endif /* HAL_IRDA_MODULE_ENABLED */
+
+#ifdef HAL_SMARTCARD_MODULE_ENABLED
+ #include "stm32h7xx_hal_smartcard.h"
+#endif /* HAL_SMARTCARD_MODULE_ENABLED */
+
+#ifdef HAL_SMBUS_MODULE_ENABLED
+ #include "stm32h7xx_hal_smbus.h"
+#endif /* HAL_SMBUS_MODULE_ENABLED */
+
+#ifdef HAL_WWDG_MODULE_ENABLED
+ #include "stm32h7xx_hal_wwdg.h"
+#endif /* HAL_WWDG_MODULE_ENABLED */
+
+#ifdef HAL_PCD_MODULE_ENABLED
+ #include "stm32h7xx_hal_pcd.h"
+#endif /* HAL_PCD_MODULE_ENABLED */
+
+#ifdef HAL_HCD_MODULE_ENABLED
+ #include "stm32h7xx_hal_hcd.h"
+#endif /* HAL_HCD_MODULE_ENABLED */
+
+#ifdef HAL_PSSI_MODULE_ENABLED
+ #include "stm32h7xx_hal_pssi.h"
+#endif /* HAL_PSSI_MODULE_ENABLED */
+
+#ifdef HAL_DTS_MODULE_ENABLED
+ #include "stm32h7xx_hal_dts.h"
+#endif /* HAL_DTS_MODULE_ENABLED */
+
+/* Exported macro ------------------------------------------------------------*/
+#ifdef USE_FULL_ASSERT
+/**
+ * @brief The assert_param macro is used for function's parameters check.
+ * @param expr: If expr is false, it calls assert_failed function
+ * which reports the name of the source file and the source
+ * line number of the call that failed.
+ * If expr is true, it returns no value.
+ * @retval None
+ */
+ #define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__))
+/* Exported functions ------------------------------------------------------- */
+ void assert_failed(uint8_t* file, uint32_t line);
+#else
+ #define assert_param(expr) ((void)0U)
+#endif /* USE_FULL_ASSERT */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __STM32H7xx_HAL_CONF_H */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/bsp/stm32/stm32h750-artpi/board/CubeMX_Config/Core/Src/stm32h7xx_hal_msp.c b/bsp/stm32/stm32h750-artpi/board/CubeMX_Config/Core/Src/stm32h7xx_hal_msp.c
new file mode 100644
index 0000000000..66f72bc785
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/board/CubeMX_Config/Core/Src/stm32h7xx_hal_msp.c
@@ -0,0 +1,1211 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * File Name : stm32h7xx_hal_msp.c
+ * Description : This file provides code for the MSP Initialization
+ * and de-Initialization codes.
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2020 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under BSD 3-Clause license,
+ * the "License"; You may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ * opensource.org/licenses/BSD-3-Clause
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Private typedef -----------------------------------------------------------*/
+/* USER CODE BEGIN TD */
+
+/* USER CODE END TD */
+
+/* Private define ------------------------------------------------------------*/
+/* USER CODE BEGIN Define */
+
+/* USER CODE END Define */
+
+/* Private macro -------------------------------------------------------------*/
+/* USER CODE BEGIN Macro */
+
+/* USER CODE END Macro */
+
+/* Private variables ---------------------------------------------------------*/
+/* USER CODE BEGIN PV */
+
+/* USER CODE END PV */
+
+/* Private function prototypes -----------------------------------------------*/
+/* USER CODE BEGIN PFP */
+
+/* USER CODE END PFP */
+
+/* External functions --------------------------------------------------------*/
+/* USER CODE BEGIN ExternalFunctions */
+
+/* USER CODE END ExternalFunctions */
+
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
+ /**
+ * Initializes the Global MSP.
+ */
+void HAL_MspInit(void)
+{
+ /* USER CODE BEGIN MspInit 0 */
+
+ /* USER CODE END MspInit 0 */
+
+ __HAL_RCC_SYSCFG_CLK_ENABLE();
+
+ /* System interrupt init*/
+
+ /* USER CODE BEGIN MspInit 1 */
+
+ /* USER CODE END MspInit 1 */
+}
+
+/**
+* @brief ADC MSP Initialization
+* This function configures the hardware resources used in this example
+* @param hadc: ADC handle pointer
+* @retval None
+*/
+void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
+{
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+ if(hadc->Instance==ADC1)
+ {
+ /* USER CODE BEGIN ADC1_MspInit 0 */
+
+ /* USER CODE END ADC1_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_ADC12_CLK_ENABLE();
+
+ __HAL_RCC_GPIOB_CLK_ENABLE();
+ /**ADC1 GPIO Configuration
+ PB1 ------> ADC1_INP5
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_1;
+ GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+
+ /* USER CODE BEGIN ADC1_MspInit 1 */
+
+ /* USER CODE END ADC1_MspInit 1 */
+ }
+
+}
+
+/**
+* @brief ADC MSP De-Initialization
+* This function freeze the hardware resources used in this example
+* @param hadc: ADC handle pointer
+* @retval None
+*/
+void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
+{
+ if(hadc->Instance==ADC1)
+ {
+ /* USER CODE BEGIN ADC1_MspDeInit 0 */
+
+ /* USER CODE END ADC1_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_ADC12_CLK_DISABLE();
+
+ /**ADC1 GPIO Configuration
+ PB1 ------> ADC1_INP5
+ */
+ HAL_GPIO_DeInit(GPIOB, GPIO_PIN_1);
+
+ /* USER CODE BEGIN ADC1_MspDeInit 1 */
+
+ /* USER CODE END ADC1_MspDeInit 1 */
+ }
+
+}
+
+/**
+* @brief ETH MSP Initialization
+* This function configures the hardware resources used in this example
+* @param heth: ETH handle pointer
+* @retval None
+*/
+void HAL_ETH_MspInit(ETH_HandleTypeDef* heth)
+{
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+ if(heth->Instance==ETH)
+ {
+ /* USER CODE BEGIN ETH_MspInit 0 */
+
+ /* USER CODE END ETH_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_ETH1MAC_CLK_ENABLE();
+ __HAL_RCC_ETH1TX_CLK_ENABLE();
+ __HAL_RCC_ETH1RX_CLK_ENABLE();
+
+ __HAL_RCC_GPIOG_CLK_ENABLE();
+ __HAL_RCC_GPIOC_CLK_ENABLE();
+ __HAL_RCC_GPIOA_CLK_ENABLE();
+ /**ETH GPIO Configuration
+ PG11 ------> ETH_TX_EN
+ PG14 ------> ETH_TXD1
+ PG13 ------> ETH_TXD0
+ PC1 ------> ETH_MDC
+ PA2 ------> ETH_MDIO
+ PA1 ------> ETH_REF_CLK
+ PA7 ------> ETH_CRS_DV
+ PC4 ------> ETH_RXD0
+ PC5 ------> ETH_RXD1
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_14|GPIO_PIN_13;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
+ HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
+
+ GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
+ HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
+
+ GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_7;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
+ HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+
+ /* ETH interrupt Init */
+ HAL_NVIC_SetPriority(ETH_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(ETH_IRQn);
+ /* USER CODE BEGIN ETH_MspInit 1 */
+
+ /* USER CODE END ETH_MspInit 1 */
+ }
+
+}
+
+/**
+* @brief ETH MSP De-Initialization
+* This function freeze the hardware resources used in this example
+* @param heth: ETH handle pointer
+* @retval None
+*/
+void HAL_ETH_MspDeInit(ETH_HandleTypeDef* heth)
+{
+ if(heth->Instance==ETH)
+ {
+ /* USER CODE BEGIN ETH_MspDeInit 0 */
+
+ /* USER CODE END ETH_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_ETH1MAC_CLK_DISABLE();
+ __HAL_RCC_ETH1TX_CLK_DISABLE();
+ __HAL_RCC_ETH1RX_CLK_DISABLE();
+
+ /**ETH GPIO Configuration
+ PG11 ------> ETH_TX_EN
+ PG14 ------> ETH_TXD1
+ PG13 ------> ETH_TXD0
+ PC1 ------> ETH_MDC
+ PA2 ------> ETH_MDIO
+ PA1 ------> ETH_REF_CLK
+ PA7 ------> ETH_CRS_DV
+ PC4 ------> ETH_RXD0
+ PC5 ------> ETH_RXD1
+ */
+ HAL_GPIO_DeInit(GPIOG, GPIO_PIN_11|GPIO_PIN_14|GPIO_PIN_13);
+
+ HAL_GPIO_DeInit(GPIOC, GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5);
+
+ HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_7);
+
+ /* ETH interrupt DeInit */
+ HAL_NVIC_DisableIRQ(ETH_IRQn);
+ /* USER CODE BEGIN ETH_MspDeInit 1 */
+
+ /* USER CODE END ETH_MspDeInit 1 */
+ }
+
+}
+
+/**
+* @brief LTDC MSP Initialization
+* This function configures the hardware resources used in this example
+* @param hltdc: LTDC handle pointer
+* @retval None
+*/
+void HAL_LTDC_MspInit(LTDC_HandleTypeDef* hltdc)
+{
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+ if(hltdc->Instance==LTDC)
+ {
+ /* USER CODE BEGIN LTDC_MspInit 0 */
+
+ /* USER CODE END LTDC_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_LTDC_CLK_ENABLE();
+
+ __HAL_RCC_GPIOK_CLK_ENABLE();
+ __HAL_RCC_GPIOJ_CLK_ENABLE();
+ __HAL_RCC_GPIOI_CLK_ENABLE();
+ /**LTDC GPIO Configuration
+ PK5 ------> LTDC_B6
+ PK4 ------> LTDC_B5
+ PJ15 ------> LTDC_B3
+ PK6 ------> LTDC_B7
+ PK3 ------> LTDC_B4
+ PK7 ------> LTDC_DE
+ PJ14 ------> LTDC_B2
+ PJ12 ------> LTDC_B0
+ PJ13 ------> LTDC_B1
+ PI12 ------> LTDC_HSYNC
+ PI13 ------> LTDC_VSYNC
+ PI14 ------> LTDC_CLK
+ PK2 ------> LTDC_G7
+ PK0 ------> LTDC_G5
+ PK1 ------> LTDC_G6
+ PJ11 ------> LTDC_G4
+ PJ10 ------> LTDC_G3
+ PJ9 ------> LTDC_G2
+ PJ0 ------> LTDC_R1
+ PJ8 ------> LTDC_G1
+ PJ7 ------> LTDC_G0
+ PJ6 ------> LTDC_R7
+ PI15 ------> LTDC_R0
+ PJ1 ------> LTDC_R2
+ PJ5 ------> LTDC_R6
+ PJ2 ------> LTDC_R3
+ PJ3 ------> LTDC_R4
+ PJ4 ------> LTDC_R5
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_6|GPIO_PIN_3
+ |GPIO_PIN_7|GPIO_PIN_2|GPIO_PIN_0|GPIO_PIN_1;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
+ HAL_GPIO_Init(GPIOK, &GPIO_InitStruct);
+
+ GPIO_InitStruct.Pin = GPIO_PIN_15|GPIO_PIN_14|GPIO_PIN_12|GPIO_PIN_13
+ |GPIO_PIN_11|GPIO_PIN_10|GPIO_PIN_9|GPIO_PIN_0
+ |GPIO_PIN_8|GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_1
+ |GPIO_PIN_5|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
+ HAL_GPIO_Init(GPIOJ, &GPIO_InitStruct);
+
+ GPIO_InitStruct.Pin = GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
+ HAL_GPIO_Init(GPIOI, &GPIO_InitStruct);
+
+ /* USER CODE BEGIN LTDC_MspInit 1 */
+
+ /* USER CODE END LTDC_MspInit 1 */
+ }
+
+}
+
+/**
+* @brief LTDC MSP De-Initialization
+* This function freeze the hardware resources used in this example
+* @param hltdc: LTDC handle pointer
+* @retval None
+*/
+void HAL_LTDC_MspDeInit(LTDC_HandleTypeDef* hltdc)
+{
+ if(hltdc->Instance==LTDC)
+ {
+ /* USER CODE BEGIN LTDC_MspDeInit 0 */
+
+ /* USER CODE END LTDC_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_LTDC_CLK_DISABLE();
+
+ /**LTDC GPIO Configuration
+ PK5 ------> LTDC_B6
+ PK4 ------> LTDC_B5
+ PJ15 ------> LTDC_B3
+ PK6 ------> LTDC_B7
+ PK3 ------> LTDC_B4
+ PK7 ------> LTDC_DE
+ PJ14 ------> LTDC_B2
+ PJ12 ------> LTDC_B0
+ PJ13 ------> LTDC_B1
+ PI12 ------> LTDC_HSYNC
+ PI13 ------> LTDC_VSYNC
+ PI14 ------> LTDC_CLK
+ PK2 ------> LTDC_G7
+ PK0 ------> LTDC_G5
+ PK1 ------> LTDC_G6
+ PJ11 ------> LTDC_G4
+ PJ10 ------> LTDC_G3
+ PJ9 ------> LTDC_G2
+ PJ0 ------> LTDC_R1
+ PJ8 ------> LTDC_G1
+ PJ7 ------> LTDC_G0
+ PJ6 ------> LTDC_R7
+ PI15 ------> LTDC_R0
+ PJ1 ------> LTDC_R2
+ PJ5 ------> LTDC_R6
+ PJ2 ------> LTDC_R3
+ PJ3 ------> LTDC_R4
+ PJ4 ------> LTDC_R5
+ */
+ HAL_GPIO_DeInit(GPIOK, GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_6|GPIO_PIN_3
+ |GPIO_PIN_7|GPIO_PIN_2|GPIO_PIN_0|GPIO_PIN_1);
+
+ HAL_GPIO_DeInit(GPIOJ, GPIO_PIN_15|GPIO_PIN_14|GPIO_PIN_12|GPIO_PIN_13
+ |GPIO_PIN_11|GPIO_PIN_10|GPIO_PIN_9|GPIO_PIN_0
+ |GPIO_PIN_8|GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_1
+ |GPIO_PIN_5|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4);
+
+ HAL_GPIO_DeInit(GPIOI, GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15);
+
+ /* USER CODE BEGIN LTDC_MspDeInit 1 */
+
+ /* USER CODE END LTDC_MspDeInit 1 */
+ }
+
+}
+
+/**
+* @brief SD MSP Initialization
+* This function configures the hardware resources used in this example
+* @param hsd: SD handle pointer
+* @retval None
+*/
+void HAL_SD_MspInit(SD_HandleTypeDef* hsd)
+{
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+ if(hsd->Instance==SDMMC1)
+ {
+ /* USER CODE BEGIN SDMMC1_MspInit 0 */
+
+ /* USER CODE END SDMMC1_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_SDMMC1_CLK_ENABLE();
+
+ __HAL_RCC_GPIOC_CLK_ENABLE();
+ __HAL_RCC_GPIOD_CLK_ENABLE();
+ /**SDMMC1 GPIO Configuration
+ PC10 ------> SDMMC1_D2
+ PC11 ------> SDMMC1_D3
+ PC12 ------> SDMMC1_CK
+ PD2 ------> SDMMC1_CMD
+ PC8 ------> SDMMC1_D0
+ PC9 ------> SDMMC1_D1
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_8
+ |GPIO_PIN_9;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF12_SDIO1;
+ HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
+
+ GPIO_InitStruct.Pin = GPIO_PIN_2;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF12_SDIO1;
+ HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
+
+ /* SDMMC1 interrupt Init */
+ HAL_NVIC_SetPriority(SDMMC1_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(SDMMC1_IRQn);
+ /* USER CODE BEGIN SDMMC1_MspInit 1 */
+
+ /* USER CODE END SDMMC1_MspInit 1 */
+ }
+ else if(hsd->Instance==SDMMC2)
+ {
+ /* USER CODE BEGIN SDMMC2_MspInit 0 */
+
+ /* USER CODE END SDMMC2_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_SDMMC2_CLK_ENABLE();
+
+ __HAL_RCC_GPIOB_CLK_ENABLE();
+ __HAL_RCC_GPIOD_CLK_ENABLE();
+ /**SDMMC2 GPIO Configuration
+ PB4 (NJTRST) ------> SDMMC2_D3
+ PD6 ------> SDMMC2_CK
+ PB3 (JTDO/TRACESWO) ------> SDMMC2_D2
+ PD7 ------> SDMMC2_CMD
+ PB15 ------> SDMMC2_D1
+ PB14 ------> SDMMC2_D0
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_3|GPIO_PIN_15|GPIO_PIN_14;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF9_SDIO2;
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+
+ GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF11_SDIO2;
+ HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
+
+ /* SDMMC2 interrupt Init */
+ HAL_NVIC_SetPriority(SDMMC2_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(SDMMC2_IRQn);
+ /* USER CODE BEGIN SDMMC2_MspInit 1 */
+
+ /* USER CODE END SDMMC2_MspInit 1 */
+ }
+
+}
+
+/**
+* @brief SD MSP De-Initialization
+* This function freeze the hardware resources used in this example
+* @param hsd: SD handle pointer
+* @retval None
+*/
+void HAL_SD_MspDeInit(SD_HandleTypeDef* hsd)
+{
+ if(hsd->Instance==SDMMC1)
+ {
+ /* USER CODE BEGIN SDMMC1_MspDeInit 0 */
+
+ /* USER CODE END SDMMC1_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_SDMMC1_CLK_DISABLE();
+
+ /**SDMMC1 GPIO Configuration
+ PC10 ------> SDMMC1_D2
+ PC11 ------> SDMMC1_D3
+ PC12 ------> SDMMC1_CK
+ PD2 ------> SDMMC1_CMD
+ PC8 ------> SDMMC1_D0
+ PC9 ------> SDMMC1_D1
+ */
+ HAL_GPIO_DeInit(GPIOC, GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_8
+ |GPIO_PIN_9);
+
+ HAL_GPIO_DeInit(GPIOD, GPIO_PIN_2);
+
+ /* SDMMC1 interrupt DeInit */
+ HAL_NVIC_DisableIRQ(SDMMC1_IRQn);
+ /* USER CODE BEGIN SDMMC1_MspDeInit 1 */
+
+ /* USER CODE END SDMMC1_MspDeInit 1 */
+ }
+ else if(hsd->Instance==SDMMC2)
+ {
+ /* USER CODE BEGIN SDMMC2_MspDeInit 0 */
+
+ /* USER CODE END SDMMC2_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_SDMMC2_CLK_DISABLE();
+
+ /**SDMMC2 GPIO Configuration
+ PB4 (NJTRST) ------> SDMMC2_D3
+ PD6 ------> SDMMC2_CK
+ PB3 (JTDO/TRACESWO) ------> SDMMC2_D2
+ PD7 ------> SDMMC2_CMD
+ PB15 ------> SDMMC2_D1
+ PB14 ------> SDMMC2_D0
+ */
+ HAL_GPIO_DeInit(GPIOB, GPIO_PIN_4|GPIO_PIN_3|GPIO_PIN_15|GPIO_PIN_14);
+
+ HAL_GPIO_DeInit(GPIOD, GPIO_PIN_6|GPIO_PIN_7);
+
+ /* SDMMC2 interrupt DeInit */
+ HAL_NVIC_DisableIRQ(SDMMC2_IRQn);
+ /* USER CODE BEGIN SDMMC2_MspDeInit 1 */
+
+ /* USER CODE END SDMMC2_MspDeInit 1 */
+ }
+
+}
+
+/**
+* @brief SPI MSP Initialization
+* This function configures the hardware resources used in this example
+* @param hspi: SPI handle pointer
+* @retval None
+*/
+void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
+{
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+ if(hspi->Instance==SPI1)
+ {
+ /* USER CODE BEGIN SPI1_MspInit 0 */
+
+ /* USER CODE END SPI1_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_SPI1_CLK_ENABLE();
+
+ __HAL_RCC_GPIOB_CLK_ENABLE();
+ __HAL_RCC_GPIOG_CLK_ENABLE();
+ __HAL_RCC_GPIOA_CLK_ENABLE();
+ /**SPI1 GPIO Configuration
+ PB5 ------> SPI1_MOSI
+ PG9 ------> SPI1_MISO
+ PA5 ------> SPI1_SCK
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_5;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF5_SPI1;
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+
+ GPIO_InitStruct.Pin = GPIO_PIN_9;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF5_SPI1;
+ HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
+
+ GPIO_InitStruct.Pin = GPIO_PIN_5;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF5_SPI1;
+ HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+
+ /* USER CODE BEGIN SPI1_MspInit 1 */
+
+ /* USER CODE END SPI1_MspInit 1 */
+ }
+ else if(hspi->Instance==SPI2)
+ {
+ /* USER CODE BEGIN SPI2_MspInit 0 */
+
+ /* USER CODE END SPI2_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_SPI2_CLK_ENABLE();
+
+ __HAL_RCC_GPIOI_CLK_ENABLE();
+ /**SPI2 GPIO Configuration
+ PI1 ------> SPI2_SCK
+ PI2 ------> SPI2_MISO
+ PI3 ------> SPI2_MOSI
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; // GPIO_SPEED_FREQ_LOW;
+ GPIO_InitStruct.Alternate = GPIO_AF5_SPI2;
+ HAL_GPIO_Init(GPIOI, &GPIO_InitStruct);
+
+ /* SPI2 interrupt Init */
+ HAL_NVIC_SetPriority(SPI2_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(SPI2_IRQn);
+ /* USER CODE BEGIN SPI2_MspInit 1 */
+
+ /* USER CODE END SPI2_MspInit 1 */
+ }
+ else if(hspi->Instance==SPI4)
+ {
+ /* USER CODE BEGIN SPI4_MspInit 0 */
+
+ /* USER CODE END SPI4_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_SPI4_CLK_ENABLE();
+
+ __HAL_RCC_GPIOE_CLK_ENABLE();
+ /**SPI4 GPIO Configuration
+ PE2 ------> SPI4_SCK
+ PE5 ------> SPI4_MISO
+ PE6 ------> SPI4_MOSI
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_5|GPIO_PIN_6;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF5_SPI4;
+ HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
+
+ /* USER CODE BEGIN SPI4_MspInit 1 */
+
+ /* USER CODE END SPI4_MspInit 1 */
+ }
+
+}
+
+/**
+* @brief SPI MSP De-Initialization
+* This function freeze the hardware resources used in this example
+* @param hspi: SPI handle pointer
+* @retval None
+*/
+void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)
+{
+ if(hspi->Instance==SPI1)
+ {
+ /* USER CODE BEGIN SPI1_MspDeInit 0 */
+
+ /* USER CODE END SPI1_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_SPI1_CLK_DISABLE();
+
+ /**SPI1 GPIO Configuration
+ PB5 ------> SPI1_MOSI
+ PG9 ------> SPI1_MISO
+ PA5 ------> SPI1_SCK
+ */
+ HAL_GPIO_DeInit(GPIOB, GPIO_PIN_5);
+
+ HAL_GPIO_DeInit(GPIOG, GPIO_PIN_9);
+
+ HAL_GPIO_DeInit(GPIOA, GPIO_PIN_5);
+
+ /* USER CODE BEGIN SPI1_MspDeInit 1 */
+
+ /* USER CODE END SPI1_MspDeInit 1 */
+ }
+ else if(hspi->Instance==SPI2)
+ {
+ /* USER CODE BEGIN SPI2_MspDeInit 0 */
+
+ /* USER CODE END SPI2_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_SPI2_CLK_DISABLE();
+
+ /**SPI2 GPIO Configuration
+ PI1 ------> SPI2_SCK
+ PI2 ------> SPI2_MISO
+ PI3 ------> SPI2_MOSI
+ */
+ HAL_GPIO_DeInit(GPIOI, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3);
+
+ /* SPI2 interrupt DeInit */
+ HAL_NVIC_DisableIRQ(SPI2_IRQn);
+ /* USER CODE BEGIN SPI2_MspDeInit 1 */
+
+ /* USER CODE END SPI2_MspDeInit 1 */
+ }
+ else if(hspi->Instance==SPI4)
+ {
+ /* USER CODE BEGIN SPI4_MspDeInit 0 */
+
+ /* USER CODE END SPI4_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_SPI4_CLK_DISABLE();
+
+ /**SPI4 GPIO Configuration
+ PE2 ------> SPI4_SCK
+ PE5 ------> SPI4_MISO
+ PE6 ------> SPI4_MOSI
+ */
+ HAL_GPIO_DeInit(GPIOE, GPIO_PIN_2|GPIO_PIN_5|GPIO_PIN_6);
+
+ /* USER CODE BEGIN SPI4_MspDeInit 1 */
+
+ /* USER CODE END SPI4_MspDeInit 1 */
+ }
+
+}
+
+/**
+* @brief TIM_PWM MSP Initialization
+* This function configures the hardware resources used in this example
+* @param htim_pwm: TIM_PWM handle pointer
+* @retval None
+*/
+void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef* htim_pwm)
+{
+ if(htim_pwm->Instance==TIM5)
+ {
+ /* USER CODE BEGIN TIM5_MspInit 0 */
+
+ /* USER CODE END TIM5_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_TIM5_CLK_ENABLE();
+ /* USER CODE BEGIN TIM5_MspInit 1 */
+
+ /* USER CODE END TIM5_MspInit 1 */
+ }
+
+}
+
+void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
+{
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+ if(htim->Instance==TIM5)
+ {
+ /* USER CODE BEGIN TIM5_MspPostInit 0 */
+
+ /* USER CODE END TIM5_MspPostInit 0 */
+
+ __HAL_RCC_GPIOH_CLK_ENABLE();
+ /**TIM5 GPIO Configuration
+ PH10 ------> TIM5_CH1
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_10;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ GPIO_InitStruct.Alternate = GPIO_AF2_TIM5;
+ HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);
+
+ /* USER CODE BEGIN TIM5_MspPostInit 1 */
+
+ /* USER CODE END TIM5_MspPostInit 1 */
+ }
+
+}
+/**
+* @brief TIM_PWM MSP De-Initialization
+* This function freeze the hardware resources used in this example
+* @param htim_pwm: TIM_PWM handle pointer
+* @retval None
+*/
+void HAL_TIM_PWM_MspDeInit(TIM_HandleTypeDef* htim_pwm)
+{
+ if(htim_pwm->Instance==TIM5)
+ {
+ /* USER CODE BEGIN TIM5_MspDeInit 0 */
+
+ /* USER CODE END TIM5_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_TIM5_CLK_DISABLE();
+ /* USER CODE BEGIN TIM5_MspDeInit 1 */
+
+ /* USER CODE END TIM5_MspDeInit 1 */
+ }
+
+}
+
+/**
+* @brief UART MSP Initialization
+* This function configures the hardware resources used in this example
+* @param huart: UART handle pointer
+* @retval None
+*/
+void HAL_UART_MspInit(UART_HandleTypeDef* huart)
+{
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+ if(huart->Instance==UART4)
+ {
+ /* USER CODE BEGIN UART4_MspInit 0 */
+
+ /* USER CODE END UART4_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_UART4_CLK_ENABLE();
+
+ __HAL_RCC_GPIOI_CLK_ENABLE();
+ __HAL_RCC_GPIOA_CLK_ENABLE();
+ /**UART4 GPIO Configuration
+ PI9 ------> UART4_RX
+ PA0 ------> UART4_TX
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_9;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ GPIO_InitStruct.Alternate = GPIO_AF8_UART4;
+ HAL_GPIO_Init(GPIOI, &GPIO_InitStruct);
+
+ GPIO_InitStruct.Pin = GPIO_PIN_0;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ GPIO_InitStruct.Alternate = GPIO_AF8_UART4;
+ HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+
+ /* USER CODE BEGIN UART4_MspInit 1 */
+
+ /* USER CODE END UART4_MspInit 1 */
+ }
+ else if(huart->Instance==USART3)
+ {
+ /* USER CODE BEGIN USART3_MspInit 0 */
+
+ /* USER CODE END USART3_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_USART3_CLK_ENABLE();
+
+ __HAL_RCC_GPIOB_CLK_ENABLE();
+ __HAL_RCC_GPIOD_CLK_ENABLE();
+ /**USART3 GPIO Configuration
+ PB10 ------> USART3_TX
+ PB11 ------> USART3_RX
+ PD11 ------> USART3_CTS
+ PD12 ------> USART3_RTS
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ GPIO_InitStruct.Alternate = GPIO_AF7_USART3;
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+
+ GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_12;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ GPIO_InitStruct.Alternate = GPIO_AF7_USART3;
+ HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
+
+ /* USER CODE BEGIN USART3_MspInit 1 */
+
+ /* USER CODE END USART3_MspInit 1 */
+ }
+
+}
+
+/**
+* @brief UART MSP De-Initialization
+* This function freeze the hardware resources used in this example
+* @param huart: UART handle pointer
+* @retval None
+*/
+void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
+{
+ if(huart->Instance==UART4)
+ {
+ /* USER CODE BEGIN UART4_MspDeInit 0 */
+
+ /* USER CODE END UART4_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_UART4_CLK_DISABLE();
+
+ /**UART4 GPIO Configuration
+ PI9 ------> UART4_RX
+ PA0 ------> UART4_TX
+ */
+ HAL_GPIO_DeInit(GPIOI, GPIO_PIN_9);
+
+ HAL_GPIO_DeInit(GPIOA, GPIO_PIN_0);
+
+ /* USER CODE BEGIN UART4_MspDeInit 1 */
+
+ /* USER CODE END UART4_MspDeInit 1 */
+ }
+ else if(huart->Instance==USART3)
+ {
+ /* USER CODE BEGIN USART3_MspDeInit 0 */
+
+ /* USER CODE END USART3_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_USART3_CLK_DISABLE();
+
+ /**USART3 GPIO Configuration
+ PB10 ------> USART3_TX
+ PB11 ------> USART3_RX
+ PD11 ------> USART3_CTS
+ PD12 ------> USART3_RTS
+ */
+ HAL_GPIO_DeInit(GPIOB, GPIO_PIN_10|GPIO_PIN_11);
+
+ HAL_GPIO_DeInit(GPIOD, GPIO_PIN_11|GPIO_PIN_12);
+
+ /* USER CODE BEGIN USART3_MspDeInit 1 */
+
+ /* USER CODE END USART3_MspDeInit 1 */
+ }
+
+}
+
+/**
+* @brief PCD MSP Initialization
+* This function configures the hardware resources used in this example
+* @param hpcd: PCD handle pointer
+* @retval None
+*/
+void HAL_PCD_MspInit(PCD_HandleTypeDef* hpcd)
+{
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+ if(hpcd->Instance==USB_OTG_FS)
+ {
+ /* USER CODE BEGIN USB_OTG_FS_MspInit 0 */
+
+ /* USER CODE END USB_OTG_FS_MspInit 0 */
+
+ __HAL_RCC_GPIOA_CLK_ENABLE();
+ /**USB_OTG_FS GPIO Configuration
+ PA12 ------> USB_OTG_FS_DP
+ PA11 ------> USB_OTG_FS_DM
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_12|GPIO_PIN_11;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF10_OTG1_FS;
+ HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+
+ /* Peripheral clock enable */
+ __HAL_RCC_USB_OTG_FS_CLK_ENABLE();
+ /* USB_OTG_FS interrupt Init */
+ HAL_NVIC_SetPriority(OTG_FS_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(OTG_FS_IRQn);
+ /* USER CODE BEGIN USB_OTG_FS_MspInit 1 */
+
+ /* USER CODE END USB_OTG_FS_MspInit 1 */
+ }
+
+}
+
+/**
+* @brief PCD MSP De-Initialization
+* This function freeze the hardware resources used in this example
+* @param hpcd: PCD handle pointer
+* @retval None
+*/
+void HAL_PCD_MspDeInit(PCD_HandleTypeDef* hpcd)
+{
+ if(hpcd->Instance==USB_OTG_FS)
+ {
+ /* USER CODE BEGIN USB_OTG_FS_MspDeInit 0 */
+
+ /* USER CODE END USB_OTG_FS_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_USB_OTG_FS_CLK_DISABLE();
+
+ /**USB_OTG_FS GPIO Configuration
+ PA12 ------> USB_OTG_FS_DP
+ PA11 ------> USB_OTG_FS_DM
+ */
+ HAL_GPIO_DeInit(GPIOA, GPIO_PIN_12|GPIO_PIN_11);
+
+ /* USB_OTG_FS interrupt DeInit */
+ HAL_NVIC_DisableIRQ(OTG_FS_IRQn);
+ /* USER CODE BEGIN USB_OTG_FS_MspDeInit 1 */
+
+ /* USER CODE END USB_OTG_FS_MspDeInit 1 */
+ }
+
+}
+
+static uint32_t FMC_Initialized = 0;
+
+static void HAL_FMC_MspInit(void){
+ /* USER CODE BEGIN FMC_MspInit 0 */
+
+ /* USER CODE END FMC_MspInit 0 */
+ GPIO_InitTypeDef GPIO_InitStruct ={0};
+ if (FMC_Initialized) {
+ return;
+ }
+ FMC_Initialized = 1;
+
+ /* Peripheral clock enable */
+ __HAL_RCC_FMC_CLK_ENABLE();
+
+ /** FMC GPIO Configuration
+ PE1 ------> FMC_NBL1
+ PE0 ------> FMC_NBL0
+ PG15 ------> FMC_SDNCAS
+ PD0 ------> FMC_D2
+ PD1 ------> FMC_D3
+ PG8 ------> FMC_SDCLK
+ PF2 ------> FMC_A2
+ PF1 ------> FMC_A1
+ PF0 ------> FMC_A0
+ PG5 ------> FMC_BA1
+ PF3 ------> FMC_A3
+ PG4 ------> FMC_BA0
+ PG2 ------> FMC_A12
+ PF5 ------> FMC_A5
+ PF4 ------> FMC_A4
+ PC2 ------> FMC_SDNE0
+ PC3 ------> FMC_SDCKE0
+ PE10 ------> FMC_D7
+ PH5 ------> FMC_SDNWE
+ PF13 ------> FMC_A7
+ PF14 ------> FMC_A8
+ PE9 ------> FMC_D6
+ PE11 ------> FMC_D8
+ PD15 ------> FMC_D1
+ PD14 ------> FMC_D0
+ PF12 ------> FMC_A6
+ PF15 ------> FMC_A9
+ PE12 ------> FMC_D9
+ PE15 ------> FMC_D12
+ PF11 ------> FMC_SDNRAS
+ PG0 ------> FMC_A10
+ PE8 ------> FMC_D5
+ PE13 ------> FMC_D10
+ PD10 ------> FMC_D15
+ PD9 ------> FMC_D14
+ PG1 ------> FMC_A11
+ PE7 ------> FMC_D4
+ PE14 ------> FMC_D11
+ PD8 ------> FMC_D13
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_0|GPIO_PIN_10|GPIO_PIN_9
+ |GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_15|GPIO_PIN_8
+ |GPIO_PIN_13|GPIO_PIN_7|GPIO_PIN_14;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
+ HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
+
+ GPIO_InitStruct.Pin = GPIO_PIN_15|GPIO_PIN_8|GPIO_PIN_5|GPIO_PIN_4
+ |GPIO_PIN_2|GPIO_PIN_0|GPIO_PIN_1;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
+ HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
+
+ GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_15|GPIO_PIN_14
+ |GPIO_PIN_10|GPIO_PIN_9|GPIO_PIN_8;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
+ HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
+
+ GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_0|GPIO_PIN_3
+ |GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_13|GPIO_PIN_14
+ |GPIO_PIN_12|GPIO_PIN_15|GPIO_PIN_11;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
+ HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
+
+ GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
+ HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
+
+ GPIO_InitStruct.Pin = GPIO_PIN_5;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
+ HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);
+
+ /* USER CODE BEGIN FMC_MspInit 1 */
+
+ /* USER CODE END FMC_MspInit 1 */
+}
+
+void HAL_SDRAM_MspInit(SDRAM_HandleTypeDef* hsdram){
+ /* USER CODE BEGIN SDRAM_MspInit 0 */
+
+ /* USER CODE END SDRAM_MspInit 0 */
+ HAL_FMC_MspInit();
+ /* USER CODE BEGIN SDRAM_MspInit 1 */
+
+ /* USER CODE END SDRAM_MspInit 1 */
+}
+
+static uint32_t FMC_DeInitialized = 0;
+
+static void HAL_FMC_MspDeInit(void){
+ /* USER CODE BEGIN FMC_MspDeInit 0 */
+
+ /* USER CODE END FMC_MspDeInit 0 */
+ if (FMC_DeInitialized) {
+ return;
+ }
+ FMC_DeInitialized = 1;
+ /* Peripheral clock enable */
+ __HAL_RCC_FMC_CLK_DISABLE();
+
+ /** FMC GPIO Configuration
+ PE1 ------> FMC_NBL1
+ PE0 ------> FMC_NBL0
+ PG15 ------> FMC_SDNCAS
+ PD0 ------> FMC_D2
+ PD1 ------> FMC_D3
+ PG8 ------> FMC_SDCLK
+ PF2 ------> FMC_A2
+ PF1 ------> FMC_A1
+ PF0 ------> FMC_A0
+ PG5 ------> FMC_BA1
+ PF3 ------> FMC_A3
+ PG4 ------> FMC_BA0
+ PG2 ------> FMC_A12
+ PF5 ------> FMC_A5
+ PF4 ------> FMC_A4
+ PC2 ------> FMC_SDNE0
+ PC3 ------> FMC_SDCKE0
+ PE10 ------> FMC_D7
+ PH5 ------> FMC_SDNWE
+ PF13 ------> FMC_A7
+ PF14 ------> FMC_A8
+ PE9 ------> FMC_D6
+ PE11 ------> FMC_D8
+ PD15 ------> FMC_D1
+ PD14 ------> FMC_D0
+ PF12 ------> FMC_A6
+ PF15 ------> FMC_A9
+ PE12 ------> FMC_D9
+ PE15 ------> FMC_D12
+ PF11 ------> FMC_SDNRAS
+ PG0 ------> FMC_A10
+ PE8 ------> FMC_D5
+ PE13 ------> FMC_D10
+ PD10 ------> FMC_D15
+ PD9 ------> FMC_D14
+ PG1 ------> FMC_A11
+ PE7 ------> FMC_D4
+ PE14 ------> FMC_D11
+ PD8 ------> FMC_D13
+ */
+ HAL_GPIO_DeInit(GPIOE, GPIO_PIN_1|GPIO_PIN_0|GPIO_PIN_10|GPIO_PIN_9
+ |GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_15|GPIO_PIN_8
+ |GPIO_PIN_13|GPIO_PIN_7|GPIO_PIN_14);
+
+ HAL_GPIO_DeInit(GPIOG, GPIO_PIN_15|GPIO_PIN_8|GPIO_PIN_5|GPIO_PIN_4
+ |GPIO_PIN_2|GPIO_PIN_0|GPIO_PIN_1);
+
+ HAL_GPIO_DeInit(GPIOD, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_15|GPIO_PIN_14
+ |GPIO_PIN_10|GPIO_PIN_9|GPIO_PIN_8);
+
+ HAL_GPIO_DeInit(GPIOF, GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_0|GPIO_PIN_3
+ |GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_13|GPIO_PIN_14
+ |GPIO_PIN_12|GPIO_PIN_15|GPIO_PIN_11);
+
+ HAL_GPIO_DeInit(GPIOC, GPIO_PIN_2|GPIO_PIN_3);
+
+ HAL_GPIO_DeInit(GPIOH, GPIO_PIN_5);
+
+ /* USER CODE BEGIN FMC_MspDeInit 1 */
+
+ /* USER CODE END FMC_MspDeInit 1 */
+}
+
+void HAL_SDRAM_MspDeInit(SDRAM_HandleTypeDef* hsdram){
+ /* USER CODE BEGIN SDRAM_MspDeInit 0 */
+
+ /* USER CODE END SDRAM_MspDeInit 0 */
+ HAL_FMC_MspDeInit();
+ /* USER CODE BEGIN SDRAM_MspDeInit 1 */
+
+ /* USER CODE END SDRAM_MspDeInit 1 */
+}
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/bsp/stm32/stm32h750-artpi/board/CubeMX_Config/CubeMX_Config.ioc b/bsp/stm32/stm32h750-artpi/board/CubeMX_Config/CubeMX_Config.ioc
new file mode 100644
index 0000000000..f8fff6f0da
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/board/CubeMX_Config/CubeMX_Config.ioc
@@ -0,0 +1,732 @@
+#MicroXplorer Configuration settings - do not modify
+ETH.IPParameters=MediaInterface
+ETH.MediaInterface=HAL_ETH_RMII_MODE
+File.Version=6
+GPIO.groupedBy=
+KeepUserPlacement=false
+Mcu.Family=STM32H7
+Mcu.IP0=CORTEX_M7
+Mcu.IP1=ETH
+Mcu.IP10=SPI4
+Mcu.IP11=SYS
+Mcu.IP12=UART4
+Mcu.IP13=USART3
+Mcu.IP14=USB_OTG_FS
+Mcu.IP2=FMC
+Mcu.IP3=IWDG1
+Mcu.IP4=LTDC
+Mcu.IP5=NVIC
+Mcu.IP6=RCC
+Mcu.IP7=SDMMC1
+Mcu.IP8=SDMMC2
+Mcu.IP9=SPI1
+Mcu.IPNb=15
+Mcu.Name=STM32H750XBHx
+Mcu.Package=TFBGA240
+Mcu.Pin0=PB5
+Mcu.Pin1=PK5
+Mcu.Pin10=PC11
+Mcu.Pin100=PE7
+Mcu.Pin101=PE14
+Mcu.Pin102=PB14
+Mcu.Pin103=PD8
+Mcu.Pin104=VP_IWDG1_VS_IWDG
+Mcu.Pin105=VP_SYS_VS_Systick
+Mcu.Pin11=PE2
+Mcu.Pin12=PE0
+Mcu.Pin13=PB3 (JTDO/TRACESWO)
+Mcu.Pin14=PK6
+Mcu.Pin15=PK3
+Mcu.Pin16=PD7
+Mcu.Pin17=PC12
+Mcu.Pin18=PE5
+Mcu.Pin19=PG15
+Mcu.Pin2=PG9
+Mcu.Pin20=PK7
+Mcu.Pin21=PG14
+Mcu.Pin22=PG13
+Mcu.Pin23=PJ14
+Mcu.Pin24=PJ12
+Mcu.Pin25=PD2
+Mcu.Pin26=PD0
+Mcu.Pin27=PI9
+Mcu.Pin28=PE6
+Mcu.Pin29=PJ13
+Mcu.Pin3=PC10
+Mcu.Pin30=PD1
+Mcu.Pin31=PC8
+Mcu.Pin32=PC9
+Mcu.Pin33=PA12
+Mcu.Pin34=PA11
+Mcu.Pin35=PG8
+Mcu.Pin36=PF2
+Mcu.Pin37=PF1
+Mcu.Pin38=PF0
+Mcu.Pin39=PG5
+Mcu.Pin4=PE1
+Mcu.Pin40=PI12
+Mcu.Pin41=PI13
+Mcu.Pin42=PI14
+Mcu.Pin43=PF3
+Mcu.Pin44=PG4
+Mcu.Pin45=PG2
+Mcu.Pin46=PK2
+Mcu.Pin47=PH1-OSC_OUT (PH1)
+Mcu.Pin48=PH0-OSC_IN (PH0)
+Mcu.Pin49=PF5
+Mcu.Pin5=PB4 (NJTRST)
+Mcu.Pin50=PF4
+Mcu.Pin51=PK0
+Mcu.Pin52=PK1
+Mcu.Pin53=PJ11
+Mcu.Pin54=PJ10
+Mcu.Pin55=PC1
+Mcu.Pin56=PC2
+Mcu.Pin57=PC3
+Mcu.Pin58=PJ9
+Mcu.Pin59=PA2
+Mcu.Pin6=PK4
+Mcu.Pin60=PA1
+Mcu.Pin61=PA0
+Mcu.Pin62=PJ0
+Mcu.Pin63=PE10
+Mcu.Pin64=PJ8
+Mcu.Pin65=PJ7
+Mcu.Pin66=PJ6
+Mcu.Pin67=PH5
+Mcu.Pin68=PI15
+Mcu.Pin69=PJ1
+Mcu.Pin7=PG11
+Mcu.Pin70=PF13
+Mcu.Pin71=PF14
+Mcu.Pin72=PE9
+Mcu.Pin73=PE11
+Mcu.Pin74=PB10
+Mcu.Pin75=PB11
+Mcu.Pin76=PD15
+Mcu.Pin77=PD14
+Mcu.Pin78=PA7
+Mcu.Pin79=PF12
+Mcu.Pin8=PJ15
+Mcu.Pin80=PF15
+Mcu.Pin81=PE12
+Mcu.Pin82=PE15
+Mcu.Pin83=PJ5
+Mcu.Pin84=PD11
+Mcu.Pin85=PD12
+Mcu.Pin86=PA5
+Mcu.Pin87=PC4
+Mcu.Pin88=PJ2
+Mcu.Pin89=PF11
+Mcu.Pin9=PD6
+Mcu.Pin90=PG0
+Mcu.Pin91=PE8
+Mcu.Pin92=PE13
+Mcu.Pin93=PB15
+Mcu.Pin94=PD10
+Mcu.Pin95=PD9
+Mcu.Pin96=PC5
+Mcu.Pin97=PJ3
+Mcu.Pin98=PJ4
+Mcu.Pin99=PG1
+Mcu.PinsNb=106
+Mcu.ThirdPartyNb=0
+Mcu.UserConstants=
+Mcu.UserName=STM32H750XBHx
+MxCube.Version=6.2.1
+MxDb.Version=DB.6.0.21
+NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+NVIC.ETH_IRQn=true\:0\:0\:false\:false\:true\:true\:true
+NVIC.ForceEnableDMAVector=true
+NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+NVIC.OTG_FS_IRQn=true\:0\:0\:false\:false\:true\:true\:true
+NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
+NVIC.SDMMC1_IRQn=true\:0\:0\:false\:false\:true\:true\:true
+NVIC.SDMMC2_IRQn=true\:0\:0\:false\:false\:true\:true\:true
+NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true
+NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+PA0.Locked=true
+PA0.Mode=Asynchronous
+PA0.Signal=UART4_TX
+PA1.GPIOParameters=GPIO_Speed
+PA1.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PA1.Mode=RMII
+PA1.Signal=ETH_REF_CLK
+PA11.GPIOParameters=GPIO_Speed
+PA11.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PA11.Mode=Device_Only
+PA11.Signal=USB_OTG_FS_DM
+PA12.GPIOParameters=GPIO_Speed
+PA12.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PA12.Mode=Device_Only
+PA12.Signal=USB_OTG_FS_DP
+PA2.GPIOParameters=GPIO_Speed
+PA2.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PA2.Mode=RMII
+PA2.Signal=ETH_MDIO
+PA5.GPIOParameters=GPIO_Speed
+PA5.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
+PA5.Mode=Full_Duplex_Master
+PA5.Signal=SPI1_SCK
+PA7.GPIOParameters=GPIO_Speed
+PA7.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PA7.Mode=RMII
+PA7.Signal=ETH_CRS_DV
+PB10.Mode=Asynchronous
+PB10.Signal=USART3_TX
+PB11.Mode=Asynchronous
+PB11.Signal=USART3_RX
+PB14.Mode=SD_4_bits_Wide_bus
+PB14.Signal=SDMMC2_D0
+PB15.Mode=SD_4_bits_Wide_bus
+PB15.Signal=SDMMC2_D1
+PB3\ (JTDO/TRACESWO).Mode=SD_4_bits_Wide_bus
+PB3\ (JTDO/TRACESWO).Signal=SDMMC2_D2
+PB4\ (NJTRST).Mode=SD_4_bits_Wide_bus
+PB4\ (NJTRST).Signal=SDMMC2_D3
+PB5.GPIOParameters=GPIO_Speed
+PB5.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
+PB5.Mode=Full_Duplex_Master
+PB5.Signal=SPI1_MOSI
+PC1.GPIOParameters=GPIO_Speed
+PC1.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PC1.Mode=RMII
+PC1.Signal=ETH_MDC
+PC10.Mode=SD_4_bits_Wide_bus
+PC10.Signal=SDMMC1_D2
+PC11.Mode=SD_4_bits_Wide_bus
+PC11.Signal=SDMMC1_D3
+PC12.Mode=SD_4_bits_Wide_bus
+PC12.Signal=SDMMC1_CK
+PC2.GPIOParameters=GPIO_Speed_High_Default
+PC2.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PC2.Mode=SdramChipSelect1_1
+PC2.Signal=FMC_SDNE0
+PC3.GPIOParameters=GPIO_Speed_High_Default
+PC3.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PC3.Mode=SdramChipSelect1_1
+PC3.Signal=FMC_SDCKE0
+PC4.GPIOParameters=GPIO_Speed
+PC4.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PC4.Mode=RMII
+PC4.Signal=ETH_RXD0
+PC5.GPIOParameters=GPIO_Speed
+PC5.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PC5.Mode=RMII
+PC5.Signal=ETH_RXD1
+PC8.Mode=SD_4_bits_Wide_bus
+PC8.Signal=SDMMC1_D0
+PC9.Mode=SD_4_bits_Wide_bus
+PC9.Signal=SDMMC1_D1
+PD0.GPIOParameters=GPIO_Speed_High_Default
+PD0.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PD0.Signal=FMC_D2_DA2
+PD1.GPIOParameters=GPIO_Speed_High_Default
+PD1.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PD1.Signal=FMC_D3_DA3
+PD10.GPIOParameters=GPIO_Speed_High_Default
+PD10.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PD10.Signal=FMC_D15_DA15
+PD11.Mode=CTS_RTS
+PD11.Signal=USART3_CTS
+PD12.Mode=CTS_RTS
+PD12.Signal=USART3_RTS
+PD14.GPIOParameters=GPIO_Speed_High_Default
+PD14.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PD14.Signal=FMC_D0_DA0
+PD15.GPIOParameters=GPIO_Speed_High_Default
+PD15.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PD15.Signal=FMC_D1_DA1
+PD2.Mode=SD_4_bits_Wide_bus
+PD2.Signal=SDMMC1_CMD
+PD6.Mode=SD_4_bits_Wide_bus
+PD6.Signal=SDMMC2_CK
+PD7.Mode=SD_4_bits_Wide_bus
+PD7.Signal=SDMMC2_CMD
+PD8.GPIOParameters=GPIO_Speed_High_Default
+PD8.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PD8.Signal=FMC_D13_DA13
+PD9.GPIOParameters=GPIO_Speed_High_Default
+PD9.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PD9.Signal=FMC_D14_DA14
+PE0.GPIOParameters=GPIO_Speed_High_Default
+PE0.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PE0.Signal=FMC_NBL0
+PE1.GPIOParameters=GPIO_Speed_High_Default
+PE1.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PE1.Signal=FMC_NBL1
+PE10.GPIOParameters=GPIO_Speed_High_Default
+PE10.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PE10.Signal=FMC_D7_DA7
+PE11.GPIOParameters=GPIO_Speed_High_Default
+PE11.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PE11.Signal=FMC_D8_DA8
+PE12.GPIOParameters=GPIO_Speed_High_Default
+PE12.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PE12.Signal=FMC_D9_DA9
+PE13.GPIOParameters=GPIO_Speed_High_Default
+PE13.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PE13.Signal=FMC_D10_DA10
+PE14.GPIOParameters=GPIO_Speed_High_Default
+PE14.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PE14.Signal=FMC_D11_DA11
+PE15.GPIOParameters=GPIO_Speed_High_Default
+PE15.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PE15.Signal=FMC_D12_DA12
+PE2.GPIOParameters=GPIO_Speed
+PE2.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
+PE2.Mode=Full_Duplex_Master
+PE2.Signal=SPI4_SCK
+PE5.GPIOParameters=GPIO_Speed
+PE5.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
+PE5.Mode=Full_Duplex_Master
+PE5.Signal=SPI4_MISO
+PE6.GPIOParameters=GPIO_Speed
+PE6.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
+PE6.Mode=Full_Duplex_Master
+PE6.Signal=SPI4_MOSI
+PE7.GPIOParameters=GPIO_Speed_High_Default
+PE7.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PE7.Signal=FMC_D4_DA4
+PE8.GPIOParameters=GPIO_Speed_High_Default
+PE8.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PE8.Signal=FMC_D5_DA5
+PE9.GPIOParameters=GPIO_Speed_High_Default
+PE9.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PE9.Signal=FMC_D6_DA6
+PF0.GPIOParameters=GPIO_Speed_High_Default
+PF0.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PF0.Signal=FMC_A0
+PF1.GPIOParameters=GPIO_Speed_High_Default
+PF1.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PF1.Signal=FMC_A1
+PF11.GPIOParameters=GPIO_Speed_High_Default
+PF11.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PF11.Signal=FMC_SDNRAS
+PF12.GPIOParameters=GPIO_Speed_High_Default
+PF12.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PF12.Signal=FMC_A6
+PF13.GPIOParameters=GPIO_Speed_High_Default
+PF13.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PF13.Signal=FMC_A7
+PF14.GPIOParameters=GPIO_Speed_High_Default
+PF14.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PF14.Signal=FMC_A8
+PF15.GPIOParameters=GPIO_Speed_High_Default
+PF15.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PF15.Signal=FMC_A9
+PF2.GPIOParameters=GPIO_Speed_High_Default
+PF2.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PF2.Signal=FMC_A2
+PF3.GPIOParameters=GPIO_Speed_High_Default
+PF3.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PF3.Signal=FMC_A3
+PF4.GPIOParameters=GPIO_Speed_High_Default
+PF4.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PF4.Signal=FMC_A4
+PF5.GPIOParameters=GPIO_Speed_High_Default
+PF5.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PF5.Signal=FMC_A5
+PG0.GPIOParameters=GPIO_Speed_High_Default
+PG0.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PG0.Signal=FMC_A10
+PG1.GPIOParameters=GPIO_Speed_High_Default
+PG1.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PG1.Signal=FMC_A11
+PG11.GPIOParameters=GPIO_Speed
+PG11.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PG11.Locked=true
+PG11.Mode=RMII
+PG11.Signal=ETH_TX_EN
+PG13.GPIOParameters=GPIO_Speed
+PG13.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PG13.Mode=RMII
+PG13.Signal=ETH_TXD0
+PG14.GPIOParameters=GPIO_Speed
+PG14.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PG14.Locked=true
+PG14.Mode=RMII
+PG14.Signal=ETH_TXD1
+PG15.GPIOParameters=GPIO_Speed_High_Default
+PG15.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PG15.Signal=FMC_SDNCAS
+PG2.GPIOParameters=GPIO_Speed_High_Default
+PG2.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PG2.Signal=FMC_A12
+PG4.GPIOParameters=GPIO_Speed_High_Default
+PG4.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PG4.Signal=FMC_A14_BA0
+PG5.GPIOParameters=GPIO_Speed_High_Default
+PG5.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PG5.Signal=FMC_A15_BA1
+PG8.GPIOParameters=GPIO_Speed_High_Default
+PG8.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PG8.Signal=FMC_SDCLK
+PG9.GPIOParameters=GPIO_Speed
+PG9.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
+PG9.Mode=Full_Duplex_Master
+PG9.Signal=SPI1_MISO
+PH0-OSC_IN\ (PH0).Mode=HSE-External-Oscillator
+PH0-OSC_IN\ (PH0).Signal=RCC_OSC_IN
+PH1-OSC_OUT\ (PH1).Mode=HSE-External-Oscillator
+PH1-OSC_OUT\ (PH1).Signal=RCC_OSC_OUT
+PH5.GPIOParameters=GPIO_Speed_High_Default
+PH5.GPIO_Speed_High_Default=GPIO_SPEED_FREQ_VERY_HIGH
+PH5.Locked=true
+PH5.Signal=FMC_SDNWE
+PI12.GPIOParameters=GPIO_Speed
+PI12.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PI12.Locked=true
+PI12.Mode=RGB888
+PI12.Signal=LTDC_HSYNC
+PI13.GPIOParameters=GPIO_Speed
+PI13.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PI13.Locked=true
+PI13.Mode=RGB888
+PI13.Signal=LTDC_VSYNC
+PI14.GPIOParameters=GPIO_Speed
+PI14.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PI14.Locked=true
+PI14.Mode=RGB888
+PI14.Signal=LTDC_CLK
+PI15.GPIOParameters=GPIO_Speed
+PI15.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PI15.Locked=true
+PI15.Mode=RGB888
+PI15.Signal=LTDC_R0
+PI9.Locked=true
+PI9.Mode=Asynchronous
+PI9.Signal=UART4_RX
+PJ0.GPIOParameters=GPIO_Speed
+PJ0.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PJ0.Mode=RGB888
+PJ0.Signal=LTDC_R1
+PJ1.GPIOParameters=GPIO_Speed
+PJ1.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PJ1.Mode=RGB888
+PJ1.Signal=LTDC_R2
+PJ10.GPIOParameters=GPIO_Speed
+PJ10.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PJ10.Locked=true
+PJ10.Mode=RGB888
+PJ10.Signal=LTDC_G3
+PJ11.GPIOParameters=GPIO_Speed
+PJ11.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PJ11.Locked=true
+PJ11.Mode=RGB888
+PJ11.Signal=LTDC_G4
+PJ12.GPIOParameters=GPIO_Speed
+PJ12.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PJ12.Locked=true
+PJ12.Mode=RGB888
+PJ12.Signal=LTDC_B0
+PJ13.GPIOParameters=GPIO_Speed
+PJ13.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PJ13.Locked=true
+PJ13.Mode=RGB888
+PJ13.Signal=LTDC_B1
+PJ14.GPIOParameters=GPIO_Speed
+PJ14.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PJ14.Mode=RGB888
+PJ14.Signal=LTDC_B2
+PJ15.GPIOParameters=GPIO_Speed
+PJ15.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PJ15.Mode=RGB888
+PJ15.Signal=LTDC_B3
+PJ2.GPIOParameters=GPIO_Speed
+PJ2.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PJ2.Locked=true
+PJ2.Mode=RGB888
+PJ2.Signal=LTDC_R3
+PJ3.GPIOParameters=GPIO_Speed
+PJ3.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PJ3.Locked=true
+PJ3.Mode=RGB888
+PJ3.Signal=LTDC_R4
+PJ4.GPIOParameters=GPIO_Speed
+PJ4.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PJ4.Locked=true
+PJ4.Mode=RGB888
+PJ4.Signal=LTDC_R5
+PJ5.GPIOParameters=GPIO_Speed
+PJ5.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PJ5.Locked=true
+PJ5.Mode=RGB888
+PJ5.Signal=LTDC_R6
+PJ6.GPIOParameters=GPIO_Speed
+PJ6.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PJ6.Locked=true
+PJ6.Mode=RGB888
+PJ6.Signal=LTDC_R7
+PJ7.GPIOParameters=GPIO_Speed
+PJ7.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PJ7.Mode=RGB888
+PJ7.Signal=LTDC_G0
+PJ8.GPIOParameters=GPIO_Speed
+PJ8.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PJ8.Mode=RGB888
+PJ8.Signal=LTDC_G1
+PJ9.GPIOParameters=GPIO_Speed
+PJ9.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PJ9.Locked=true
+PJ9.Mode=RGB888
+PJ9.Signal=LTDC_G2
+PK0.GPIOParameters=GPIO_Speed
+PK0.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PK0.Locked=true
+PK0.Mode=RGB888
+PK0.Signal=LTDC_G5
+PK1.GPIOParameters=GPIO_Speed
+PK1.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PK1.Locked=true
+PK1.Mode=RGB888
+PK1.Signal=LTDC_G6
+PK2.GPIOParameters=GPIO_Speed
+PK2.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PK2.Locked=true
+PK2.Mode=RGB888
+PK2.Signal=LTDC_G7
+PK3.GPIOParameters=GPIO_Speed
+PK3.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PK3.Locked=true
+PK3.Mode=RGB888
+PK3.Signal=LTDC_B4
+PK4.GPIOParameters=GPIO_Speed
+PK4.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PK4.Locked=true
+PK4.Mode=RGB888
+PK4.Signal=LTDC_B5
+PK5.GPIOParameters=GPIO_Speed
+PK5.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PK5.Locked=true
+PK5.Mode=RGB888
+PK5.Signal=LTDC_B6
+PK6.GPIOParameters=GPIO_Speed
+PK6.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PK6.Locked=true
+PK6.Mode=RGB888
+PK6.Signal=LTDC_B7
+PK7.GPIOParameters=GPIO_Speed
+PK7.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
+PK7.Mode=RGB888
+PK7.Signal=LTDC_DE
+PinOutPanel.CurrentBGAView=Top
+PinOutPanel.RotationAngle=0
+ProjectManager.AskForMigrate=true
+ProjectManager.BackupPrevious=false
+ProjectManager.CompilerOptimize=6
+ProjectManager.ComputerToolchain=false
+ProjectManager.CoupleFile=false
+ProjectManager.CustomerFirmwarePackage=
+ProjectManager.DefaultFWLocation=true
+ProjectManager.DeletePrevious=true
+ProjectManager.DeviceId=STM32H750XBHx
+ProjectManager.FirmwarePackage=STM32Cube FW_H7 V1.9.0
+ProjectManager.FreePins=false
+ProjectManager.HalAssertFull=false
+ProjectManager.HeapSize=0x200
+ProjectManager.KeepUserCode=true
+ProjectManager.LastFirmware=true
+ProjectManager.LibraryCopy=1
+ProjectManager.MainLocation=Core/Src
+ProjectManager.NoMain=false
+ProjectManager.PreviousToolchain=
+ProjectManager.ProjectBuild=false
+ProjectManager.ProjectFileName=CubeMX_Config.ioc
+ProjectManager.ProjectName=CubeMX_Config
+ProjectManager.RegisterCallBack=
+ProjectManager.StackSize=0x400
+ProjectManager.TargetToolchain=MDK-ARM V5.27
+ProjectManager.ToolChainLocation=
+ProjectManager.UnderRoot=false
+ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_ETH_Init-ETH-false-HAL-true,4-MX_FMC_Init-FMC-false-HAL-true,5-MX_LTDC_Init-LTDC-false-HAL-true,6-MX_SDMMC1_SD_Init-SDMMC1-false-HAL-true,7-MX_SDMMC2_SD_Init-SDMMC2-false-HAL-true,8-MX_SPI4_Init-SPI4-false-HAL-true,9-MX_UART4_Init-UART4-false-HAL-true,10-MX_SPI1_Init-SPI1-false-HAL-true,11-MX_USART3_UART_Init-USART3-false-HAL-true,12-MX_USB_OTG_FS_PCD_Init-USB_OTG_FS-false-HAL-true,0-MX_CORTEX_M7_Init-CORTEX_M7-false-HAL-true
+RCC.ADCFreq_Value=400000000
+RCC.AHB12Freq_Value=240000000
+RCC.AHB4Freq_Value=240000000
+RCC.APB1Freq_Value=120000000
+RCC.APB2Freq_Value=120000000
+RCC.APB3Freq_Value=120000000
+RCC.APB4Freq_Value=120000000
+RCC.AXIClockFreq_Value=240000000
+RCC.CECFreq_Value=32000
+RCC.CKPERFreq_Value=64000000
+RCC.CortexFreq_Value=480000000
+RCC.CpuClockFreq_Value=480000000
+RCC.D1CPREFreq_Value=480000000
+RCC.D1PPRE=RCC_APB3_DIV2
+RCC.D2PPRE1=RCC_APB1_DIV2
+RCC.D2PPRE2=RCC_APB2_DIV2
+RCC.D3PPRE=RCC_APB4_DIV2
+RCC.DFSDMACLkFreq_Value=480000000
+RCC.DFSDMFreq_Value=120000000
+RCC.DIVM1=5
+RCC.DIVM2=2
+RCC.DIVM3=5
+RCC.DIVN1=192
+RCC.DIVN2=64
+RCC.DIVN3=160
+RCC.DIVP1Freq_Value=480000000
+RCC.DIVP2Freq_Value=400000000
+RCC.DIVP3=8
+RCC.DIVP3Freq_Value=100000000
+RCC.DIVQ1Freq_Value=480000000
+RCC.DIVQ2Freq_Value=400000000
+RCC.DIVQ3=8
+RCC.DIVQ3Freq_Value=100000000
+RCC.DIVR1Freq_Value=480000000
+RCC.DIVR2=4
+RCC.DIVR2Freq_Value=200000000
+RCC.DIVR3=24
+RCC.DIVR3Freq_Value=33333333.333333332
+RCC.FDCANFreq_Value=480000000
+RCC.FMCCLockSelection=RCC_FMCCLKSOURCE_PLL2
+RCC.FMCFreq_Value=200000000
+RCC.FamilyName=M
+RCC.HCLK3ClockFreq_Value=240000000
+RCC.HCLKFreq_Value=240000000
+RCC.HPRE=RCC_HCLK_DIV2
+RCC.HRTIMFreq_Value=240000000
+RCC.I2C123Freq_Value=120000000
+RCC.I2C4Freq_Value=120000000
+RCC.IPParameters=ADCFreq_Value,AHB12Freq_Value,AHB4Freq_Value,APB1Freq_Value,APB2Freq_Value,APB3Freq_Value,APB4Freq_Value,AXIClockFreq_Value,CECFreq_Value,CKPERFreq_Value,CortexFreq_Value,CpuClockFreq_Value,D1CPREFreq_Value,D1PPRE,D2PPRE1,D2PPRE2,D3PPRE,DFSDMACLkFreq_Value,DFSDMFreq_Value,DIVM1,DIVM2,DIVM3,DIVN1,DIVN2,DIVN3,DIVP1Freq_Value,DIVP2Freq_Value,DIVP3,DIVP3Freq_Value,DIVQ1Freq_Value,DIVQ2Freq_Value,DIVQ3,DIVQ3Freq_Value,DIVR1Freq_Value,DIVR2,DIVR2Freq_Value,DIVR3,DIVR3Freq_Value,FDCANFreq_Value,FMCCLockSelection,FMCFreq_Value,FamilyName,HCLK3ClockFreq_Value,HCLKFreq_Value,HPRE,HRTIMFreq_Value,I2C123Freq_Value,I2C4Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPTIM345Freq_Value,LPUART1Freq_Value,LTDCFreq_Value,MCO1PinFreq_Value,MCO2PinFreq_Value,PLL2FRACN,PLLFRACN,PLLSourceVirtual,QSPIFreq_Value,RNGFreq_Value,RTCFreq_Value,SAI1Freq_Value,SAI23Freq_Value,SAI4AFreq_Value,SAI4BFreq_Value,SDMMC1CLockSelection,SDMMCFreq_Value,SPDIFRXFreq_Value,SPI123CLockSelection,SPI123Freq_Value,SPI45Freq_Value,SPI6Freq_Value,SWPMI1Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,Spi45ClockSelection,Tim1OutputFreq_Value,Tim2OutputFreq_Value,TraceFreq_Value,USART16Freq_Value,USART234578Freq_Value,USBCLockSelection,USBFreq_Value,VCO1OutputFreq_Value,VCO2OutputFreq_Value,VCO3OutputFreq_Value,VCOInput1Freq_Value,VCOInput2Freq_Value,VCOInput3Freq_Value
+RCC.LPTIM1Freq_Value=120000000
+RCC.LPTIM2Freq_Value=120000000
+RCC.LPTIM345Freq_Value=120000000
+RCC.LPUART1Freq_Value=120000000
+RCC.LTDCFreq_Value=33333333.333333332
+RCC.MCO1PinFreq_Value=64000000
+RCC.MCO2PinFreq_Value=480000000
+RCC.PLL2FRACN=0
+RCC.PLLFRACN=0
+RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSE
+RCC.QSPIFreq_Value=240000000
+RCC.RNGFreq_Value=48000000
+RCC.RTCFreq_Value=32000
+RCC.SAI1Freq_Value=480000000
+RCC.SAI23Freq_Value=480000000
+RCC.SAI4AFreq_Value=480000000
+RCC.SAI4BFreq_Value=480000000
+RCC.SDMMC1CLockSelection=RCC_SDMMCCLKSOURCE_PLL2
+RCC.SDMMCFreq_Value=200000000
+RCC.SPDIFRXFreq_Value=480000000
+RCC.SPI123CLockSelection=RCC_SPI123CLKSOURCE_PLL2
+RCC.SPI123Freq_Value=400000000
+RCC.SPI45Freq_Value=100000000
+RCC.SPI6Freq_Value=120000000
+RCC.SWPMI1Freq_Value=120000000
+RCC.SYSCLKFreq_VALUE=480000000
+RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK
+RCC.Spi45ClockSelection=RCC_SPI45CLKSOURCE_PLL3
+RCC.Tim1OutputFreq_Value=240000000
+RCC.Tim2OutputFreq_Value=240000000
+RCC.TraceFreq_Value=64000000
+RCC.USART16Freq_Value=120000000
+RCC.USART234578Freq_Value=120000000
+RCC.USBCLockSelection=RCC_USBCLKSOURCE_HSI48
+RCC.USBFreq_Value=48000000
+RCC.VCO1OutputFreq_Value=960000000
+RCC.VCO2OutputFreq_Value=800000000
+RCC.VCO3OutputFreq_Value=800000000
+RCC.VCOInput1Freq_Value=5000000
+RCC.VCOInput2Freq_Value=12500000
+RCC.VCOInput3Freq_Value=5000000
+SH.FMC_A0.0=FMC_A0,13b-sda1
+SH.FMC_A0.ConfNb=1
+SH.FMC_A1.0=FMC_A1,13b-sda1
+SH.FMC_A1.ConfNb=1
+SH.FMC_A10.0=FMC_A10,13b-sda1
+SH.FMC_A10.ConfNb=1
+SH.FMC_A11.0=FMC_A11,13b-sda1
+SH.FMC_A11.ConfNb=1
+SH.FMC_A12.0=FMC_A12,13b-sda1
+SH.FMC_A12.ConfNb=1
+SH.FMC_A14_BA0.0=FMC_BA0,FourSdramBanks1
+SH.FMC_A14_BA0.ConfNb=1
+SH.FMC_A15_BA1.0=FMC_BA1,FourSdramBanks1
+SH.FMC_A15_BA1.ConfNb=1
+SH.FMC_A2.0=FMC_A2,13b-sda1
+SH.FMC_A2.ConfNb=1
+SH.FMC_A3.0=FMC_A3,13b-sda1
+SH.FMC_A3.ConfNb=1
+SH.FMC_A4.0=FMC_A4,13b-sda1
+SH.FMC_A4.ConfNb=1
+SH.FMC_A5.0=FMC_A5,13b-sda1
+SH.FMC_A5.ConfNb=1
+SH.FMC_A6.0=FMC_A6,13b-sda1
+SH.FMC_A6.ConfNb=1
+SH.FMC_A7.0=FMC_A7,13b-sda1
+SH.FMC_A7.ConfNb=1
+SH.FMC_A8.0=FMC_A8,13b-sda1
+SH.FMC_A8.ConfNb=1
+SH.FMC_A9.0=FMC_A9,13b-sda1
+SH.FMC_A9.ConfNb=1
+SH.FMC_D0_DA0.0=FMC_D0,sd-16b-d1
+SH.FMC_D0_DA0.ConfNb=1
+SH.FMC_D10_DA10.0=FMC_D10,sd-16b-d1
+SH.FMC_D10_DA10.ConfNb=1
+SH.FMC_D11_DA11.0=FMC_D11,sd-16b-d1
+SH.FMC_D11_DA11.ConfNb=1
+SH.FMC_D12_DA12.0=FMC_D12,sd-16b-d1
+SH.FMC_D12_DA12.ConfNb=1
+SH.FMC_D13_DA13.0=FMC_D13,sd-16b-d1
+SH.FMC_D13_DA13.ConfNb=1
+SH.FMC_D14_DA14.0=FMC_D14,sd-16b-d1
+SH.FMC_D14_DA14.ConfNb=1
+SH.FMC_D15_DA15.0=FMC_D15,sd-16b-d1
+SH.FMC_D15_DA15.ConfNb=1
+SH.FMC_D1_DA1.0=FMC_D1,sd-16b-d1
+SH.FMC_D1_DA1.ConfNb=1
+SH.FMC_D2_DA2.0=FMC_D2,sd-16b-d1
+SH.FMC_D2_DA2.ConfNb=1
+SH.FMC_D3_DA3.0=FMC_D3,sd-16b-d1
+SH.FMC_D3_DA3.ConfNb=1
+SH.FMC_D4_DA4.0=FMC_D4,sd-16b-d1
+SH.FMC_D4_DA4.ConfNb=1
+SH.FMC_D5_DA5.0=FMC_D5,sd-16b-d1
+SH.FMC_D5_DA5.ConfNb=1
+SH.FMC_D6_DA6.0=FMC_D6,sd-16b-d1
+SH.FMC_D6_DA6.ConfNb=1
+SH.FMC_D7_DA7.0=FMC_D7,sd-16b-d1
+SH.FMC_D7_DA7.ConfNb=1
+SH.FMC_D8_DA8.0=FMC_D8,sd-16b-d1
+SH.FMC_D8_DA8.ConfNb=1
+SH.FMC_D9_DA9.0=FMC_D9,sd-16b-d1
+SH.FMC_D9_DA9.ConfNb=1
+SH.FMC_NBL0.0=FMC_NBL0,Sd2ByteEnable1
+SH.FMC_NBL0.ConfNb=1
+SH.FMC_NBL1.0=FMC_NBL1,Sd2ByteEnable1
+SH.FMC_NBL1.ConfNb=1
+SH.FMC_SDCLK.0=FMC_SDCLK,13b-sda1
+SH.FMC_SDCLK.ConfNb=1
+SH.FMC_SDNCAS.0=FMC_SDNCAS,13b-sda1
+SH.FMC_SDNCAS.ConfNb=1
+SH.FMC_SDNRAS.0=FMC_SDNRAS,13b-sda1
+SH.FMC_SDNRAS.ConfNb=1
+SH.FMC_SDNWE.0=FMC_SDNWE,13b-sda1
+SH.FMC_SDNWE.ConfNb=1
+SPI1.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_2
+SPI1.CalculateBaudRate=200.0 MBits/s
+SPI1.Direction=SPI_DIRECTION_2LINES
+SPI1.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,BaudRatePrescaler
+SPI1.Mode=SPI_MODE_MASTER
+SPI1.VirtualType=VM_MASTER
+SPI4.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_2
+SPI4.CalculateBaudRate=50.0 MBits/s
+SPI4.Direction=SPI_DIRECTION_2LINES
+SPI4.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,BaudRatePrescaler
+SPI4.Mode=SPI_MODE_MASTER
+SPI4.VirtualType=VM_MASTER
+USART3.IPParameters=VirtualMode-Asynchronous
+USART3.VirtualMode-Asynchronous=VM_ASYNC
+USB_OTG_FS.IPParameters=VirtualMode
+USB_OTG_FS.VirtualMode=Device_Only
+VP_IWDG1_VS_IWDG.Mode=IWDG_Activate
+VP_IWDG1_VS_IWDG.Signal=IWDG1_VS_IWDG
+VP_SYS_VS_Systick.Mode=SysTick
+VP_SYS_VS_Systick.Signal=SYS_VS_Systick
+board=custom
diff --git a/bsp/stm32/stm32h750-artpi/board/Kconfig b/bsp/stm32/stm32h750-artpi/board/Kconfig
new file mode 100644
index 0000000000..ae6c4e69a1
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/board/Kconfig
@@ -0,0 +1,349 @@
+menu "Hardware Drivers Config"
+
+config SOC_STM32H750XB
+ bool
+ select SOC_SERIES_STM32H7
+ select RT_USING_COMPONENTS_INIT
+ select RT_USING_USER_MAIN
+ default y
+
+config BOARD_STM32H750_ARTPI
+ bool
+ default y
+
+menu "Board extended module"
+
+ menuconfig ART_PI_USING_MEDIA_IO
+ bool "Media-IO"
+ default n
+ if ART_PI_USING_MEDIA_IO
+ config BSP_USING_SPI_LCD_ILI9488
+ bool
+ config PKG_USING_PERSIMMON_SRC
+ bool
+
+ config MEDIA_IO_USING_SCREEN
+ select BSP_USING_SPI
+ select BSP_USING_SPI2
+ select BSP_USING_SDRAM
+ select BSP_USING_SPI_LCD_ILI9488
+ select PKG_USING_PERSIMMON_SRC
+ bool "Enable Screen"
+ default y
+
+ if MEDIA_IO_USING_SCREEN
+ config BSP_USING_LVGL
+ bool "Enable LVGL for LCD"
+ select BSP_USING_SPI_LCD_ILI9488
+ select PKG_USING_LVGL
+ select PKG_USING_LV_MUSIC_DEMO
+ default n
+ endif
+
+ config MEDIA_IO_USING_TOUCH
+ select RT_USING_I2C
+ select RT_USING_I2C_BITOPS
+ select BSP_USING_I2C
+ select BSP_USING_I2C2
+ select PKG_USING_TOUCH_DRIVERS
+ select PKG_USING_FT6236
+ bool "Enable Touch"
+ default y
+
+ config MEDIA_IO_USING_AUDIO
+ select RT_USING_AUDIO
+ select RT_USING_I2C
+ select RT_USING_I2C_BITOPS
+ select BSP_USING_I2C
+ select BSP_USING_I2C3
+ bool "Enable Audio"
+ default y
+ if MEDIA_IO_USING_AUDIO
+ config AUDIO_MP3
+ bool "Support MP3"
+ select PKG_USING_HELIX
+ default y
+ endif
+ endif
+
+ menuconfig ART_PI_USING_INDUSTRY_IO
+ bool "Industry-IO"
+ default n
+ if ART_PI_USING_INDUSTRY_IO
+ config INDUSTRY_IO_USING_ETH
+ select BSP_USING_ETH
+ select PHY_USING_LAN8720A
+ bool "Enable Ethernet"
+ default y
+ endif
+
+endmenu
+
+menu "Onboard Peripheral Drivers"
+
+ config BSP_USING_USB_TO_USART
+ bool "Enable Debuger USART (uart4)"
+ select BSP_USING_UART
+ select BSP_USING_UART4
+ default n
+
+ config BSP_USING_SPI_FLASH
+ bool "Enable SPI FLASH (spi1)"
+ select BSP_USING_SPI
+ select BSP_USING_SPI1
+ select RT_USING_FAL
+ select FAL_USING_SFUD_PORT
+ select RT_USING_SFUD
+ default n
+
+ config BSP_USING_QSPI_FLASH
+ bool "Enable QSPI FLASH (w25q64 qspi)"
+ select BSP_USING_QSPI
+ select FAL_USING_SFUD_PORT
+ select RT_USING_SFUD
+ select RT_SFUD_USING_QSPI
+ default n
+
+ menuconfig BSP_USING_FS
+ bool "Enable filesystem"
+ select RT_USING_DFS
+ select RT_USING_DFS_ROMFS
+ default n
+ if BSP_USING_FS
+ config BSP_USING_SDCARD_FS
+ bool "Enable SDCARD filesystem"
+ select BSP_USING_SDIO_ARTPI
+ select BSP_USING_SDIO1
+ select RT_USING_DFS_ELMFAT
+ default n
+ config BSP_USING_SPI_FLASH_FS
+ bool "Enable SPI FLASH filesystem"
+ select BSP_USING_SPI_FLASH
+ select RT_USING_MTD_NOR
+ select PKG_USING_LITTLEFS
+ default n
+ endif
+
+ config BSP_USING_WIFI
+ bool "Enable wifi (AP6212)"
+ select ART_PI_USING_WIFI_6212_LIB
+ select BSP_USING_SPI_FLASH
+ select RT_USING_WIFI
+ select RT_USING_SAL
+ default n
+
+endmenu
+
+menu "On-chip Peripheral Drivers"
+
+ config BSP_USING_GPIO
+ bool "Enable GPIO"
+ select RT_USING_PIN
+ default y
+
+ menuconfig BSP_USING_UART
+ bool "Enable UART"
+ default n
+ select RT_USING_SERIAL
+ select RT_SERIAL_USING_DMA
+ if BSP_USING_UART
+ config BSP_USING_UART1
+ bool "Enable UART1"
+ default n
+
+ config BSP_UART1_RX_USING_DMA
+ bool "Enable UART1 RX DMA"
+ depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_UART1_TX_USING_DMA
+ bool "Enable UART1 TX DMA"
+ depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_USING_UART3
+ bool "Enable UART3"
+ default n
+
+ config BSP_USING_UART4
+ bool "Enable UART4"
+ default n
+
+ config BSP_USING_UART6
+ bool "Enable UART6"
+ default n
+ endif
+
+ menuconfig BSP_USING_SPI
+ bool "Enable SPI"
+ default n
+ select RT_USING_SPI
+ if BSP_USING_SPI
+ config BSP_USING_SPI1
+ bool "Enable SPI1"
+ default n
+ config BSP_USING_SPI2
+ bool "Enable SPI2"
+ default n
+ config BSP_USING_SPI4
+ bool "Enable SPI4"
+ default n
+ endif
+
+ config BSP_USING_QSPI
+ bool "Enable QSPI BUS"
+ select RT_USING_QSPI
+ select RT_USING_SPI
+ default n
+
+ config BSP_USING_ONCHIP_RTC
+ bool "Enable Onchip RTC"
+ select RT_USING_RTC
+ default n
+
+ menuconfig BSP_USING_I2C
+ bool "Enable I2C BUS (software simulation)"
+ select RT_USING_I2C
+ select RT_USING_I2C_BITOPS
+ select RT_USING_PIN
+ default n
+ if BSP_USING_I2C
+ menuconfig BSP_USING_I2C1
+ bool "Enable I2C1 BUS (software simulation)"
+ default n
+ select RT_USING_I2C
+ select RT_USING_I2C_BITOPS
+ select RT_USING_PIN
+ if BSP_USING_I2C1
+ comment "Notice: PB6 --> 22; PB7 --> 23"
+ config BSP_I2C1_SCL_PIN
+ int "I2C1 scl pin number"
+ range 0 175
+ default 22
+ config BSP_I2C1_SDA_PIN
+ int "I2C1 sda pin number"
+ range 0 175
+ default 23
+ endif
+ menuconfig BSP_USING_I2C2
+ bool "Enable I2C2 BUS (software simulation)"
+ default n
+ if BSP_USING_I2C2
+ comment "Notice: PH13 --> 125; PH15 --> 127"
+ config BSP_I2C2_SCL_PIN
+ int "i2c2 scl pin number"
+ range 1 176
+ default 127
+ config BSP_I2C2_SDA_PIN
+ int "I2C2 sda pin number"
+ range 0 175
+ default 125
+ endif
+ menuconfig BSP_USING_I2C3
+ bool "Enable I2C3 BUS (software simulation)"
+ default n
+ if BSP_USING_I2C3
+ comment "Notice: PH12 --> 124; PH11 --> 123"
+ config BSP_I2C3_SCL_PIN
+ int "i2c3 scl pin number"
+ range 0 175
+ default 123
+ config BSP_I2C3_SDA_PIN
+ int "I2C3 sda pin number"
+ range 0 175
+ default 124
+ endif
+ endif
+
+ config BSP_USING_SDRAM
+ bool "Enable SDRAM"
+ default n
+
+ config BSP_USING_WDT
+ bool "Enable Watchdog Timer"
+ select RT_USING_WDT
+ default n
+
+ config BSP_USING_LCD
+ bool "Enable LCD"
+ select BSP_USING_LTDC
+ select BSP_USING_GPIO
+ select BSP_USING_SDRAM
+ select RT_USING_MEMHEAP
+ default n
+
+ menuconfig BSP_USING_SDIO_ARTPI
+ bool "Enable SDIO"
+ default n
+ select RT_USING_SDIO
+ if BSP_USING_SDIO_ARTPI
+ config BSP_USING_SDIO1
+ bool "Enable SDIO1"
+ default n
+ config BSP_USING_SDIO2
+ bool "Enable SDIO2"
+ default n
+ endif
+
+ config BSP_USING_USBD
+ bool "Enable USB Device"
+ select RT_USING_USB_DEVICE
+ default n
+
+ menuconfig BSP_USING_USBH
+ bool "Enable USB Host"
+ select RT_USING_USB_HOST
+ default n
+ if BSP_USING_USBH
+ menuconfig RT_USBH_MSTORAGE
+ bool "Enable Udisk Drivers"
+ select RT_USING_DFS
+ select RT_USING_DFS_ELMFAT
+ default n
+ if RT_USBH_MSTORAGE
+ config UDISK_MOUNTPOINT
+ string "Udisk mount dir"
+ default "/"
+ endif
+ endif
+
+ menuconfig BSP_USING_ETH_H750
+ bool "Enable Ethernet"
+ default n
+ select RT_USING_LWIP
+ if BSP_USING_ETH_H750
+ config ETH_RESET_PIN
+ string "ETH RESET PIN"
+ default "PA.3"
+ endif
+ if BSP_USING_ETH_H750
+ choice
+ prompt "Choose ETH PHY"
+ default PHY_USING_LAN8720A
+ config PHY_USING_LAN8720A
+ bool "USING LAN8720A"
+ default n
+ endchoice
+ endif
+
+ config BSP_USING_LTDC
+ bool
+ default n
+ source "../libraries/HAL_Drivers/Kconfig"
+
+endmenu
+
+menu "External Libraries"
+
+ config ART_PI_USING_WIFI_6212_LIB
+ bool "Using Wifi(AP6212) Library"
+ select PKG_USING_EASYFLASH
+ select BSP_USING_SDIO_ARTPI
+ select BSP_USING_SDIO2
+ select RT_USING_LWIP
+ select RT_USING_WIFI
+ default n
+
+endmenu
+
+endmenu
diff --git a/bsp/stm32/stm32h750-artpi/board/SConscript b/bsp/stm32/stm32h750-artpi/board/SConscript
new file mode 100644
index 0000000000..baea8291cc
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/board/SConscript
@@ -0,0 +1,62 @@
+import os
+import rtconfig
+from building import *
+
+Import('SDK_LIB')
+
+objs = []
+cwd = GetCurrentDir()
+list = os.listdir(cwd)
+
+# add the general drivers.
+src = Glob('board.c')
+src += Glob('CubeMX_Config/Core/Src/stm32h7xx_hal_msp.c')
+
+if GetDepend(['BSP_USING_QSPI_FLASH']):
+ src += Glob('port/drv_qspi_flash.c')
+
+if GetDepend(['BSP_USING_SPI_LCD_ILI9488']):
+ src += Glob('port/drv_spi_ili9488.c')
+
+if GetDepend(['BSP_USING_SPI_FLASH']):
+ src += Glob('port/spi_flash_init.c')
+
+if GetDepend(['BSP_USING_FS']):
+ src += Glob('port/filesystem.c')
+
+if GetDepend(['BSP_USING_SDIO_ARTPI']):
+ src += Glob('port/drv_sdio.c')
+
+if GetDepend(['BSP_USING_WIFI']):
+ src += Glob('port/wifi_config.c')
+ src += Glob('port/drv_wlan.c')
+
+if GetDepend(['BSP_USING_ETH_H750']):
+ src += Glob('port/drv_eth.c')
+
+if GetDepend(['PKG_USING_EASYFLASH']):
+ src += Glob('port/ef_fal_port.c')
+
+for item in list:
+ if os.path.isfile(os.path.join(cwd, item, 'SConscript')):
+ objs = objs + SConscript(os.path.join(item, 'SConscript'))
+
+path = [cwd]
+path += [cwd + '/CubeMX_Config/Core/Inc']
+path += [cwd + '/port']
+
+startup_path_prefix = SDK_LIB
+
+if rtconfig.PLATFORM == 'gcc':
+ src += [startup_path_prefix + '/STM32H7xx_HAL/CMSIS/Device/ST/STM32H7xx/Source/Templates/gcc/startup_stm32h750xx.s']
+elif rtconfig.PLATFORM in ['armcc', 'armclang']:
+ src += [startup_path_prefix + '/STM32H7xx_HAL/CMSIS/Device/ST/STM32H7xx/Source/Templates/arm/startup_stm32h750xx.s']
+elif rtconfig.CROSS_TOOL == 'iar':
+ src += [startup_path_prefix + '/STM32H7xx_HAL/CMSIS/Device/ST/STM32H7xx/Source/Templates/iar/startup_stm32h750xx.s']
+
+# STM32H743xx || STM32H750xx || STM32F753xx
+# You can select chips from the list above
+CPPDEFINES = ['STM32H750xx']
+group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES)
+
+Return('group')
diff --git a/bsp/stm32/stm32h750-artpi/board/board.c b/bsp/stm32/stm32h750-artpi/board/board.c
new file mode 100644
index 0000000000..704a05b5f0
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/board/board.c
@@ -0,0 +1,111 @@
+/*
+ * Copyright (c) 2006-2022, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2019-10-26 zylx first version
+ */
+
+#include "board.h"
+
+/**
+ * @brief System Clock Configuration
+ * @retval None
+ */
+void SystemClock_Config(void)
+{
+ RCC_OscInitTypeDef RCC_OscInitStruct = {0};
+ RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+
+ /** Supply configuration update enable
+ */
+ HAL_PWREx_ConfigSupply(PWR_LDO_SUPPLY);
+ /** Configure the main internal regulator output voltage
+ */
+ __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE0);
+
+ while(!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) {}
+
+ /** Initializes the RCC Oscillators according to the specified parameters
+ * in the RCC_OscInitTypeDef structure.
+ */
+ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI48 | RCC_OSCILLATORTYPE_HSE;
+ RCC_OscInitStruct.HSEState = RCC_HSE_ON;
+ RCC_OscInitStruct.HSI48State = RCC_HSI48_ON;
+ RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
+ RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
+ RCC_OscInitStruct.PLL.PLLM = 5;
+ RCC_OscInitStruct.PLL.PLLN = 192;
+ RCC_OscInitStruct.PLL.PLLP = 2;
+ RCC_OscInitStruct.PLL.PLLQ = 2;
+ RCC_OscInitStruct.PLL.PLLR = 2;
+ RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_2;
+ RCC_OscInitStruct.PLL.PLLVCOSEL = RCC_PLL1VCOWIDE;
+ RCC_OscInitStruct.PLL.PLLFRACN = 0;
+
+ if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
+ /** Initializes the CPU, AHB and APB buses clocks
+ */
+ RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
+ | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2
+ | RCC_CLOCKTYPE_D3PCLK1 | RCC_CLOCKTYPE_D1PCLK1;
+ RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
+ RCC_ClkInitStruct.SYSCLKDivider = RCC_SYSCLK_DIV1;
+ RCC_ClkInitStruct.AHBCLKDivider = RCC_HCLK_DIV2;
+ RCC_ClkInitStruct.APB3CLKDivider = RCC_APB3_DIV2;
+ RCC_ClkInitStruct.APB1CLKDivider = RCC_APB1_DIV2;
+ RCC_ClkInitStruct.APB2CLKDivider = RCC_APB2_DIV2;
+ RCC_ClkInitStruct.APB4CLKDivider = RCC_APB4_DIV2;
+
+ if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_4) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_LTDC | RCC_PERIPHCLK_USART3
+ | RCC_PERIPHCLK_UART4 | RCC_PERIPHCLK_SPI4
+ | RCC_PERIPHCLK_SPI1 | RCC_PERIPHCLK_SDMMC
+ | RCC_PERIPHCLK_ADC | RCC_PERIPHCLK_USB
+ | RCC_PERIPHCLK_LPTIM1 | RCC_PERIPHCLK_FMC;
+ PeriphClkInitStruct.PLL2.PLL2M = 2;
+ PeriphClkInitStruct.PLL2.PLL2N = 64;
+ PeriphClkInitStruct.PLL2.PLL2P = 2;
+ PeriphClkInitStruct.PLL2.PLL2Q = 2;
+ PeriphClkInitStruct.PLL2.PLL2R = 4;
+ PeriphClkInitStruct.PLL2.PLL2RGE = RCC_PLL2VCIRANGE_3;
+ PeriphClkInitStruct.PLL2.PLL2VCOSEL = RCC_PLL2VCOWIDE;
+ PeriphClkInitStruct.PLL2.PLL2FRACN = 0;
+ PeriphClkInitStruct.PLL3.PLL3M = 5;
+ PeriphClkInitStruct.PLL3.PLL3N = 160;
+ PeriphClkInitStruct.PLL3.PLL3P = 8;
+ PeriphClkInitStruct.PLL3.PLL3Q = 8;
+ PeriphClkInitStruct.PLL3.PLL3R = 24;
+ PeriphClkInitStruct.PLL3.PLL3RGE = RCC_PLL3VCIRANGE_2;
+ PeriphClkInitStruct.PLL3.PLL3VCOSEL = RCC_PLL3VCOWIDE;
+ PeriphClkInitStruct.PLL3.PLL3FRACN = 0;
+ PeriphClkInitStruct.FmcClockSelection = RCC_FMCCLKSOURCE_PLL2;
+ PeriphClkInitStruct.SdmmcClockSelection = RCC_SDMMCCLKSOURCE_PLL2;
+ PeriphClkInitStruct.Spi123ClockSelection = RCC_SPI123CLKSOURCE_PLL2;
+ PeriphClkInitStruct.Spi45ClockSelection = RCC_SPI45CLKSOURCE_PLL3;
+ PeriphClkInitStruct.Usart234578ClockSelection = RCC_USART234578CLKSOURCE_D2PCLK1;
+ PeriphClkInitStruct.UsbClockSelection = RCC_USBCLKSOURCE_HSI48;
+ PeriphClkInitStruct.Lptim1ClockSelection = RCC_LPTIM1CLKSOURCE_LSI;
+ PeriphClkInitStruct.AdcClockSelection = RCC_ADCCLKSOURCE_PLL2;
+
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
+ /** Enable USB Voltage detector
+ */
+ HAL_PWREx_EnableUSBVoltageDetector();
+}
+
diff --git a/bsp/stm32/stm32h750-artpi/board/board.h b/bsp/stm32/stm32h750-artpi/board/board.h
new file mode 100644
index 0000000000..284fcc8b4b
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/board/board.h
@@ -0,0 +1,105 @@
+/*
+ * Copyright (c) 2006-2022, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2018-11-5 SummerGift first version
+ */
+
+#ifndef __BOARD_H__
+#define __BOARD_H__
+
+#include
+#include
+#include "drv_common.h"
+#include "drv_gpio.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*-------------------------- CHIP CONFIG BEGIN --------------------------*/
+
+#define CHIP_FAMILY_STM32
+#define CHIP_SERIES_STM32H7
+#define CHIP_NAME_STM32H750XBHX
+
+/*-------------------------- CHIP CONFIG END --------------------------*/
+
+/*-------------------------- ROM/RAM CONFIG BEGIN --------------------------*/
+ #define ROM_START ((uint32_t)0x90000000)
+ #define ROM_SIZE (16384)
+ #define ROM_END ((uint32_t)(ROM_START + ROM_SIZE * 1024))
+
+#define RAM_START (0x24000000)
+#define RAM_SIZE (512)
+#define RAM_END (RAM_START + RAM_SIZE * 1024)
+
+/*-------------------------- ROM/RAM CONFIG END --------------------------*/
+
+/*-------------------------- CLOCK CONFIG BEGIN --------------------------*/
+
+#define BSP_CLOCK_SOURCE ("HSE")
+#define BSP_CLOCK_SOURCE_FREQ_MHZ ((int32_t)0)
+#define BSP_CLOCK_SYSTEM_FREQ_MHZ ((int32_t)480)
+
+/*-------------------------- CLOCK CONFIG END --------------------------*/
+
+/*-------------------------- UART CONFIG BEGIN --------------------------*/
+
+/** After configuring corresponding UART or UART DMA, you can use it.
+ *
+ * STEP 1, define macro define related to the serial port opening based on the serial port number
+ * such as #define BSP_USING_UATR1
+ *
+ * STEP 2, according to the corresponding pin of serial port, define the related serial port information macro
+ * such as #define BSP_UART1_TX_PIN "PA9"
+ * #define BSP_UART1_RX_PIN "PA10"
+ *
+ * STEP 3, if you want using SERIAL DMA, you must open it in the RT-Thread Settings.
+ * RT-Thread Setting -> Components -> Device Drivers -> Serial Device Drivers -> Enable Serial DMA Mode
+ *
+ * STEP 4, according to serial port number to define serial port tx/rx DMA function in the board.h file
+ * such as #define BSP_UART1_RX_USING_DMA
+ *
+ */
+
+#define BSP_UART3_RX_BUFSIZE 256
+#define BSP_UART3_TX_BUFSIZE 256
+#define BSP_UART4_RX_BUFSIZE 256
+#define BSP_UART4_TX_BUFSIZE 256
+
+#define STM32_FLASH_START_ADRESS ROM_START
+#define STM32_FLASH_SIZE ROM_SIZE
+#define STM32_FLASH_END_ADDRESS ROM_END
+
+#define RAM_START (0x24000000)
+#define RAM_SIZE (512)
+#define RAM_END (RAM_START + RAM_SIZE * 1024)
+
+#define STM32_SRAM1_SIZE RAM_SIZE
+#define STM32_SRAM1_START RAM_START
+#define STM32_SRAM1_END RAM_END
+
+#if defined(__ARMCC_VERSION)
+extern int Image$$RW_IRAM1$$ZI$$Limit;
+#define HEAP_BEGIN (&Image$$RW_IRAM1$$ZI$$Limit)
+#elif __ICCARM__
+#pragma section="CSTACK"
+#define HEAP_BEGIN (__segment_end("CSTACK"))
+#else
+extern int __bss_end;
+#define HEAP_BEGIN (&__bss_end)
+#endif
+
+#define HEAP_END STM32_SRAM1_END
+
+void SystemClock_Config(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/bsp/stm32/stm32h750-artpi/board/linker_scripts/link.icf b/bsp/stm32/stm32h750-artpi/board/linker_scripts/link.icf
new file mode 100644
index 0000000000..8eb669c55a
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/board/linker_scripts/link.icf
@@ -0,0 +1,28 @@
+/*###ICF### Section handled by ICF editor, don't touch! ****/
+/*-Editor annotation file-*/
+/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
+/*-Specials-*/
+define symbol __ICFEDIT_intvec_start__ = 0x08000000;
+/*-Memory Regions-*/
+define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
+define symbol __ICFEDIT_region_ROM_end__ = 0x00020000;
+define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
+define symbol __ICFEDIT_region_RAM_end__ = 0x20020000;
+/*-Sizes-*/
+define symbol __ICFEDIT_size_cstack__ = 0x800;
+define symbol __ICFEDIT_size_heap__ = 0x000;
+/**** End of ICF editor section. ###ICF###*/
+
+define memory mem with size = 4G;
+define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
+define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
+
+define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
+
+initialize by copy { readwrite };
+do not initialize { section .noinit };
+
+place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
+
+place in ROM_region { readonly };
+place in RAM_region { readwrite, last block CSTACK};
diff --git a/bsp/stm32/stm32h750-artpi/board/linker_scripts/link.lds b/bsp/stm32/stm32h750-artpi/board/linker_scripts/link.lds
new file mode 100644
index 0000000000..0609f4d445
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/board/linker_scripts/link.lds
@@ -0,0 +1,206 @@
+/*
+ * linker script for STM32H750XBHx with GNU ld
+ */
+
+/* Program Entry, set to mark it as "used" and avoid gc */
+MEMORY
+{
+ROM (rx) : ORIGIN =0x90000000,LENGTH =8192k
+RAM (rw) : ORIGIN =0x24000000,LENGTH =512k
+RxDecripSection (rw) : ORIGIN =0x30040000,LENGTH =32k
+TxDecripSection (rw) : ORIGIN =0x30040060,LENGTH =32k
+RxArraySection (rw) : ORIGIN =0x30040200,LENGTH =32k
+}
+ENTRY(Reset_Handler)
+_system_stack_size = 0x400;
+
+SECTIONS
+{
+ .text :
+ {
+ . = ALIGN(4);
+ _stext = .;
+ KEEP(*(.isr_vector)) /* Startup code */
+
+ . = ALIGN(4);
+ *(.text) /* remaining code */
+ *(.text.*) /* remaining code */
+ *(.rodata) /* read-only data (constants) */
+ *(.rodata*)
+ *(.glue_7)
+ *(.glue_7t)
+ *(.gnu.linkonce.t*)
+
+ /* section information for finsh shell */
+ . = ALIGN(4);
+ __fsymtab_start = .;
+ KEEP(*(FSymTab))
+ __fsymtab_end = .;
+
+ . = ALIGN(4);
+ __vsymtab_start = .;
+ KEEP(*(VSymTab))
+ __vsymtab_end = .;
+
+ /* section information for utest */
+ . = ALIGN(4);
+ __rt_utest_tc_tab_start = .;
+ KEEP(*(UtestTcTab))
+ __rt_utest_tc_tab_end = .;
+
+ /* section information for at server */
+ . = ALIGN(4);
+ __rtatcmdtab_start = .;
+ KEEP(*(RtAtCmdTab))
+ __rtatcmdtab_end = .;
+ . = ALIGN(4);
+
+ /* section information for modules */
+ . = ALIGN(4);
+ __rtmsymtab_start = .;
+ KEEP(*(RTMSymTab))
+ __rtmsymtab_end = .;
+
+ /* section information for initial. */
+ . = ALIGN(4);
+ __rt_init_start = .;
+ KEEP(*(SORT(.rti_fn*)))
+ __rt_init_end = .;
+
+ . = ALIGN(4);
+
+ PROVIDE(__ctors_start__ = .);
+ KEEP (*(SORT(.init_array.*)))
+ KEEP (*(.init_array))
+ PROVIDE(__ctors_end__ = .);
+
+ . = ALIGN(4);
+
+ _etext = .;
+ } > ROM = 0
+
+ /* .ARM.exidx is sorted, so has to go in its own output section. */
+ __exidx_start = .;
+ .ARM.exidx :
+ {
+ *(.ARM.exidx* .gnu.linkonce.armexidx.*)
+
+ /* This is used by the startup in order to initialize the .data secion */
+ _sidata = .;
+ } > ROM
+ __exidx_end = .;
+
+ /* .data section which is used for initialized data */
+
+ .data : AT (_sidata)
+ {
+ . = ALIGN(4);
+ /* This is used by the startup in order to initialize the .data secion */
+ _sdata = . ;
+
+ *(.data)
+ *(.data.*)
+ *(.gnu.linkonce.d*)
+
+
+ PROVIDE(__dtors_start__ = .);
+ KEEP(*(SORT(.dtors.*)))
+ KEEP(*(.dtors))
+ PROVIDE(__dtors_end__ = .);
+
+ . = ALIGN(4);
+ /* This is used by the startup in order to initialize the .data secion */
+ _edata = . ;
+ } >RAM
+
+ .stack :
+ {
+ . = ALIGN(4);
+ _sstack = .;
+ . = . + _system_stack_size;
+ . = ALIGN(4);
+ _estack = .;
+ } >RAM
+
+ __bss_start = .;
+ .bss :
+ {
+ . = ALIGN(4);
+ /* This is used by the startup in order to initialize the .bss secion */
+ _sbss = .;
+
+ *(.bss)
+ *(.bss.*)
+ *(COMMON)
+
+ . = ALIGN(4);
+ /* This is used by the startup in order to initialize the .bss secion */
+ _ebss = . ;
+
+ *(.bss.init)
+ } > RAM
+ __bss_end = .;
+
+ .RxDecripSection (NOLOAD) : ALIGN(4)
+ {
+ . = ALIGN(4);
+ *(.RxDecripSection)
+ *(.RxDecripSection.*)
+ . = ALIGN(4);
+ __RxDecripSection_free__ = .;
+ } > RxDecripSection
+
+ .TxDecripSection (NOLOAD) : ALIGN(4)
+ {
+ . = ALIGN(4);
+ *(.TxDecripSection)
+ *(.TxDecripSection.*)
+ . = ALIGN(4);
+ __TxDecripSection_free__ = .;
+ } > TxDecripSection
+
+ .RxArraySection (NOLOAD) : ALIGN(4)
+ {
+ . = ALIGN(4);
+ *(.RxArraySection)
+ *(.RxArraySection.*)
+ . = ALIGN(4);
+ __RxArraySection_free__ = .;
+ } > RxArraySection
+
+ _end = .;
+
+ /* Stabs debugging sections. */
+ .stab 0 : { *(.stab) }
+ .stabstr 0 : { *(.stabstr) }
+ .stab.excl 0 : { *(.stab.excl) }
+ .stab.exclstr 0 : { *(.stab.exclstr) }
+ .stab.index 0 : { *(.stab.index) }
+ .stab.indexstr 0 : { *(.stab.indexstr) }
+ .comment 0 : { *(.comment) }
+ /* DWARF debug sections.
+ * Symbols in the DWARF debugging sections are relative to the beginning
+ * of the section so we begin them at 0. */
+ /* DWARF 1 */
+ .debug 0 : { *(.debug) }
+ .line 0 : { *(.line) }
+ /* GNU DWARF 1 extensions */
+ .debug_srcinfo 0 : { *(.debug_srcinfo) }
+ .debug_sfnames 0 : { *(.debug_sfnames) }
+ /* DWARF 1.1 and DWARF 2 */
+ .debug_aranges 0 : { *(.debug_aranges) }
+ .debug_pubnames 0 : { *(.debug_pubnames) }
+ /* DWARF 2 */
+ .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) }
+ .debug_abbrev 0 : { *(.debug_abbrev) }
+ .debug_line 0 : { *(.debug_line) }
+ .debug_frame 0 : { *(.debug_frame) }
+ .debug_str 0 : { *(.debug_str) }
+ .debug_loc 0 : { *(.debug_loc) }
+ .debug_macinfo 0 : { *(.debug_macinfo) }
+ /* SGI/MIPS DWARF 2 extensions */
+ .debug_weaknames 0 : { *(.debug_weaknames) }
+ .debug_funcnames 0 : { *(.debug_funcnames) }
+ .debug_typenames 0 : { *(.debug_typenames) }
+ .debug_varnames 0 : { *(.debug_varnames) }
+}
diff --git a/bsp/stm32/stm32h750-artpi/board/linker_scripts/link.sct b/bsp/stm32/stm32h750-artpi/board/linker_scripts/link.sct
new file mode 100644
index 0000000000..51eefb972d
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/board/linker_scripts/link.sct
@@ -0,0 +1,17 @@
+; *************************************************************
+; *** Scatter-Loading Description File generated by uVision ***
+; *************************************************************
+
+LR_IROM1 0x90000000 0x00800000 { ; load region size_region
+ ER_IROM1 0x90000000 0x00800000 { ; load address = execution address
+ *.o (RESET, +First)
+ *(InRoot$$Sections)
+ .ANY (+RO)
+ .ANY (+XO)
+ }
+ RW_IRAM1 0x24000000 0x00080000 { ; AXI SRAM 512K
+ .ANY (+RW +ZI)
+ }
+}
+
+
diff --git a/bsp/stm32/stm32h750-artpi/board/port/SConscript b/bsp/stm32/stm32h750-artpi/board/port/SConscript
new file mode 100644
index 0000000000..ca95be14e2
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/board/port/SConscript
@@ -0,0 +1,12 @@
+import os
+from building import *
+
+objs = []
+cwd = GetCurrentDir()
+list = os.listdir(cwd)
+
+for item in list:
+ if os.path.isfile(os.path.join(cwd, item, 'SConscript')):
+ objs = objs + SConscript(os.path.join(item, 'SConscript'))
+
+Return('objs')
diff --git a/bsp/stm32/stm32h750-artpi/board/port/drv_eth.c b/bsp/stm32/stm32h750-artpi/board/port/drv_eth.c
new file mode 100644
index 0000000000..92d3abf7db
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/board/port/drv_eth.c
@@ -0,0 +1,577 @@
+/*
+ * Copyright (c) 2006-2022, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2018-11-19 SummerGift first version
+ * 2018-12-25 zylx fix some bugs
+ * 2019-06-10 SummerGift optimize PHY state detection process
+ * 2019-09-03 xiaofan optimize link change detection process
+ * 2020-07-17 wanghaijing support h7
+ * 2020-11-30 wanghaijing add phy reset
+ */
+
+#include
+#include
+#include "board.h"
+#include "drv_config.h"
+
+#ifdef BSP_USING_ETH_ARTPI
+
+#include
+#include "lwipopts.h"
+#include "drv_eth.h"
+
+/*
+* Emac driver uses CubeMX tool to generate emac and phy's configuration,
+* the configuration files can be found in CubeMX_Config folder.
+*/
+
+/* debug option */
+#define LOG_TAG "drv.emac"
+#include
+
+#define MAX_ADDR_LEN 6
+
+struct rt_stm32_eth
+{
+ /* inherit from ethernet device */
+ struct eth_device parent;
+ #ifndef PHY_USING_INTERRUPT_MODE
+ rt_timer_t poll_link_timer;
+ #endif
+
+ /* interface address info, hw address */
+ rt_uint8_t dev_addr[MAX_ADDR_LEN];
+ /* ETH_Speed */
+ uint32_t ETH_Speed;
+ /* ETH_Duplex_Mode */
+ uint32_t ETH_Mode;
+};
+
+static ETH_HandleTypeDef EthHandle;
+static ETH_TxPacketConfig TxConfig;
+static struct rt_stm32_eth stm32_eth_device;
+static uint8_t PHY_ADDR = 0x1F;
+static rt_uint32_t reset_pin = 0;
+
+#if defined ( __ICCARM__ ) /*!< IAR Compiler */
+ #pragma location=0x30040000
+ ETH_DMADescTypeDef DMARxDscrTab[ETH_RX_DESC_CNT]; /* Ethernet Rx DMA Descriptors */
+ #pragma location=0x30040060
+ ETH_DMADescTypeDef DMATxDscrTab[ETH_TX_DESC_CNT]; /* Ethernet Tx DMA Descriptors */
+ #pragma location=0x30040200
+ uint8_t Rx_Buff[ETH_RX_DESC_CNT][ETH_MAX_PACKET_SIZE]; /* Ethernet Receive Buffers */
+
+#elif defined ( __CC_ARM ) /* MDK ARM Compiler */
+ __attribute__((at(0x30040000))) ETH_DMADescTypeDef DMARxDscrTab[ETH_RX_DESC_CNT]; /* Ethernet Rx DMA Descriptors */
+ __attribute__((at(0x30040060))) ETH_DMADescTypeDef DMATxDscrTab[ETH_TX_DESC_CNT]; /* Ethernet Tx DMA Descriptors */
+ __attribute__((at(0x30040200))) uint8_t Rx_Buff[ETH_RX_DESC_CNT][ETH_MAX_PACKET_SIZE]; /* Ethernet Receive Buffer */
+
+#elif defined ( __GNUC__ ) /* GNU Compiler */
+ ETH_DMADescTypeDef DMARxDscrTab[ETH_RX_DESC_CNT] __attribute__((section(".RxDecripSection"))); /* Ethernet Rx DMA Descriptors */
+ ETH_DMADescTypeDef DMATxDscrTab[ETH_TX_DESC_CNT] __attribute__((section(".TxDecripSection"))); /* Ethernet Tx DMA Descriptors */
+ uint8_t Rx_Buff[ETH_RX_DESC_CNT][ETH_MAX_PACKET_SIZE] __attribute__((section(".RxArraySection"))); /* Ethernet Receive Buffers */
+#endif
+
+#if defined(ETH_RX_DUMP) || defined(ETH_TX_DUMP)
+#define __is_print(ch) ((unsigned int)((ch) - ' ') < 127u - ' ')
+static void dump_hex(const rt_uint8_t *ptr, rt_size_t buflen)
+{
+ unsigned char *buf = (unsigned char *)ptr;
+ int i, j;
+
+ for (i = 0; i < buflen; i += 16)
+ {
+ rt_kprintf("%08X: ", i);
+
+ for (j = 0; j < 16; j++)
+ if (i + j < buflen)
+ rt_kprintf("%02X ", buf[i + j]);
+ else
+ rt_kprintf(" ");
+
+ rt_kprintf(" ");
+
+ for (j = 0; j < 16; j++)
+ if (i + j < buflen)
+ rt_kprintf("%c", __is_print(buf[i + j]) ? buf[i + j] : '.');
+
+ rt_kprintf("\n");
+ }
+}
+#endif
+
+static void phy_reset(void)
+{
+ rt_pin_write(reset_pin, PIN_LOW);
+ rt_thread_mdelay(50);
+ rt_pin_write(reset_pin, PIN_HIGH);
+}
+
+
+/* EMAC initialization function */
+static rt_err_t rt_stm32_eth_init(rt_device_t dev)
+{
+ ETH_MACConfigTypeDef MACConf;
+ uint32_t regvalue = 0;
+ uint8_t status = RT_EOK;
+
+ __HAL_RCC_D2SRAM3_CLK_ENABLE();
+
+ phy_reset();
+
+ /* ETHERNET Configuration */
+ EthHandle.Instance = ETH;
+ EthHandle.Init.MACAddr = (rt_uint8_t *)&stm32_eth_device.dev_addr[0];
+ EthHandle.Init.MediaInterface = HAL_ETH_RMII_MODE;
+ EthHandle.Init.TxDesc = DMATxDscrTab;
+ EthHandle.Init.RxDesc = DMARxDscrTab;
+ EthHandle.Init.RxBuffLen = ETH_MAX_PACKET_SIZE;
+
+ SCB_InvalidateDCache();
+
+ HAL_ETH_DeInit(&EthHandle);
+
+ /* configure ethernet peripheral (GPIOs, clocks, MAC, DMA) */
+ if (HAL_ETH_Init(&EthHandle) != HAL_OK)
+ {
+ LOG_E("eth hardware init failed");
+ }
+ else
+ {
+ LOG_D("eth hardware init success");
+ }
+
+ rt_memset(&TxConfig, 0, sizeof(ETH_TxPacketConfig));
+ TxConfig.Attributes = ETH_TX_PACKETS_FEATURES_CSUM | ETH_TX_PACKETS_FEATURES_CRCPAD;
+ TxConfig.ChecksumCtrl = ETH_CHECKSUM_IPHDR_PAYLOAD_INSERT_PHDR_CALC;
+ TxConfig.CRCPadCtrl = ETH_CRC_PAD_INSERT;
+
+ for (int idx = 0; idx < ETH_RX_DESC_CNT; idx++)
+ {
+ HAL_ETH_DescAssignMemory(&EthHandle, idx, &Rx_Buff[idx][0], NULL);
+ }
+
+ HAL_ETH_SetMDIOClockRange(&EthHandle);
+
+ for(int i = 0; i <= PHY_ADDR; i ++)
+ {
+ if(HAL_ETH_ReadPHYRegister(&EthHandle, i, PHY_SPECIAL_MODES_REG, ®value) != HAL_OK)
+ {
+ status = RT_ERROR;
+ /* Can't read from this device address continue with next address */
+ continue;
+ }
+
+ if((regvalue & PHY_BASIC_STATUS_REG) == i)
+ {
+ PHY_ADDR = i;
+ status = RT_EOK;
+ LOG_D("Found a phy, address:0x%02X", PHY_ADDR);
+ break;
+ }
+ }
+
+ if(HAL_ETH_WritePHYRegister(&EthHandle, PHY_ADDR, PHY_BASIC_CONTROL_REG, PHY_RESET_MASK) == HAL_OK)
+ {
+ HAL_ETH_ReadPHYRegister(&EthHandle, PHY_ADDR, PHY_SPECIAL_MODES_REG, ®value);
+
+ uint32_t tickstart = rt_tick_get();
+
+ /* wait until software reset is done or timeout occured */
+ while(regvalue & PHY_RESET_MASK)
+ {
+ if((rt_tick_get() - tickstart) <= 500)
+ {
+ if(HAL_ETH_ReadPHYRegister(&EthHandle, PHY_ADDR, PHY_BASIC_CONTROL_REG, ®value) != HAL_OK)
+ {
+ status = RT_ERROR;
+ break;
+ }
+ }
+ else
+ {
+ status = RT_ETIMEOUT;
+ }
+ }
+ }
+
+ rt_thread_delay(2000);
+
+ if(HAL_ETH_ReadPHYRegister(&EthHandle, PHY_ADDR, PHY_BASIC_CONTROL_REG, ®value) == HAL_OK)
+ {
+ regvalue |= PHY_AUTO_NEGOTIATION_MASK;
+ HAL_ETH_WritePHYRegister(&EthHandle, PHY_ADDR, PHY_BASIC_CONTROL_REG, regvalue);
+
+ eth_device_linkchange(&stm32_eth_device.parent, RT_TRUE);
+ HAL_ETH_GetMACConfig(&EthHandle, &MACConf);
+ MACConf.DuplexMode = ETH_FULLDUPLEX_MODE;
+ MACConf.Speed = ETH_SPEED_100M;
+ HAL_ETH_SetMACConfig(&EthHandle, &MACConf);
+
+ HAL_ETH_Start_IT(&EthHandle);
+ }
+ else
+ {
+ status = RT_ERROR;
+ }
+
+ return status;
+}
+
+static rt_err_t rt_stm32_eth_open(rt_device_t dev, rt_uint16_t oflag)
+{
+ LOG_D("emac open");
+ return RT_EOK;
+}
+
+static rt_err_t rt_stm32_eth_close(rt_device_t dev)
+{
+ LOG_D("emac close");
+ return RT_EOK;
+}
+
+static rt_size_t rt_stm32_eth_read(rt_device_t dev, rt_off_t pos, void *buffer, rt_size_t size)
+{
+ LOG_D("emac read");
+ rt_set_errno(-RT_ENOSYS);
+ return 0;
+}
+
+static rt_size_t rt_stm32_eth_write(rt_device_t dev, rt_off_t pos, const void *buffer, rt_size_t size)
+{
+ LOG_D("emac write");
+ rt_set_errno(-RT_ENOSYS);
+ return 0;
+}
+
+static rt_err_t rt_stm32_eth_control(rt_device_t dev, int cmd, void *args)
+{
+ switch (cmd)
+ {
+ case NIOCTL_GADDR:
+
+ /* get mac address */
+ if (args) rt_memcpy(args, stm32_eth_device.dev_addr, 6);
+ else return -RT_ERROR;
+
+ break;
+
+ default :
+ break;
+ }
+
+ return RT_EOK;
+}
+
+/* ethernet device interface */
+/* transmit data*/
+rt_err_t rt_stm32_eth_tx(rt_device_t dev, struct pbuf *p)
+{
+ rt_err_t ret = RT_ERROR;
+ HAL_StatusTypeDef state;
+ uint32_t i = 0, framelen = 0;
+ struct pbuf *q;
+ ETH_BufferTypeDef Txbuffer[ETH_TX_DESC_CNT];
+
+ rt_memset(Txbuffer, 0, ETH_TX_DESC_CNT * sizeof(ETH_BufferTypeDef));
+
+ for (q = p; q != NULL; q = q->next)
+ {
+ if (i >= ETH_TX_DESC_CNT)
+ return ERR_IF;
+
+ Txbuffer[i].buffer = q->payload;
+ Txbuffer[i].len = q->len;
+ framelen += q->len;
+
+ if (i > 0)
+ {
+ Txbuffer[i - 1].next = &Txbuffer[i];
+ }
+
+ if (q->next == NULL)
+ {
+ Txbuffer[i].next = NULL;
+ }
+
+ i++;
+ }
+
+ TxConfig.Length = framelen;
+ TxConfig.TxBuffer = Txbuffer;
+
+ #ifdef ETH_TX_DUMP
+ rt_kprintf("Tx dump, len= %d\r\n", framelen);
+ dump_hex(&Txbuffer[0]);
+ #endif
+
+ if (stm32_eth_device.parent.link_status)
+ {
+ SCB_CleanInvalidateDCache();
+ state = HAL_ETH_Transmit(&EthHandle, &TxConfig, 1000);
+
+ if (state != HAL_OK)
+ {
+ LOG_W("eth transmit frame faild: %d", EthHandle.ErrorCode);
+ EthHandle.ErrorCode = HAL_ETH_STATE_READY;
+ EthHandle.gState = HAL_ETH_STATE_READY;
+ }
+ }
+ else
+ {
+ LOG_E("eth transmit frame faild, netif not up");
+ }
+
+ ret = ERR_OK;
+
+ return ret;
+}
+
+/* receive data*/
+struct pbuf *rt_stm32_eth_rx(rt_device_t dev)
+{
+ uint32_t framelength = 0;
+ rt_uint16_t l;
+ struct pbuf *p = RT_NULL, *q;
+ ETH_BufferTypeDef RxBuff;
+ uint32_t alignedAddr;
+
+ if(HAL_ETH_GetRxDataBuffer(&EthHandle, &RxBuff) == HAL_OK)
+ {
+ HAL_ETH_GetRxDataLength(&EthHandle, &framelength);
+
+ /* Build Rx descriptor to be ready for next data reception */
+ HAL_ETH_BuildRxDescriptors(&EthHandle);
+
+ /* Invalidate data cache for ETH Rx Buffers */
+ alignedAddr = (uint32_t)RxBuff.buffer & ~0x1F;
+ SCB_InvalidateDCache_by_Addr((uint32_t *)alignedAddr, (uint32_t)RxBuff.buffer - alignedAddr + framelength);
+
+ p = pbuf_alloc(PBUF_RAW, framelength, PBUF_RAM);
+
+ if (p != NULL)
+ {
+ for (q = p, l = 0; q != NULL; q = q->next)
+ {
+ memcpy((rt_uint8_t *)q->payload, (rt_uint8_t *)&RxBuff.buffer[l], q->len);
+ l = l + q->len;
+ }
+ }
+ }
+
+ return p;
+}
+
+/* interrupt service routine */
+void ETH_IRQHandler(void)
+{
+ /* enter interrupt */
+ rt_interrupt_enter();
+
+ HAL_ETH_IRQHandler(&EthHandle);
+
+ /* leave interrupt */
+ rt_interrupt_leave();
+}
+
+void HAL_ETH_RxCpltCallback(ETH_HandleTypeDef *heth)
+{
+ rt_err_t result;
+ result = eth_device_ready(&(stm32_eth_device.parent));
+
+ if (result != RT_EOK)
+ LOG_I("RxCpltCallback err = %d", result);
+}
+
+void HAL_ETH_ErrorCallback(ETH_HandleTypeDef *heth)
+{
+ LOG_E("eth err");
+}
+
+enum
+{
+ PHY_LINK = (1 << 0),
+ PHY_100M = (1 << 1),
+ PHY_FULL_DUPLEX = (1 << 2),
+};
+
+static void phy_linkchange()
+{
+ static rt_uint8_t phy_speed = 0;
+ rt_uint8_t phy_speed_new = 0;
+ rt_uint32_t status;
+
+ HAL_ETH_ReadPHYRegister(&EthHandle, PHY_ADDR, PHY_BASIC_STATUS_REG, (uint32_t *)&status);
+ LOG_D("phy basic status reg is 0x%X", status);
+
+ if (status & (PHY_AUTONEGO_COMPLETE_MASK | PHY_LINKED_STATUS_MASK))
+ {
+ rt_uint32_t SR = 0;
+
+ phy_speed_new |= PHY_LINK;
+
+ HAL_ETH_ReadPHYRegister(&EthHandle, PHY_ADDR, PHY_Status_REG, (uint32_t *)&SR);
+ LOG_D("phy control status reg is 0x%X", SR);
+
+ if (PHY_Status_SPEED_100M(SR))
+ {
+ phy_speed_new |= PHY_100M;
+ }
+
+ if (PHY_Status_FULL_DUPLEX(SR))
+ {
+ phy_speed_new |= PHY_FULL_DUPLEX;
+ }
+ }
+
+ if (phy_speed != phy_speed_new)
+ {
+ phy_speed = phy_speed_new;
+
+ if (phy_speed & PHY_LINK)
+ {
+ LOG_D("link up");
+
+ if (phy_speed & PHY_100M)
+ {
+ LOG_D("100Mbps");
+ stm32_eth_device.ETH_Speed = ETH_SPEED_100M;
+ }
+ else
+ {
+ stm32_eth_device.ETH_Speed = ETH_SPEED_10M;
+ LOG_D("10Mbps");
+ }
+
+ if (phy_speed & PHY_FULL_DUPLEX)
+ {
+ LOG_D("full-duplex");
+ stm32_eth_device.ETH_Mode = ETH_FULLDUPLEX_MODE;
+ }
+ else
+ {
+ LOG_D("half-duplex");
+ stm32_eth_device.ETH_Mode = ETH_HALFDUPLEX_MODE;
+ }
+
+ /* send link up. */
+ eth_device_linkchange(&stm32_eth_device.parent, RT_TRUE);
+ }
+ else
+ {
+ LOG_I("link down");
+ eth_device_linkchange(&stm32_eth_device.parent, RT_FALSE);
+ }
+ }
+}
+
+#ifdef PHY_USING_INTERRUPT_MODE
+static void eth_phy_isr(void *args)
+{
+ rt_uint32_t status = 0;
+
+ HAL_ETH_ReadPHYRegister(&EthHandle, PHY_ADDR, PHY_INTERRUPT_FLAG_REG, (uint32_t *)&status);
+ LOG_D("phy interrupt status reg is 0x%X", status);
+
+ phy_linkchange();
+}
+#endif /* PHY_USING_INTERRUPT_MODE */
+
+static void phy_monitor_thread_entry(void *parameter)
+{
+ phy_linkchange();
+ #ifdef PHY_USING_INTERRUPT_MODE
+ /* configuration intterrupt pin */
+ rt_pin_mode(PHY_INT_PIN, PIN_MODE_INPUT_PULLUP);
+ rt_pin_attach_irq(PHY_INT_PIN, PIN_IRQ_MODE_FALLING, eth_phy_isr, (void *)"callbackargs");
+ rt_pin_irq_enable(PHY_INT_PIN, PIN_IRQ_ENABLE);
+
+ /* enable phy interrupt */
+ HAL_ETH_WritePHYRegister(&EthHandle, PHY_ADDR, PHY_INTERRUPT_MASK_REG, PHY_INT_MASK);
+ #if defined(PHY_INTERRUPT_CTRL_REG)
+ HAL_ETH_WritePHYRegister(&EthHandle, PHY_ADDR, PHY_INTERRUPT_CTRL_REG, PHY_INTERRUPT_EN);
+ #endif
+ #else /* PHY_USING_INTERRUPT_MODE */
+ stm32_eth_device.poll_link_timer = rt_timer_create("phylnk", (void (*)(void*))phy_linkchange,
+ NULL, RT_TICK_PER_SECOND, RT_TIMER_FLAG_PERIODIC);
+
+ if (!stm32_eth_device.poll_link_timer || rt_timer_start(stm32_eth_device.poll_link_timer) != RT_EOK)
+ {
+ LOG_E("Start link change detection timer failed");
+ }
+
+ #endif /* PHY_USING_INTERRUPT_MODE */
+}
+
+/* Register the EMAC device */
+static int rt_hw_stm32_eth_init(void)
+{
+ rt_err_t state = RT_EOK;
+ reset_pin = rt_pin_get(ETH_RESET_PIN);
+
+ rt_pin_mode(reset_pin, PIN_MODE_OUTPUT);
+ rt_pin_write(reset_pin, PIN_HIGH);
+
+ stm32_eth_device.ETH_Speed = ETH_SPEED_100M;
+ stm32_eth_device.ETH_Mode = ETH_FULLDUPLEX_MODE;
+
+ /* OUI 00-80-E1 STMICROELECTRONICS. */
+ stm32_eth_device.dev_addr[0] = 0x00;
+ stm32_eth_device.dev_addr[1] = 0x80;
+ stm32_eth_device.dev_addr[2] = 0xE1;
+ /* generate MAC addr from 96bit unique ID (only for test). */
+ stm32_eth_device.dev_addr[3] = *(rt_uint8_t *)(UID_BASE + 4);
+ stm32_eth_device.dev_addr[4] = *(rt_uint8_t *)(UID_BASE + 2);
+ stm32_eth_device.dev_addr[5] = *(rt_uint8_t *)(UID_BASE + 0);
+
+ stm32_eth_device.parent.parent.init = rt_stm32_eth_init;
+ stm32_eth_device.parent.parent.open = rt_stm32_eth_open;
+ stm32_eth_device.parent.parent.close = rt_stm32_eth_close;
+ stm32_eth_device.parent.parent.read = rt_stm32_eth_read;
+ stm32_eth_device.parent.parent.write = rt_stm32_eth_write;
+ stm32_eth_device.parent.parent.control = rt_stm32_eth_control;
+ stm32_eth_device.parent.parent.user_data = RT_NULL;
+
+ stm32_eth_device.parent.eth_rx = rt_stm32_eth_rx;
+ stm32_eth_device.parent.eth_tx = rt_stm32_eth_tx;
+
+ /* register eth device */
+ state = eth_device_init(&(stm32_eth_device.parent), "e0");
+
+ if (RT_EOK == state)
+ {
+ LOG_D("emac device init success");
+ }
+ else
+ {
+ LOG_E("emac device init faild: %d", state);
+ state = -RT_ERROR;
+ }
+
+ /* start phy monitor */
+ rt_thread_t tid;
+ tid = rt_thread_create("phy",
+ phy_monitor_thread_entry,
+ RT_NULL,
+ 1024,
+ RT_THREAD_PRIORITY_MAX - 2,
+ 2);
+
+ if (tid != RT_NULL)
+ {
+ rt_thread_startup(tid);
+ }
+ else
+ {
+ state = -RT_ERROR;
+ }
+
+ return state;
+}
+INIT_DEVICE_EXPORT(rt_hw_stm32_eth_init);
+
+#endif /* BSP_USING_ETH_ARTPI */
diff --git a/bsp/stm32/stm32h750-artpi/board/port/drv_eth.h b/bsp/stm32/stm32h750-artpi/board/port/drv_eth.h
new file mode 100644
index 0000000000..3304de69a4
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/board/port/drv_eth.h
@@ -0,0 +1,92 @@
+/*
+ * Copyright (c) 2006-2022, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2018-12-25 zylx first version
+ * 2020-07-18 wanghaijing add SPECIAL_MODES_REG
+ */
+
+#ifndef __DRV_ETH_H__
+#define __DRV_ETH_H__
+
+#include
+#include
+#include
+#include
+
+/* The PHY basic control register */
+#define PHY_BASIC_CONTROL_REG 0x00U
+#define PHY_RESET_MASK (1<<15)
+#define PHY_AUTO_NEGOTIATION_MASK (1<<12)
+
+/* The PHY basic status register */
+#define PHY_BASIC_STATUS_REG 0x01U
+#define PHY_LINKED_STATUS_MASK (1<<2)
+#define PHY_AUTONEGO_COMPLETE_MASK (1<<5)
+
+/* The PHY ID one register */
+#define PHY_ID1_REG 0x02U
+
+/* The PHY ID two register */
+#define PHY_ID2_REG 0x03U
+
+/* The PHY SPECIAL MODES REGISTER */
+#define PHY_SPECIAL_MODES_REG 0x12U
+
+/* The PHY auto-negotiate advertise register */
+#define PHY_AUTONEG_ADVERTISE_REG 0x04U
+
+#define PHY_Status_REG 0x1FU
+#define PHY_FULL_DUPLEX_MASK (1<<4)
+#define PHY_Status_SPEED_10M(sr) ((sr) & PHY_10M_MASK)
+#define PHY_Status_SPEED_100M(sr) ((sr) & PHY_100M_MASK)
+#define PHY_Status_FULL_DUPLEX(sr) ((sr) & PHY_FULL_DUPLEX_MASK)
+
+#ifdef PHY_USING_LAN8720A
+/* The PHY interrupt source flag register. */
+#define PHY_INTERRUPT_FLAG_REG 0x1DU
+/* The PHY interrupt mask register. */
+#define PHY_INTERRUPT_MASK_REG 0x1EU
+#define PHY_LINK_DOWN_MASK (1<<4)
+#define PHY_AUTO_NEGO_COMPLETE_MASK (1<<6)
+
+/* The PHY status register. */
+#define PHY_Status_REG 0x1FU
+#define PHY_10M_MASK (1<<2)
+#define PHY_100M_MASK (1<<3)
+#define PHY_FULL_DUPLEX_MASK (1<<4)
+#endif /* PHY_USING_LAN8720A */
+
+#ifdef PHY_USING_DM9161CEP
+#define PHY_Status_REG 0x11U
+#define PHY_10M_MASK ((1<<12) || (1<<13))
+#define PHY_100M_MASK ((1<<14) || (1<<15))
+#define PHY_FULL_DUPLEX_MASK ((1<<15) || (1<<13))
+/* The PHY interrupt source flag register. */
+#define PHY_INTERRUPT_FLAG_REG 0x15U
+/* The PHY interrupt mask register. */
+#define PHY_INTERRUPT_MASK_REG 0x15U
+#define PHY_LINK_CHANGE_FLAG (1<<2)
+#define PHY_LINK_CHANGE_MASK (1<<9)
+#define PHY_INT_MASK 0
+
+#endif /* PHY_USING_DM9161CEP */
+
+#ifdef PHY_USING_DP83848C
+#define PHY_Status_REG 0x10U
+#define PHY_10M_MASK (1<<1)
+#define PHY_FULL_DUPLEX_MASK (1<<2)
+#define PHY_Status_SPEED_10M(sr) ((sr) & PHY_10M_MASK)
+#define PHY_Status_SPEED_100M(sr) (!PHY_Status_SPEED_10M(sr))
+#define PHY_Status_FULL_DUPLEX(sr) ((sr) & PHY_FULL_DUPLEX_MASK)
+#define PHY_INTERRUPT_FLAG_REG 0x12U
+#define PHY_LINK_CHANGE_FLAG (1<<13)
+#define PHY_INTERRUPT_CTRL_REG 0x11U
+#define PHY_INTERRUPT_EN ((1<<0)|(1<<1))
+#define PHY_INTERRUPT_MASK_REG 0x12U
+#define PHY_INT_MASK (1<<5)
+#endif /* PHY_USING_DP83848C */
+#endif /* __DRV_ETH_H__ */
diff --git a/bsp/stm32/stm32h750-artpi/board/port/drv_lcd_font.h b/bsp/stm32/stm32h750-artpi/board/port/drv_lcd_font.h
new file mode 100644
index 0000000000..a326936b7b
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/board/port/drv_lcd_font.h
@@ -0,0 +1,795 @@
+#ifndef __DRV_LCD_FONT_H__
+#define __DRV_LCD_FONT_H__
+#include
+/* DejaVu Sans Mono */
+/*
+ (0) !(1) "(2) #(3) $(4) %(5) &(6) '(7)
+ ((8) )(9) *(10) +(11) ,(12) -(13) .(14) /(15)
+ 0(16) 1(17) 2(18) 3(19) 4(20) 5(21) 6(22) 7(23)
+ 8(24) 9(25) :(26) ;(27) <(28) =(29) >(30) ?(31)
+ @(32) A(33) B(34) C(35) D(36) E(37) F(38) G(39)
+ H(40) I(41) J(42) K(43) L(44) M(45) N(46) O(47)
+ P(48) Q(49) R(50) S(51) T(52) U(53) V(54) W(55)
+ X(56) Y(57) Z(58) [(59) \(60) ](61) ^(62) _(63)
+ `(64) a(65) b(66) c(67) d(68) e(69) f(70) g(71)
+ h(72) i(73) j(74) k(75) l(76) m(77) n(78) o(79)
+ p(80) q(81) r(82) s(83) t(84) u(85) v(86) w(87)
+ x(88) y(89) z(90) {(91) |(92) }(93)
+*/
+
+#define ASC2_1608
+#define ASC2_2412
+#define ASC2_3216
+
+#if !defined(ASC2_1608) && !defined(ASC2_2412) && !defined(ASC2_2416) && !defined(ASC2_3216)
+#error "There is no any define ASC2_1608 && ASC2_2412 && ASC2_2416 && ASC2_3216 !"
+#endif
+
+#ifdef ASC2_1608
+const uint8_t asc2_1608[]={
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",0*/
+0x00,0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x10,0x10,0x00,0x00,0x00,/*"!",1*/
+0x00,0x00,0x00,0x28,0x28,0x28,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*""",2*/
+0x00,0x00,0x00,0x12,0x12,0x16,0x7F,0x24,0x24,0xFE,0x28,0x48,0x48,0x00,0x00,0x00,/*"#",3*/
+0x00,0x00,0x08,0x08,0x3E,0x49,0x48,0x68,0x3E,0x0B,0x09,0x49,0x3E,0x08,0x08,0x00,/*"$",4*/
+0x00,0x00,0x00,0x60,0x90,0x90,0x62,0x0C,0x30,0x46,0x09,0x09,0x06,0x00,0x00,0x00,/*"%",5*/
+0x00,0x00,0x00,0x1C,0x20,0x20,0x30,0x30,0x49,0x45,0x45,0x62,0x3D,0x00,0x00,0x00,/*"&",6*/
+0x00,0x00,0x00,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"'",7*/
+0x00,0x00,0x0C,0x08,0x08,0x10,0x10,0x10,0x10,0x10,0x10,0x08,0x08,0x04,0x00,0x00,/*"(",8*/
+0x00,0x00,0x30,0x10,0x10,0x08,0x08,0x08,0x08,0x08,0x08,0x10,0x10,0x30,0x00,0x00,/*")",9*/
+0x00,0x00,0x00,0x08,0x49,0x3E,0x1C,0x6B,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"*",10*/
+0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x10,0xFE,0x10,0x10,0x10,0x00,0x00,0x00,0x00,/*"+",11*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x10,0x20,0x00,/*",",12*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,/*"-",13*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,/*".",14*/
+0x00,0x00,0x00,0x02,0x04,0x04,0x04,0x08,0x08,0x10,0x10,0x20,0x20,0x20,0x40,0x00,/*"/",15*/
+0x00,0x00,0x00,0x1C,0x22,0x41,0x41,0x49,0x41,0x41,0x41,0x22,0x1C,0x00,0x00,0x00,/*"0",16*/
+0x00,0x00,0x00,0x18,0x28,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00,0x00,/*"1",17*/
+0x00,0x00,0x00,0x3E,0x43,0x01,0x01,0x02,0x06,0x0C,0x10,0x20,0x7F,0x00,0x00,0x00,/*"2",18*/
+0x00,0x00,0x00,0x3E,0x41,0x01,0x03,0x1C,0x03,0x01,0x01,0x43,0x3E,0x00,0x00,0x00,/*"3",19*/
+0x00,0x00,0x00,0x06,0x0A,0x1A,0x12,0x22,0x42,0x7F,0x02,0x02,0x02,0x00,0x00,0x00,/*"4",20*/
+0x00,0x00,0x00,0x7E,0x40,0x40,0x7C,0x42,0x01,0x01,0x01,0x42,0x3C,0x00,0x00,0x00,/*"5",21*/
+0x00,0x00,0x00,0x1E,0x31,0x60,0x40,0x5E,0x63,0x41,0x41,0x23,0x1E,0x00,0x00,0x00,/*"6",22*/
+0x00,0x00,0x00,0x7F,0x03,0x02,0x04,0x04,0x08,0x08,0x10,0x10,0x20,0x00,0x00,0x00,/*"7",23*/
+0x00,0x00,0x00,0x3E,0x41,0x41,0x41,0x3E,0x63,0x41,0x41,0x63,0x3E,0x00,0x00,0x00,/*"8",24*/
+0x00,0x00,0x00,0x3C,0x62,0x41,0x41,0x63,0x3D,0x01,0x03,0x46,0x3C,0x00,0x00,0x00,/*"9",25*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,/*":",26*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x18,0x18,0x10,0x20,0x00,/*";",27*/
+0x00,0x00,0x00,0x00,0x00,0x01,0x0E,0x38,0x40,0x38,0x0E,0x01,0x00,0x00,0x00,0x00,/*"<",28*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,/*"=",29*/
+0x00,0x00,0x00,0x00,0x00,0x40,0x38,0x0E,0x01,0x0E,0x38,0x40,0x00,0x00,0x00,0x00,/*">",30*/
+0x00,0x00,0x00,0x38,0x44,0x04,0x0C,0x18,0x10,0x10,0x00,0x10,0x10,0x00,0x00,0x00,/*"?",31*/
+0x00,0x00,0x00,0x1E,0x33,0x21,0x47,0x49,0x49,0x49,0x49,0x47,0x20,0x30,0x0E,0x00,/*"@",32*/
+0x00,0x00,0x00,0x08,0x14,0x14,0x14,0x14,0x22,0x3E,0x22,0x41,0x41,0x00,0x00,0x00,/*"A",33*/
+0x00,0x00,0x00,0x7E,0x41,0x41,0x41,0x7E,0x43,0x41,0x41,0x43,0x7E,0x00,0x00,0x00,/*"B",34*/
+0x00,0x00,0x00,0x1E,0x21,0x40,0x40,0x40,0x40,0x40,0x40,0x21,0x1E,0x00,0x00,0x00,/*"C",35*/
+0x00,0x00,0x00,0x7C,0x42,0x41,0x41,0x41,0x41,0x41,0x41,0x42,0x7C,0x00,0x00,0x00,/*"D",36*/
+0x00,0x00,0x00,0x7F,0x40,0x40,0x40,0x7F,0x40,0x40,0x40,0x40,0x7F,0x00,0x00,0x00,/*"E",37*/
+0x00,0x00,0x00,0x7F,0x40,0x40,0x40,0x7F,0x40,0x40,0x40,0x40,0x40,0x00,0x00,0x00,/*"F",38*/
+0x00,0x00,0x00,0x1E,0x21,0x40,0x40,0x40,0x43,0x41,0x41,0x21,0x1E,0x00,0x00,0x00,/*"G",39*/
+0x00,0x00,0x00,0x41,0x41,0x41,0x41,0x7F,0x41,0x41,0x41,0x41,0x41,0x00,0x00,0x00,/*"H",40*/
+0x00,0x00,0x00,0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00,0x00,/*"I",41*/
+0x00,0x00,0x00,0x1C,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x44,0x38,0x00,0x00,0x00,/*"J",42*/
+0x00,0x00,0x00,0x42,0x44,0x48,0x50,0x70,0x78,0x48,0x44,0x46,0x42,0x00,0x00,0x00,/*"K",43*/
+0x00,0x00,0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7F,0x00,0x00,0x00,/*"L",44*/
+0x00,0x00,0x00,0x63,0x63,0x55,0x55,0x55,0x49,0x41,0x41,0x41,0x41,0x00,0x00,0x00,/*"M",45*/
+0x00,0x00,0x00,0x61,0x61,0x51,0x51,0x49,0x49,0x45,0x45,0x43,0x43,0x00,0x00,0x00,/*"N",46*/
+0x00,0x00,0x00,0x1C,0x22,0x41,0x41,0x41,0x41,0x41,0x41,0x22,0x1C,0x00,0x00,0x00,/*"O",47*/
+0x00,0x00,0x00,0x7E,0x43,0x41,0x41,0x43,0x7E,0x40,0x40,0x40,0x40,0x00,0x00,0x00,/*"P",48*/
+0x00,0x00,0x00,0x1C,0x22,0x41,0x41,0x41,0x41,0x41,0x41,0x22,0x1E,0x06,0x02,0x00,/*"Q",49*/
+0x00,0x00,0x00,0x7E,0x43,0x41,0x41,0x43,0x7C,0x42,0x41,0x41,0x40,0x00,0x00,0x00,/*"R",50*/
+0x00,0x00,0x00,0x1E,0x61,0x40,0x40,0x30,0x0E,0x01,0x01,0x43,0x3E,0x00,0x00,0x00,/*"S",51*/
+0x00,0x00,0x00,0xFE,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,/*"T",52*/
+0x00,0x00,0x00,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x63,0x3E,0x00,0x00,0x00,/*"U",53*/
+0x00,0x00,0x00,0x41,0x41,0x22,0x22,0x22,0x14,0x14,0x14,0x14,0x08,0x00,0x00,0x00,/*"V",54*/
+0x00,0x00,0x00,0x81,0x81,0x81,0x5A,0x5A,0x5A,0x66,0x66,0x66,0x66,0x00,0x00,0x00,/*"W",55*/
+0x00,0x00,0x00,0x41,0x22,0x14,0x14,0x08,0x14,0x14,0x22,0x22,0x41,0x00,0x00,0x00,/*"X",56*/
+0x00,0x00,0x00,0x82,0x44,0x44,0x28,0x38,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,/*"Y",57*/
+0x00,0x00,0x00,0x7F,0x03,0x02,0x04,0x08,0x08,0x10,0x20,0x60,0x7F,0x00,0x00,0x00,/*"Z",58*/
+0x00,0x00,0x1C,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1C,0x00,0x00,/*"[",59*/
+0x00,0x00,0x00,0x40,0x20,0x20,0x20,0x10,0x10,0x08,0x08,0x04,0x04,0x04,0x02,0x00,/*"\",60*/
+0x00,0x00,0x38,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x38,0x00,0x00,/*"]",61*/
+0x00,0x00,0x00,0x10,0x28,0x44,0xC6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"^",62*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,/*"_",63*/
+0x00,0x30,0x10,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"`",64*/
+0x00,0x00,0x00,0x00,0x00,0x1C,0x22,0x02,0x3E,0x42,0x42,0x46,0x3A,0x00,0x00,0x00,/*"a",65*/
+0x00,0x00,0x40,0x40,0x40,0x7C,0x64,0x42,0x42,0x42,0x42,0x64,0x5C,0x00,0x00,0x00,/*"b",66*/
+0x00,0x00,0x00,0x00,0x00,0x1C,0x22,0x40,0x40,0x40,0x40,0x22,0x1C,0x00,0x00,0x00,/*"c",67*/
+0x00,0x00,0x02,0x02,0x02,0x3E,0x26,0x42,0x42,0x42,0x42,0x26,0x3A,0x00,0x00,0x00,/*"d",68*/
+0x00,0x00,0x00,0x00,0x00,0x3C,0x26,0x42,0x7E,0x40,0x40,0x22,0x1C,0x00,0x00,0x00,/*"e",69*/
+0x00,0x00,0x0C,0x10,0x10,0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,/*"f",70*/
+0x00,0x00,0x00,0x00,0x00,0x3A,0x26,0x42,0x42,0x42,0x42,0x26,0x3A,0x02,0x22,0x1C,/*"g",71*/
+0x00,0x00,0x40,0x40,0x40,0x5C,0x62,0x42,0x42,0x42,0x42,0x42,0x42,0x00,0x00,0x00,/*"h",72*/
+0x00,0x00,0x10,0x10,0x00,0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00,0x00,/*"i",73*/
+0x00,0x00,0x08,0x08,0x00,0x38,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x70,/*"j",74*/
+0x00,0x00,0x40,0x40,0x40,0x44,0x48,0x50,0x70,0x48,0x48,0x44,0x42,0x00,0x00,0x00,/*"k",75*/
+0x00,0x00,0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x0E,0x00,0x00,0x00,/*"l",76*/
+0x00,0x00,0x00,0x00,0x00,0x7E,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x00,0x00,0x00,/*"m",77*/
+0x00,0x00,0x00,0x00,0x00,0x5C,0x62,0x42,0x42,0x42,0x42,0x42,0x42,0x00,0x00,0x00,/*"n",78*/
+0x00,0x00,0x00,0x00,0x00,0x3C,0x66,0x42,0x42,0x42,0x42,0x66,0x3C,0x00,0x00,0x00,/*"o",79*/
+0x00,0x00,0x00,0x00,0x00,0x5C,0x64,0x42,0x42,0x42,0x42,0x64,0x7C,0x40,0x40,0x40,/*"p",80*/
+0x00,0x00,0x00,0x00,0x00,0x3A,0x26,0x42,0x42,0x42,0x42,0x26,0x3A,0x02,0x02,0x02,/*"q",81*/
+0x00,0x00,0x00,0x00,0x00,0x3C,0x32,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x00,/*"r",82*/
+0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x40,0x70,0x0E,0x02,0x42,0x3C,0x00,0x00,0x00,/*"s",83*/
+0x00,0x00,0x00,0x10,0x10,0x7E,0x10,0x10,0x10,0x10,0x10,0x10,0x0E,0x00,0x00,0x00,/*"t",84*/
+0x00,0x00,0x00,0x00,0x00,0x42,0x42,0x42,0x42,0x42,0x42,0x46,0x3A,0x00,0x00,0x00,/*"u",85*/
+0x00,0x00,0x00,0x00,0x00,0x42,0x42,0x24,0x24,0x24,0x18,0x18,0x18,0x00,0x00,0x00,/*"v",86*/
+0x00,0x00,0x00,0x00,0x00,0x81,0x81,0x5A,0x5A,0x5A,0x5A,0x24,0x24,0x00,0x00,0x00,/*"w",87*/
+0x00,0x00,0x00,0x00,0x00,0x42,0x24,0x18,0x18,0x18,0x24,0x24,0x42,0x00,0x00,0x00,/*"x",88*/
+0x00,0x00,0x00,0x00,0x00,0x42,0x22,0x24,0x24,0x14,0x18,0x18,0x08,0x08,0x10,0x30,/*"y",89*/
+0x00,0x00,0x00,0x00,0x00,0x7E,0x02,0x04,0x08,0x10,0x20,0x40,0x7E,0x00,0x00,0x00,/*"z",90*/
+0x00,0x00,0x0C,0x10,0x10,0x10,0x10,0x10,0x60,0x10,0x10,0x10,0x10,0x10,0x0C,0x00,/*"{",91*/
+0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,/*"|",92*/
+0x00,0x00,0x60,0x10,0x10,0x10,0x10,0x10,0x0C,0x10,0x10,0x10,0x10,0x10,0x60,0x00,/*"}",93*/
+};
+#endif
+
+#ifdef ASC2_2412
+const uint8_t asc2_2412[]={
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",0*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
+0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,
+0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"!",1*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x80,0x19,0x80,0x19,0x80,0x19,0x80,
+0x19,0x80,0x19,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*""",2*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x60,0x04,0x40,0x0C,0xC0,0x0C,0xC0,
+0x7F,0xF0,0x7F,0xF0,0x08,0x80,0x19,0x80,0x19,0x80,0xFF,0xE0,0xFF,0xE0,0x33,0x00,
+0x33,0x00,0x22,0x00,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"#",3*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x02,0x00,0x0F,0x80,0x1F,0xC0,0x3A,0x40,
+0x32,0x00,0x32,0x00,0x3A,0x00,0x1F,0x00,0x07,0xC0,0x02,0xE0,0x02,0x60,0x02,0x60,
+0x22,0xE0,0x3F,0xC0,0x1F,0x80,0x02,0x00,0x02,0x00,0x02,0x00,0x00,0x00,0x00,0x00,/*"$",4*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x48,0x00,0xCC,0x00,0xCC,0x00,
+0xCC,0x00,0x48,0x40,0x79,0xC0,0x0E,0x00,0x73,0xC0,0x02,0x40,0x06,0x60,0x06,0x60,
+0x06,0x60,0x02,0x40,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"%",5*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x1F,0x80,0x18,0x00,0x18,0x00,
+0x18,0x00,0x0C,0x00,0x1E,0x00,0x36,0x30,0x63,0x30,0x63,0xB0,0x61,0xA0,0x60,0xE0,
+0x30,0xC0,0x3F,0x60,0x0E,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"&",6*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
+0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"'",7*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x02,0x00,0x02,0x00,0x06,0x00,0x06,0x00,
+0x04,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,
+0x04,0x00,0x06,0x00,0x06,0x00,0x02,0x00,0x02,0x00,0x01,0x00,0x00,0x00,0x00,0x00,/*"(",8*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x04,0x00,0x04,0x00,0x06,0x00,0x06,0x00,
+0x02,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,
+0x02,0x00,0x06,0x00,0x06,0x00,0x04,0x00,0x04,0x00,0x08,0x00,0x00,0x00,0x00,0x00,/*")",9*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x04,0x00,0x44,0x40,0x35,0x80,
+0x0E,0x00,0x0E,0x00,0x35,0x80,0x44,0x40,0x04,0x00,0x04,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"*",10*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x06,0x00,
+0x06,0x00,0x06,0x00,0x06,0x00,0x7F,0xE0,0x7F,0xE0,0x06,0x00,0x06,0x00,0x06,0x00,
+0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"+",11*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,/*",",12*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x1F,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"-",13*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*".",14*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0xC0,0x00,0xC0,0x01,0x80,
+0x01,0x80,0x03,0x00,0x03,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x0C,0x00,0x0C,0x00,
+0x18,0x00,0x18,0x00,0x30,0x00,0x30,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"/",15*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x3F,0x80,0x31,0x80,0x71,0xC0,
+0x60,0xC0,0x60,0xC0,0x66,0xC0,0x66,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x71,0xC0,
+0x31,0x80,0x3F,0x80,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"0",16*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x1F,0x00,0x1B,0x00,0x03,0x00,
+0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,
+0x03,0x00,0x1F,0xE0,0x1F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"1",17*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x7F,0x80,0x41,0xC0,0x00,0xC0,
+0x00,0xC0,0x00,0xC0,0x01,0xC0,0x01,0x80,0x03,0x00,0x06,0x00,0x0C,0x00,0x18,0x00,
+0x30,0x00,0x7F,0xC0,0x7F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"2",18*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x7F,0x80,0x41,0xC0,0x00,0xC0,
+0x00,0xC0,0x01,0xC0,0x0F,0x80,0x0F,0x80,0x01,0x80,0x00,0xC0,0x00,0xC0,0x00,0xC0,
+0x41,0xC0,0x7F,0x80,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"3",19*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x03,0x80,0x07,0x80,0x05,0x80,
+0x0D,0x80,0x09,0x80,0x19,0x80,0x31,0x80,0x31,0x80,0x61,0x80,0x7F,0xE0,0x7F,0xE0,
+0x01,0x80,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"4",20*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x80,0x3F,0x80,0x30,0x00,0x30,0x00,
+0x30,0x00,0x3F,0x00,0x3F,0x80,0x21,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,
+0x41,0x80,0x7F,0x80,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"5",21*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x1F,0x80,0x38,0x80,0x30,0x00,
+0x70,0x00,0x60,0x00,0x6F,0x00,0x7F,0x80,0x71,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,
+0x31,0xC0,0x3F,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"6",22*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xC0,0x7F,0xC0,0x01,0x80,0x01,0x80,
+0x01,0x80,0x03,0x00,0x03,0x00,0x03,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x0C,0x00,
+0x0C,0x00,0x0C,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"7",23*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x3F,0x80,0x71,0xC0,0x60,0xC0,
+0x60,0xC0,0x31,0x80,0x1F,0x00,0x3F,0x80,0x31,0x80,0x60,0xC0,0x60,0xC0,0x60,0xC0,
+0x71,0xC0,0x3F,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"8",24*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x3F,0x80,0x71,0x80,0x60,0xC0,
+0x60,0xC0,0x60,0xC0,0x71,0xC0,0x3F,0xC0,0x1E,0xC0,0x00,0xC0,0x00,0xC0,0x01,0x80,
+0x23,0x80,0x3F,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"9",25*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*":",26*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,/*";",27*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,
+0x01,0xE0,0x07,0x80,0x1E,0x00,0x70,0x00,0x70,0x00,0x1E,0x00,0x07,0x80,0x01,0xE0,
+0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"<",28*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x7F,0xE0,0x7F,0xE0,0x00,0x00,0x00,0x00,0x7F,0xE0,0x7F,0xE0,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"=",29*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,
+0x78,0x00,0x1E,0x00,0x07,0x80,0x00,0xE0,0x00,0xE0,0x07,0x80,0x1E,0x00,0x78,0x00,
+0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*">",30*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x1F,0xC0,0x10,0x60,0x00,0x60,
+0x00,0xE0,0x01,0xC0,0x03,0x80,0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,
+0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"?",31*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x18,0xC0,0x30,0x60,
+0x30,0x60,0x23,0xE0,0x62,0x60,0x66,0x60,0x66,0x60,0x66,0x60,0x66,0x60,0x66,0x60,
+0x62,0x60,0x33,0xE0,0x30,0x00,0x18,0x00,0x1C,0x00,0x07,0x80,0x00,0x00,0x00,0x00,/*"@",32*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x0F,0x00,0x0F,0x00,
+0x0F,0x00,0x1F,0x80,0x19,0x80,0x19,0x80,0x19,0x80,0x3F,0xC0,0x3F,0xC0,0x30,0xC0,
+0x30,0xC0,0x60,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"A",33*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x7F,0x80,0x61,0xC0,0x60,0xC0,
+0x60,0xC0,0x61,0xC0,0x7F,0x80,0x7F,0x80,0x60,0xC0,0x60,0x60,0x60,0x60,0x60,0x60,
+0x60,0xE0,0x7F,0xC0,0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"B",34*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xC0,0x1F,0xE0,0x38,0x20,0x30,0x00,
+0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x30,0x00,
+0x38,0x20,0x1F,0xE0,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"C",35*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x7F,0x80,0x61,0xC0,0x60,0xC0,
+0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0xC0,
+0x61,0xC0,0x7F,0x80,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"D",36*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xE0,0x7F,0xE0,0x60,0x00,0x60,0x00,
+0x60,0x00,0x60,0x00,0x7F,0xE0,0x7F,0xE0,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,
+0x60,0x00,0x7F,0xE0,0x7F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"E",37*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xE0,0x7F,0xE0,0x60,0x00,0x60,0x00,
+0x60,0x00,0x60,0x00,0x7F,0xC0,0x7F,0xC0,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,
+0x60,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"F",38*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x1F,0xC0,0x38,0x40,0x30,0x00,
+0x60,0x00,0x60,0x00,0x60,0x00,0x61,0xE0,0x61,0xE0,0x60,0x60,0x60,0x60,0x30,0x60,
+0x38,0x60,0x1F,0xE0,0x0F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"G",39*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,
+0x60,0x60,0x60,0x60,0x7F,0xE0,0x7F,0xE0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,
+0x60,0x60,0x60,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"H",40*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xC0,0x3F,0xC0,0x06,0x00,0x06,0x00,
+0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
+0x06,0x00,0x3F,0xC0,0x3F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"I",41*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x80,0x1F,0x80,0x01,0x80,0x01,0x80,
+0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,
+0x43,0x80,0x7F,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"J",42*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0xC0,0x61,0x80,0x63,0x00,
+0x66,0x00,0x6C,0x00,0x7C,0x00,0x7E,0x00,0x76,0x00,0x63,0x00,0x63,0x80,0x61,0x80,
+0x60,0xC0,0x60,0xE0,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"K",43*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,
+0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,
+0x60,0x00,0x7F,0xE0,0x7F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"L",44*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0xE0,0x70,0xE0,0x70,0xE0,0x79,0xE0,
+0x69,0x60,0x69,0x60,0x6F,0x60,0x66,0x60,0x66,0x60,0x66,0x60,0x60,0x60,0x60,0x60,
+0x60,0x60,0x60,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"M",45*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x60,0x70,0x60,0x78,0x60,0x78,0x60,
+0x6C,0x60,0x6C,0x60,0x64,0x60,0x66,0x60,0x62,0x60,0x63,0x60,0x63,0x60,0x61,0xE0,
+0x61,0xE0,0x60,0xE0,0x60,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"N",46*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x3F,0xC0,0x30,0xC0,0x70,0xE0,
+0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x70,0xE0,
+0x30,0xC0,0x3F,0xC0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"O",47*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x80,0x7F,0xC0,0x60,0xE0,0x60,0x60,
+0x60,0x60,0x60,0x60,0x60,0xE0,0x7F,0xC0,0x7F,0x80,0x60,0x00,0x60,0x00,0x60,0x00,
+0x60,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"P",48*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x3F,0xC0,0x30,0xC0,0x70,0xE0,
+0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x70,0xE0,
+0x30,0xC0,0x1F,0x80,0x0F,0x00,0x01,0x80,0x00,0xC0,0x00,0x80,0x00,0x00,0x00,0x00,/*"Q",49*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x7F,0xC0,0x60,0xE0,0x60,0x60,
+0x60,0x60,0x60,0x60,0x60,0xC0,0x7F,0xC0,0x7F,0x80,0x61,0xC0,0x60,0xC0,0x60,0x60,
+0x60,0x60,0x60,0x30,0x60,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"R",50*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x80,0x3F,0xC0,0x70,0x40,0x60,0x00,
+0x60,0x00,0x70,0x00,0x3E,0x00,0x1F,0x80,0x01,0xC0,0x00,0x60,0x00,0x60,0x00,0x60,
+0x40,0xE0,0x7F,0xC0,0x3F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"S",51*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xF0,0xFF,0xF0,0x06,0x00,0x06,0x00,
+0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
+0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"T",52*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,
+0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,
+0x70,0xE0,0x3F,0xC0,0x1F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"U",53*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x60,0x30,0xC0,0x30,0xC0,
+0x30,0xC0,0x30,0xC0,0x19,0x80,0x19,0x80,0x19,0x80,0x1F,0x80,0x0F,0x00,0x0F,0x00,
+0x0F,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"V",54*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x30,0xC0,0x30,0xC0,0x30,0x60,0x60,
+0x66,0x60,0x66,0x60,0x6F,0x60,0x6F,0x60,0x69,0x60,0x69,0x60,0x39,0xC0,0x39,0xC0,
+0x39,0xC0,0x30,0xC0,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"W",55*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0xE0,0x30,0xC0,0x39,0xC0,0x19,0x80,
+0x0F,0x00,0x0F,0x00,0x06,0x00,0x06,0x00,0x0F,0x00,0x0F,0x00,0x1B,0x80,0x19,0x80,
+0x31,0xC0,0x30,0xC0,0x60,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"X",56*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x70,0x60,0x60,0x30,0xC0,0x30,0xC0,
+0x19,0x80,0x1F,0x80,0x0F,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
+0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"Y",57*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xE0,0x7F,0xE0,0x00,0xC0,0x01,0xC0,
+0x01,0x80,0x03,0x00,0x07,0x00,0x06,0x00,0x0E,0x00,0x0C,0x00,0x18,0x00,0x38,0x00,
+0x30,0x00,0x7F,0xE0,0x7F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"Z",58*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x07,0x80,0x06,0x00,0x06,0x00,0x06,0x00,
+0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
+0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x07,0x80,0x07,0x80,0x00,0x00,0x00,0x00,/*"[",59*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x30,0x00,0x30,0x00,0x18,0x00,
+0x18,0x00,0x0C,0x00,0x0C,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x03,0x00,0x03,0x00,
+0x01,0x80,0x01,0x80,0x00,0xC0,0x00,0xC0,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,/*"\",60*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x0F,0x00,0x03,0x00,0x03,0x00,0x03,0x00,
+0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,
+0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x0F,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,/*"]",61*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x0F,0x80,0x0D,0x80,0x18,0xC0,
+0x30,0x60,0x60,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"^",62*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xF0,0xFF,0xF0,/*"_",63*/
+0x00,0x00,0x00,0x00,0x18,0x00,0x0C,0x00,0x06,0x00,0x03,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"`",64*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x1F,0x00,0x3F,0x80,0x21,0xC0,0x00,0xC0,0x1F,0xC0,0x3F,0xC0,0x70,0xC0,0x60,0xC0,
+0x61,0xC0,0x7F,0xC0,0x1C,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"a",65*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,
+0x6F,0x00,0x7F,0x80,0x71,0x80,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,
+0x71,0x80,0x7F,0x80,0x6F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"b",66*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x0F,0x00,0x3F,0x80,0x30,0x80,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,
+0x30,0x80,0x3F,0x80,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"c",67*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,
+0x1E,0xC0,0x3F,0xC0,0x31,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,
+0x31,0xC0,0x3F,0xC0,0x1E,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"d",68*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x0F,0x00,0x3F,0x80,0x31,0xC0,0x60,0xC0,0x7F,0xC0,0x7F,0xC0,0x60,0x00,0x60,0x00,
+0x30,0x40,0x3F,0xC0,0x0F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"e",69*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xE0,0x03,0xE0,0x06,0x00,0x06,0x00,0x06,0x00,
+0x3F,0xE0,0x3F,0xE0,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
+0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"f",70*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x1E,0xC0,0x3F,0xC0,0x31,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,
+0x31,0xC0,0x3F,0xC0,0x1E,0xC0,0x00,0xC0,0x21,0xC0,0x3F,0x80,0x1F,0x00,0x00,0x00,/*"g",71*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,
+0x67,0x00,0x7F,0x80,0x71,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,
+0x60,0xC0,0x60,0xC0,0x60,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"h",72*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x3E,0x00,0x3E,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
+0x06,0x00,0x7F,0xE0,0x7F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"i",73*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x1F,0x00,0x1F,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,
+0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x3E,0x00,0x3C,0x00,0x00,0x00,/*"j",74*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,
+0x61,0xC0,0x63,0x80,0x67,0x00,0x6E,0x00,0x7C,0x00,0x7C,0x00,0x76,0x00,0x67,0x00,
+0x63,0x00,0x61,0x80,0x61,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"k",75*/
+0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x00,0xFC,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,
+0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,
+0x0E,0x00,0x07,0xC0,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"l",76*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x6D,0xC0,0x7F,0xE0,0x66,0x60,0x66,0x60,0x66,0x60,0x66,0x60,0x66,0x60,0x66,0x60,
+0x66,0x60,0x66,0x60,0x66,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"m",77*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x67,0x00,0x7F,0x80,0x71,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,
+0x60,0xC0,0x60,0xC0,0x60,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"n",78*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x1F,0x00,0x3F,0x80,0x31,0x80,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,
+0x31,0x80,0x3F,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"o",79*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x6F,0x00,0x7F,0x80,0x71,0x80,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,
+0x71,0x80,0x7F,0x80,0x6F,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x00,0x00,/*"p",80*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x1E,0xC0,0x3F,0xC0,0x31,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,
+0x31,0xC0,0x3F,0xC0,0x1E,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0x00,/*"q",81*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x0C,0xE0,0x0D,0xF0,0x0F,0x10,0x0E,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,
+0x0C,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"r",82*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x1F,0x80,0x3F,0xC0,0x60,0x40,0x60,0x00,0x7F,0x00,0x1F,0x80,0x01,0xC0,0x00,0xC0,
+0x41,0xC0,0x7F,0x80,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"s",83*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,
+0x7F,0xC0,0x7F,0xC0,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,
+0x0C,0x00,0x0F,0xC0,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"t",84*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,
+0x71,0xC0,0x3F,0xC0,0x1C,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"u",85*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x60,0xC0,0x71,0xC0,0x31,0x80,0x31,0x80,0x3B,0x80,0x1B,0x00,0x1B,0x00,0x1B,0x00,
+0x0E,0x00,0x0E,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"v",86*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xC0,0x30,0xC0,0x30,0x60,0x60,0x66,0x60,0x66,0x60,0x66,0x60,0x3F,0xC0,0x39,0xC0,
+0x39,0xC0,0x39,0xC0,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"w",87*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x71,0xC0,0x31,0x80,0x1B,0x00,0x1F,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x1F,0x00,
+0x1B,0x00,0x31,0x80,0x71,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"x",88*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x60,0xC0,0x31,0x80,0x31,0x80,0x31,0x80,0x1B,0x00,0x1B,0x00,0x1F,0x00,0x0E,0x00,
+0x0E,0x00,0x06,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x38,0x00,0x38,0x00,0x00,0x00,/*"y",89*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x7F,0xC0,0x7F,0xC0,0x03,0x80,0x03,0x00,0x07,0x00,0x0E,0x00,0x1C,0x00,0x18,0x00,
+0x30,0x00,0x7F,0xC0,0x7F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"z",90*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x07,0xC0,0x06,0x00,0x06,0x00,0x06,0x00,
+0x06,0x00,0x06,0x00,0x06,0x00,0x3C,0x00,0x3C,0x00,0x0E,0x00,0x06,0x00,0x06,0x00,
+0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x07,0xC0,0x03,0xC0,0x00,0x00,0x00,0x00,/*"{",91*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
+0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
+0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,/*"|",92*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x3E,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
+0x06,0x00,0x06,0x00,0x06,0x00,0x03,0xC0,0x03,0xC0,0x07,0x00,0x06,0x00,0x06,0x00,
+0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x3E,0x00,0x3C,0x00,0x00,0x00,0x00,0x00,/*"}",93*/
+};
+#endif
+
+#ifdef ASC2_3216
+const uint8_t asc2_3216[]={
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",0*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x01,0xC0,
+0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,
+0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,
+0x01,0xC0,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"!",1*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x30,0x06,0x30,
+0x06,0x30,0x06,0x30,0x06,0x30,0x06,0x30,0x06,0x30,0x06,0x30,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*""",2*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x8C,0x03,0x8C,0x03,0x0C,
+0x03,0x18,0x03,0x18,0x03,0x18,0x7F,0xFF,0x7F,0xFF,0x06,0x30,0x06,0x30,0x0E,0x30,
+0x0C,0x70,0x0C,0x60,0xFF,0xFE,0xFF,0xFE,0x18,0x60,0x18,0xC0,0x18,0xC0,0x18,0xC0,
+0x30,0xC0,0x31,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"#",3*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x80,0x00,0x80,
+0x03,0xF0,0x0F,0xFC,0x0E,0x8C,0x1C,0x80,0x1C,0x80,0x1C,0x80,0x1C,0x80,0x0E,0x80,
+0x0F,0xE0,0x03,0xF8,0x00,0xFC,0x00,0x9E,0x00,0x8E,0x00,0x8E,0x00,0x8E,0x10,0x9C,
+0x1F,0xF8,0x07,0xF0,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x00,0x00,0x00,/*"$",4*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x7E,0x00,
+0xE7,0x00,0xC3,0x00,0xC3,0x00,0xC3,0x00,0xE7,0x00,0x7E,0x1C,0x3C,0x78,0x01,0xC0,
+0x07,0x00,0x3C,0x78,0x70,0xFC,0x01,0xCE,0x01,0x86,0x01,0x86,0x01,0x86,0x01,0xCE,
+0x00,0xFC,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"%",5*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xC0,0x0F,0xE0,
+0x1E,0x20,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1E,0x00,0x0E,0x00,0x0F,0x00,0x1F,0x00,
+0x3F,0x83,0x33,0xC3,0x71,0xE3,0x70,0xE3,0x70,0xF6,0x70,0x7E,0x78,0x3C,0x3C,0x3E,
+0x1F,0xEE,0x07,0xCF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"&",6*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,
+0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"'",7*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x60,0x00,0x60,
+0x00,0xE0,0x00,0xC0,0x01,0xC0,0x01,0xC0,0x01,0x80,0x03,0x80,0x03,0x80,0x03,0x80,
+0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x01,0x80,0x01,0xC0,
+0x01,0xC0,0x00,0xC0,0x00,0xE0,0x00,0x60,0x00,0x60,0x00,0x30,0x00,0x00,0x00,0x00,/*"(",8*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x03,0x00,0x03,0x00,
+0x03,0x80,0x01,0x80,0x01,0xC0,0x01,0xC0,0x00,0xC0,0x00,0xE0,0x00,0xE0,0x00,0xE0,
+0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xC0,0x01,0xC0,
+0x01,0xC0,0x01,0x80,0x03,0x80,0x03,0x00,0x03,0x00,0x06,0x00,0x00,0x00,0x00,0x00,/*")",9*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,
+0x21,0x84,0x39,0x9C,0x0F,0xF0,0x03,0xC0,0x03,0xC0,0x0F,0xF0,0x39,0x9C,0x21,0x84,
+0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"*",10*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,
+0x7F,0xFE,0x7F,0xFE,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"+",11*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x01,0xC0,
+0x01,0xC0,0x01,0xC0,0x01,0x80,0x03,0x80,0x03,0x80,0x03,0x00,0x00,0x00,0x00,0x00,/*",",12*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x07,0xF0,0x07,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"-",13*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x03,0x80,
+0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*".",14*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x38,
+0x00,0x38,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0xE0,0x00,0xE0,0x01,0xC0,0x01,0xC0,
+0x03,0x80,0x03,0x80,0x03,0x80,0x07,0x00,0x07,0x00,0x0E,0x00,0x0E,0x00,0x1C,0x00,
+0x1C,0x00,0x1C,0x00,0x38,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"/",15*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xE0,0x0F,0xF8,
+0x0E,0x38,0x1C,0x1C,0x1C,0x1C,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x39,0xCE,0x39,0xCE,
+0x39,0xCE,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x1C,0x1C,0x1C,0x1C,0x0E,0x38,
+0x0F,0xF8,0x03,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"0",16*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xE0,0x0F,0xE0,
+0x0C,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,
+0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,
+0x0F,0xFE,0x0F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"1",17*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xE0,0x3F,0xF8,
+0x38,0x3C,0x20,0x1E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x1E,0x00,0x3C,
+0x00,0x7C,0x00,0xF8,0x00,0xF0,0x01,0xE0,0x03,0xC0,0x07,0x00,0x0E,0x00,0x1C,0x00,
+0x3F,0xFE,0x3F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"2",18*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF0,0x1F,0xF8,
+0x18,0x1C,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x3C,0x07,0xF0,0x07,0xF0,
+0x00,0x3C,0x00,0x1C,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x1E,0x30,0x3C,
+0x3F,0xF8,0x0F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"3",19*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0xF0,
+0x01,0xF0,0x01,0xF0,0x03,0x70,0x07,0x70,0x06,0x70,0x0C,0x70,0x0C,0x70,0x18,0x70,
+0x38,0x70,0x30,0x70,0x60,0x70,0x7F,0xFE,0x7F,0xFE,0x00,0x70,0x00,0x70,0x00,0x70,
+0x00,0x70,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"4",20*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFC,0x1F,0xFC,
+0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1F,0xE0,0x1F,0xF8,0x10,0x3C,0x00,0x1C,
+0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x1C,0x20,0x3C,
+0x3F,0xF8,0x1F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"5",21*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xF8,0x07,0xFC,
+0x0F,0x04,0x1E,0x00,0x1C,0x00,0x1C,0x00,0x38,0x00,0x39,0xF0,0x3B,0xF8,0x3E,0x3C,
+0x3C,0x1E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x18,0x0E,0x1C,0x1C,0x0E,0x3C,
+0x0F,0xF8,0x03,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"6",22*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFE,0x3F,0xFE,
+0x00,0x1E,0x00,0x1C,0x00,0x1C,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x70,0x00,0x70,
+0x00,0xF0,0x00,0xE0,0x00,0xE0,0x01,0xE0,0x01,0xC0,0x01,0xC0,0x03,0x80,0x03,0x80,
+0x03,0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"7",23*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF0,0x1F,0xFC,
+0x1C,0x1C,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x1C,0x1C,0x07,0xF0,0x0F,0xF8,
+0x1E,0x3C,0x1C,0x1C,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x3C,0x1E,0x1E,0x3C,
+0x0F,0xF8,0x07,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"8",24*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x0F,0xF8,
+0x1E,0x38,0x3C,0x1C,0x38,0x0C,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x3C,0x1E,
+0x1E,0x3E,0x0F,0xEE,0x07,0xCE,0x00,0x0E,0x00,0x1C,0x00,0x1C,0x00,0x3C,0x10,0x78,
+0x1F,0xF0,0x0F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"9",25*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x03,0x80,
+0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*":",26*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x03,0x80,
+0x03,0x80,0x03,0x80,0x03,0x00,0x07,0x00,0x07,0x00,0x06,0x00,0x00,0x00,0x00,0x00,/*";",27*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x1E,0x00,0x7E,0x01,0xF8,0x0F,0xC0,0x3F,0x00,
+0x78,0x00,0x78,0x00,0x3F,0x00,0x0F,0xC0,0x01,0xF8,0x00,0x7E,0x00,0x1E,0x00,0x02,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"<",28*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFE,0x7F,0xFE,
+0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFE,0x7F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"=",29*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x40,0x00,0x78,0x00,0x7E,0x00,0x1F,0x80,0x03,0xF0,0x00,0xFC,
+0x00,0x1E,0x00,0x1E,0x00,0xFC,0x03,0xF0,0x1F,0x80,0x7E,0x00,0x78,0x00,0x40,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*">",30*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xE0,0x0F,0xF8,
+0x1C,0x38,0x10,0x1C,0x00,0x1C,0x00,0x3C,0x00,0x3C,0x00,0x78,0x00,0xF0,0x01,0xE0,
+0x03,0xC0,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00,0x03,0x80,
+0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"?",31*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xF8,
+0x07,0xFC,0x0E,0x0E,0x1C,0x06,0x18,0x03,0x30,0x03,0x30,0x7B,0x61,0xFF,0x61,0x87,
+0x63,0x03,0x63,0x03,0x63,0x03,0x63,0x03,0x63,0x03,0x61,0x87,0x71,0xFF,0x30,0x7B,
+0x30,0x00,0x18,0x00,0x1C,0x00,0x0F,0x04,0x03,0xFC,0x00,0xFC,0x00,0x00,0x00,0x00,/*"@",32*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x03,0xE0,
+0x03,0xE0,0x03,0xE0,0x03,0xE0,0x07,0x70,0x07,0x70,0x07,0x70,0x0F,0x78,0x0E,0x38,
+0x0E,0x38,0x0E,0x38,0x1F,0xFC,0x1F,0xFC,0x1C,0x1C,0x38,0x0E,0x38,0x0E,0x38,0x0E,
+0x78,0x0F,0x70,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"A",33*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xE0,0x3F,0xF8,
+0x38,0x38,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x38,0x3F,0xF0,0x3F,0xF0,
+0x38,0x3C,0x38,0x1C,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x1E,0x38,0x3C,
+0x3F,0xF8,0x3F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"B",34*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xF8,0x07,0xFC,
+0x0F,0x0C,0x1E,0x04,0x1C,0x00,0x1C,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,
+0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x1C,0x00,0x1C,0x00,0x1E,0x04,0x0F,0x0C,
+0x07,0xFC,0x01,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"C",35*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xC0,0x3F,0xF0,
+0x38,0x78,0x38,0x1C,0x38,0x1C,0x38,0x0C,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,
+0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0C,0x38,0x1C,0x38,0x1C,0x38,0x78,
+0x3F,0xF0,0x3F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"D",36*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFE,0x1F,0xFE,
+0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1F,0xFC,0x1F,0xFC,
+0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,
+0x1F,0xFE,0x1F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"E",37*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFE,0x1F,0xFE,
+0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1F,0xFC,0x1F,0xFC,
+0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,
+0x1C,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"F",38*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xF8,0x07,0xFC,
+0x0F,0x0C,0x1E,0x04,0x1C,0x00,0x1C,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x7E,
+0x38,0x7E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x1C,0x0E,0x1C,0x0E,0x1C,0x0E,0x0F,0x1E,
+0x07,0xFE,0x01,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"G",39*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x0E,0x38,0x0E,
+0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x3F,0xFE,0x3F,0xFE,
+0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,
+0x38,0x0E,0x38,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"H",40*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFC,0x1F,0xFC,
+0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,
+0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,
+0x1F,0xFC,0x1F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"I",41*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF8,0x07,0xF8,
+0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,
+0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x20,0x38,0x30,0x70,
+0x3F,0xF0,0x0F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"J",42*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x07,0x38,0x0E,
+0x38,0x1C,0x38,0x38,0x38,0x70,0x38,0xE0,0x39,0xC0,0x3B,0x80,0x3F,0x80,0x3F,0xC0,
+0x3F,0xC0,0x3D,0xE0,0x38,0xF0,0x38,0x70,0x38,0x78,0x38,0x3C,0x38,0x1C,0x38,0x1E,
+0x38,0x0F,0x38,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"K",43*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x1C,0x00,
+0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,
+0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,
+0x1F,0xFE,0x1F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"L",44*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x1E,0x78,0x1E,
+0x7C,0x3E,0x7C,0x3E,0x7C,0x3E,0x76,0x6E,0x76,0x6E,0x76,0x6E,0x72,0x4E,0x73,0xCE,
+0x73,0xCE,0x71,0x8E,0x71,0x8E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,
+0x70,0x0E,0x70,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"M",45*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x0E,0x3C,0x0E,
+0x3E,0x0E,0x3E,0x0E,0x3E,0x0E,0x3B,0x0E,0x3B,0x0E,0x3B,0x8E,0x39,0x8E,0x39,0x8E,
+0x38,0xCE,0x38,0xCE,0x38,0xEE,0x38,0x6E,0x38,0x6E,0x38,0x3E,0x38,0x3E,0x38,0x3E,
+0x38,0x1E,0x38,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"N",46*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xE0,0x0F,0xF8,
+0x0E,0x38,0x1C,0x1C,0x1C,0x1C,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,
+0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x1C,0x1C,0x1C,0x1C,0x0E,0x38,
+0x0F,0xF8,0x03,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"O",47*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xF0,0x1F,0xFC,
+0x1C,0x1E,0x1C,0x0F,0x1C,0x07,0x1C,0x07,0x1C,0x07,0x1C,0x07,0x1C,0x0F,0x1C,0x1E,
+0x1F,0xFC,0x1F,0xF0,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,
+0x1C,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"P",48*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xE0,0x0F,0xF8,
+0x0E,0x38,0x1C,0x1C,0x1C,0x1C,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,
+0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x1C,0x1C,0x1C,0x1C,0x0E,0x38,
+0x0F,0xF8,0x03,0xE0,0x00,0x70,0x00,0x38,0x00,0x1C,0x00,0x10,0x00,0x00,0x00,0x00,/*"Q",49*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xE0,0x3F,0xF0,
+0x38,0x78,0x38,0x3C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x38,
+0x3F,0xF0,0x3F,0xE0,0x38,0xF0,0x38,0x78,0x38,0x38,0x38,0x3C,0x38,0x1C,0x38,0x1E,
+0x38,0x0E,0x38,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"R",50*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xF0,0x0F,0xFC,
+0x1E,0x0C,0x3C,0x04,0x38,0x00,0x38,0x00,0x38,0x00,0x3E,0x00,0x1F,0xC0,0x0F,0xF8,
+0x03,0xFC,0x00,0x3C,0x00,0x1E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x20,0x1E,0x38,0x3C,
+0x3F,0xF8,0x0F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"S",51*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0x7F,0xFF,
+0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,
+0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,
+0x01,0xC0,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"T",52*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x1C,0x38,0x1C,
+0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,
+0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x1C,0x38,
+0x0F,0xF0,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"U",53*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x07,0x78,0x0F,
+0x38,0x0E,0x38,0x0E,0x38,0x0E,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1E,0x3C,0x0E,0x38,
+0x0E,0x38,0x0E,0x38,0x07,0x70,0x07,0x70,0x07,0x70,0x03,0xE0,0x03,0xE0,0x03,0xE0,
+0x03,0xE0,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"V",54*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x07,0xE0,0x07,
+0xE0,0x07,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x73,0xCE,0x73,0xCE,0x73,0xCE,0x73,0xCE,
+0x3B,0xDC,0x3E,0x7C,0x3E,0x7C,0x3E,0x7C,0x3E,0x7C,0x3C,0x3C,0x3C,0x3C,0x1C,0x38,
+0x1C,0x38,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"W",55*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x07,0x3C,0x0F,
+0x1C,0x0E,0x1E,0x1E,0x0F,0x3C,0x07,0x38,0x07,0xF0,0x03,0xF0,0x01,0xE0,0x01,0xE0,
+0x01,0xE0,0x03,0xF0,0x07,0xF0,0x07,0x78,0x0F,0x3C,0x0E,0x1C,0x1E,0x1E,0x3C,0x0E,
+0x38,0x07,0x78,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"X",56*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x0F,0x38,0x0E,
+0x3C,0x1E,0x1C,0x1C,0x1E,0x3C,0x0E,0x38,0x07,0x70,0x07,0xF0,0x03,0xE0,0x03,0xE0,
+0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,
+0x01,0xC0,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"Y",57*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFE,0x3F,0xFE,
+0x00,0x1E,0x00,0x1C,0x00,0x3C,0x00,0x78,0x00,0x70,0x00,0xF0,0x00,0xE0,0x01,0xE0,
+0x03,0xC0,0x03,0x80,0x07,0x80,0x07,0x00,0x0F,0x00,0x1E,0x00,0x1C,0x00,0x3C,0x00,
+0x3F,0xFE,0x3F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"Z",58*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xF0,0x03,0xF0,0x03,0x80,
+0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,
+0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,
+0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0xF0,0x03,0xF0,0x00,0x00,0x00,0x00,/*"[",59*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x38,0x00,
+0x38,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x0E,0x00,0x0E,0x00,0x07,0x00,0x07,0x00,
+0x03,0x80,0x03,0x80,0x03,0x80,0x01,0xC0,0x01,0xC0,0x00,0xE0,0x00,0xE0,0x00,0x70,
+0x00,0x70,0x00,0x70,0x00,0x38,0x00,0x38,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,/*"\",60*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x07,0xE0,0x00,0xE0,
+0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,
+0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,
+0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x07,0xE0,0x07,0xE0,0x00,0x00,0x00,0x00,/*"]",61*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x03,0xC0,
+0x07,0xE0,0x0E,0x70,0x0C,0x30,0x18,0x18,0x38,0x1C,0x70,0x0E,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"^",62*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,/*"_",63*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x07,0x00,0x03,0x00,0x01,0x80,
+0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"`",64*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF0,0x1F,0xFC,0x18,0x1C,0x00,0x0E,0x00,0x0E,
+0x07,0xFE,0x0F,0xFE,0x1C,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x1E,0x38,0x1E,0x3C,0x3E,
+0x1F,0xEE,0x07,0xCE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"a",65*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,
+0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0xF8,0x1F,0xFC,0x1F,0x1E,0x1E,0x0E,0x1C,0x07,
+0x1C,0x07,0x1C,0x07,0x1C,0x07,0x1C,0x07,0x1C,0x07,0x1C,0x07,0x1E,0x0E,0x1F,0x1E,
+0x1F,0xFC,0x1C,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"b",66*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xF0,0x07,0xF8,0x0F,0x0C,0x0E,0x00,0x1C,0x00,
+0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1E,0x00,0x0E,0x00,0x0F,0x0C,
+0x07,0xF8,0x01,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"c",67*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x0E,0x00,0x0E,
+0x00,0x0E,0x00,0x0E,0x00,0x0E,0x07,0xCE,0x0F,0xFE,0x1E,0x3E,0x1C,0x1E,0x38,0x0E,
+0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x1C,0x1E,0x1E,0x3E,
+0x0F,0xFE,0x07,0xCE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"d",68*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xE0,0x0F,0xF8,0x1E,0x3C,0x1C,0x1C,0x3C,0x0E,
+0x38,0x0E,0x38,0x0E,0x3F,0xFE,0x3F,0xFE,0x38,0x00,0x38,0x00,0x1C,0x04,0x1E,0x0C,
+0x0F,0xF8,0x03,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"e",69*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0xFE,0x01,0xE0,
+0x01,0xC0,0x01,0xC0,0x01,0xC0,0x1F,0xFE,0x1F,0xFE,0x01,0xC0,0x01,0xC0,0x01,0xC0,
+0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,
+0x01,0xC0,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"f",70*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xCE,0x0F,0xEE,0x1E,0x3E,0x1C,0x1E,0x38,0x0E,
+0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x1C,0x1E,0x1E,0x3E,
+0x0F,0xEE,0x07,0xCE,0x00,0x0E,0x00,0x0E,0x00,0x1C,0x08,0x3C,0x0F,0xF8,0x07,0xE0,/*"g",71*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,
+0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0xF0,0x1D,0xF8,0x1E,0x3C,0x1E,0x1C,0x1C,0x1C,
+0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,
+0x1C,0x1C,0x1C,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"h",72*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x01,0xC0,0x01,0xC0,
+0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xC0,0x1F,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,
+0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,
+0x3F,0xFE,0x3F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"i",73*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0xE0,0x00,0xE0,
+0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xE0,0x0F,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,
+0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,
+0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x01,0xC0,0x1F,0xC0,0x1F,0x00,/*"j",74*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,
+0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x0F,0x1C,0x1E,0x1C,0x3C,0x1C,0x78,0x1C,0xF0,
+0x1D,0xE0,0x1F,0xC0,0x1F,0xE0,0x1F,0xE0,0x1E,0xF0,0x1C,0x78,0x1C,0x3C,0x1C,0x1C,
+0x1C,0x1E,0x1C,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"k",75*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x80,0x7F,0x80,0x03,0x80,
+0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,
+0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x01,0xC0,
+0x01,0xFC,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"l",76*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x1C,0x7F,0xBE,0x71,0xE7,0x71,0xC7,0x71,0xC7,
+0x71,0xC7,0x71,0xC7,0x71,0xC7,0x71,0xC7,0x71,0xC7,0x71,0xC7,0x71,0xC7,0x71,0xC7,
+0x71,0xC7,0x71,0xC7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"m",77*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0xF0,0x1D,0xF8,0x1E,0x3C,0x1E,0x1C,0x1C,0x1C,
+0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,
+0x1C,0x1C,0x1C,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"n",78*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xE0,0x0F,0xF8,0x1E,0x3C,0x1C,0x1C,0x38,0x0E,
+0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x1C,0x1C,0x1E,0x3C,
+0x0F,0xF8,0x03,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"o",79*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0xF8,0x1F,0xFC,0x1F,0x1E,0x1E,0x0E,0x1C,0x07,
+0x1C,0x07,0x1C,0x07,0x1C,0x07,0x1C,0x07,0x1C,0x07,0x1C,0x07,0x1E,0x0E,0x1F,0x1E,
+0x1F,0xFC,0x1C,0xF8,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,/*"p",80*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xCE,0x0F,0xFE,0x1E,0x3E,0x1C,0x1E,0x38,0x0E,
+0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x1C,0x1E,0x1E,0x3E,
+0x0F,0xFE,0x07,0xCE,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,/*"q",81*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x3C,0x07,0x7E,0x07,0xC2,0x07,0x80,0x07,0x80,
+0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,
+0x07,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"r",82*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xF0,0x0F,0xF8,0x1E,0x08,0x1C,0x00,0x1C,0x00,
+0x1F,0x00,0x0F,0xF0,0x07,0xF8,0x00,0xFC,0x00,0x3C,0x00,0x1C,0x00,0x1C,0x10,0x3C,
+0x1F,0xF8,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"s",83*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,
+0x03,0x80,0x03,0x80,0x03,0x80,0x3F,0xFE,0x3F,0xFE,0x03,0x80,0x03,0x80,0x03,0x80,
+0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0xC0,
+0x01,0xFE,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"t",84*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,
+0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x3C,0x1E,0x3C,
+0x0F,0xDC,0x07,0x9C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"u",85*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x0E,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x1C,0x38,
+0x1C,0x38,0x1E,0x78,0x0E,0x70,0x0E,0x70,0x0F,0xF0,0x07,0xE0,0x07,0xE0,0x07,0xE0,
+0x03,0xC0,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"v",86*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x07,0xE0,0x07,0x70,0x0E,0x70,0x0E,0x71,0x8E,
+0x71,0x8E,0x7B,0xDE,0x3B,0xDC,0x3A,0x5C,0x3A,0x5C,0x3E,0x7C,0x1E,0x78,0x1C,0x38,
+0x1C,0x38,0x1C,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"w",87*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x3C,0x1E,0x78,0x0E,0x70,0x0F,0xF0,0x07,0xE0,
+0x03,0xC0,0x03,0xC0,0x01,0x80,0x03,0xC0,0x07,0xE0,0x0F,0xF0,0x0E,0x70,0x1E,0x78,
+0x3C,0x3C,0x78,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"x",88*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x0E,0x38,0x1C,0x38,0x1C,0x3C,0x3C,0x1C,0x38,
+0x1C,0x38,0x1E,0x78,0x0E,0x70,0x0E,0x70,0x07,0xE0,0x07,0xE0,0x07,0xE0,0x03,0xC0,
+0x03,0xC0,0x03,0x80,0x03,0x80,0x03,0x80,0x07,0x00,0x0F,0x00,0x3E,0x00,0x3C,0x00,/*"y",89*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFC,0x1F,0xFC,0x00,0x3C,0x00,0x78,0x00,0x70,
+0x00,0xF0,0x01,0xE0,0x01,0xC0,0x03,0xC0,0x07,0x80,0x07,0x00,0x0F,0x00,0x1E,0x00,
+0x1F,0xFC,0x1F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"z",90*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0xFC,0x01,0xE0,
+0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,
+0x03,0x80,0x1F,0x00,0x1F,0x00,0x03,0x80,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,
+0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xE0,0x00,0xFC,0x00,0x7C,0x00,0x00,/*"{",91*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x01,0x80,
+0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,
+0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,
+0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,/*"|",92*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x1F,0x80,0x03,0xC0,
+0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,
+0x00,0xE0,0x00,0x7C,0x00,0x7C,0x00,0xE0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,
+0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x03,0xC0,0x1F,0x80,0x1F,0x00,0x00,0x00,/*"}",93*/
+};
+#endif
+
+#endif
diff --git a/bsp/stm32/stm32h750-artpi/board/port/drv_qspi_flash.c b/bsp/stm32/stm32h750-artpi/board/port/drv_qspi_flash.c
new file mode 100644
index 0000000000..e262ce3656
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/board/port/drv_qspi_flash.c
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 2006-2022, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2021-01-19 wanghaijing the first version
+ */
+
+#include
+#include
+#include
+#include
+
+#ifdef BSP_USING_QSPI_FLASH
+
+char w25qxx_read_status_register2(struct rt_qspi_device *device)
+{
+ /* 0x35 read status register2 */
+ char instruction = 0x35, status;
+
+ rt_qspi_send_then_recv(device, &instruction, 1, &status, 1);
+
+ return status;
+}
+
+void w25qxx_write_enable(struct rt_qspi_device *device)
+{
+ /* 0x06 write enable */
+ char instruction = 0x06;
+
+ rt_qspi_send(device, &instruction, 1);
+}
+
+void w25qxx_enter_qspi_mode(struct rt_qspi_device *device)
+{
+ char status = 0;
+ /* 0x38 enter qspi mode */
+ char instruction = 0x38;
+ char write_status2_buf[2] = {0};
+
+ /* 0x31 write status register2 */
+ write_status2_buf[0] = 0x31;
+
+ status = w25qxx_read_status_register2(device);
+ if (!(status & 0x02))
+ {
+ status |= 1 << 1;
+ w25qxx_write_enable(device);
+ write_status2_buf[1] = status;
+ rt_qspi_send(device, &write_status2_buf, 2);
+ rt_qspi_send(device, &instruction, 1);
+ rt_kprintf("flash already enter qspi mode\n");
+ rt_thread_mdelay(10);
+ }
+}
+
+static int rt_qspi_flash_init(void)
+{
+ extern rt_spi_flash_device_t rt_sfud_flash_probe(const char *spi_flash_dev_name, const char *spi_dev_name);
+
+ stm32_qspi_bus_attach_device("qspi1", "qspi10", RT_NULL, 4, w25qxx_enter_qspi_mode, RT_NULL);
+ if (RT_NULL == rt_sfud_flash_probe("norflash1", "qspi10"))
+ {
+ return -RT_ERROR;
+ }
+ return RT_EOK;
+}
+INIT_ENV_EXPORT(rt_qspi_flash_init);
+
+#endif/* BSP_USING_QSPI_FLASH */
diff --git a/bsp/stm32/stm32h750-artpi/board/port/drv_sdio.c b/bsp/stm32/stm32h750-artpi/board/port/drv_sdio.c
new file mode 100644
index 0000000000..6867909f89
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/board/port/drv_sdio.c
@@ -0,0 +1,537 @@
+/*
+ * Copyright (c) 2006-2022, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2020-05-23 liuduanfei first version
+ */
+#include "board.h"
+
+#ifdef RT_USING_SDIO
+
+#if !defined(BSP_USING_SDIO1) && !defined(BSP_USING_SDIO2)
+ #error "Please define at least one BSP_USING_SDIOx"
+#endif
+
+#include "drv_sdio.h"
+
+#define DBG_TAG "drv.sdio"
+#ifdef DRV_DEBUG
+ #define DBG_LVL DBG_LOG
+#else
+ #define DBG_LVL DBG_INFO
+#endif /* DRV_DEBUG */
+#include
+
+static struct rt_mmcsd_host *host1;
+static struct rt_mmcsd_host *host2;
+static rt_mutex_t mmcsd_mutex = RT_NULL;
+
+#define SDIO_TX_RX_COMPLETE_TIMEOUT_LOOPS (1000000)
+
+struct sdio_pkg
+{
+ struct rt_mmcsd_cmd *cmd;
+ void *buff;
+ rt_uint32_t flag;
+};
+
+struct rthw_sdio
+{
+ struct rt_mmcsd_host *host;
+ struct stm32_sdio_des sdio_des;
+ struct rt_event event;
+ struct sdio_pkg *pkg;
+};
+
+ALIGN(SDIO_ALIGN_LEN)
+static rt_uint8_t cache_buf[SDIO_BUFF_SIZE];
+
+/**
+ * @brief This function get order from sdio.
+ * @param data
+ * @retval sdio order
+ */
+static int get_order(rt_uint32_t data)
+{
+ int order = 0;
+
+ switch (data)
+ {
+ case 1:
+ order = 0;
+ break;
+
+ case 2:
+ order = 1;
+ break;
+
+ case 4:
+ order = 2;
+ break;
+
+ case 8:
+ order = 3;
+ break;
+
+ case 16:
+ order = 4;
+ break;
+
+ case 32:
+ order = 5;
+ break;
+
+ case 64:
+ order = 6;
+ break;
+
+ case 128:
+ order = 7;
+ break;
+
+ case 256:
+ order = 8;
+ break;
+
+ case 512:
+ order = 9;
+ break;
+
+ case 1024:
+ order = 10;
+ break;
+
+ case 2048:
+ order = 11;
+ break;
+
+ case 4096:
+ order = 12;
+ break;
+
+ case 8192:
+ order = 13;
+ break;
+
+ case 16384:
+ order = 14;
+ break;
+
+ default :
+ order = 0;
+ break;
+ }
+
+ return order;
+}
+
+/**
+ * @brief This function wait sdio cmd completed.
+ * @param sdio rthw_sdio
+ * @retval None
+ */
+static void rthw_sdio_wait_completed(struct rthw_sdio *sdio)
+{
+ rt_uint32_t status;
+ struct rt_mmcsd_cmd *cmd = sdio->pkg->cmd;
+ struct stm32_sdio *hw_sdio = sdio->sdio_des.hw_sdio;
+
+ if (rt_event_recv(&sdio->event, 0xffffffff, RT_EVENT_FLAG_OR | RT_EVENT_FLAG_CLEAR,
+ rt_tick_from_millisecond(5000), &status) != RT_EOK)
+ {
+ LOG_E("wait cmd completed timeout");
+ cmd->err = -RT_ETIMEOUT;
+ return;
+ }
+
+ cmd->resp[0] = hw_sdio->resp1;
+
+ if (resp_type(cmd) == RESP_R2)
+ {
+ cmd->resp[1] = hw_sdio->resp2;
+ cmd->resp[2] = hw_sdio->resp3;
+ cmd->resp[3] = hw_sdio->resp4;
+ }
+
+ if (status & SDIO_ERRORS)
+ {
+ if ((status & SDMMC_STA_CCRCFAIL) && (resp_type(cmd) & (RESP_R3 | RESP_R4)))
+ {
+ cmd->err = RT_EOK;
+ }
+ else
+ {
+ cmd->err = -RT_ERROR;
+ }
+ }
+ else
+ {
+ cmd->err = RT_EOK;
+ }
+
+
+ if (cmd->err == RT_EOK)
+ {
+ LOG_D("sta:0x%08X [%08X %08X %08X %08X]", status, cmd->resp[0], cmd->resp[1], cmd->resp[2], cmd->resp[3]);
+ }
+ else
+ {
+ LOG_D("send command error = %d", cmd->err);
+ }
+}
+
+/**
+ * @brief This function send command.
+ * @param sdio rthw_sdio
+ * @param pkg sdio package
+ * @retval None
+ */
+static void rthw_sdio_send_command(struct rthw_sdio *sdio, struct sdio_pkg *pkg)
+{
+ struct rt_mmcsd_cmd *cmd = pkg->cmd;
+ struct rt_mmcsd_data *data = cmd->data;
+ struct stm32_sdio *hw_sdio = sdio->sdio_des.hw_sdio;
+ rt_uint32_t reg_cmd;
+
+ rt_event_control(&sdio->event, RT_IPC_CMD_RESET, RT_NULL);
+ /* save pkg */
+ sdio->pkg = pkg;
+
+ LOG_D("CMD:%d ARG:0x%08x RES:%s%s%s%s%s%s%s%s%s rw:%c len:%d blksize:%d\n",
+ cmd->cmd_code,
+ cmd->arg,
+ resp_type(cmd) == RESP_NONE ? "NONE" : "",
+ resp_type(cmd) == RESP_R1 ? "R1" : "",
+ resp_type(cmd) == RESP_R1B ? "R1B" : "",
+ resp_type(cmd) == RESP_R2 ? "R2" : "",
+ resp_type(cmd) == RESP_R3 ? "R3" : "",
+ resp_type(cmd) == RESP_R4 ? "R4" : "",
+ resp_type(cmd) == RESP_R5 ? "R5" : "",
+ resp_type(cmd) == RESP_R6 ? "R6" : "",
+ resp_type(cmd) == RESP_R7 ? "R7" : "",
+ data ? (data->flags & DATA_DIR_WRITE ? 'w' : 'r') : '-',
+ data ? data->blks * data->blksize : 0,
+ data ? data->blksize : 0
+ );
+
+ hw_sdio->mask |= SDIO_MASKR_ALL;
+ reg_cmd = cmd->cmd_code | SDMMC_CMD_CPSMEN;
+
+ /* data pre configuration */
+ if (data != RT_NULL)
+ {
+ SCB_CleanInvalidateDCache();
+
+ reg_cmd |= SDMMC_CMD_CMDTRANS;
+ hw_sdio->mask &= ~(SDMMC_MASK_CMDRENDIE | SDMMC_MASK_CMDSENTIE);
+ hw_sdio->dtimer = HW_SDIO_DATATIMEOUT;
+ hw_sdio->dlen = data->blks * data->blksize;
+ hw_sdio->dctrl = (get_order(data->blksize) << 4) | (data->flags & DATA_DIR_READ ? SDMMC_DCTRL_DTDIR : 0);
+ hw_sdio->idmabase0r = (rt_uint32_t)cache_buf;
+ hw_sdio->idmatrlr = SDMMC_IDMA_IDMAEN;
+ }
+
+ if (resp_type(cmd) == RESP_R2)
+ reg_cmd |= SDMMC_CMD_WAITRESP;
+ else if(resp_type(cmd) != RESP_NONE)
+ reg_cmd |= SDMMC_CMD_WAITRESP_0;
+
+ hw_sdio->arg = cmd->arg;
+ hw_sdio->cmd = reg_cmd;
+ /* wait completed */
+ rthw_sdio_wait_completed(sdio);
+
+ /* Waiting for data to be sent to completion */
+ if (data != RT_NULL)
+ {
+ volatile rt_uint32_t count = SDIO_TX_RX_COMPLETE_TIMEOUT_LOOPS;
+
+ while (count && (hw_sdio->sta & SDMMC_STA_DPSMACT))
+ {
+ count--;
+ }
+
+ if ((count == 0) || (hw_sdio->sta & SDIO_ERRORS))
+ {
+ cmd->err = -RT_ERROR;
+ }
+ }
+
+ /* data post configuration */
+ if (data != RT_NULL)
+ {
+ if (data->flags & DATA_DIR_READ)
+ {
+ rt_memcpy(data->buf, cache_buf, data->blks * data->blksize);
+ SCB_CleanInvalidateDCache();
+ }
+ }
+}
+
+/**
+ * @brief This function send sdio request.
+ * @param sdio rthw_sdio
+ * @param req request
+ * @retval None
+ */
+static void rthw_sdio_request(struct rt_mmcsd_host *host, struct rt_mmcsd_req *req)
+{
+ struct sdio_pkg pkg;
+ struct rthw_sdio *sdio = host->private_data;
+ struct rt_mmcsd_data *data;
+
+
+ rt_mutex_take(mmcsd_mutex, RT_WAITING_FOREVER);
+
+ if (req->cmd != RT_NULL)
+ {
+ rt_memset(&pkg, 0, sizeof(pkg));
+ data = req->cmd->data;
+ pkg.cmd = req->cmd;
+
+ if (data != RT_NULL)
+ {
+ rt_uint32_t size = data->blks * data->blksize;
+
+ RT_ASSERT(size <= SDIO_BUFF_SIZE);
+
+ if (data->flags & DATA_DIR_WRITE)
+ {
+ rt_memcpy(cache_buf, data->buf, size);
+ }
+ }
+
+ rthw_sdio_send_command(sdio, &pkg);
+ }
+
+ if (req->stop != RT_NULL)
+ {
+ rt_memset(&pkg, 0, sizeof(pkg));
+ pkg.cmd = req->stop;
+ rthw_sdio_send_command(sdio, &pkg);
+ }
+
+ mmcsd_req_complete(sdio->host);
+
+ rt_mutex_release(mmcsd_mutex);
+}
+
+
+/**
+ * @brief This function interrupt process function.
+ * @param host rt_mmcsd_host
+ * @retval None
+ */
+void rthw_sdio_irq_process(struct rt_mmcsd_host *host)
+{
+ struct rthw_sdio *sdio = host->private_data;
+ struct stm32_sdio *hw_sdio = sdio->sdio_des.hw_sdio;
+ rt_uint32_t intstatus = hw_sdio->sta;
+
+ /* clear irq flag*/
+ hw_sdio->icr = intstatus;
+
+ rt_event_send(&sdio->event, intstatus);
+}
+
+/**
+ * @brief This function config sdio.
+ * @param host rt_mmcsd_host
+ * @param io_cfg rt_mmcsd_io_cfg
+ * @retval None
+ */
+static void rthw_sdio_iocfg(struct rt_mmcsd_host *host, struct rt_mmcsd_io_cfg *io_cfg)
+{
+ rt_uint32_t temp, clk_src;
+ rt_uint32_t clk = io_cfg->clock;
+ struct rthw_sdio *sdio = host->private_data;
+ struct stm32_sdio *hw_sdio = sdio->sdio_des.hw_sdio;
+
+ LOG_D("clk:%dK width:%s%s%s power:%s%s%s",
+ clk / 1000,
+ io_cfg->bus_width == MMCSD_BUS_WIDTH_8 ? "8" : "",
+ io_cfg->bus_width == MMCSD_BUS_WIDTH_4 ? "4" : "",
+ io_cfg->bus_width == MMCSD_BUS_WIDTH_1 ? "1" : "",
+ io_cfg->power_mode == MMCSD_POWER_OFF ? "OFF" : "",
+ io_cfg->power_mode == MMCSD_POWER_UP ? "UP" : "",
+ io_cfg->power_mode == MMCSD_POWER_ON ? "ON" : ""
+ );
+
+ clk_src = SDIO_CLOCK_FREQ;
+
+ if (clk > 0)
+ {
+ if (clk > host->freq_max)
+ clk = host->freq_max;
+
+ temp = DIV_ROUND_UP(clk_src, 2 * clk);
+
+ if (temp > 0x3FF)
+ temp = 0x3FF;
+ }
+
+ if (io_cfg->bus_width == MMCSD_BUS_WIDTH_4)
+ temp |= SDMMC_CLKCR_WIDBUS_0;
+ else if (io_cfg->bus_width == MMCSD_BUS_WIDTH_8)
+ temp |= SDMMC_CLKCR_WIDBUS_1;
+
+ hw_sdio->clkcr = temp;
+
+ if (io_cfg->power_mode == MMCSD_POWER_ON)
+ hw_sdio->power |= SDMMC_POWER_PWRCTRL;
+}
+
+static const struct rt_mmcsd_host_ops ops =
+{
+ rthw_sdio_request,
+ rthw_sdio_iocfg,
+ RT_NULL,
+ RT_NULL,
+};
+
+/**
+ * @brief This function create mmcsd host.
+ * @param sdio_des stm32_sdio_des
+ * @retval rt_mmcsd_host
+ */
+struct rt_mmcsd_host *sdio_host_create(struct stm32_sdio_des *sdio_des)
+{
+ struct rt_mmcsd_host *host;
+ struct rthw_sdio *sdio = RT_NULL;
+
+ if (sdio_des == RT_NULL)
+ {
+ return RT_NULL;
+ }
+
+ sdio = rt_malloc(sizeof(struct rthw_sdio));
+
+ if (sdio == RT_NULL)
+ {
+ LOG_E("malloc rthw_sdio fail");
+ return RT_NULL;
+ }
+
+ rt_memset(sdio, 0, sizeof(struct rthw_sdio));
+
+ host = mmcsd_alloc_host();
+
+ if (host == RT_NULL)
+ {
+ LOG_E("alloc host fail");
+ goto err;
+ }
+
+ rt_memcpy(&sdio->sdio_des, sdio_des, sizeof(struct stm32_sdio_des));
+
+ if(sdio_des->hsd.Instance == SDMMC1)
+ {
+ sdio->sdio_des.hw_sdio = (struct stm32_sdio *)SDIO1_BASE_ADDRESS;
+ rt_event_init(&sdio->event, "sdio", RT_IPC_FLAG_FIFO);
+ }
+
+ if(sdio_des->hsd.Instance == SDMMC2)
+ {
+ sdio->sdio_des.hw_sdio = (struct stm32_sdio *)SDIO2_BASE_ADDRESS;
+ rt_event_init(&sdio->event, "sdio2", RT_IPC_FLAG_FIFO);
+ }
+
+ /* set host default attributes */
+ host->ops = &ops;
+ host->freq_min = 400 * 1000;
+ host->freq_max = SDIO_MAX_FREQ;
+ host->valid_ocr = VDD_32_33 | VDD_33_34;/* The voltage range supported is 3.2v-3.4v */
+ host->flags = MMCSD_BUSWIDTH_4 | MMCSD_MUTBLKWRITE | MMCSD_SUP_HIGHSPEED;
+ host->max_seg_size = SDIO_BUFF_SIZE;
+ host->max_dma_segs = 1;
+ host->max_blk_size = 512;
+ host->max_blk_count = 512;
+
+ /* link up host and sdio */
+ sdio->host = host;
+ host->private_data = sdio;
+
+ return host;
+
+err:
+
+ if (sdio) rt_free(sdio);
+
+ return RT_NULL;
+}
+
+void SDMMC1_IRQHandler(void)
+{
+ /* enter interrupt */
+ rt_interrupt_enter();
+ /* Process All SDIO Interrupt Sources */
+ rthw_sdio_irq_process(host1);
+ /* leave interrupt */
+ rt_interrupt_leave();
+}
+
+void SDMMC2_IRQHandler(void)
+{
+ /* enter interrupt */
+ rt_interrupt_enter();
+ /* Process All SDIO Interrupt Sources */
+ rthw_sdio_irq_process(host2);
+ /* leave interrupt */
+ rt_interrupt_leave();
+}
+
+int rt_hw_sdio_init(void)
+{
+ #ifdef BSP_USING_SDIO1
+ struct stm32_sdio_des sdio_des1;
+ sdio_des1.hsd.Instance = SDMMC1;
+ HAL_SD_MspInit(&sdio_des1.hsd);
+
+ host1 = sdio_host_create(&sdio_des1);
+
+ if (host1 == RT_NULL)
+ {
+ LOG_E("host create fail");
+ return RT_NULL;
+ }
+
+ #endif
+
+ #ifdef BSP_USING_SDIO2
+ //sdmmc2 wifi
+ struct stm32_sdio_des sdio_des2;
+ sdio_des2.hsd.Instance = SDMMC2;
+ HAL_SD_MspInit(&sdio_des2.hsd);
+
+ host2 = sdio_host_create(&sdio_des2);
+
+ if (host2 == RT_NULL)
+ {
+ LOG_E("host2 create fail");
+ return RT_NULL;
+ }
+
+ /* wifi auto change */
+ mmcsd_change(host2);
+ #endif
+ mmcsd_mutex = rt_mutex_create("mmutex", RT_IPC_FLAG_PRIO);
+
+ if (mmcsd_mutex == RT_NULL)
+ {
+ rt_kprintf("create mmcsd mutex failed.\n");
+ return -1;
+ }
+
+ return 0;
+}
+INIT_DEVICE_EXPORT(rt_hw_sdio_init);
+
+void sdcard_change(void)
+{
+ mmcsd_change(host1);
+}
+
+#endif /* RT_USING_SDIO */
diff --git a/bsp/stm32/stm32h750-artpi/board/port/drv_sdio.h b/bsp/stm32/stm32h750-artpi/board/port/drv_sdio.h
new file mode 100644
index 0000000000..53ded93d59
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/board/port/drv_sdio.h
@@ -0,0 +1,112 @@
+/*
+ * Copyright (c) 2006-2022, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2020-05-23 liuduanfei first version
+ * 2020-08-25 wanghaijing add sdmmmc2
+ */
+
+#ifndef __DRV_SDIO_H__
+#define __DRV_SDIO_H__
+
+#include
+#include "rtdevice.h"
+#include
+#include
+#include
+#include
+#include
+
+#define SDIO_BUFF_SIZE 4096
+#define SDIO_ALIGN_LEN 32
+
+#ifndef SDIO1_BASE_ADDRESS
+#define SDIO1_BASE_ADDRESS (0x52007000)
+#endif
+
+#ifndef SDIO2_BASE_ADDRESS
+#define SDIO2_BASE_ADDRESS (0x48022400)
+#endif
+
+#ifndef SDIO_CLOCK_FREQ
+#define SDIO_CLOCK_FREQ (200U * 1000 * 1000)
+#endif
+
+#ifndef SDIO_BUFF_SIZE
+#define SDIO_BUFF_SIZE (4096)
+#endif
+
+#ifndef SDIO_ALIGN_LEN
+#define SDIO_ALIGN_LEN (32)
+#endif
+
+#ifndef SDIO_MAX_FREQ
+#define SDIO_MAX_FREQ (25 * 1000 * 1000)
+#endif
+
+#define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d))
+
+#define SDIO_ERRORS \
+ (SDMMC_STA_IDMATE | SDMMC_STA_ACKTIMEOUT | \
+ SDMMC_STA_RXOVERR | SDMMC_STA_TXUNDERR | \
+ SDMMC_STA_DTIMEOUT | SDMMC_STA_CTIMEOUT | \
+ SDMMC_STA_DCRCFAIL | SDMMC_STA_CCRCFAIL)
+
+#define SDIO_MASKR_ALL \
+ (SDMMC_MASK_CCRCFAILIE | SDMMC_MASK_DCRCFAILIE | SDMMC_MASK_CTIMEOUTIE | \
+ SDMMC_MASK_TXUNDERRIE | SDMMC_MASK_RXOVERRIE | SDMMC_MASK_CMDRENDIE | \
+ SDMMC_MASK_CMDSENTIE | SDMMC_MASK_DATAENDIE | SDMMC_MASK_ACKTIMEOUTIE)
+
+#define HW_SDIO_DATATIMEOUT (0xFFFFFFFFU)
+
+struct stm32_sdio
+{
+ volatile rt_uint32_t power; /* offset 0x00 */
+ volatile rt_uint32_t clkcr; /* offset 0x04 */
+ volatile rt_uint32_t arg; /* offset 0x08 */
+ volatile rt_uint32_t cmd; /* offset 0x0C */
+ volatile rt_uint32_t respcmd; /* offset 0x10 */
+ volatile rt_uint32_t resp1; /* offset 0x14 */
+ volatile rt_uint32_t resp2; /* offset 0x18 */
+ volatile rt_uint32_t resp3; /* offset 0x1C */
+ volatile rt_uint32_t resp4; /* offset 0x20 */
+ volatile rt_uint32_t dtimer; /* offset 0x24 */
+ volatile rt_uint32_t dlen; /* offset 0x28 */
+ volatile rt_uint32_t dctrl; /* offset 0x2C */
+ volatile rt_uint32_t dcount; /* offset 0x30 */
+ volatile rt_uint32_t sta; /* offset 0x34 */
+ volatile rt_uint32_t icr; /* offset 0x38 */
+ volatile rt_uint32_t mask; /* offset 0x3C */
+ volatile rt_uint32_t acktimer; /* offset 0x40 */
+ volatile rt_uint32_t reserved0[3]; /* offset 0x44 ~ 0x4C */
+ volatile rt_uint32_t idmatrlr; /* offset 0x50 */
+ volatile rt_uint32_t idmabsizer; /* offset 0x54 */
+ volatile rt_uint32_t idmabase0r; /* offset 0x58 */
+ volatile rt_uint32_t idmabase1r; /* offset 0x5C */
+ volatile rt_uint32_t reserved1[8]; /* offset 0x60 ~ 7C */
+ volatile rt_uint32_t fifo; /* offset 0x80 */
+};
+
+typedef rt_uint32_t (*sdio_clk_get)(struct stm32_sdio *hw_sdio);
+
+struct stm32_sdio_des
+{
+ struct stm32_sdio *hw_sdio;
+ sdio_clk_get clk_get;
+ SD_HandleTypeDef hsd;
+};
+
+/* stm32 sdio dirver class */
+struct stm32_sdio_class
+{
+ struct stm32_sdio_des *des;
+ const struct stm32_sdio_config *cfg;
+ struct rt_mmcsd_host host;
+};
+
+extern void sdcard_change(void);
+
+#endif /* __DRV_SDIO_H__ */
diff --git a/bsp/stm32/stm32h750-artpi/board/port/drv_spi_ili9488.c b/bsp/stm32/stm32h750-artpi/board/port/drv_spi_ili9488.c
new file mode 100644
index 0000000000..9852102bf6
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/board/port/drv_spi_ili9488.c
@@ -0,0 +1,1167 @@
+/*
+ * Copyright (c) 2006-2022, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2020-08-10 zylx first version
+ * 2022-02-01 Rudy Lo add lcd_fill_array function
+ */
+
+#include
+
+#ifdef BSP_USING_SPI_LCD_ILI9488
+#include
+#include "drv_spi.h"
+#include "drv_spi_ili9488.h"
+#include
+#include "drv_lcd_font.h"
+#include
+#include
+
+#if defined(PKG_USING_GUIENGINE)
+#include
+#endif
+
+#define DRV_DEBUG
+#define LOG_TAG "drv.spi_lcd"
+#include
+
+#define LCD_DC_PIN GET_PIN(C, 7)
+
+#define LCD_DEVICE(dev) (struct drv_lcd_device*)(dev)
+
+#define LCD_CLEAR_SEND_NUMBER (LCD_H * LCD_W *3)
+
+static rt_uint32_t BACK_COLOR = WHITE, FORE_COLOR = BLACK;
+static struct rt_spi_device *spi_dev_lcd;
+
+static int rt_hw_lcd_config(void)
+{
+ spi_dev_lcd = (struct rt_spi_device *)rt_device_find("spi20");
+
+ /* config spi */
+ {
+ struct rt_spi_configuration cfg;
+ cfg.data_width = 8;
+ cfg.mode = RT_SPI_MASTER | RT_SPI_MODE_0 | RT_SPI_MSB;
+ cfg.max_hz = 50 * 1000 * 1000;
+
+ rt_spi_configure(spi_dev_lcd, &cfg);
+ }
+
+ return RT_EOK;
+}
+
+static rt_err_t lcd_write_cmd(const rt_uint8_t cmd)
+{
+ rt_size_t len;
+
+ rt_pin_write(LCD_DC_PIN, PIN_LOW);
+
+ len = rt_spi_send(spi_dev_lcd, &cmd, 1);
+
+ if (len != 1)
+ {
+ LOG_I("lcd_write_cmd error. %d", len);
+ return -RT_ERROR;
+ }
+ else
+ {
+ return RT_EOK;
+ }
+}
+
+static rt_err_t lcd_write_data(const rt_uint8_t data)
+{
+ rt_size_t len;
+
+ rt_pin_write(LCD_DC_PIN, PIN_HIGH);
+
+ len = rt_spi_send(spi_dev_lcd, &data, 1);
+
+ if (len != 1)
+ {
+ LOG_I("lcd_write_data error. %d", len);
+ return -RT_ERROR;
+ }
+ else
+ {
+ return RT_EOK;
+ }
+}
+
+static rt_err_t lcd_write_half_word(const rt_uint16_t da)
+{
+ rt_size_t len;
+ char data[2] = {0};
+
+ data[0] = da >> 8;
+ data[1] = da;
+
+ rt_pin_write(LCD_DC_PIN, PIN_HIGH);
+ len = rt_spi_send(spi_dev_lcd, data, 2);
+ if (len != 2)
+ {
+ LOG_I("lcd_write_half_word error. %d", len);
+ return -RT_ERROR;
+ }
+ else
+ {
+ return RT_EOK;
+ }
+}
+
+static rt_err_t lcd_write_three_bytes(const rt_uint32_t da)
+{
+ rt_size_t len;
+ char data[3] = {0};
+
+ data[0] = da >> 16;
+ data[1] = da >> 8;
+ data[2] = da;
+
+ rt_pin_write(LCD_DC_PIN, PIN_HIGH);
+ len = rt_spi_send(spi_dev_lcd, data, 3);
+ if (len != 3)
+ {
+ LOG_I("lcd_write_half_word error. %d", len);
+ return -RT_ERROR;
+ }
+ else
+ {
+ return RT_EOK;
+ }
+}
+
+static void lcd_gpio_init(void)
+{
+ rt_hw_lcd_config();
+
+ __HAL_RCC_GPIOC_CLK_ENABLE();
+ rt_pin_mode(LCD_DC_PIN, PIN_MODE_OUTPUT);
+ rt_pin_mode(LCD_BL_PIN, PIN_MODE_OUTPUT);
+ rt_pin_mode(LCD_RES_PIN, PIN_MODE_OUTPUT);
+ rt_pin_write(LCD_BL_PIN, PIN_LOW);
+}
+
+int rt_hw_spi_lcd_init(void)
+{
+ __HAL_RCC_GPIOI_CLK_ENABLE();
+ rt_hw_spi_device_attach("spi2", "spi20", GPIOI, GPIO_PIN_0);
+ lcd_gpio_init();
+
+ rt_pin_write(LCD_RES_PIN, PIN_HIGH);
+ rt_thread_mdelay(10);
+ rt_pin_write(LCD_RES_PIN, PIN_LOW);
+ rt_thread_mdelay(50);
+ rt_pin_write(LCD_RES_PIN, PIN_HIGH);
+ rt_thread_mdelay(200);
+
+ //************* Start Initial Sequence **********//
+ lcd_write_cmd(0xE0);
+ lcd_write_data(0x00);
+ lcd_write_data(0x07);
+ lcd_write_data(0x0f);
+ lcd_write_data(0x0D);
+ lcd_write_data(0x1B);
+ lcd_write_data(0x0A);
+ lcd_write_data(0x3c);
+ lcd_write_data(0x78);
+ lcd_write_data(0x4A);
+ lcd_write_data(0x07);
+ lcd_write_data(0x0E);
+ lcd_write_data(0x09);
+ lcd_write_data(0x1B);
+ lcd_write_data(0x1e);
+ lcd_write_data(0x0f);
+
+ lcd_write_cmd(0xE1);
+ lcd_write_data(0x00);
+ lcd_write_data(0x22);
+ lcd_write_data(0x24);
+ lcd_write_data(0x06);
+ lcd_write_data(0x12);
+ lcd_write_data(0x07);
+ lcd_write_data(0x36);
+ lcd_write_data(0x47);
+ lcd_write_data(0x47);
+ lcd_write_data(0x06);
+ lcd_write_data(0x0a);
+ lcd_write_data(0x07);
+ lcd_write_data(0x30);
+ lcd_write_data(0x37);
+ lcd_write_data(0x0f);
+
+ lcd_write_cmd(0xC0);
+ lcd_write_data(0x10);
+ lcd_write_data(0x10);
+
+ lcd_write_cmd(0xC1);
+ lcd_write_data(0x41);
+
+ lcd_write_cmd(0xC5);
+ lcd_write_data(0x00);
+ lcd_write_data(0x22);
+ lcd_write_data(0x80);
+
+ lcd_write_cmd(0x36);
+#ifndef LCD_HOR_SCREEN
+ lcd_write_data(0x48);
+#else
+ lcd_write_data(0x28);
+#endif
+
+ lcd_write_cmd(0x3A); //Interface Mode Control
+ lcd_write_data(0x66);
+
+ lcd_write_cmd(0XB0); //Interface Mode Control
+ lcd_write_data(0x00);
+ lcd_write_cmd(0xB1); //Frame rate 70HZ
+ lcd_write_data(0xB0);
+ lcd_write_data(0x11);
+ lcd_write_cmd(0xB4);
+ lcd_write_data(0x02);
+ lcd_write_cmd(0xB6); //RGB/MCU Interface Control
+ lcd_write_data(0x02);
+ lcd_write_data(0x02);
+
+ lcd_write_cmd(0xB7);
+ lcd_write_data(0xC6);
+
+ lcd_write_cmd(0xE9);
+ lcd_write_data(0x00);
+
+ lcd_write_cmd(0XF7);
+ lcd_write_data(0xA9);
+ lcd_write_data(0x51);
+ lcd_write_data(0x2C);
+ lcd_write_data(0x82);
+
+ lcd_fill(0, 0, LCD_WIDTH, LCD_HEIGHT, LCD_FULL_COLOR);
+
+ lcd_write_cmd(0x11);
+ rt_thread_mdelay(120);
+ lcd_write_cmd(0x29);
+
+ rt_thread_mdelay(50); //delay screen update to prevent screen appears white when the default color is black
+
+ return RT_EOK;
+}
+
+/**
+ * Set background color and foreground color
+ *
+ * @param back background color
+ * @param fore fore color
+ *
+ * @return void
+ */
+void lcd_set_color(rt_uint32_t back, rt_uint32_t fore)
+{
+ BACK_COLOR = back;
+ FORE_COLOR = fore;
+}
+
+void lcd_display_on(void)
+{
+ rt_pin_write(LCD_BL_PIN, PIN_HIGH);
+}
+
+void lcd_display_off(void)
+{
+ rt_pin_write(LCD_BL_PIN, PIN_LOW);
+}
+
+/* lcd enter the minimum power consumption mode and backlight off. */
+void lcd_enter_sleep(void)
+{
+ lcd_display_off();
+ rt_thread_mdelay(5);
+ lcd_write_cmd(0x28);
+ rt_thread_mdelay(10);
+ lcd_write_cmd(0x10);
+ rt_thread_mdelay(120);
+}
+/* lcd turn off sleep mode and backlight on. */
+void lcd_exit_sleep(void)
+{
+ lcd_display_on();
+ rt_thread_mdelay(5);
+ lcd_write_cmd(0x11);
+ rt_thread_mdelay(120);
+ lcd_write_cmd(0x29);
+}
+
+/**
+ * Set drawing area
+ *
+ * @param x1 start of x position
+ * @param y1 start of y position
+ * @param x2 end of x position
+ * @param y2 end of y position
+ *
+ * @return void
+ */
+void lcd_address_set(rt_uint16_t x1, rt_uint16_t y1, rt_uint16_t x2, rt_uint16_t y2)
+{
+ lcd_write_cmd(0x2a);
+ lcd_write_data(x1 >> 8);
+ lcd_write_data(x1);
+ lcd_write_data(x2 >> 8);
+ lcd_write_data(x2);
+
+ lcd_write_cmd(0x2b);
+ lcd_write_data(y1 >> 8);
+ lcd_write_data(y1);
+ lcd_write_data(y2 >> 8);
+ lcd_write_data(y2);
+
+ lcd_write_cmd(0x2C);
+}
+
+/**
+ * clear the lcd.
+ *
+ * @param color Fill color
+ *
+ * @return void
+ */
+void lcd_clear(rt_uint32_t color)
+{
+ rt_uint32_t i, j;
+ rt_uint8_t data[3] = {0};
+ rt_uint8_t *buf = RT_NULL;
+
+ data[0] = color >> 16;
+ data[1] = color >> 8;
+ data[2] = color;
+ lcd_address_set(0, 0, LCD_WIDTH - 1, LCD_HEIGHT - 1);
+
+ buf = rt_malloc(LCD_BUF_SIZE);
+ if (buf)
+ {
+ /* color is 16 bit */
+ for (j = 0; j < LCD_BUF_SIZE / 3; j++)
+ {
+ buf[j * 3] = data[0];
+ buf[j * 3 + 1] = data[1];
+ buf[j * 3 + 2] = data[2];
+ }
+
+ rt_pin_write(LCD_DC_PIN, PIN_HIGH);
+ rt_spi_send(spi_dev_lcd, buf, LCD_BUF_SIZE);
+ rt_free(buf);
+ }
+ else
+ {
+ rt_pin_write(LCD_DC_PIN, PIN_HIGH);
+ for (i = 0; i < LCD_WIDTH; i++)
+ {
+ for (j = 0; j < LCD_HEIGHT; j++)
+ {
+ rt_spi_send(spi_dev_lcd, data, 3);
+ }
+ }
+ }
+}
+
+/**
+ * display a point on the lcd using the given colour.
+ *
+ * @param x x position
+ * @param y y position
+ * @param color color of point
+ *
+ * @return void
+ */
+void lcd_draw_point_color(rt_uint16_t x, rt_uint16_t y, rt_uint32_t color)
+{
+ lcd_address_set(x, y, x, y);
+ lcd_write_three_bytes(color);
+}
+
+/**
+ * display a point on the lcd.
+ *
+ * @param x x position
+ * @param y y position
+ *
+ * @return void
+ */
+void lcd_draw_point(rt_uint16_t x, rt_uint16_t y)
+{
+ lcd_draw_point_color(x, y, FORE_COLOR);
+}
+
+/**
+ * full color on the lcd.
+ *
+ * @param x_start start of x position
+ * @param y_start start of y position
+ * @param x_end end of x position
+ * @param y_end end of y position
+ * @param color Fill color
+ *
+ * @return void
+ */
+void lcd_fill(rt_uint16_t x_start, rt_uint16_t y_start, rt_uint16_t x_end, rt_uint16_t y_end, rt_uint32_t color)
+{
+ rt_uint32_t i = 0, j = 0;
+ rt_uint32_t size = 0, size_remain = 0;
+ rt_uint8_t *fill_buf = RT_NULL;
+
+ size = (x_end - x_start) * (y_end - y_start) * 3;
+
+ if (size > LCD_CLEAR_SEND_NUMBER)
+ {
+ /* the number of remaining to be filled */
+ size_remain = size - LCD_CLEAR_SEND_NUMBER;
+ size = LCD_CLEAR_SEND_NUMBER;
+ }
+
+ lcd_address_set(x_start, y_start, x_end, y_end);
+
+ fill_buf = (rt_uint8_t *)rt_malloc(LCD_CLEAR_SEND_NUMBER);
+ if (fill_buf)
+ {
+ /* fast fill */
+ while (1)
+ {
+ for (i = 0; i < size / 3; i++)
+ {
+ fill_buf[3 * i] = color >> 16;
+ fill_buf[3 * i + 1] = color >> 8;
+ fill_buf[3 * i + 2] = color;
+ }
+ rt_pin_write(LCD_DC_PIN, PIN_HIGH);
+ rt_spi_send(spi_dev_lcd, fill_buf, size);
+
+ /* Fill completed */
+ if (size_remain == 0)
+ break;
+
+ /* calculate the number of fill next time */
+ if (size_remain > LCD_CLEAR_SEND_NUMBER)
+ {
+ size_remain = size_remain - LCD_CLEAR_SEND_NUMBER;
+ }
+ else
+ {
+ size = size_remain;
+ size_remain = 0;
+ }
+
+ }
+ rt_free(fill_buf);
+ }
+ else
+ {
+ for (i = y_start; i <= y_end; i++)
+ {
+ for (j = x_start; j <= x_end; j++)lcd_write_three_bytes(color);
+ }
+ }
+}
+
+/**
+ * full color array on the lcd.
+ *
+ * @param x_start start of x position
+ * @param y_start start of y position
+ * @param x_end end of x position
+ * @param y_end end of y position
+ * @param pcolor Fill color array's pointer
+ *
+ * @return void
+ */
+void lcd_fill_array(rt_uint16_t x_start, rt_uint16_t y_start, rt_uint16_t x_end, rt_uint16_t y_end, void *pcolor)
+{
+ rt_uint32_t size = 0;
+ rt_uint8_t *array = RT_NULL;
+
+ size = (x_end - x_start + 1) * (y_end - y_start + 1) * 3 /* 24bit */;
+ array = (rt_uint8_t *)rt_malloc(size);
+
+ if (!array) {
+ LOG_E("not enough memory");
+ return ;
+ }
+
+ rt_uint32_t *color_p = (rt_uint32_t *)pcolor;
+
+ for (rt_uint16_t i = 0; i < size / 3; i++)
+ {
+ array[3 * i] = *color_p >> 16;
+ array[3 * i + 1] = *color_p >> 8;
+ array[3 * i + 2] = *color_p;
+ color_p++;
+ }
+
+ lcd_address_set(x_start, y_start, x_end, y_end);
+ rt_pin_write(LCD_DC_PIN, PIN_HIGH);
+ rt_spi_send(spi_dev_lcd, array, size);
+
+ rt_free(array);
+}
+
+/**
+ * display a line on the lcd.
+ *
+ * @param x1 x1 position
+ * @param y1 y1 position
+ * @param x2 x2 position
+ * @param y2 y2 position
+ *
+ * @return void
+ */
+void lcd_draw_line(rt_uint16_t x1, rt_uint16_t y1, rt_uint16_t x2, rt_uint16_t y2)
+{
+ rt_uint16_t t;
+ rt_uint32_t i = 0;
+ int xerr = 0, yerr = 0, delta_x, delta_y, distance;
+ int incx, incy, row, col;
+
+ if (y1 == y2)
+ {
+ /* fast draw transverse line */
+ lcd_address_set(x1, y1, x2, y2);
+
+ rt_uint8_t line_buf[960] = {0};
+
+ for (i = 0; i < x2 - x1; i++)
+ {
+ line_buf[3 * i] = FORE_COLOR >> 16;
+ line_buf[3 * i + 1] = FORE_COLOR >> 8;
+ line_buf[3 * i + 2] = FORE_COLOR;
+ }
+
+ rt_pin_write(LCD_DC_PIN, PIN_HIGH);
+ rt_spi_send(spi_dev_lcd, line_buf, (x2 - x1) * 3);
+
+ return ;
+ }
+
+ delta_x = x2 - x1;
+ delta_y = y2 - y1;
+ row = x1;
+ col = y1;
+ if (delta_x > 0)incx = 1;
+ else if (delta_x == 0)incx = 0;
+ else
+ {
+ incx = -1;
+ delta_x = -delta_x;
+ }
+ if (delta_y > 0)incy = 1;
+ else if (delta_y == 0)incy = 0;
+ else
+ {
+ incy = -1;
+ delta_y = -delta_y;
+ }
+ if (delta_x > delta_y)distance = delta_x;
+ else distance = delta_y;
+ for (t = 0; t <= distance + 1; t++)
+ {
+ lcd_draw_point(row, col);
+ xerr += delta_x ;
+ yerr += delta_y ;
+ if (xerr > distance)
+ {
+ xerr -= distance;
+ row += incx;
+ }
+ if (yerr > distance)
+ {
+ yerr -= distance;
+ col += incy;
+ }
+ }
+}
+
+/**
+ * display a rectangle on the lcd.
+ *
+ * @param x1 x1 position
+ * @param y1 y1 position
+ * @param x2 x2 position
+ * @param y2 y2 position
+ *
+ * @return void
+ */
+void lcd_draw_rectangle(rt_uint16_t x1, rt_uint16_t y1, rt_uint16_t x2, rt_uint16_t y2)
+{
+ lcd_draw_line(x1, y1, x2, y1);
+ lcd_draw_line(x1, y1, x1, y2);
+ lcd_draw_line(x1, y2, x2, y2);
+ lcd_draw_line(x2, y1, x2, y2);
+}
+
+/**
+ * display a circle on the lcd.
+ *
+ * @param x x position of Center
+ * @param y y position of Center
+ * @param r radius
+ *
+ * @return void
+ */
+void lcd_draw_circle(rt_uint16_t x0, rt_uint16_t y0, rt_uint8_t r)
+{
+ int a, b;
+ int di;
+ a = 0;
+ b = r;
+ di = 3 - (r << 1);
+ while (a <= b)
+ {
+ lcd_draw_point(x0 - b, y0 - a);
+ lcd_draw_point(x0 + b, y0 - a);
+ lcd_draw_point(x0 - a, y0 + b);
+ lcd_draw_point(x0 - b, y0 - a);
+ lcd_draw_point(x0 - a, y0 - b);
+ lcd_draw_point(x0 + b, y0 + a);
+ lcd_draw_point(x0 + a, y0 - b);
+ lcd_draw_point(x0 + a, y0 + b);
+ lcd_draw_point(x0 - b, y0 + a);
+ a++;
+ //Bresenham
+ if (di < 0)di += 4 * a + 6;
+ else
+ {
+ di += 10 + 4 * (a - b);
+ b--;
+ }
+ lcd_draw_point(x0 + a, y0 + b);
+ }
+}
+
+static void lcd_show_char(rt_uint16_t x, rt_uint16_t y, rt_uint8_t data, rt_uint32_t size)
+{
+ rt_uint8_t temp;
+ rt_uint8_t num = 0;;
+ rt_uint8_t pos, t;
+ rt_uint32_t colortemp = FORE_COLOR;
+ rt_uint8_t *font_buf = RT_NULL;
+
+ if (x > LCD_WIDTH - size / 2 || y > LCD_HEIGHT - size)return;
+
+ data = data - ' ';
+#ifdef ASC2_1608
+ if (size == 16)
+ {
+ lcd_address_set(x, y, x + size / 2 - 1, y + size - 1);//(x,y,x+8-1,y+16-1)
+
+ font_buf = (rt_uint8_t *)rt_malloc(size * size / 2 * 3);
+ if (!font_buf)
+ {
+ /* fast show char */
+ for (pos = 0; pos < size * (size / 2) / 8; pos++)
+ {
+ temp = asc2_1608[(rt_uint16_t)data * size * (size / 2) / 8 + pos];
+ for (t = 0; t < 8; t++)
+ {
+ if (temp & 0x80)colortemp = FORE_COLOR;
+ else colortemp = BACK_COLOR;
+ lcd_write_three_bytes(colortemp);
+ temp <<= 1;
+ }
+ }
+ }
+ else
+ {
+ for (pos = 0; pos < size * (size / 2) / 8; pos++)
+ {
+ temp = asc2_1608[(rt_uint16_t)data * size * (size / 2) / 8 + pos];
+ for (t = 0; t < 8; t++)
+ {
+ if (temp & 0x80)colortemp = FORE_COLOR;
+ else colortemp = BACK_COLOR;
+ font_buf[3 * (8 * pos + t)] = colortemp >> 16;
+ font_buf[3 * (8 * pos + t) + 1] = colortemp >> 8;
+ font_buf[3 * (8 * pos + t) + 2] = colortemp;
+ temp <<= 1;
+ }
+ }
+ rt_pin_write(LCD_DC_PIN, PIN_HIGH);
+ rt_spi_send(spi_dev_lcd, font_buf, size * size / 2 * 3);
+ rt_free(font_buf);
+ }
+ }
+ else
+#endif
+
+#ifdef ASC2_2412
+ if (size == 24)
+ {
+ lcd_address_set(x, y, x + size / 2 - 1, y + size - 1);
+
+ font_buf = (rt_uint8_t *)rt_malloc(size * size / 2 * 3);
+ if (!font_buf)
+ {
+ /* fast show char */
+ for (pos = 0; pos < (size * 16) / 8; pos++)
+ {
+ temp = asc2_2412[(rt_uint16_t)data * (size * 16) / 8 + pos];
+ if (pos % 2 == 0)
+ {
+ num = 8;
+ }
+ else
+ {
+ num = 4;
+ }
+
+ for (t = 0; t < num; t++)
+ {
+ if (temp & 0x80)colortemp = FORE_COLOR;
+ else colortemp = BACK_COLOR;
+ lcd_write_three_bytes(colortemp);
+ temp <<= 1;
+ }
+ }
+ }
+ else
+ {
+ for (pos = 0; pos < (size * 16) / 8; pos++)
+ {
+ temp = asc2_2412[(rt_uint16_t)data * (size * 16) / 8 + pos];
+ if (pos % 2 == 0)
+ {
+ num = 8;
+ }
+ else
+ {
+ num = 4;
+ }
+
+ for (t = 0; t < num; t++)
+ {
+ if (temp & 0x80)colortemp = FORE_COLOR;
+ else colortemp = BACK_COLOR;
+ if (num == 8)
+ {
+ font_buf[3 * (12 * (pos / 2) + t)] = colortemp >> 16;
+ font_buf[3 * (12 * (pos / 2) + t) + 1] = colortemp >> 8;
+ font_buf[3 * (12 * (pos / 2) + t) + 2] = colortemp;
+ }
+ else
+ {
+ font_buf[3 * (8 + 12 * (pos / 2) + t)] = colortemp >> 16;
+ font_buf[3 * (8 + 12 * (pos / 2) + t) + 1] = colortemp >> 8;
+ font_buf[3 * (8 + 12 * (pos / 2) + t) + 2] = colortemp;
+ }
+ temp <<= 1;
+ }
+ }
+ rt_pin_write(LCD_DC_PIN, PIN_HIGH);
+ rt_spi_send(spi_dev_lcd, font_buf, size * size / 2 * 3);
+ rt_free(font_buf);
+ }
+ }
+ else
+#endif
+
+#ifdef ASC2_3216
+ if (size == 32)
+ {
+ lcd_address_set(x, y, x + size / 2 - 1, y + size - 1);
+
+ font_buf = (rt_uint8_t *)rt_malloc(size * size / 2 * 3);
+ if (!font_buf)
+ {
+ /* fast show char */
+ for (pos = 0; pos < size * (size / 2) / 8; pos++)
+ {
+ temp = asc2_3216[(rt_uint16_t)data * size * (size / 2) / 8 + pos];
+ for (t = 0; t < 8; t++)
+ {
+ if (temp & 0x80)colortemp = FORE_COLOR;
+ else colortemp = BACK_COLOR;
+ lcd_write_three_bytes(colortemp);
+ temp <<= 1;
+ }
+ }
+ }
+ else
+ {
+ for (pos = 0; pos < size * (size / 2) / 8; pos++)
+ {
+ temp = asc2_3216[(rt_uint16_t)data * size * (size / 2) / 8 + pos];
+ for (t = 0; t < 8; t++)
+ {
+ if (temp & 0x80)colortemp = FORE_COLOR;
+ else colortemp = BACK_COLOR;
+ font_buf[3 * (8 * pos + t)] = colortemp >> 16;
+ font_buf[3 * (8 * pos + t) + 1] = colortemp >> 8;
+ font_buf[3 * (8 * pos + t) + 2] = colortemp;
+ temp <<= 1;
+ }
+ }
+ rt_pin_write(LCD_DC_PIN, PIN_HIGH);
+ rt_spi_send(spi_dev_lcd, font_buf, size * size / 2 * 3);
+ rt_free(font_buf);
+ }
+ }
+ else
+#endif
+ {
+ LOG_E("There is no any define ASC2_1208 && ASC2_2412 && ASC2_2416 && ASC2_3216 !");
+ }
+}
+
+/**
+ * display the number on the lcd.
+ *
+ * @param x x position
+ * @param y y position
+ * @param num number
+ * @param len length of number
+ * @param size size of font
+ *
+ * @return void
+ */
+void lcd_show_num(rt_uint16_t x, rt_uint16_t y, rt_uint32_t num, rt_uint8_t len, rt_uint32_t size)
+{
+ lcd_show_string(x, y, size, "%d", num);
+}
+
+/**
+ * display the string on the lcd.
+ *
+ * @param x x position
+ * @param y y position
+ * @param size size of font
+ * @param p the string to be display
+ *
+ * @return 0: display success
+ * -1: size of font is not support
+ */
+rt_err_t lcd_show_string(rt_uint16_t x, rt_uint16_t y, rt_uint32_t size, const char *fmt, ...)
+{
+#define LCD_STRING_BUF_LEN 128
+
+ va_list args;
+ rt_uint8_t buf[LCD_STRING_BUF_LEN] = {0};
+ rt_uint8_t *p = RT_NULL;
+
+ if (size != 16 && size != 24 && size != 32)
+ {
+ LOG_E("font size(%d) is not support!", size);
+ return -RT_ERROR;
+ }
+
+ va_start(args, fmt);
+ rt_vsnprintf((char *)buf, 100, (const char *)fmt, args);
+ va_end(args);
+
+ p = buf;
+ while (*p != '\0')
+ {
+ if (x > LCD_WIDTH - size / 2)
+ {
+ x = 0;
+ y += size;
+ }
+ if (y > LCD_HEIGHT - size)
+ {
+ y = x = 0;
+ lcd_clear(RED);
+ }
+ lcd_show_char(x, y, *p, size);
+ x += size / 2;
+ p++;
+ }
+
+ return RT_EOK;
+}
+
+/**
+ * display the image on the lcd.
+ *
+ * @param x x position
+ * @param y y position
+ * @param length length of image
+ * @param wide wide of image
+ * @param p image
+ *
+ * @return 0: display success
+ * -1: the image is too large
+ */
+rt_err_t lcd_show_image(rt_uint16_t x, rt_uint16_t y, rt_uint16_t length, rt_uint16_t wide, const rt_uint8_t *p)
+{
+ RT_ASSERT(p);
+
+ if (x + length > LCD_WIDTH || y + wide > LCD_HEIGHT)
+ {
+ return -RT_ERROR;
+ }
+
+ lcd_address_set(x, y, x + length - 1, y + wide - 1);
+
+ rt_pin_write(LCD_DC_PIN, PIN_HIGH);
+ rt_spi_send(spi_dev_lcd, p, length * wide * 3);
+
+ return RT_EOK;
+}
+
+struct drv_lcd_device
+{
+ struct rt_device parent;
+
+ struct rt_device_graphic_info lcd_info;
+
+ struct rt_semaphore lcd_lock;
+
+ /* 0:front_buf is being used 1: back_buf is being used*/
+ rt_uint8_t cur_buf;
+ rt_uint8_t *front_buf;
+ rt_uint8_t *back_buf;
+};
+
+struct drv_lcd_device _lcd;
+
+static rt_err_t drv_lcd_init(struct rt_device *device)
+{
+ struct drv_lcd_device *lcd = LCD_DEVICE(device);
+ /* nothing, right now */
+ lcd = lcd;
+ return RT_EOK;
+}
+
+static rt_err_t drv_lcd_control(struct rt_device *device, int cmd, void *args)
+{
+ struct drv_lcd_device *lcd = LCD_DEVICE(device);
+ struct rt_device_rect_info *rect_info = RT_NULL;
+ uint32_t data_start_addr = 0;
+ uint32_t i = 0;
+
+ switch (cmd)
+ {
+ case RTGRAPHIC_CTRL_RECT_UPDATE:
+ {
+ /* update */
+ rect_info = (struct rt_device_rect_info *)args;
+ if(rect_info != NULL)
+ {
+ data_start_addr = rect_info->y * LCD_BYTES_PER_PIXEL * LCD_WIDTH + rect_info->x * LCD_BYTES_PER_PIXEL;
+ for(i = 0; i < rect_info->height; i++)
+ {
+ memcpy(&_lcd.front_buf[i * LCD_BYTES_PER_PIXEL * rect_info->width], &_lcd.lcd_info.framebuffer[data_start_addr + i * LCD_BYTES_PER_PIXEL * LCD_WIDTH], rect_info->width * LCD_BYTES_PER_PIXEL);
+ }
+ lcd_show_image(rect_info->x, rect_info->y, rect_info->width, rect_info->height, _lcd.front_buf);
+ }
+ else
+ {
+ memcpy(_lcd.front_buf, _lcd.lcd_info.framebuffer, LCD_BUF_SIZE);
+ lcd_show_image(0, 0, LCD_WIDTH, LCD_HEIGHT, _lcd.front_buf);
+ }
+ }
+ break;
+
+ case RTGRAPHIC_CTRL_GET_INFO:
+ {
+ struct rt_device_graphic_info *info = (struct rt_device_graphic_info *)args;
+
+ RT_ASSERT(info != RT_NULL);
+ info->pixel_format = lcd->lcd_info.pixel_format;
+ info->bits_per_pixel = lcd->lcd_info.bits_per_pixel;
+ info->width = lcd->lcd_info.width;
+ info->height = lcd->lcd_info.height;
+ info->framebuffer = lcd->lcd_info.framebuffer;
+ }
+ break;
+ }
+
+ return RT_EOK;
+}
+
+#if defined(LCD_BACKLIGHT_USING_GPIO)
+void turn_on_lcd_backlight(void)
+{
+ rt_pin_mode(LCD_BL_PIN, PIN_MODE_OUTPUT);
+ rt_pin_write(LCD_BL_PIN, PIN_HIGH);
+}
+#else
+void turn_on_lcd_backlight(void)
+{
+
+}
+#endif
+
+#ifdef RT_USING_DEVICE_OPS
+const static struct rt_device_ops lcd_ops =
+{
+ drv_lcd_init,
+ RT_NULL,
+ RT_NULL,
+ RT_NULL,
+ RT_NULL,
+ drv_lcd_control
+};
+#endif
+
+int drv_lcd_ili9488_hw_init(void)
+{
+ rt_err_t result = RT_EOK;
+ struct rt_device *device = &_lcd.parent;
+
+ /* memset _lcd to zero */
+ memset(&_lcd, 0x00, sizeof(_lcd));
+
+ /* init lcd_lock semaphore */
+ result = rt_sem_init(&_lcd.lcd_lock, "lcd_lock", 0, RT_IPC_FLAG_FIFO);
+ if (result != RT_EOK)
+ {
+ LOG_E("init semaphore failed!\n");
+ result = -RT_ENOMEM;
+ goto __exit;
+ }
+
+ /* config LCD dev info */
+ _lcd.lcd_info.height = LCD_HEIGHT;
+ _lcd.lcd_info.width = LCD_WIDTH;
+ _lcd.lcd_info.bits_per_pixel = LCD_BITS_PER_PIXEL;
+ _lcd.lcd_info.pixel_format = LCD_PIXEL_FORMAT;
+
+ /* malloc memory for double Buffering */
+ _lcd.lcd_info.framebuffer = rt_malloc(LCD_BUF_SIZE);
+ _lcd.front_buf = rt_malloc(LCD_BUF_SIZE);
+ if (_lcd.lcd_info.framebuffer == RT_NULL || _lcd.front_buf == RT_NULL)
+ {
+ LOG_E("init frame buffer failed!\n");
+ result = -RT_ENOMEM;
+ goto __exit;
+ }
+
+ /* memset buff to 0xFF */
+ memset(_lcd.lcd_info.framebuffer, 0xFF, LCD_BUF_SIZE);
+ memset(_lcd.front_buf, 0xFF, LCD_BUF_SIZE);
+
+ device->type = RT_Device_Class_Graphic;
+#ifdef RT_USING_DEVICE_OPS
+ device->ops = &lcd_ops;
+#else
+ device->init = drv_lcd_init;
+ device->control = drv_lcd_control;
+#endif
+
+ /* register lcd device */
+ rt_device_register(device, "lcd", RT_DEVICE_FLAG_RDWR);
+
+ /* init spi lcd */
+ if (rt_hw_spi_lcd_init() != RT_EOK)
+ {
+ result = -RT_ERROR;
+ goto __exit;
+ }
+ else
+ {
+ turn_on_lcd_backlight();
+ }
+
+#if defined(PKG_USING_GUIENGINE)
+ rtgui_graphic_set_device(device);
+#endif
+
+__exit:
+ if (result != RT_EOK)
+ {
+ rt_sem_detach(&_lcd.lcd_lock);
+
+ if (_lcd.lcd_info.framebuffer)
+ {
+ rt_free(_lcd.lcd_info.framebuffer);
+ }
+
+ if (_lcd.back_buf)
+ {
+ rt_free(_lcd.back_buf);
+ }
+
+ if (_lcd.front_buf)
+ {
+ rt_free(_lcd.front_buf);
+ }
+ }
+ return result;
+}
+INIT_COMPONENT_EXPORT(drv_lcd_ili9488_hw_init);
+
+#ifdef DRV_DEBUG
+#ifdef FINSH_USING_MSH
+int ili9488_test()
+{
+ struct drv_lcd_device *lcd;
+ lcd = (struct drv_lcd_device *)rt_device_find("lcd");
+ struct rt_device_rect_info rect_info = {0, 0, LCD_WIDTH, LCD_HEIGHT};
+ uint32_t i = 0;
+
+ lcd_clear(WHITE);
+
+ lcd_show_image(0, 0, 240, 69, image_rttlogo);
+
+ lcd_set_color(WHITE, BLACK);
+
+ lcd_show_string(10, 69, 16, "Hello, RT-Thread!");
+ lcd_show_string(10, 69+16, 24, "RT-Thread");
+ lcd_show_string(10, 69+16+24, 32, "RT-Thread");
+
+ lcd_draw_line(0, 69+16+24+32, LCD_H, 69+16+24+32);
+
+ lcd_draw_point(160, 310);
+ for (int i = 0; i < 150; i += 4)
+ {
+ lcd_draw_circle(160, 310, i);
+ }
+
+ rt_thread_mdelay(2000);
+
+ while (1)
+ {
+ i += 10;
+ if(i >= 120)
+ {
+ i = 0;
+ }
+
+ rect_info.x = i;
+ rect_info.y = i;
+ rect_info.width =LCD_WIDTH - 2 * i;
+ rect_info.height =LCD_HEIGHT - 2 * i;
+
+ /* red */
+ for (int i = 0; i < LCD_BUF_SIZE / 3; i++)
+ {
+ lcd->lcd_info.framebuffer[3 * i] = 0xFF;
+ lcd->lcd_info.framebuffer[3 * i + 1] = 0x00;
+ lcd->lcd_info.framebuffer[3 * i + 2] = 0x00;
+ }
+ lcd->parent.control(&lcd->parent, RTGRAPHIC_CTRL_RECT_UPDATE, &rect_info);
+ rt_thread_mdelay(1000);
+ /* green */
+ for (int i = 0; i < LCD_BUF_SIZE / 3; i++)
+ {
+ lcd->lcd_info.framebuffer[3 * i] = 0x00;
+ lcd->lcd_info.framebuffer[3 * i + 1] = 0xFF;
+ lcd->lcd_info.framebuffer[3 * i + 2] = 0x00;
+ }
+ lcd->parent.control(&lcd->parent, RTGRAPHIC_CTRL_RECT_UPDATE, &rect_info);
+ rt_thread_mdelay(1000);
+ /* blue */
+ for (int i = 0; i < LCD_BUF_SIZE / 3; i++)
+ {
+ lcd->lcd_info.framebuffer[3 * i] = 0x00;
+ lcd->lcd_info.framebuffer[3 * i + 1] = 0x00;
+ lcd->lcd_info.framebuffer[3 * i + 2] = 0xFF;
+ }
+ lcd->parent.control(&lcd->parent, RTGRAPHIC_CTRL_RECT_UPDATE, &rect_info);
+ rt_thread_mdelay(1000);
+ }
+}
+MSH_CMD_EXPORT(ili9488_test, test ili9488 driver);
+#endif /* FINSH_USING_MSH */
+#endif /* DRV_DEBUG */
+#endif /* BSP_USING_SPI_LCD_ILI9488 */
diff --git a/bsp/stm32/stm32h750-artpi/board/port/drv_spi_ili9488.h b/bsp/stm32/stm32h750-artpi/board/port/drv_spi_ili9488.h
new file mode 100644
index 0000000000..479fd93251
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/board/port/drv_spi_ili9488.h
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2006-2022, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2018-08-14 flybreak the first version
+ * 2018-09-18 balanceTWK add sleep mode function
+ * 2022-02-01 Rudy Lo add lcd_fill_array function
+ */
+
+#ifndef __DRV_LCD_SPI_H__
+#define __DRV_LCD_SPI_H__
+
+#include
+
+#define LCD_W 480
+#define LCD_H 320
+
+//POINT_COLOR
+#define WHITE 0xFFFFFF
+#define BLACK 0x000000
+#define BLUE 0x0000FF
+//#define BRED 0XF81F
+//#define GRED 0XFFE0
+//#define GBLUE 0X07FF
+#define RED 0xFF0000
+//#define MAGENTA 0xF81F
+#define GREEN 0x00FF00
+//#define CYAN 0x7FFF
+//#define YELLOW 0xFFE0
+//#define BROWN 0XBC40
+//#define BRRED 0XFC07
+//#define GRAY 0X8430
+//#define GRAY175 0XAD75
+//#define GRAY151 0X94B2
+//#define GRAY187 0XBDD7
+//#define GRAY240 0XF79E
+
+int rt_hw_spi_lcd_init(void);
+
+void lcd_clear(rt_uint32_t color);
+void lcd_address_set(rt_uint16_t x1, rt_uint16_t y1, rt_uint16_t x2, rt_uint16_t y2);
+void lcd_set_color(rt_uint32_t back, rt_uint32_t fore);
+
+void lcd_draw_point(rt_uint16_t x, rt_uint16_t y);
+void lcd_draw_point_color(rt_uint16_t x, rt_uint16_t y, rt_uint32_t color);
+void lcd_draw_circle(rt_uint16_t x0, rt_uint16_t y0, rt_uint8_t r);
+void lcd_draw_line(rt_uint16_t x1, rt_uint16_t y1, rt_uint16_t x2, rt_uint16_t y2);
+void lcd_draw_rectangle(rt_uint16_t x1, rt_uint16_t y1, rt_uint16_t x2, rt_uint16_t y2);
+void lcd_fill(rt_uint16_t x_start, rt_uint16_t y_start, rt_uint16_t x_end, rt_uint16_t y_end, rt_uint32_t color);
+void lcd_fill_array(rt_uint16_t x_start, rt_uint16_t y_start, rt_uint16_t x_end, rt_uint16_t y_end, void *pcolor);
+
+void lcd_show_num(rt_uint16_t x, rt_uint16_t y, rt_uint32_t num, rt_uint8_t len, rt_uint32_t size);
+rt_err_t lcd_show_string(rt_uint16_t x, rt_uint16_t y, rt_uint32_t size, const char *fmt, ...);
+rt_err_t lcd_show_image(rt_uint16_t x, rt_uint16_t y, rt_uint16_t length, rt_uint16_t wide, const rt_uint8_t *p);
+
+void lcd_enter_sleep(void);
+void lcd_exit_sleep(void);
+void lcd_display_on(void);
+void lcd_display_off(void);
+
+#endif /* __DRV_LCD_SPI_H__ */
diff --git a/bsp/stm32/stm32h750-artpi/board/port/drv_wlan.c b/bsp/stm32/stm32h750-artpi/board/port/drv_wlan.c
new file mode 100644
index 0000000000..4393c9ea1c
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/board/port/drv_wlan.c
@@ -0,0 +1,211 @@
+/*
+ * Copyright (c) 2006-2022, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2018-08-30 ZeroFree the first version
+ */
+
+#include
+#include
+
+#ifdef RT_USING_WIFI
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+#define DBG_ENABLE
+#define DBG_SECTION_NAME "WLAN"
+#define DBG_COLOR
+#define DBG_LEVEL DBG_LOG
+#include
+
+#define NVRAM_GENERATED_MAC_ADDRESS "macaddr=02:0A:F7:fe:86:1c"
+#define WIFI_IMAGE_PARTITION_NAME "wifi_image"
+#define WIFI_INIT_THREAD_STACK_SIZE (1024 * 4)
+#define WIFI_INIT_THREAD_PRIORITY (RT_THREAD_PRIORITY_MAX/2)
+#define WIFI_INIT_WAIT_TIME (rt_tick_from_millisecond(1000))
+
+extern int wifi_hw_init(void);
+static rt_bool_t init_flag = 0;
+static const struct fal_partition *partition = RT_NULL;
+
+ALIGN(64)
+static const char wifi_nvram_image[] =
+ // # The following parameter values are just placeholders, need to be updated.
+ "manfid=0x2d0" "\x00"
+ "prodid=0x0726" "\x00"
+ "vendid=0x14e4" "\x00"
+ "devid=0x43e2" "\x00"
+ "boardtype=0x0726" "\x00"
+ "boardrev=0x1101" "\x00"
+ "boardnum=22" "\x00"
+ "xtalfreq=26000" "\x00"
+ "sromrev=11" "\x00"
+ "boardflags=0x00404201" "\x00"
+ "boardflags3=0x08000000" "\x00"
+ NVRAM_GENERATED_MAC_ADDRESS "\x00"
+ "nocrc=1" "\x00"
+ "ag0=255" "\x00"
+ "aa2g=1" "\x00"
+ "ccode=ALL"
+ "\x00"
+ "swdiv_en=1" "\x00"
+ "swdiv_gpio=2" "\x00"
+
+ "pa0itssit=0x20" "\x00"
+ "extpagain2g=0" "\x00"
+ "pa2ga0=-215,5267,-656" "\x00"
+ "AvVmid_c0=0x0,0xc8" "\x00"
+ "cckpwroffset0=5" "\x00"
+ "maxp2ga0=80" "\x00"
+ "txpwrbckof=6" "\x00"
+ "cckbw202gpo=0x6666" "\x00"
+ "legofdmbw202gpo=0xaaaaaaaa" "\x00"
+ "mcsbw202gpo=0xbbbbbbbb" "\x00"
+ "propbw202gpo=0xdd" "\x00"
+ "ofdmdigfilttype=18" "\x00"
+ "ofdmdigfilttypebe=18" "\x00"
+ "papdmode=1" "\x00"
+ "papdvalidtest=1" "\x00"
+ "pacalidx2g=32" "\x00"
+ "papdepsoffset=-36" "\x00"
+ "papdendidx=61" "\x00"
+ "wl0id=0x431b" "\x00"
+ "deadman_to=0xffffffff" "\x00"
+ "muxenab=0x11" "\x00"
+ "spurconfig=0x3" "\x00"
+ "\x00\x00";
+
+int wiced_platform_resource_size(int resource)
+{
+ int size = 0;
+
+ /* Download firmware */
+ if (resource == 0)
+ {
+ size = 355159;
+ }
+ else if (resource == 1)
+ {
+ size = sizeof(wifi_nvram_image);
+ }
+
+ return size;
+}
+
+int wiced_platform_resource_read(int resource, uint32_t offset, void* buffer, uint32_t buffer_size)
+{
+ if (resource == 0)
+ {
+ /* read RF firmware from partition */
+ fal_partition_read(partition, offset, buffer, buffer_size);
+ }
+ else if (resource == 1)
+ {
+ memcpy(buffer, &wifi_nvram_image[offset], buffer_size);
+ }
+
+ return buffer_size;
+}
+
+/**
+ * wait milliseconds for wifi low level initialize complete
+ *
+ * time_ms: timeout in milliseconds
+ */
+int rt_hw_wlan_wait_init_done(rt_uint32_t time_ms)
+{
+ rt_uint32_t time_cnt = 0;
+
+ /* wait wifi low level initialize complete */
+ while (time_cnt <= (time_ms / 100))
+ {
+ time_cnt++;
+ rt_thread_mdelay(100);
+
+ if (init_flag == 1)
+ {
+ break;
+ }
+ }
+
+ if (time_cnt > (time_ms / 100))
+ {
+ return -RT_ETIMEOUT;
+ }
+
+ return RT_EOK;
+}
+
+
+static void wifi_init_thread_entry(void *parameter)
+{
+ /* initialize fal */
+ fal_init();
+ partition = fal_partition_find(WIFI_IMAGE_PARTITION_NAME);
+
+ if (partition == RT_NULL)
+ {
+ LOG_E("%s partition is not exist, please check your configuration!", WIFI_IMAGE_PARTITION_NAME);
+ return;
+ }
+
+ /* initialize low level wifi(ap6212) library */
+ wifi_hw_init();
+
+ /* waiting for sdio bus stability */
+ rt_thread_delay(WIFI_INIT_WAIT_TIME);
+
+ /* set wifi work mode */
+ rt_wlan_set_mode(RT_WLAN_DEVICE_STA_NAME, RT_WLAN_STATION);
+ /* NEED TODO !!! */
+ /* rt_wlan_set_mode(RT_WLAN_DEVICE_AP_NAME, RT_WLAN_AP); */
+
+ init_flag = 1;
+}
+
+int rt_hw_wlan_init(void)
+{
+ if (init_flag == 1)
+ {
+ return RT_EOK;
+ }
+
+ rt_thread_t tid = RT_NULL;
+
+ tid = rt_thread_create("wifi_init", wifi_init_thread_entry, RT_NULL, WIFI_INIT_THREAD_STACK_SIZE, WIFI_INIT_THREAD_PRIORITY, 20);
+
+ if (tid)
+ {
+ rt_thread_startup(tid);
+ }
+ else
+ {
+ LOG_E("Create wifi initialization thread fail!");
+ return -RT_ERROR;
+ }
+
+ return RT_EOK;
+}
+INIT_APP_EXPORT(rt_hw_wlan_init);
+
+static int ap6212_init(void)
+{
+#define AP6212_WL_REG_ON GET_PIN(C, 13)
+
+ /* enable the WLAN REG pin */
+ rt_pin_mode(AP6212_WL_REG_ON, PIN_MODE_OUTPUT);
+ rt_pin_write(AP6212_WL_REG_ON, PIN_HIGH);
+
+ return 0;
+}
+INIT_DEVICE_EXPORT(ap6212_init);
+
+#endif /* RT_USING_WIFI */
diff --git a/bsp/stm32/stm32h750-artpi/board/port/ef_fal_port.c b/bsp/stm32/stm32h750-artpi/board/port/ef_fal_port.c
new file mode 100644
index 0000000000..69bf39efa7
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/board/port/ef_fal_port.c
@@ -0,0 +1,208 @@
+/*
+ * This file is part of the EasyFlash Library.
+ *
+ * Copyright (c) 2015, Armink,
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * 'Software'), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Function: Portable interface for FAL (Flash Abstraction Layer) partition.
+ * Created on: 2018-05-19
+ */
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+/* EasyFlash partition name on FAL partition table */
+#define FAL_EF_PART_NAME "easyflash"
+
+/* default ENV set for user */
+static const ef_env default_env_set[] = {
+ {"boot_times", "0"}
+};
+
+static char log_buf[RT_CONSOLEBUF_SIZE];
+static struct rt_semaphore env_cache_lock;
+static const struct fal_partition *part = NULL;
+
+/**
+ * Flash port for hardware initialize.
+ *
+ * @param default_env default ENV set for user
+ * @param default_env_size default ENV size
+ *
+ * @return result
+ */
+EfErrCode ef_port_init(ef_env const **default_env, size_t *default_env_size) {
+ EfErrCode result = EF_NO_ERR;
+
+ *default_env = default_env_set;
+ *default_env_size = sizeof(default_env_set) / sizeof(default_env_set[0]);
+
+ rt_sem_init(&env_cache_lock, "env lock", 1, RT_IPC_FLAG_PRIO);
+
+ part = fal_partition_find(FAL_EF_PART_NAME);
+ EF_ASSERT(part);
+
+ return result;
+}
+
+/**
+ * Read data from flash.
+ * @note This operation's units is word.
+ *
+ * @param addr flash address
+ * @param buf buffer to store read data
+ * @param size read bytes size
+ *
+ * @return result
+ */
+EfErrCode ef_port_read(uint32_t addr, uint32_t *buf, size_t size) {
+ EfErrCode result = EF_NO_ERR;
+
+ fal_partition_read(part, addr, (uint8_t *)buf, size);
+
+ return result;
+}
+
+/**
+ * Erase data on flash.
+ * @note This operation is irreversible.
+ * @note This operation's units is different which on many chips.
+ *
+ * @param addr flash address
+ * @param size erase bytes size
+ *
+ * @return result
+ */
+EfErrCode ef_port_erase(uint32_t addr, size_t size) {
+ EfErrCode result = EF_NO_ERR;
+
+ /* make sure the start address is a multiple of FLASH_ERASE_MIN_SIZE */
+ EF_ASSERT(addr % EF_ERASE_MIN_SIZE == 0);
+
+ if (fal_partition_erase(part, addr, size) < 0)
+ {
+ result = EF_ERASE_ERR;
+ }
+
+ return result;
+}
+/**
+ * Write data to flash.
+ * @note This operation's units is word.
+ * @note This operation must after erase. @see flash_erase.
+ *
+ * @param addr flash address
+ * @param buf the write data buffer
+ * @param size write bytes size
+ *
+ * @return result
+ */
+EfErrCode ef_port_write(uint32_t addr, const uint32_t *buf, size_t size) {
+ EfErrCode result = EF_NO_ERR;
+
+ if (fal_partition_write(part, addr, (uint8_t *)buf, size) < 0)
+ {
+ result = EF_WRITE_ERR;
+ }
+
+ return result;
+}
+
+/**
+ * lock the ENV ram cache
+ */
+void ef_port_env_lock(void) {
+ rt_sem_take(&env_cache_lock, RT_WAITING_FOREVER);
+}
+
+/**
+ * unlock the ENV ram cache
+ */
+void ef_port_env_unlock(void) {
+ rt_sem_release(&env_cache_lock);
+}
+
+/**
+ * This function is print flash debug info.
+ *
+ * @param file the file which has call this function
+ * @param line the line number which has call this function
+ * @param format output format
+ * @param ... args
+ *
+ */
+void ef_log_debug(const char *file, const long line, const char *format, ...) {
+
+#ifdef PRINT_DEBUG
+
+ va_list args;
+
+ /* args point to the first variable parameter */
+ va_start(args, format);
+ ef_print("[Flash] (%s:%ld) ", file, line);
+ /* must use vprintf to print */
+ rt_vsprintf(log_buf, format, args);
+ ef_print("%s", log_buf);
+ va_end(args);
+
+#endif
+
+}
+
+/**
+ * This function is print flash routine info.
+ *
+ * @param format output format
+ * @param ... args
+ */
+void ef_log_info(const char *format, ...) {
+ va_list args;
+
+ /* args point to the first variable parameter */
+ va_start(args, format);
+ ef_print("[Flash] ");
+ /* must use vprintf to print */
+ rt_vsprintf(log_buf, format, args);
+ ef_print("%s", log_buf);
+ va_end(args);
+}
+/**
+ * This function is print flash non-package info.
+ *
+ * @param format output format
+ * @param ... args
+ */
+void ef_print(const char *format, ...) {
+ va_list args;
+
+ /* args point to the first variable parameter */
+ va_start(args, format);
+ /* must use vprintf to print */
+ rt_vsprintf(log_buf, format, args);
+ rt_kprintf("%s", log_buf);
+ va_end(args);
+}
diff --git a/bsp/stm32/stm32h750-artpi/board/port/fal_cfg.h b/bsp/stm32/stm32h750-artpi/board/port/fal_cfg.h
new file mode 100644
index 0000000000..ac5a076eff
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/board/port/fal_cfg.h
@@ -0,0 +1,54 @@
+/*
+ * File : fal_cfg.h
+ * This file is part of FAL (Flash Abstraction Layer) package
+ * COPYRIGHT (C) 2006 - 2018, RT-Thread Development Team
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2018-05-17 armink the first version
+ */
+
+#ifndef _FAL_CFG_H_
+#define _FAL_CFG_H_
+
+#include
+#include
+
+#define NOR_FLASH_DEV_NAME "norflash0"
+
+/* ===================== Flash device Configuration ========================= */
+extern struct fal_flash_dev nor_flash0;
+
+/* flash device table */
+#define FAL_FLASH_DEV_TABLE \
+{ \
+ &nor_flash0, \
+}
+/* ====================== Partition Configuration ========================== */
+#ifdef FAL_PART_HAS_TABLE_CFG
+/* partition table */
+#define FAL_PART_TABLE \
+{ \
+ {FAL_PART_MAGIC_WORD, "wifi_image", NOR_FLASH_DEV_NAME, 0, 512*1024, 0}, \
+ {FAL_PART_MAGIC_WORD, "bt_image", NOR_FLASH_DEV_NAME, 512*1024, 512*1024, 0}, \
+ {FAL_PART_MAGIC_WORD, "download", NOR_FLASH_DEV_NAME, 1024*1024, 2*1024*1024, 0}, \
+ {FAL_PART_MAGIC_WORD, "easyflash", NOR_FLASH_DEV_NAME, 3*1024*1024, 1*1024*1024, 0}, \
+ {FAL_PART_MAGIC_WORD, "filesystem", NOR_FLASH_DEV_NAME, 4*1024*1024, 12*1024*1024, 0}, \
+}
+#endif /* FAL_PART_HAS_TABLE_CFG */
+
+#endif /* _FAL_CFG_H_ */
diff --git a/bsp/stm32/stm32h750-artpi/board/port/filesystem.c b/bsp/stm32/stm32h750-artpi/board/port/filesystem.c
new file mode 100644
index 0000000000..a774907b33
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/board/port/filesystem.c
@@ -0,0 +1,180 @@
+/*
+ * Copyright (c) 2006-2022, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2018-12-13 balanceTWK add sdcard port file
+ * 2019-06-11 WillianChan Add SD card hot plug detection
+ */
+
+#include
+
+#ifdef BSP_USING_FS
+#if DFS_FILESYSTEMS_MAX < 4
+ #error "Please define DFS_FILESYSTEMS_MAX more than 4"
+#endif
+#if DFS_FILESYSTEM_TYPES_MAX < 4
+ #error "Please define DFS_FILESYSTEM_TYPES_MAX more than 4"
+#endif
+
+#include
+#include "dfs_romfs.h"
+#ifdef BSP_USING_SDCARD_FS
+ #include
+ #include "drv_sdio.h"
+#endif
+#ifdef BSP_USING_SPI_FLASH_FS
+ #include "fal.h"
+#endif
+#define DBG_TAG "app.filesystem"
+#define DBG_LVL DBG_INFO
+#include
+
+static const struct romfs_dirent _romfs_root[] =
+{
+ {ROMFS_DIRENT_DIR, "flash", RT_NULL, 0},
+ {ROMFS_DIRENT_DIR, "sdcard", RT_NULL, 0}
+};
+
+const struct romfs_dirent romfs_root =
+{
+ ROMFS_DIRENT_DIR, "/", (rt_uint8_t *)_romfs_root, sizeof(_romfs_root) / sizeof(_romfs_root[0])
+};
+
+#ifdef BSP_USING_SDCARD_FS
+
+/* SD Card hot plug detection pin */
+#define SD_CHECK_PIN GET_PIN(D, 5)
+
+static void _sdcard_mount(void)
+{
+ rt_device_t device;
+
+ device = rt_device_find("sd0");
+
+ if (device == NULL)
+ {
+ mmcsd_wait_cd_changed(0);
+ sdcard_change();
+ mmcsd_wait_cd_changed(RT_WAITING_FOREVER);
+ device = rt_device_find("sd0");
+ }
+
+ if (device != RT_NULL)
+ {
+ if (dfs_mount("sd0", "/sdcard", "elm", 0, 0) == RT_EOK)
+ {
+ LOG_I("sd card mount to '/sdcard'");
+ }
+ else
+ {
+ LOG_W("sd card mount to '/sdcard' failed!");
+ }
+ }
+}
+
+static void _sdcard_unmount(void)
+{
+ rt_thread_mdelay(200);
+ dfs_unmount("/sdcard");
+ LOG_I("Unmount \"/sdcard\"");
+
+ mmcsd_wait_cd_changed(0);
+ sdcard_change();
+ mmcsd_wait_cd_changed(RT_WAITING_FOREVER);
+}
+
+static void sd_mount(void *parameter)
+{
+ rt_uint8_t re_sd_check_pin = 1;
+ rt_thread_mdelay(200);
+
+ if (rt_pin_read(SD_CHECK_PIN))
+ {
+ _sdcard_mount();
+ }
+
+ while (1)
+ {
+ rt_thread_mdelay(200);
+
+ if (!re_sd_check_pin && (re_sd_check_pin = rt_pin_read(SD_CHECK_PIN)) != 0)
+ {
+ _sdcard_mount();
+ }
+
+ if (re_sd_check_pin && (re_sd_check_pin = rt_pin_read(SD_CHECK_PIN)) == 0)
+ {
+ _sdcard_unmount();
+ }
+ }
+}
+
+#endif /* BSP_USING_SDCARD_FS */
+
+int mount_init(void)
+{
+ if (dfs_mount(RT_NULL, "/", "rom", 0, &(romfs_root)) != 0)
+ {
+ LOG_E("rom mount to '/' failed!");
+ }
+
+ #ifdef BSP_USING_SPI_FLASH_FS
+ struct rt_device *flash_dev = RT_NULL;
+
+ #ifndef RT_USING_WIFI
+ fal_init();
+ #endif
+
+ flash_dev = fal_mtd_nor_device_create("filesystem");
+
+ if (flash_dev)
+ {
+ //mount filesystem
+ if (dfs_mount(flash_dev->parent.name, "/flash", "lfs", 0, 0) != 0)
+ {
+ LOG_W("mount to '/flash' failed! try to mkfs %s", flash_dev->parent.name);
+ dfs_mkfs("lfs", flash_dev->parent.name);
+
+ if (dfs_mount(flash_dev->parent.name, "/flash", "lfs", 0, 0) == 0)
+ {
+ LOG_I("mount to '/flash' success!");
+ }
+ }
+ else
+ {
+ LOG_I("mount to '/flash' success!");
+ }
+ }
+ else
+ {
+ LOG_E("Can't create block device filesystem or bt_image partition.");
+ }
+
+ #endif
+
+ #ifdef BSP_USING_SDCARD_FS
+ rt_thread_t tid;
+
+ rt_pin_mode(SD_CHECK_PIN, PIN_MODE_INPUT_PULLUP);
+
+ tid = rt_thread_create("sd_mount", sd_mount, RT_NULL,
+ 2048, RT_THREAD_PRIORITY_MAX - 2, 20);
+
+ if (tid != RT_NULL)
+ {
+ rt_thread_startup(tid);
+ }
+ else
+ {
+ LOG_E("create sd_mount thread err!");
+ }
+
+ #endif
+ return RT_EOK;
+}
+INIT_APP_EXPORT(mount_init);
+
+#endif /* BSP_USING_FS */
diff --git a/bsp/stm32/stm32h750-artpi/board/port/lcd_port.h b/bsp/stm32/stm32h750-artpi/board/port/lcd_port.h
new file mode 100644
index 0000000000..02fd3304ff
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/board/port/lcd_port.h
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2006-2022, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2019-01-08 zylx first version
+ */
+
+#ifndef __LCD_PORT_H__
+#define __LCD_PORT_H__
+
+/* atk 4.3 inch screen, 800 * 480 */
+
+struct drv_lcd_device
+{
+ struct rt_device parent;
+
+ struct rt_device_graphic_info lcd_info;
+
+ struct rt_semaphore lcd_lock;
+
+ /* 0:front_buf is being used 1: back_buf is being used*/
+ rt_uint8_t cur_buf;
+ rt_uint8_t *front_buf;
+ rt_uint8_t *back_buf;
+};
+
+#define LCD_WIDTH 800
+#define LCD_HEIGHT 480
+#define LCD_BITS_PER_PIXEL 24
+#define LCD_BUF_SIZE (LCD_WIDTH * LCD_HEIGHT * LCD_BITS_PER_PIXEL / 8)
+#define LCD_PIXEL_FORMAT RTGRAPHIC_PIXEL_FORMAT_RGB888
+
+#define LCD_HSYNC_WIDTH 1
+#define LCD_VSYNC_HEIGHT 1
+#define LCD_HBP 88
+#define LCD_VBP 32
+#define LCD_HFP 40
+#define LCD_VFP 13
+
+#define LCD_BACKLIGHT_USING_GPIO
+#define LCD_BL_GPIO_NUM GET_PIN(D, 4)
+#define LCD_DISP_GPIO_NUM GET_PIN(B, 5)
+/* atk 4.3 inch screen, 800 * 480 */
+
+#endif /* __LCD_PORT_H__ */
diff --git a/bsp/stm32/stm32h750-artpi/board/port/lcd_spi_port.h b/bsp/stm32/stm32h750-artpi/board/port/lcd_spi_port.h
new file mode 100644
index 0000000000..ab4e63cd46
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/board/port/lcd_spi_port.h
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2006-2022, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2020-08-10 zylx first version
+ */
+
+#ifndef __LCD_PORT_H__
+#define __LCD_PORT_H__
+
+/* rt-thread 3.5 inch screen, 320 * 480 */
+#define LCD_HOR_SCREEN
+#define LCD_FULL_COLOR BLACK
+
+#ifndef LCD_FULL_COLOR
+#define LCD_FULL_COLOR WHITE
+#endif
+
+#ifndef LCD_HOR_SCREEN
+#define LCD_WIDTH 320
+#define LCD_HEIGHT 480
+#else
+#define LCD_WIDTH 480
+#define LCD_HEIGHT 320
+#endif
+#define LCD_BITS_PER_PIXEL 24
+#define LCD_BYTES_PER_PIXEL (LCD_BITS_PER_PIXEL / 8)
+#define LCD_BUF_SIZE (LCD_WIDTH * LCD_HEIGHT * LCD_BYTES_PER_PIXEL)
+#define LCD_PIXEL_FORMAT RTGRAPHIC_PIXEL_FORMAT_RGB888
+
+#define LCD_BACKLIGHT_USING_GPIO
+#define LCD_BL_PIN GET_PIN(C, 6)
+#define LCD_RES_PIN GET_PIN(A, 3)
+/* rt-thread 3.5 inch screen, 320 * 480 */
+
+#endif /* __LCD_PORT_H__ */
diff --git a/bsp/stm32/stm32h750-artpi/board/port/rttlogo.h b/bsp/stm32/stm32h750-artpi/board/port/rttlogo.h
new file mode 100644
index 0000000000..752703417d
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/board/port/rttlogo.h
@@ -0,0 +1,2072 @@
+const unsigned char image_rttlogo[] = { /* 0X10,0X10,0X00,0XF0,0X00,0X45,0X01,0X1B, */
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XDF,0XFF,0XBF,0X7F,
+0XBE,0XFF,0XBE,0XFF,0XB6,0XFF,0XA6,0XBF,0XA6,0XBF,0XB6,0XDF,0XBE,0XDF,0XBE,0XFF,
+0XBF,0X1F,0XCF,0XBF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF7,0XFF,0XB6,0XDF,0X85,0XBF,
+0X4C,0X9E,0X23,0X9B,0X02,0X98,0X02,0X37,0X01,0X96,0X01,0X36,0X01,0X36,0X00,0XF4,
+0X00,0XD4,0X00,0XD5,0X00,0XD5,0X00,0XD5,0X00,0XD4,0X00,0XD4,0X00,0XD4,0X00,0XD4,
+0X00,0XF4,0X01,0X15,0X01,0X36,0X01,0X76,0X01,0XD7,0X02,0X78,0X13,0X3A,0X3C,0X1C,
+0X64,0XFE,0X9E,0X7F,0XDF,0XDF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XF7,0XFF,0X96,0X5F,0X4C,0X7D,0X0A,0XDA,0X01,0XB7,0X01,0X36,0X00,0XB4,0X00,0XF4,
+0X01,0X35,0X01,0X76,0X01,0XD7,0X02,0X18,0X02,0X79,0X02,0X78,0X02,0X98,0X02,0X98,
+0X02,0XB8,0X02,0XB8,0X02,0X98,0X02,0X99,0X02,0XB9,0X02,0X98,0X02,0XB8,0X02,0XB8,
+0X02,0XB9,0X02,0X78,0X02,0X79,0X02,0X78,0X02,0X37,0X02,0X17,0X01,0X96,0X01,0X56,
+0X00,0XF5,0X00,0XD4,0X00,0XF5,0X01,0X76,0X02,0X99,0X3C,0X1C,0X8D,0XFF,0XDF,0XDF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XCF,0X5F,0X5C,0X9E,0X01,0XF7,
+0X00,0XB4,0X00,0XF4,0X00,0XF5,0X01,0XB7,0X02,0X58,0X02,0X98,0X02,0XB9,0X02,0X99,
+0X02,0X99,0X02,0X99,0X02,0X99,0X02,0XB9,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,
+0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,
+0X02,0X79,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0X99,
+0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X78,0X01,0XD7,0X01,0X35,0X00,0XF5,0X00,0X94,
+0X01,0X56,0X4C,0X7D,0XCF,0X5F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0X8D,0XBF,0X1B,0X3A,0X01,0X96,0X00,0XD4,0X00,0XF4,0X02,0X17,
+0X02,0X99,0X02,0XB9,0X02,0X99,0X02,0X79,0X02,0X78,0X02,0X79,0X02,0X79,0X02,0X99,
+0X02,0X98,0X02,0X99,0X02,0X79,0X02,0X98,0X02,0X98,0X02,0X79,0X02,0X99,0X02,0X99,
+0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,
+0X02,0X99,0X02,0X99,0X02,0X78,0X02,0X78,0X02,0X79,0X02,0X99,0X02,0X99,0X02,0XB8,
+0X02,0X99,0X02,0X99,0X02,0X98,0X02,0X78,0X02,0X99,0X02,0XB9,0X02,0X99,0X02,0XB9,
+0X02,0X59,0X01,0X15,0X00,0XB4,0X01,0X96,0X2B,0X7B,0X9E,0X3F,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X85,0X3F,
+0X00,0XF5,0X01,0X76,0X00,0XB4,0X01,0X76,0X02,0X59,0X02,0XB9,0X02,0XB9,0X02,0X99,
+0X02,0X78,0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,
+0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0X79,
+0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X79,
+0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X98,0X02,0X98,
+0X02,0X98,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0X99,0X02,0X78,0X02,0X98,0X02,0X98,
+0X02,0X98,0X02,0X99,0X02,0XB8,0X02,0X58,0X01,0X56,0X00,0X94,0X01,0X55,0X1B,0X3A,
+0X85,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XE7,0XFF,
+0X00,0X53,0X01,0XD7,0X02,0XD9,0X02,0XB9,0X02,0X38,0X01,0X15,0X00,0XF5,0X02,0X98,
+0X02,0XB9,0X02,0X79,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X98,
+0X02,0X99,0X02,0X99,0X02,0X78,0X02,0X99,0X02,0X98,0X02,0X99,0X02,0X79,0X02,0X99,
+0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,
+0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0XB9,0X02,0X99,0X02,0X99,
+0X02,0X98,0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,
+0X02,0X79,0X02,0X99,0X02,0X79,0X02,0X98,0X02,0X98,0X02,0XB9,0X02,0X78,0X01,0X97,
+0X00,0XB4,0X01,0X15,0X1B,0X1A,0XAE,0X5F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XD7,0XBF,0X00,0X94,0X01,0X97,0X00,0X94,0X01,0X96,0X6D,0X5F,0XAE,0X9F,0X01,0X76,
+0X02,0X79,0X02,0X98,0X02,0X98,0X02,0X99,0X02,0X98,0X02,0X99,0X02,0X98,0X02,0X79,
+0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,
+0X02,0X98,0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,
+0X02,0X98,0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,
+0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0X99,0X02,0X98,
+0X02,0X78,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X98,0X02,0X98,0X02,0X99,0X02,0X99,
+0X02,0XB9,0X02,0XB9,0X01,0X76,0X00,0X94,0X01,0XB6,0X6C,0XBE,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0X2B,0XDB,0X01,0XD7,0XA6,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X75,0X3E,
+0X00,0XD4,0X02,0XD9,0X02,0X7A,0X02,0X79,0X02,0X98,0X02,0X79,0X02,0X98,0X02,0X99,
+0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,
+0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X98,0X02,0X98,
+0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,
+0X02,0X99,0X02,0X99,0X02,0X98,0X02,0X98,0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X99,
+0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X79,
+0X02,0X99,0X02,0X98,0X02,0X99,0X02,0XB9,0X02,0X37,0X00,0XD5,0X01,0X15,0X33,0XBB,
+0XBE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X6D,0X3E,0X01,0X35,0X01,0XB6,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0X17,0X01,0XD7,0X02,0X99,0X02,0XB8,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,
+0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X98,0X02,0X98,0X02,0X98,0X02,0X98,0X02,0X78,
+0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0X98,
+0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X79,
+0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X78,0X02,0X78,0X02,0X99,0X02,0X99,0X02,0X99,
+0X02,0X99,0X02,0X79,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X98,
+0X02,0X99,0X02,0X98,0X02,0X98,0X02,0X99,0X02,0X99,0X02,0XD9,0X02,0X98,0X01,0X36,
+0X00,0X74,0X02,0X58,0XA6,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC6,0XFF,0X00,0X11,
+0X00,0XF4,0X02,0X38,0X00,0X74,0XAE,0XDF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF7,0XFF,
+0X53,0XDB,0X7D,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X9E,0X7F,0X00,0X93,0X02,0XD9,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X78,0X02,0XB8,
+0X02,0X79,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0X99,0X02,0X99,
+0X02,0X98,0X02,0X78,0X02,0X98,0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X98,
+0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X98,0X02,0X98,
+0X02,0X78,0X02,0X78,0X02,0XB8,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,
+0X02,0X79,0X02,0X99,0X02,0XB8,0X02,0X98,0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X79,
+0X02,0X99,0X02,0X79,0X02,0X98,0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X78,0X02,0X79,
+0X02,0XB9,0X01,0XB6,0X00,0X94,0X02,0X17,0XB6,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X02,0X99,
+0X01,0X76,0X02,0XD9,0X01,0X96,0X0B,0X1A,0XFF,0XFF,0XDF,0XBF,0X23,0X3A,0X00,0X94,
+0X00,0X54,0X00,0X93,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0X01,0X96,0X02,0X17,0X02,0X98,0X02,0X98,0X02,0X79,0X02,0X99,0X02,0X79,
+0X02,0X98,0X02,0X98,0X02,0X79,0X02,0X79,0X02,0X99,0X02,0X99,0X02,0X98,0X02,0X98,
+0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,
+0X02,0X38,0X02,0X17,0X01,0XD7,0X01,0XB7,0X01,0X97,0X01,0X97,0X01,0X97,0X01,0X97,
+0X01,0XB7,0X01,0X97,0X01,0X97,0X01,0XB7,0X01,0XD7,0X01,0XF8,0X02,0X38,0X02,0X38,
+0X02,0X78,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X78,0X02,0X99,
+0X02,0X99,0X02,0X98,0X02,0X79,0X02,0X99,0X02,0X99,0X02,0X98,0X02,0X99,0X02,0X78,
+0X02,0X79,0X02,0X99,0X02,0XB9,0X01,0XD7,0X00,0X33,0X43,0XFC,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XE7,0XFF,
+0X00,0X54,0X02,0XD9,0X02,0X78,0X00,0X11,0XCE,0XFF,0X7D,0X7F,0X00,0X11,0X02,0XD9,
+0X02,0XF9,0X00,0XF5,0X4C,0X9D,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0X96,0X5F,0X00,0XF4,0X02,0X99,0X02,0X99,0X02,0X98,0X02,0X99,0X02,0X99,
+0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0XB9,0X02,0X79,0X02,0X79,
+0X01,0XD7,0X01,0X96,0X01,0X35,0X00,0XF4,0X00,0XF4,0X00,0XF5,0X01,0X55,0X01,0XD7,
+0X01,0XF7,0X02,0X37,0X02,0XD9,0X0B,0X3A,0X1B,0X7B,0X1B,0X7B,0X1B,0X9B,0X1B,0X7B,
+0X13,0X9B,0X1B,0X9B,0X1B,0X9B,0X0B,0X5A,0X02,0XF9,0X02,0X78,0X02,0X17,0X01,0XB7,
+0X01,0X35,0X00,0XF5,0X00,0XD5,0X00,0XF5,0X01,0X35,0X01,0X96,0X01,0XF7,0X02,0X58,
+0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X98,
+0X02,0X99,0X02,0X98,0X02,0X99,0X02,0XB9,0X02,0XB9,0X00,0XF5,0X01,0X36,0X85,0X7F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X13,0X3A,0X00,0X11,0X01,0XB7,0X43,0XBB,0XFF,0XFF,0XFF,0XFF,0X01,0XB6,0X01,0XF8,
+0X02,0XB9,0X02,0X99,0X00,0X74,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0X01,0XD6,0X02,0X18,0X02,0X99,0X02,0X99,0X02,0X98,0X02,0X99,
+0X02,0X98,0X02,0X99,0X02,0X38,0X01,0XB6,0X01,0X15,0X00,0XF5,0X01,0X15,0X01,0X96,
+0X02,0X98,0X1B,0XBC,0X54,0XDE,0X85,0XDF,0XB6,0XFF,0XDF,0XDF,0XF7,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XDF,0XFF,0XBF,0X1F,0X8D,0XFF,0X5C,0XDE,0X1B,0XBB,0X02,0XB9,0X01,0X96,
+0X00,0XF5,0X00,0XF4,0X01,0X15,0X01,0X97,0X02,0X38,0X02,0X99,0X02,0X99,0X02,0X99,
+0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0XD9,0X02,0X38,0X00,0XB4,
+0X01,0X76,0X95,0XBF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X9E,0X3F,0X09,0XB6,0XFF,0XFF,
+0XFF,0XFF,0X84,0XBD,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X9E,0X3F,0X00,0X12,
+0X01,0XD8,0X00,0XF5,0X00,0X32,0X8D,0XBF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XAE,0X9F,0X2B,0XBB,0X02,0X78,0X02,0X78,0X02,0XB9,0X02,0X79,0X01,0XD7,0X01,0X56,
+0X00,0XB5,0X01,0X15,0X01,0XD6,0X13,0X7B,0X65,0X1F,0XAE,0X9F,0XEF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XEF,0XFF,0XA6,0XBF,0X5C,0XDE,0X0B,0X1A,0X01,0XD7,0X00,0XD4,0X00,0XF4,0X01,0X96,
+0X02,0X38,0X02,0X99,0X02,0XB9,0X02,0X98,0X02,0X79,0X02,0X98,0X02,0X99,0X02,0XB9,
+0X02,0X17,0X00,0X74,0X02,0X98,0XE7,0XDF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X4C,0X3C,0X01,0X56,0X00,0X95,0X00,0X53,0X02,0XD9,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X9D,0XFF,0X5C,0X7D,0XFF,0XFF,0X3C,0X1C,
+0X01,0X96,0X8D,0XBF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XDF,0X9F,0X33,0X3A,0X01,0XB7,
+0X00,0XB4,0X01,0XB7,0X02,0X78,0X01,0XB6,0X00,0XD5,0X01,0X15,0X02,0X77,0X34,0X1C,
+0X8D,0XDF,0XE7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XD7,0X9F,0X6D,0X7F,0X13,0X5A,
+0X01,0XD7,0X00,0XB4,0X01,0X14,0X01,0XF7,0X02,0X99,0X02,0XB9,0X02,0X79,0X02,0X99,
+0X02,0X99,0X02,0XD9,0X01,0X76,0X00,0X94,0X64,0X9D,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X3B,0XBC,0X00,0X53,0X02,0XF9,0X02,0XD9,0X00,0X53,
+0XF7,0XFF,0XFF,0XFF,0X44,0X1C,0X01,0XD6,0X00,0X95,0X00,0X10,0XBF,0X7F,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0X11,0X02,0X38,
+0X01,0X96,0X00,0XF4,0X01,0X75,0X1B,0X9B,0X85,0XDF,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XCF,0X7F,0X64,0XDE,0X02,0X78,0X00,0XF5,0X00,0XF5,0X01,0XF7,0X02,0X98,
+0X02,0XB9,0X02,0X99,0X02,0XB9,0X02,0X79,0X00,0XB3,0X01,0XF7,0XE7,0XDF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X96,0X02,0X38,0X02,0XD8,0X01,0XB7,
+0X02,0X18,0XFF,0XFF,0X0B,0X1A,0X00,0XB4,0X02,0XD9,0X02,0X38,0X00,0XB4,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X2B,0XFC,0X00,0X11,
+0X1B,0X7A,0X9E,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XEF,0XFF,0X64,0XFE,0X02,0X58,0X00,0XB4,
+0X01,0X36,0X02,0X79,0X02,0XD9,0X02,0X98,0X02,0XD9,0X01,0X96,0X00,0X94,0X75,0X5F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X7D,0XBF,0X00,0X12,0X01,0X35,0X00,0X74,
+0X0A,0X78,0XFF,0XFF,0XFF,0XFF,0X00,0XB4,0X02,0X99,0X02,0XF9,0X00,0XF4,0X12,0XFA,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF7,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XCF,0X9F,
+0X3C,0X1C,0X00,0XF4,0X00,0XF5,0X02,0X38,0X02,0XB9,0X02,0XD9,0X02,0X78,0X00,0XF4,
+0X01,0X96,0X6C,0X7D,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0XB6,0X4C,0X5C,0XD7,0X7F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X0B,0X3A,0X00,0XF4,0X01,0X15,0X00,0XF5,0X01,0X15,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0X5C,0X9D,0X01,0XB6,0X00,0XB4,0X01,0XD6,0X02,0XBA,0X02,0XB9,
+0X02,0X18,0X00,0X33,0X1A,0XD9,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XDF,0XBF,0X00,0X93,0X4C,0X9D,0XDF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X95,0XDF,0X02,0X58,0X00,0X94,0X01,0X96,
+0X02,0XB9,0X02,0XFA,0X00,0XF5,0X01,0X96,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XAE,0X9F,0X02,0XB8,
+0X00,0XB4,0X00,0XF5,0X02,0X79,0X01,0XD7,0X00,0XB4,0XBE,0X7F,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XE7,0XDF,0X85,0X9F,0X01,0X95,0X01,0X36,0X02,0X38,0X00,0X74,0X6D,0X1E,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X12,0XD9,0X00,0XB4,0X01,0X76,0X00,0X53,0X95,0XDF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC6,0XFF,0X02,0X78,0X00,0X93,0X00,0X13,
+0X75,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X95,0XBF,0X01,0X36,
+0X00,0X10,0X1B,0X1A,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X3B,0XFC,0X00,0X10,0X01,0X56,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XB6,0XFF,0X00,0X10,0X00,0XF4,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0XF7,0X01,0X56,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0X5C,0X01,0XF7,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC7,0X3F,0X54,0X3D,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XA6,0X3F,0X8D,0XDF,0X96,0X3F,0X9E,0X1F,0X9E,0X3F,0X96,0X3F,0X96,0X3F,0X9E,0X3F,
+0X9E,0X3F,0X96,0X3F,0X96,0X3F,0X96,0X3F,0X96,0X3F,0X96,0X3F,0X9E,0X3F,0X96,0X3F,
+0X96,0X3F,0X96,0X3F,0X96,0X3F,0XA6,0X7F,0XDF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X85,0X3F,0X96,0X5F,
+0X96,0X3F,0X96,0X3F,0X96,0X3F,0X96,0X3F,0X9E,0X3F,0X96,0X3F,0X96,0X3F,0X9E,0X3F,
+0X96,0X3F,0X96,0X3F,0X9E,0X3F,0X96,0X3F,0X9E,0X3F,0X96,0X3F,0X96,0X3F,0X9E,0X3F,
+0X96,0X3F,0X96,0X3F,0X96,0X3F,0X96,0X3F,0X96,0X3F,0X96,0X3F,0X96,0X3F,0X96,0X3F,
+0X85,0X9F,0XCF,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X96,0X3F,0X8D,0XFF,0X96,0X3F,0X96,0X3F,
+0X96,0X3F,0X96,0X3F,0X96,0X3F,0X96,0X3F,0X96,0X3F,0X96,0X3F,0X96,0X3F,0X96,0X3F,
+0X96,0X3F,0X96,0X3F,0X9E,0X3F,0X96,0X3F,0X9E,0X3F,0X96,0X3F,0X96,0X3F,0X9E,0X3F,
+0X96,0X3F,0X96,0X3F,0X96,0X3F,0X9E,0X3F,0X96,0X3F,0X96,0X3F,0X85,0X5F,0XDF,0XBF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XD7,0XBF,0X85,0X7F,0X96,0X3F,0X96,0X3F,0X96,0X3F,
+0X85,0X7F,0XCF,0XBF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XEF,0XBF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0X85,0X3F,0X96,0X3F,0X9E,0X3F,0X96,0X5F,0X7D,0X3F,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X00,0XD3,0X00,0X53,0X00,0XF5,0X00,0XF4,0X01,0X15,0X00,0XF4,0X00,0XF5,0X00,0XF5,
+0X00,0XF4,0X00,0XF4,0X00,0XF4,0X00,0XF4,0X00,0XF4,0X00,0XF5,0X00,0XF4,0X00,0XF4,
+0X00,0XF4,0X00,0XF4,0X00,0XD5,0X00,0XF4,0X01,0X14,0X01,0XD7,0X3B,0XFC,0XEF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X8E,0X3F,0X00,0X10,0X00,0XF4,
+0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,
+0X00,0XF4,0X00,0XF4,0X00,0XF5,0X01,0X14,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF4,
+0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,
+0X00,0X12,0X02,0X99,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0XD4,0X00,0X53,0X00,0XF4,0X00,0XF4,
+0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF4,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF4,
+0X00,0XF5,0X00,0XF4,0X00,0XF4,0X00,0XF4,0X00,0XF4,0X00,0XF4,0X00,0XF5,0X00,0XF4,
+0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF4,0X00,0XF5,0X00,0XF5,0X00,0X11,0X33,0XDB,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X2B,0XBC,0X00,0X11,0X00,0XF5,0X00,0XF4,0X00,0XF6,
+0X00,0X11,0X1B,0XBB,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XC7,0X3F,0X00,0X11,0X00,0XF5,0X00,0XF5,0X01,0X15,0X00,0X10,0X75,0X3F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0X78,0X02,0X38,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0XB9,0X02,0XB8,0X02,0XB8,
+0X02,0XB9,0X02,0X99,0X02,0X99,0X02,0XB9,0X02,0X99,0X02,0XB9,0X02,0XB9,0X02,0X99,
+0X02,0XB9,0X02,0X98,0X02,0X99,0X02,0X98,0X02,0X79,0X02,0X38,0X00,0XF4,0X00,0X54,
+0X85,0X9F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XAE,0XDF,0X01,0X15,0X02,0X99,
+0X02,0XB9,0X02,0X99,0X02,0X99,0X02,0XB9,0X02,0XB9,0X02,0X99,0X02,0X99,0X02,0X99,
+0X02,0X99,0X02,0X99,0X02,0X9A,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X98,
+0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0XB9,0X02,0X99,0X02,0X99,0X02,0X99,
+0X01,0X76,0X34,0X1C,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X02,0X38,0X02,0X18,0X02,0X79,0X02,0XB9,
+0X02,0XB9,0X02,0X98,0X02,0X98,0X02,0XB9,0X02,0XB8,0X02,0X99,0X02,0X99,0X02,0X99,
+0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X9A,0X02,0XB9,0X02,0X99,0X02,0X99,0X02,0XB9,
+0X02,0X99,0X02,0X98,0X02,0XB8,0X02,0XB9,0X02,0X99,0X02,0XB9,0X01,0X35,0X64,0XFE,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0XB9,0X02,0X99,0X02,0XB9,
+0X01,0X36,0X4C,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XDF,0XDF,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X00,0XF5,0X9E,0X1F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0X77,0X02,0X17,0X02,0X79,0X02,0X99,0X02,0X99,0X02,0X78,0X02,0X79,0X02,0X99,
+0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0XB9,0X02,0XB9,0X02,0X99,
+0X02,0X98,0X02,0X99,0X02,0X98,0X02,0X78,0X02,0X99,0X02,0XB8,0X02,0XB8,0X02,0X79,
+0X00,0X12,0X9E,0X9F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XAF,0X1F,0X00,0XF4,0X02,0XB9,
+0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0XB9,0X02,0X99,
+0X02,0X99,0X02,0X98,0X02,0X79,0X02,0X99,0X02,0X98,0X02,0X99,0X02,0X79,0X02,0X98,
+0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,
+0X01,0X76,0X33,0XDB,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X02,0X38,0X02,0X18,0X02,0X98,0X02,0XB9,
+0X02,0X99,0X02,0XB9,0X02,0X99,0X02,0X99,0X02,0XB9,0X02,0XB9,0X02,0X99,0X02,0X98,
+0X02,0X98,0X02,0X99,0X02,0X78,0X02,0X99,0X02,0X99,0X02,0XB9,0X02,0X99,0X02,0X99,
+0X02,0X99,0X02,0X99,0X02,0XB8,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0X36,0X5C,0XFE,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X54,0XFD,0X01,0X36,0X02,0X98,0X02,0X99,0X02,0X99,
+0X01,0X36,0X44,0XFD,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XDF,0XDF,0X01,0X14,0X02,0X98,0X02,0X79,0X02,0X9A,0X00,0XB5,0X96,0X3F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0X58,0X02,0X38,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0XD9,0X02,0X18,0X00,0XF5,
+0X00,0XF4,0X00,0XF4,0X00,0XF5,0X00,0XF4,0X00,0XF5,0X00,0XF4,0X00,0XF4,0X01,0X15,
+0X01,0X76,0X02,0X58,0X02,0XB9,0X02,0X99,0X02,0X79,0X02,0X78,0X02,0X99,0X02,0XB9,
+0X02,0X17,0X01,0X15,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X8E,0X3F,0X00,0X10,0X00,0XF5,
+0X00,0XF4,0X00,0XF4,0X00,0XF4,0X00,0XF4,0X00,0XF5,0X00,0XF5,0X00,0XF4,0X00,0XF4,
+0X01,0X97,0X02,0XD8,0X02,0X98,0X02,0X99,0X02,0X98,0X02,0X99,0X02,0X99,0X01,0X36,
+0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,
+0X00,0X12,0X02,0XB9,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0XB4,0X00,0X53,0X00,0XF5,0X00,0XF5,
+0X00,0XF4,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF4,0X00,0XF4,0X01,0XD7,0X02,0XDA,
+0X02,0X98,0X02,0X78,0X02,0X98,0X02,0X99,0X02,0X99,0X01,0X36,0X00,0XF3,0X00,0XD4,
+0X00,0XF5,0X00,0XF5,0X00,0XF4,0X00,0XF5,0X00,0XF4,0X01,0X15,0X00,0X11,0X33,0XDC,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFF,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0XB9,
+0X01,0X35,0X4C,0XFD,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XDF,0XDF,0X01,0X15,0X02,0X79,0X02,0X99,0X02,0X98,0X00,0XB4,0X9E,0X5F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0X78,0X01,0XF7,0X02,0X99,0X02,0X78,0X02,0XB9,0X01,0XD7,0X13,0X7B,0XB6,0XDF,
+0XA6,0X7F,0XA6,0X7F,0XA6,0X7F,0XA6,0X7F,0XA6,0X7F,0XA6,0X7F,0XA6,0XBF,0X8D,0XDF,
+0X2B,0XDC,0X01,0X55,0X01,0XB6,0X02,0XD9,0X02,0X99,0X02,0X79,0X02,0X79,0X02,0X98,
+0X02,0XD9,0X00,0X74,0X75,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X95,0X7F,0XA6,0X7F,
+0XA6,0X7F,0XA6,0X7F,0XA6,0X7F,0XA6,0X7F,0XA6,0X7F,0XA6,0X5F,0XA6,0X7F,0XAE,0XDF,
+0X54,0X9E,0X01,0XD7,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0X58,0X02,0X78,0X8D,0XDF,
+0XAE,0XBF,0XA6,0X7F,0XA6,0X5F,0XA6,0X7F,0XA6,0X7F,0XA6,0X7F,0XA6,0X7F,0XA6,0X7F,
+0X95,0XBF,0XD7,0X5F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XA6,0X5F,0X9E,0X1F,0XA6,0X7F,0X9E,0X7F,
+0XA6,0X5F,0XA6,0X5F,0XA6,0X5F,0XA6,0X7F,0XA6,0X7F,0XB6,0XBF,0X4C,0X5C,0X01,0XD7,
+0X02,0X99,0X02,0X99,0X02,0X98,0X02,0X79,0X02,0X57,0X85,0X9F,0XAE,0X9F,0XA6,0X7F,
+0XA6,0X7F,0XA6,0X7F,0X9E,0X7F,0XA6,0X5F,0XA6,0X5F,0X9E,0X7F,0X95,0XBF,0XE7,0XDF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X35,0X02,0X99,0X02,0XB9,0X02,0X98,
+0X01,0X36,0X4C,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XDF,0XDF,0X00,0XF5,0X02,0X98,0X02,0X98,0X02,0X98,0X00,0XD4,0X96,0X3F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0X57,0X02,0X17,0X02,0X99,0X02,0X98,0X02,0X99,0X00,0XB4,0X6D,0X7F,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0X02,0X37,0X01,0X96,0X02,0XB9,0X02,0X98,0X02,0X78,0X02,0X99,
+0X02,0X99,0X01,0X96,0X0B,0X3A,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0X00,0XF5,0X02,0X79,0X02,0X99,0X02,0X99,0X01,0XF7,0X02,0X78,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XD7,0X7F,0X00,0X94,
+0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X17,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XDE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X98,
+0X01,0X35,0X4C,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XDF,0XDF,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X00,0XD4,0X9E,0X3F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0X58,0X02,0X17,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0X15,0X54,0XFE,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X36,0X02,0X78,0X02,0X99,0X02,0X78,0X02,0X99,
+0X02,0X99,0X02,0X38,0X01,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XDF,0XBF,0X01,0X15,0X02,0X98,0X02,0X99,0X02,0X99,0X01,0XF7,0X02,0X79,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBE,0XDF,0X00,0XF5,
+0X02,0X99,0X02,0XB9,0X02,0X99,0X02,0X38,0X01,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X79,0X02,0X99,
+0X01,0X36,0X55,0X3E,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XF7,0XFF,0X00,0XF4,0X02,0X79,0X02,0X78,0X02,0XB9,0X00,0XD5,0X9E,0X3F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0X58,0X02,0X38,0X02,0X79,0X02,0X79,0X02,0XB9,0X00,0XF5,0X54,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X23,0XDB,0X01,0X56,0X02,0X78,0X02,0X98,0X02,0X99,
+0X02,0X99,0X02,0X38,0X01,0XB7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XDF,0X9F,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XF8,0X02,0X78,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
+0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X99,
+0X01,0X76,0X44,0X9D,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XC7,0X1F,0X01,0X35,0X02,0X99,0X02,0X78,0X02,0XB9,0X00,0XB4,0X9E,0X5F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0X78,0X01,0XF7,0X02,0X98,0X02,0X98,0X02,0X99,0X01,0X15,0X5C,0XFE,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XBD,0X00,0XF5,0X02,0X99,0X02,0X98,0X02,0X79,
+0X02,0X98,0X02,0X58,0X01,0XD6,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XDF,0X9F,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XF8,0X02,0X78,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
+0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X99,
+0X02,0X99,0X02,0X79,0X02,0X79,0X02,0X58,0X02,0X78,0X02,0X58,0X02,0X78,0X02,0X58,
+0X02,0X78,0X02,0X58,0X02,0X37,0X02,0XD9,0X44,0X5D,0XC6,0XDF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X35,0X02,0X38,0X02,0X58,
+0X02,0X58,0X02,0X58,0X02,0X58,0X02,0X78,0X02,0X57,0X02,0X58,0X02,0X78,0X02,0X37,
+0X02,0X78,0X54,0X7D,0XD7,0X9F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XEF,0XFF,0X6D,0X3E,
+0X13,0X9B,0X02,0X78,0X02,0X38,0X02,0X58,0X02,0X78,0X02,0X57,0X02,0X78,0X02,0X58,
+0X02,0X58,0X02,0X58,0X02,0X78,0X00,0XB3,0XBF,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X01,0X75,0X02,0X17,0X02,0X58,0X02,0X58,0X02,0X58,0X02,0X58,0X02,0X58,0X02,0X78,
+0X02,0X78,0X02,0X77,0X02,0X58,0X02,0X58,0X02,0X58,0X02,0X17,0X02,0XD9,0X54,0XDE,
+0XE7,0XBF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBE,0XDF,0X4C,0X7D,
+0X02,0XF9,0X02,0X38,0X02,0X58,0X02,0X58,0X02,0X58,0X02,0X57,0X02,0X58,0X02,0X58,
+0X02,0X78,0X02,0X78,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X00,0XD4,0X9E,0X3F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0X58,0X01,0XF8,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0X35,0X5C,0XFE,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X44,0X7C,0X01,0X35,0X02,0X99,0X02,0X99,0X02,0XB8,
+0X02,0X99,0X02,0X38,0X01,0XB7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XDF,0X9F,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XF8,0X02,0X78,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
+0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X99,
+0X02,0XB9,0X02,0X59,0X01,0XF8,0X02,0X18,0X02,0X17,0X01,0XF7,0X02,0X17,0X02,0X17,
+0X02,0X17,0X02,0X18,0X02,0X38,0X01,0XB7,0X01,0X15,0X00,0X73,0X12,0X99,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0XD4,0X01,0XF7,0X02,0X18,
+0X02,0X17,0X02,0X17,0X02,0X18,0X01,0XF8,0X02,0X17,0X02,0X17,0X02,0X17,0X02,0X18,
+0X01,0XD7,0X01,0X14,0X00,0X33,0X44,0X1D,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X1A,0XFA,0X00,0XD4,0X00,0XD5,
+0X01,0X76,0X02,0X18,0X02,0X17,0X02,0X17,0X01,0XF8,0X01,0XF7,0X02,0X17,0X02,0X18,
+0X02,0X17,0X02,0X17,0X02,0X17,0X00,0X53,0XAE,0XDF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X01,0X15,0X01,0XD7,0X02,0X18,0X02,0X17,0X02,0X17,0X02,0X17,0X01,0XF8,0X02,0X18,
+0X02,0X17,0X02,0X18,0X02,0X18,0X01,0XF7,0X01,0XF8,0X02,0X17,0X01,0XD7,0X00,0XF5,
+0X00,0X94,0X12,0XB8,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X9D,0XFF,0X01,0XB7,0X00,0XB4,0X01,0X14,
+0X01,0XB7,0X02,0X17,0X02,0X37,0X02,0X17,0X02,0X18,0X01,0XF7,0X02,0X17,0X02,0X17,
+0X01,0XF8,0X02,0X38,0X02,0XB9,0X02,0X98,0X02,0X79,0X02,0XB9,0X00,0XD4,0X9E,0X3F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0X58,0X01,0XF7,0X02,0X99,0X02,0XB8,0X02,0XB9,0X01,0X15,0X5D,0X1F,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X02,0XB9,0X01,0XB7,0X02,0X99,0X02,0X99,0X02,0X79,
+0X02,0X99,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XDF,0X9F,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XF8,0X02,0X78,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
+0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X99,
+0X02,0X99,0X02,0X99,0X02,0X99,0X02,0XB9,0X02,0XB8,0X02,0X99,0X02,0X99,0X02,0X99,
+0X02,0X99,0X02,0XB9,0X02,0X98,0X02,0X99,0X02,0XB8,0X02,0XD9,0X00,0XB4,0X02,0X58,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X78,0X02,0X99,
+0X02,0X79,0X02,0X99,0X02,0X99,0X02,0XB8,0X02,0X99,0X02,0X98,0X02,0X99,0X02,0X99,
+0X02,0X99,0X02,0X99,0X02,0X99,0X00,0X11,0X7D,0X9F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XCF,0XBF,0X00,0X53,0X01,0X35,0X02,0X99,0X02,0XB9,
+0X02,0XB8,0X02,0X79,0X02,0XB8,0X02,0XB8,0X02,0X79,0X02,0X99,0X02,0X98,0X02,0X99,
+0X02,0X99,0X02,0X99,0X02,0X99,0X00,0XF5,0XBF,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X01,0X96,0X02,0X58,0X02,0X99,0X02,0X99,0X02,0XB8,0X02,0X98,0X02,0X79,0X02,0X99,
+0X02,0X99,0X02,0X98,0X02,0X78,0X02,0X98,0X02,0X98,0X02,0XB9,0X02,0X99,0X02,0XB9,
+0X02,0X99,0X01,0X56,0X00,0X13,0XDF,0XBF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X3B,0XBB,0X00,0X32,0X01,0XD7,0X02,0XB9,0X02,0X99,
+0X02,0X99,0X02,0X79,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X98,0X02,0X99,
+0X02,0X99,0X02,0XB9,0X02,0X99,0X02,0X98,0X02,0X99,0X02,0X99,0X00,0XD4,0X9E,0X3F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0X58,0X02,0X17,0X02,0XB8,0X02,0X99,0X02,0X99,0X00,0XF5,0X5D,0X1E,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XBE,0XFF,0X01,0X15,0X02,0X98,0X02,0X99,0X02,0X98,0X02,0XB8,
+0X02,0X78,0X01,0XD6,0X02,0XB9,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XDF,0X9F,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XF8,0X02,0X78,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
+0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X99,
+0X02,0XDA,0X02,0X18,0X01,0X16,0X01,0X15,0X01,0X15,0X01,0X35,0X01,0X36,0X01,0X15,
+0X01,0X15,0X01,0X76,0X02,0X58,0X02,0X98,0X02,0X99,0X02,0X99,0X02,0XDA,0X00,0X73,
+0X8D,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X78,0X02,0X98,
+0X02,0X99,0X02,0XD9,0X02,0X37,0X00,0XF5,0X01,0X15,0X01,0X16,0X02,0X17,0X02,0XB9,
+0X02,0X98,0X02,0X99,0X02,0X99,0X01,0XF7,0X01,0X96,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0XD5,0X01,0X97,0X02,0XD9,0X02,0X99,0X02,0XD9,
+0X02,0X38,0X01,0X36,0X00,0XF5,0X01,0X14,0X01,0X15,0X00,0XF5,0X01,0X15,0X00,0XF5,
+0X00,0XF4,0X00,0XF5,0X00,0XF5,0X00,0X11,0X9E,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X00,0X12,0X00,0XB4,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X01,0X15,0X00,0XF5,0X00,0XF5,
+0X01,0X15,0X00,0XD5,0X01,0X15,0X00,0XF5,0X01,0X15,0X01,0XD7,0X02,0XDA,0X02,0X99,
+0X02,0XB8,0X02,0XD9,0X01,0X96,0X01,0X96,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0X33,0XDC,0X00,0X74,0X02,0XB9,0X02,0X98,0X02,0X79,0X02,0X99,
+0X02,0XB9,0X02,0X17,0X01,0X55,0X01,0X36,0X01,0X15,0X01,0X15,0X01,0X16,0X01,0X15,
+0X00,0XF4,0X01,0XB7,0X02,0XD9,0X02,0X98,0X02,0X99,0X02,0XB9,0X00,0XD4,0X96,0X3F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0X58,0X02,0X17,0X02,0X79,0X02,0X98,0X02,0X99,0X01,0X15,0X5C,0XFE,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0X9E,0X1F,0X01,0X56,0X02,0X38,0X02,0XB9,0X02,0X99,0X02,0X79,0X02,0X98,
+0X02,0XD9,0X00,0XF5,0X44,0X5D,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XDF,0X9F,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XF8,0X02,0X78,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XA6,0XBF,0X9E,0X7F,
+0XA6,0XBF,0XA6,0XBF,0XA6,0XBF,0XA6,0XBF,0XA6,0XBF,0XA6,0XBF,0XA6,0XBF,0XA6,0XBF,
+0X8E,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
+0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X99,
+0X02,0X38,0X03,0X39,0X75,0X7F,0X6D,0X3F,0X6D,0X1F,0X6D,0X3E,0X65,0X1E,0X6D,0X3E,
+0X65,0X5F,0X34,0X1C,0X01,0X96,0X01,0XD7,0X02,0XD9,0X02,0X98,0X02,0XB8,0X01,0XF7,
+0X01,0XB6,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X55,0X02,0X79,0X02,0X99,
+0X02,0X98,0X02,0X17,0X13,0X7A,0X7D,0X9F,0X75,0X7F,0X65,0X1F,0X02,0X58,0X01,0X96,
+0X02,0XD9,0X02,0X98,0X02,0X99,0X02,0XB9,0X00,0XB4,0XBF,0X1F,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0X02,0X37,0X01,0X36,0X02,0XDA,0X02,0X99,0X02,0XD9,0X01,0X76,
+0X01,0XD7,0X64,0XDF,0X85,0XFF,0X96,0X7F,0XAE,0XFF,0XA6,0XFF,0XA6,0XDF,0XAE,0XDF,
+0XA6,0XDF,0XAE,0XDF,0XA6,0XFF,0X95,0XDF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XA6,0X3F,0XA6,0XBF,0XA6,0XDF,0XAE,0XDF,0XA6,0XDF,0XA6,0XDF,0XA6,0XDF,0XA6,0XDF,
+0XA6,0XDF,0XAE,0XDF,0XAE,0XDF,0XA6,0X9F,0X75,0X9F,0X02,0X99,0X01,0X56,0X02,0XB9,
+0X02,0X79,0X02,0X99,0X02,0XD9,0X00,0X53,0X85,0XDF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0X9E,0X5F,0X00,0X13,0X02,0X99,0X02,0X98,0X02,0X79,0X02,0XD9,0X02,0X58,
+0X00,0XF5,0X02,0X78,0X3C,0X7D,0X65,0X3E,0X6D,0X3F,0X6D,0X3F,0X6D,0X3E,0X6D,0X3F,
+0X75,0X9F,0X3C,0X3D,0X02,0X18,0X02,0X99,0X02,0X78,0X02,0X99,0X00,0XB5,0X9E,0X3F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0X38,0X02,0X17,0X02,0X99,0X02,0X78,0X02,0X98,0X02,0X58,0X02,0XD9,0X13,0X7A,
+0X0B,0X3A,0X0B,0X3A,0X0B,0X3A,0X0B,0X3A,0X0B,0X3A,0X0B,0X3A,0X0B,0X1A,0X0B,0X1A,
+0X02,0X17,0X00,0XF5,0X02,0X38,0X02,0XDA,0X02,0X99,0X02,0X99,0X02,0X78,0X02,0X79,
+0X02,0X79,0X00,0X54,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XDF,0X9F,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XF8,0X02,0X78,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0X94,0X00,0X74,
+0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,0X00,0XF5,
+0X00,0X11,0XC7,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
+0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X99,
+0X01,0X15,0X5D,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0XF7,0X01,0XD7,0X02,0XB9,0X02,0X78,0X02,0XD9,
+0X00,0X94,0X9E,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X78,0X02,0X99,
+0X02,0X98,0X00,0XB5,0X95,0XDF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X0A,0XD9,
+0X01,0XD7,0X02,0X99,0X02,0XB9,0X02,0XB9,0X00,0XD4,0X9E,0X1F,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0X4C,0X7D,0X00,0X93,0X02,0XDA,0X02,0X79,0X02,0XB9,0X01,0X95,0X0A,0XFA,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X2B,0X9B,0X01,0X96,
+0X02,0X98,0X02,0XB9,0X02,0X98,0X01,0X97,0X03,0X19,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0X01,0X96,0X01,0XF8,0X02,0XBA,0X02,0X99,0X02,0X99,0X02,0X38,0X01,0X15,
+0X95,0XDF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0X00,0XF5,0X02,0X99,0X02,0X98,0X02,0X99,0X00,0XB5,0X9E,0X3F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0X58,0X02,0X18,0X02,0X99,0X02,0X98,0X02,0X79,0X02,0XDA,0X02,0X38,0X01,0X96,
+0X01,0XB7,0X01,0XB7,0X01,0XB7,0X01,0XB7,0X01,0XB7,0X01,0XB7,0X01,0X97,0X01,0XB7,
+0X02,0X38,0X02,0X99,0X02,0XB9,0X02,0X78,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0XB9,
+0X00,0X53,0X44,0X5D,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XDF,0X9F,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XF8,0X02,0X78,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X02,0X37,0X02,0X38,
+0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,
+0X01,0X15,0XDF,0XBF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
+0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X99,
+0X01,0X55,0X4C,0XFD,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBF,0X5F,0X00,0XF6,0X02,0X78,0X02,0X98,0X02,0XB9,
+0X00,0XB4,0X6C,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X78,0X02,0X99,
+0X02,0X99,0X00,0XF4,0X7D,0X9F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XCF,0XBF,
+0X00,0XF5,0X02,0X99,0X02,0X99,0X02,0X99,0X00,0XF4,0XA6,0X3F,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0X01,0X36,0X02,0X38,0X02,0X98,0X02,0X99,0X02,0X79,0X00,0XF5,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X96,
+0X02,0X38,0X02,0X79,0X02,0X78,0X02,0X38,0X01,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XB6,0XDF,0X00,0X93,0X02,0XB9,0X02,0X98,0X02,0X99,0X02,0XB9,0X00,0XB4,0XAE,0X5F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XE7,0XFF,0X00,0XF5,0X02,0X99,0X02,0X99,0X02,0X99,0X00,0XD4,0X9E,0X3F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0X58,0X02,0X17,0X02,0X79,0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X79,
+0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0XB8,0X02,0X99,
+0X02,0X98,0X02,0X99,0X02,0X79,0X02,0X78,0X02,0XB9,0X02,0X99,0X01,0XD7,0X00,0X33,
+0X33,0X5A,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XDF,0X9F,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XF8,0X02,0X78,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0XF5,0X00,0XD5,
+0X01,0X56,0X01,0X56,0X01,0X56,0X01,0X56,0X01,0X56,0X01,0X56,0X01,0X56,0X01,0X56,
+0X00,0X12,0XCF,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
+0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X99,
+0X01,0X35,0X4C,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X76,0X02,0X58,0X02,0X99,0X02,0XB9,
+0X00,0XF4,0X6D,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X78,0X02,0X99,
+0X02,0X99,0X00,0XF5,0X85,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XE7,0XFF,
+0X00,0X33,0X01,0XD7,0X01,0XF7,0X02,0X17,0X00,0X13,0X95,0XDF,0XFF,0XFF,0XFF,0XFF,
+0XCF,0X5F,0X00,0XD5,0X02,0XB8,0X02,0X99,0X02,0X99,0X01,0X97,0X02,0XD9,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X02,0X79,
+0X01,0XF7,0X02,0X79,0X02,0X79,0X02,0X58,0X01,0X96,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X3C,0X3D,0X01,0X16,0X02,0XB9,0X02,0X98,0X02,0X99,0X01,0X76,0X13,0X5A,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XDF,0XDF,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X00,0XD4,0X9E,0X3F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0X58,0X02,0X17,0X02,0X79,0X02,0X99,0X02,0X99,0X02,0XD9,0X02,0X37,0X01,0X55,
+0X01,0X76,0X01,0X76,0X01,0X76,0X01,0X95,0X01,0X35,0X01,0XB7,0X02,0XB9,0X02,0X99,
+0X02,0X79,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0XB9,0X01,0XB6,0X01,0XF7,0X95,0XDF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XDF,0X9F,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XF8,0X02,0X78,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X43,0XFB,0X2B,0XBB,
+0X34,0X1C,0X34,0X1C,0X34,0X1C,0X34,0X1C,0X34,0X1C,0X34,0X1C,0X34,0X1C,0X34,0X1C,
+0X22,0XF9,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
+0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X99,
+0X01,0X35,0X4C,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X96,0X02,0X58,0X02,0X99,0X02,0XB9,
+0X00,0XF4,0X6D,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X78,0X02,0X99,
+0X02,0XB8,0X00,0XF5,0X85,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XEF,0XFF,
+0X01,0X76,0X02,0X98,0X02,0XB9,0X02,0X99,0X01,0X15,0XAE,0X7F,0XFF,0XFF,0XFF,0XFF,
+0X85,0XDF,0X00,0XF4,0X02,0XB8,0X02,0X79,0X02,0X99,0X01,0XB7,0X23,0X9B,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X02,0X77,
+0X02,0X18,0X02,0X99,0X02,0X99,0X02,0X58,0X01,0X76,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0XD9,0X01,0XD7,0X02,0X99,0X02,0X99,0X02,0XB8,0X00,0XB4,0XBE,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XDF,0XDF,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X00,0XD4,0X9E,0X3F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0X58,0X02,0X17,0X02,0X79,0X02,0X99,0X02,0X98,0X02,0X38,0X02,0XFA,0X3C,0X5C,
+0X2B,0XFC,0X23,0XFC,0X2C,0X1C,0X2B,0XFB,0X3C,0X5D,0X03,0X1A,0X02,0X17,0X02,0XB9,
+0X02,0X99,0X02,0X79,0X02,0X99,0X02,0X99,0X01,0X56,0X8D,0XDF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XDF,0X9F,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XF8,0X02,0X78,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
+0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X99,
+0X01,0X35,0X4C,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X96,0X02,0X58,0X02,0X99,0X02,0X99,
+0X00,0XF4,0X6D,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X78,0X02,0X99,
+0X02,0X99,0X00,0XF5,0X85,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X54,0XBE,0X01,0X16,0X02,0X99,0X02,0X78,0X02,0X99,0X02,0XB8,0X02,0X78,0X01,0XB7,
+0X01,0X96,0X01,0X96,0X01,0X96,0X01,0X96,0X01,0X96,0X01,0X96,0X01,0X96,0X01,0X96,
+0X01,0XB6,0X01,0X97,0X01,0X96,0X00,0X12,0XAE,0XBF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XCF,0X1F,0X3B,0XFC,0X02,0X58,0X01,0X96,0X01,0X77,0X01,0X96,0X01,0X76,
+0X01,0X97,0X01,0X96,0X01,0X96,0X01,0X96,0X01,0X97,0X01,0XB6,0X01,0XB7,0X02,0X79,
+0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X58,0X01,0X96,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0X38,0X02,0X18,0X02,0X98,0X02,0X99,0X02,0X78,0X01,0X76,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XDF,0XDF,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X00,0XD4,0X9E,0X3F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0X78,0X02,0X17,0X02,0X79,0X02,0X98,0X02,0X99,0X00,0XF5,0X65,0X1E,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X35,0X01,0XF8,
+0X02,0X99,0X02,0XB8,0X02,0X78,0X02,0X99,0X00,0XF4,0X75,0X9F,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XDF,0X9F,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XF8,0X02,0X78,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
+0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X99,
+0X01,0X35,0X4C,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X96,0X02,0X58,0X02,0X99,0X02,0X99,
+0X00,0XF4,0X6D,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X78,0X02,0X99,
+0X02,0X99,0X00,0XF5,0X85,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X54,0X7D,0X01,0X35,0X02,0X98,0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X38,
+0X02,0X58,0X02,0X58,0X02,0X58,0X02,0X58,0X02,0X58,0X02,0X58,0X02,0X58,0X02,0X58,
+0X02,0X58,0X02,0X78,0X02,0X59,0X00,0X94,0XB7,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X44,0X1C,0X00,0X33,0X01,0X35,0X01,0XF8,0X02,0X59,0X02,0X58,0X02,0X58,0X02,0X58,
+0X02,0X59,0X02,0X58,0X02,0X58,0X02,0X78,0X02,0X59,0X02,0X58,0X02,0X58,0X02,0X99,
+0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X58,0X01,0X97,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X01,0XD7,0X02,0X38,0X02,0X98,0X02,0X99,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XDF,0XDF,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X00,0XD4,0X9E,0X3F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0X58,0X01,0XF7,0X02,0X99,0X02,0X99,0X02,0XB8,0X00,0XF4,0X5D,0X3E,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X8D,0XDF,0X00,0X94,
+0X02,0XB9,0X02,0X98,0X02,0X79,0X02,0X99,0X02,0X79,0X00,0XF5,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XDF,0X9F,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XF8,0X02,0X78,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
+0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X99,
+0X01,0X35,0X4C,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X96,0X02,0X58,0X02,0X99,0X02,0XB9,
+0X00,0XF4,0X6D,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X78,0X02,0X99,
+0X02,0X99,0X00,0XF5,0X85,0X9F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X54,0X5D,0X01,0X35,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0X78,
+0X02,0X78,0X02,0X78,0X02,0X78,0X02,0X78,0X02,0X78,0X02,0X78,0X02,0X79,0X02,0X78,
+0X02,0X79,0X02,0X78,0X02,0X78,0X00,0XD4,0XB7,0X1F,0XFF,0XFF,0XFF,0XFF,0X9E,0X7F,
+0X00,0X13,0X02,0X58,0X02,0XD9,0X02,0X99,0X02,0X98,0X02,0X99,0X02,0X78,0X02,0X79,
+0X02,0X79,0X02,0X78,0X02,0X79,0X02,0X99,0X02,0X79,0X02,0X79,0X02,0X78,0X02,0X98,
+0X02,0X79,0X02,0X99,0X02,0X99,0X02,0X58,0X01,0X76,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X01,0XD7,0X02,0X38,0X02,0X98,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XDF,0XDF,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X00,0XD4,0X9E,0X3F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0X58,0X02,0X17,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0X15,0X5C,0XFE,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X02,0XD8,
+0X01,0X56,0X02,0XB9,0X02,0X99,0X02,0X99,0X02,0XB9,0X01,0X56,0X0A,0XD9,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XDF,0X9F,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XF8,0X02,0X78,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
+0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X99,
+0X01,0X35,0X4C,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X96,0X02,0X58,0X02,0X99,0X02,0XB9,
+0X00,0XF4,0X6D,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X78,0X02,0X99,
+0X02,0X99,0X01,0X15,0X85,0X5F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X4C,0XDE,0X01,0X16,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0XD9,0X02,0X58,0X01,0X36,
+0X01,0X56,0X01,0X36,0X01,0X36,0X01,0X56,0X01,0X36,0X01,0X36,0X01,0X36,0X01,0X56,
+0X01,0X35,0X01,0X56,0X01,0X75,0X00,0X10,0XA6,0X7F,0XFF,0XFF,0XFF,0XFF,0X01,0X56,
+0X01,0XF8,0X02,0XB8,0X02,0X79,0X02,0XB8,0X02,0X98,0X01,0X35,0X00,0XF5,0X01,0X55,
+0X01,0X36,0X01,0X35,0X01,0X35,0X01,0X55,0X01,0X36,0X01,0X56,0X01,0X76,0X02,0X79,
+0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X78,0X01,0X76,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0X37,0X02,0X18,0X02,0X98,0X02,0X99,0X02,0X78,0X01,0X76,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XDF,0XDF,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X00,0XD4,0X9E,0X3F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0X57,0X02,0X17,0X02,0X79,0X02,0X99,0X02,0X99,0X01,0X35,0X5C,0XFE,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF7,0XFF,
+0X00,0X94,0X02,0XB9,0X02,0X98,0X02,0X78,0X02,0X98,0X02,0XD9,0X00,0X13,0XA6,0X9F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XDF,0X9F,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XF8,0X02,0X78,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
+0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X99,
+0X01,0X35,0X4C,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X96,0X02,0X58,0X02,0X99,0X02,0XB9,
+0X00,0XF4,0X6D,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X78,0X02,0X99,
+0X02,0XB9,0X00,0XF4,0X85,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X8D,0XDF,0X00,0XF4,0X02,0X99,0X02,0X79,0X02,0X99,0X01,0XD7,0X1B,0X9B,0XFF,0XFF,
+0XF7,0XFF,0XF7,0XFF,0XF7,0XFF,0XF7,0XFF,0XF7,0XFF,0XF7,0XFF,0XF7,0XFF,0XF7,0XFF,
+0XF7,0XFF,0XF7,0XFF,0XF7,0XFF,0XE7,0XDF,0XFF,0XFF,0XFF,0XFF,0XAE,0XBF,0X00,0X74,
+0X02,0XB9,0X02,0X98,0X02,0X79,0X02,0X98,0X01,0XB7,0X65,0X3F,0XDF,0XFF,0XFF,0XFF,
+0XF7,0XFF,0XF7,0XFF,0XF7,0XFF,0XF7,0XFF,0XF7,0XFF,0XFF,0XFF,0XDF,0XBF,0X02,0X78,
+0X02,0X38,0X02,0X99,0X02,0X79,0X02,0X58,0X01,0X96,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0XD9,0X01,0XD7,0X02,0X99,0X02,0X79,0X02,0X98,0X00,0XB4,0XC7,0X5F,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XDF,0XDF,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X00,0XD4,0X9E,0X3F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0X58,0X02,0X18,0X02,0X98,0X02,0X79,0X02,0XB9,0X00,0XF5,0X5C,0XFE,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X23,0X9B,0X01,0X35,0X02,0XB9,0X02,0X99,0X02,0X78,0X02,0XB8,0X01,0XD7,0X01,0XD7,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XDF,0X9F,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XF8,0X02,0X78,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
+0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X99,0X02,0X99,
+0X01,0X35,0X4C,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X96,0X02,0X58,0X02,0X99,0X02,0XB8,
+0X00,0XF4,0X6D,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X78,0X02,0X99,
+0X02,0X98,0X01,0X15,0X85,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XD7,0XBF,0X00,0XD4,0X02,0X99,0X02,0X99,0X02,0X98,0X01,0X96,0X0B,0X5B,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X15,
+0X02,0X98,0X02,0X99,0X02,0X99,0X01,0X36,0X44,0X5D,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X02,0X57,
+0X01,0XF7,0X02,0X79,0X02,0X99,0X02,0X58,0X01,0X96,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X3C,0X3C,0X01,0X56,0X02,0X99,0X02,0X98,0X02,0X99,0X01,0X56,0X23,0XBB,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XDF,0XDF,0X01,0X15,0X02,0X99,0X02,0X99,0X02,0X99,0X00,0XD4,0X9E,0X3F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0X58,0X01,0XF7,0X02,0XB8,0X02,0X98,0X02,0X98,0X01,0X15,0X5D,0X1F,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0X00,0X93,0X02,0XB8,0X02,0X99,0X02,0X78,0X02,0XB9,0X02,0XD9,0X00,0X73,
+0X9E,0X5F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XDF,0X9F,0X01,0X15,0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X17,0X02,0X78,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
+0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X38,0X01,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X54,0XFE,0X01,0X35,0X02,0X99,0X02,0X99,0X02,0X99,
+0X01,0X36,0X4C,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X96,0X02,0X58,0X02,0X99,0X02,0XB9,
+0X00,0XF4,0X6D,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X79,0X02,0X99,
+0X02,0X99,0X00,0XF5,0X85,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0X01,0X96,0X02,0X58,0X02,0X99,0X02,0X78,0X02,0X78,0X01,0X36,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X54,0X9D,0X01,0X35,
+0X02,0X99,0X02,0X98,0X02,0X99,0X00,0X94,0XB6,0XBF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X02,0X77,
+0X02,0X18,0X02,0X98,0X02,0X99,0X02,0X58,0X01,0X96,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X96,0X1F,0X00,0X94,0X02,0XD9,0X02,0X99,0X02,0X79,0X02,0XB9,0X00,0X94,0XE7,0XDF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XD7,0XFF,0X01,0X15,0X02,0X78,0X02,0X79,0X02,0X98,0X00,0XF4,0X9E,0X3F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0X58,0X02,0X38,0X02,0X99,0X02,0X78,0X02,0X99,0X01,0X15,0X5C,0XFE,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0X02,0XB9,0X01,0X76,0X02,0X98,0X02,0X99,0X02,0X78,0X02,0X99,0X01,0XB7,
+0X02,0X78,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XDF,0X9F,0X00,0XF5,0X02,0X99,0X02,0X78,0X02,0X78,0X02,0X18,0X02,0X78,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF4,
+0X02,0XB8,0X02,0X99,0X02,0X99,0X02,0X17,0X02,0X17,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XDE,0X01,0X36,0X02,0X98,0X02,0X98,0X02,0XB9,
+0X01,0X55,0X4C,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X97,0X02,0X58,0X02,0X99,0X02,0XB9,
+0X00,0XD4,0X6D,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X79,0X02,0X99,
+0X02,0X99,0X00,0XF5,0X7D,0X9F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0X0A,0XD9,0X01,0X15,0X02,0XD8,0X02,0X78,0X02,0X99,0X01,0X34,0X6D,0X3F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X54,0XDE,0X01,0X15,
+0X02,0X99,0X02,0X99,0X02,0X99,0X01,0X35,0X44,0X7D,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X02,0X58,
+0X01,0XF7,0X02,0X98,0X02,0X99,0X02,0X59,0X01,0X96,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0X00,0XD4,0X02,0X79,0X02,0X99,0X02,0X99,0X02,0X99,0X01,0XD7,0X01,0XF7,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0X00,0XF4,0X02,0X78,0X02,0X99,0X02,0X99,0X00,0XD5,0X9E,0X3F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0X58,0X02,0X17,0X02,0X78,0X02,0X98,0X02,0X99,0X00,0XF4,0X5C,0XFE,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XEF,0XFF,0X00,0X94,0X02,0XB8,0X02,0X99,0X02,0X79,0X02,0X99,0X02,0XB8,
+0X00,0X93,0XAE,0X9F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XDF,0X9F,0X01,0X15,0X02,0X78,0X02,0X99,0X02,0X99,0X01,0XF7,0X02,0X79,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBE,0XDF,0X00,0XF5,
+0X02,0X99,0X02,0X99,0X02,0X78,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X35,0X02,0XB9,0X02,0X79,0X02,0X99,
+0X01,0X56,0X4C,0XDD,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X96,0X02,0X58,0X02,0X79,0X02,0XB9,
+0X00,0XF5,0X6D,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X78,0X02,0XB8,
+0X02,0X99,0X01,0X15,0X85,0X9F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0X00,0XF5,0X02,0X38,0X02,0XB9,0X02,0X99,0X02,0X98,0X01,0X36,
+0X4C,0X7D,0XDF,0X9F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X8E,0X1F,0X00,0XD4,
+0X02,0XBA,0X02,0X99,0X02,0X98,0X02,0X79,0X01,0X97,0X8D,0XDF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X02,0X78,
+0X02,0X18,0X02,0X99,0X02,0X78,0X02,0X59,0X01,0X96,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0X1B,0X7A,0X01,0X15,0X02,0XD9,0X02,0X99,0X02,0X99,0X02,0XD9,0X01,0XD7,
+0X01,0X56,0X5C,0XDE,0XCF,0X7F,0XEF,0XFF,0XE7,0XDF,0XE7,0XDF,0XE7,0XDF,0XE7,0XFF,
+0XEF,0XFF,0X85,0XBF,0X01,0XB7,0X02,0XB9,0X02,0X98,0X02,0XB8,0X00,0XB5,0X9E,0X3F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0X58,0X02,0X18,0X02,0X99,0X02,0X99,0X02,0XB9,0X01,0X16,0X5C,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0X0B,0X3B,0X01,0X56,0X02,0XB8,0X02,0X79,0X02,0X98,0X02,0X99,
+0X01,0XD7,0X01,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XD7,0X9F,0X01,0X15,0X02,0XB8,0X02,0X79,0X02,0X99,0X01,0XF7,0X02,0X98,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
+0X02,0X98,0X02,0X99,0X02,0XB8,0X02,0X37,0X01,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X5C,0XFE,0X01,0X36,0X02,0X99,0X02,0X79,0X02,0X99,
+0X01,0X35,0X4C,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X97,0X02,0X59,0X02,0X79,0X02,0XB8,
+0X00,0XF4,0X6D,0X1E,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X78,0X02,0X79,
+0X02,0X99,0X00,0XF5,0X85,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0X9E,0X7F,0X00,0X12,0X02,0XB9,0X02,0X99,0X02,0XB9,0X02,0X99,
+0X01,0X55,0X00,0XD5,0X01,0XB7,0X02,0X37,0X02,0X17,0X02,0X17,0X02,0X18,0X02,0X17,
+0X02,0X37,0X02,0X37,0X02,0X37,0X00,0X73,0XB6,0XDF,0XFF,0XFF,0XFF,0XFF,0X00,0XD4,
+0X02,0X78,0X02,0X99,0X02,0X79,0X02,0XB9,0X02,0X98,0X01,0X15,0X01,0X97,0X02,0X58,
+0X02,0X37,0X01,0XF7,0X02,0X17,0X02,0X17,0X02,0X17,0X02,0X58,0X02,0X38,0X02,0X99,
+0X02,0X99,0X02,0X99,0X02,0XB8,0X02,0X58,0X01,0X76,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0X00,0X53,0X01,0XD7,0X02,0XB9,0X02,0XB8,0X02,0X99,0X02,0XB9,
+0X02,0X58,0X01,0X15,0X00,0XF4,0X01,0X14,0X01,0X15,0X00,0XF5,0X01,0X15,0X01,0X15,
+0X01,0X15,0X01,0X96,0X02,0XDA,0X02,0X78,0X02,0X99,0X02,0XB9,0X00,0XD4,0X96,0X3F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0X58,0X01,0XF7,0X02,0X78,0X02,0X98,0X02,0X99,0X00,0XF5,0X5C,0XFE,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XD7,0X7F,0X00,0X54,0X02,0XB9,0X02,0X98,0X02,0X99,0X02,0X98,
+0X02,0XB8,0X00,0X94,0XB6,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XDF,0X9F,0X00,0XF5,0X02,0X99,0X02,0X98,0X02,0X98,0X01,0XF7,0X02,0X98,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0X00,0XF5,
+0X02,0X99,0X02,0X79,0X02,0X99,0X02,0X37,0X01,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X54,0XFE,0X01,0X36,0X02,0XB8,0X02,0X99,0X02,0X99,
+0X01,0X36,0X44,0XFD,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X96,0X02,0X78,0X02,0X98,0X02,0XB8,
+0X00,0XD5,0X6D,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X56,0X02,0X79,0X02,0X99,
+0X02,0XB8,0X01,0X15,0X85,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X2B,0X7A,0X00,0X33,0X02,0X58,0X02,0XD9,0X02,0X79,
+0X02,0X99,0X02,0X99,0X02,0X38,0X02,0X38,0X02,0X38,0X02,0X38,0X02,0X38,0X02,0X38,
+0X02,0X18,0X02,0X38,0X02,0X38,0X00,0X93,0XAE,0XFF,0XFF,0XFF,0XFF,0XFF,0X0B,0X19,
+0X00,0XB4,0X02,0XD9,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X58,0X02,0X38,
+0X02,0X38,0X02,0X38,0X02,0X18,0X02,0X38,0X02,0X38,0X02,0X17,0X02,0X38,0X02,0X99,
+0X02,0X98,0X02,0X79,0X02,0X78,0X02,0X78,0X01,0X96,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XCF,0X1F,0X00,0X93,0X01,0X76,0X02,0XB9,0X02,0XB9,0X02,0X98,
+0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X79,0X02,0X79,0X02,0X99,0X02,0X79,0X02,0X99,
+0X02,0X99,0X02,0XB9,0X02,0X79,0X02,0X98,0X02,0X99,0X02,0XBA,0X00,0XB4,0X9E,0X3F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X02,0X38,0X02,0X17,0X02,0X99,0X02,0X99,0X02,0XB8,0X00,0XF5,0X54,0XFE,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X02,0XD9,0X01,0X56,0X02,0XB9,0X02,0X99,0X02,0X99,
+0X02,0X99,0X01,0XB7,0X02,0X58,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XD7,0X9F,0X00,0XF5,0X02,0XB9,0X02,0X79,0X02,0X99,0X02,0X18,0X02,0X78,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBE,0XDF,0X00,0XF4,
+0X02,0X99,0X02,0X98,0X02,0X99,0X02,0X38,0X01,0XD7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X54,0XDE,0X01,0X35,0X02,0X99,0X02,0X99,0X02,0X99,
+0X01,0X35,0X4C,0XDE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X96,0X02,0X58,0X02,0X78,0X02,0X99,
+0X00,0XF4,0X6D,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0X36,0X02,0X79,0X02,0X79,
+0X02,0XB9,0X00,0XF5,0X7D,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X74,0XDE,0X00,0XD5,0X00,0XD4,0X01,0XD7,
+0X02,0X78,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X98,0X02,0X98,0X02,0X99,
+0X02,0X99,0X02,0X98,0X02,0X98,0X00,0XF5,0XB7,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X01,0X96,0X00,0X93,0X01,0XD7,0X02,0X78,0X02,0X99,0X02,0X99,0X02,0X78,0X02,0X99,
+0X02,0X98,0X02,0X79,0X02,0X99,0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X99,0X02,0X99,
+0X02,0X98,0X02,0X99,0X02,0X98,0X02,0X59,0X01,0X76,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0XF7,0X00,0X93,0X01,0X56,0X02,0X38,
+0X02,0X98,0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X78,0X02,0X78,0X02,0XB9,0X02,0X78,
+0X02,0X98,0X02,0X98,0X02,0X99,0X02,0X99,0X02,0X78,0X02,0X99,0X00,0XB5,0X96,0X3F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X00,0XF4,0X00,0X93,0X01,0X15,0X00,0XF5,0X01,0X35,0X00,0X11,0X33,0XFC,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XE7,0XFF,0X00,0X12,0X00,0XF5,0X01,0X35,0X01,0X15,
+0X01,0X15,0X01,0X35,0X00,0X10,0X64,0XDE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XC7,0X1F,0X00,0X11,0X01,0X15,0X01,0X15,0X01,0X35,0X00,0X54,0X01,0X15,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X9E,0X1F,0X00,0X11,
+0X01,0X16,0X01,0X14,0X01,0X15,0X00,0X94,0X00,0X92,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X33,0XFB,0X00,0X11,0X01,0X36,0X01,0X14,0X01,0X15,
+0X00,0X12,0X1B,0XDC,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0X11,0X00,0XF4,0X01,0X15,0X01,0X35,
+0X00,0X11,0X4C,0X3B,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0X12,0X00,0XF5,0X01,0X15,
+0X01,0X36,0X00,0X11,0X64,0X9D,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X64,0X9E,0X02,0X78,
+0X01,0X76,0X01,0X15,0X01,0X35,0X01,0X15,0X00,0XF5,0X01,0X34,0X01,0X35,0X00,0XF5,
+0X01,0X34,0X01,0X35,0X00,0XF5,0X00,0X11,0XA6,0X5F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0X6C,0X7D,0X02,0X57,0X01,0X36,0X00,0XF5,0X00,0XF5,0X01,0X15,0X01,0X35,
+0X01,0X15,0X00,0XF5,0X01,0X35,0X01,0X15,0X01,0X15,0X01,0X15,0X01,0X15,0X01,0X35,
+0X01,0X15,0X01,0X15,0X01,0X35,0X00,0XF5,0X00,0X12,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0X5F,0X1B,0X5A,0X01,0XD7,
+0X01,0X34,0X01,0X16,0X00,0XF5,0X01,0X15,0X01,0X15,0X01,0X35,0X01,0X14,0X01,0X15,
+0X01,0X15,0X01,0X15,0X01,0X35,0X00,0XF5,0X01,0X15,0X01,0X35,0X00,0X11,0X7D,0X7F,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XC7,0X5F,0XBF,0X1F,0XC7,0X7F,0XC7,0X7F,0XC7,0X7F,0XAE,0XBF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XCF,0XBF,0XB7,0X1F,0XC7,0X7F,0XC7,0X7F,
+0XC7,0X5F,0XC7,0X7F,0XB6,0XDF,0XBF,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XB6,0XBF,0XC7,0X7F,0XC7,0X5F,0XC7,0X7F,0XBF,0X1F,0XC7,0X7F,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XAE,0X9F,
+0XC7,0X7F,0XC7,0X7F,0XC7,0X7F,0XBF,0X3F,0XBF,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF7,0XFF,0XAE,0XDF,0XC7,0X7F,0XC7,0X5F,0XC7,0X7F,
+0XAE,0XDF,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XDF,0XBF,0X7F,0XC7,0X7F,0XBF,0X7F,
+0XAE,0XBF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XFF,0XC7,0X5F,0XC7,0X7F,
+0XC7,0X7F,0XAE,0XBF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XEF,0XFF,0XD7,0X9F,0XBF,0X5F,0XC7,0X5F,0XC7,0X5F,0XC7,0X5F,0XBF,0X7F,
+0XC7,0X5F,0XC7,0X5F,0XC7,0X7F,0XAE,0XBF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XD7,0X9F,0XC7,0X5F,0XC7,0X7F,0XC7,0X5F,
+0XC7,0X7F,0XBF,0X7F,0XC7,0X5F,0XC7,0X7F,0XC7,0X5F,0XC7,0X5F,0XC7,0X7F,0XC7,0X7F,
+0XC7,0X5F,0XC7,0X7F,0XC7,0X7F,0XBF,0X5F,0XB6,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XF7,0XFF,0XDF,0X9F,0XC7,0X7F,0XC7,0X7F,0XC7,0X5F,0XC7,0X5F,0XC7,0X7F,0XC7,0X5F,
+0XC7,0X5F,0XC7,0X7F,0XC7,0X7F,0XC7,0X7F,0XC7,0X5F,0XC7,0X7F,0XAE,0X9F,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+};
diff --git a/bsp/stm32/stm32h750-artpi/board/port/sdram_port.h b/bsp/stm32/stm32h750-artpi/board/port/sdram_port.h
new file mode 100644
index 0000000000..b382849929
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/board/port/sdram_port.h
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2006-2022, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2018-12-04 zylx The first version for STM32F4xx
+ */
+
+#ifndef __SDRAM_PORT_H__
+#define __SDRAM_PORT_H__
+
+/* parameters for sdram peripheral */
+/* Bank1 or Bank2 */
+#define SDRAM_TARGET_BANK 1
+/* stm32h7 Bank1:0XC0000000 Bank2:0XD0000000 */
+#define SDRAM_BANK_ADDR ((uint32_t)0XC0000000)
+/* data width: 8, 16, 32 */
+#define SDRAM_DATA_WIDTH 16
+/* column bit numbers: 8, 9, 10, 11 */
+#define SDRAM_COLUMN_BITS 9
+/* row bit numbers: 11, 12, 13 */
+#define SDRAM_ROW_BITS 13
+/* cas latency clock number: 1, 2, 3 */
+#define SDRAM_CAS_LATENCY 2
+/* read pipe delay: 0, 1, 2 */
+#define SDRAM_RPIPE_DELAY 0
+/* clock divid: 2, 3 */
+#define SDCLOCK_PERIOD 2
+/* refresh rate counter */
+#define SDRAM_REFRESH_COUNT ((uint32_t)0x02A5)
+#define SDRAM_SIZE ((uint32_t)0x2000000)
+
+/* Timing configuration for W9825G6KH-6 */
+/* 100 MHz of HCKL3 clock frequency (200MHz/2) */
+/* TMRD: 2 Clock cycles */
+#define LOADTOACTIVEDELAY 2
+/* TXSR: 8x10ns */
+#define EXITSELFREFRESHDELAY 8
+/* TRAS: 5x10ns */
+#define SELFREFRESHTIME 6
+/* TRC: 7x10ns */
+#define ROWCYCLEDELAY 6
+/* TWR: 2 Clock cycles */
+#define WRITERECOVERYTIME 2
+/* TRP: 2x10ns */
+#define RPDELAY 2
+/* TRCD: 2x10ns */
+#define RCDDELAY 2
+
+/* memory mode register */
+#define SDRAM_MODEREG_BURST_LENGTH_1 ((uint16_t)0x0000)
+#define SDRAM_MODEREG_BURST_LENGTH_2 ((uint16_t)0x0001)
+#define SDRAM_MODEREG_BURST_LENGTH_4 ((uint16_t)0x0002)
+#define SDRAM_MODEREG_BURST_LENGTH_8 ((uint16_t)0x0004)
+#define SDRAM_MODEREG_BURST_TYPE_SEQUENTIAL ((uint16_t)0x0000)
+#define SDRAM_MODEREG_BURST_TYPE_INTERLEAVED ((uint16_t)0x0008)
+#define SDRAM_MODEREG_CAS_LATENCY_2 ((uint16_t)0x0020)
+#define SDRAM_MODEREG_CAS_LATENCY_3 ((uint16_t)0x0030)
+#define SDRAM_MODEREG_OPERATING_MODE_STANDARD ((uint16_t)0x0000)
+#define SDRAM_MODEREG_WRITEBURST_MODE_PROGRAMMED ((uint16_t)0x0000)
+#define SDRAM_MODEREG_WRITEBURST_MODE_SINGLE ((uint16_t)0x0200)
+
+#endif
diff --git a/bsp/stm32/stm32h750-artpi/board/port/spi_flash_init.c b/bsp/stm32/stm32h750-artpi/board/port/spi_flash_init.c
new file mode 100644
index 0000000000..94f3f92cbb
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/board/port/spi_flash_init.c
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2006-2022, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2020-11-07 wanghaijing the first version
+ */
+
+#include
+#include
+#include
+#include
+
+static int rt_flash_init(void)
+{
+ extern rt_spi_flash_device_t rt_sfud_flash_probe(const char *spi_flash_dev_name, const char *spi_dev_name);
+ extern int fal_init(void);
+
+ rt_hw_spi_device_attach("spi1", "spi10", GPIOA, GPIO_PIN_4);
+
+ /* initialize SPI Flash device */
+ rt_sfud_flash_probe("norflash0", "spi10");
+
+ fal_init();
+
+ return 0;
+}
+INIT_ENV_EXPORT(rt_flash_init);
diff --git a/bsp/stm32/stm32h750-artpi/board/port/wifi_config.c b/bsp/stm32/stm32h750-artpi/board/port/wifi_config.c
new file mode 100644
index 0000000000..256739de07
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/board/port/wifi_config.c
@@ -0,0 +1,263 @@
+/*
+ * File : wifi_config.c
+ * This file is part of RT-Thread RTOS
+ * COPYRIGHT (C) 2006 - 2018, RT-Thread Development Team
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2018-09-04 ZeroFree first implementation
+ * 2019-06-14 armink add easyflash v4.0 support
+ */
+
+#include
+
+#ifdef BSP_USING_WIFI
+
+#include
+#include
+#include
+
+#include
+#include
+
+#include
+#include
+
+#if (EF_SW_VERSION_NUM < 0x40000)
+
+static char *str_base64_encode_len(const void *src, char *out, int input_length);
+static int str_base64_decode(const char *data, int input_length, char *decoded_data);
+
+static const unsigned char base64_table[65] =
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+
+static const char base64_decode_table[256] =
+{
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x3F,
+ 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E,
+ 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
+ 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+static char *str_base64_encode_len(const void *src, char *out, int len)
+{
+ unsigned char *pos;
+ const unsigned char *end, *in;
+ size_t olen;
+
+ olen = len * 4 / 3 + 4; /* 3-byte blocks to 4-byte */
+ olen += olen / 72; /* line feeds */
+ olen++; /* nul termination */
+
+ end = (const unsigned char *)src + len;
+ in = (const unsigned char *)src;
+ pos = (unsigned char *)out;
+ while (end - in >= 3)
+ {
+ *pos++ = base64_table[in[0] >> 2];
+ *pos++ = base64_table[((in[0] & 0x03) << 4) | (in[1] >> 4)];
+ *pos++ = base64_table[((in[1] & 0x0f) << 2) | (in[2] >> 6)];
+ *pos++ = base64_table[in[2] & 0x3f];
+ in += 3;
+ }
+
+ if (end - in)
+ {
+ *pos++ = base64_table[in[0] >> 2];
+
+ if (end - in == 1)
+ {
+ *pos++ = base64_table[(in[0] & 0x03) << 4];
+ *pos++ = '=';
+ }
+ else
+ {
+ *pos++ = base64_table[((in[0] & 0x03) << 4) |
+ (in[1] >> 4)];
+ *pos++ = base64_table[(in[1] & 0x0f) << 2];
+ }
+ *pos++ = '=';
+ }
+
+ *pos = '\0';
+ return (char *)out;
+}
+
+/*
+ * return: length, 0 is error.
+ */
+static int str_base64_decode(const char *data, int input_length, char *decoded_data)
+{
+ int out_len;
+ int i, j;
+
+ if (input_length % 4 != 0) return 0;
+
+ out_len = input_length / 4 * 3;
+
+ if (data[input_length - 1] == '=') out_len--;
+ if (data[input_length - 2] == '=') out_len--;
+
+ for (i = 0, j = 0; i < input_length;)
+ {
+ uint32_t sextet_a = data[i] == '=' ? 0 & i++ : base64_decode_table[data[i++]];
+ uint32_t sextet_b = data[i] == '=' ? 0 & i++ : base64_decode_table[data[i++]];
+ uint32_t sextet_c = data[i] == '=' ? 0 & i++ : base64_decode_table[data[i++]];
+ uint32_t sextet_d = data[i] == '=' ? 0 & i++ : base64_decode_table[data[i++]];
+
+ uint32_t triple = (sextet_a << 3 * 6)
+ + (sextet_b << 2 * 6)
+ + (sextet_c << 1 * 6)
+ + (sextet_d << 0 * 6);
+
+ if (j < out_len) decoded_data[j++] = (triple >> 2 * 8) & 0xFF;
+ if (j < out_len) decoded_data[j++] = (triple >> 1 * 8) & 0xFF;
+ if (j < out_len) decoded_data[j++] = (triple >> 0 * 8) & 0xFF;
+ }
+
+ return out_len;
+}
+
+static int read_cfg(void *buff, int len)
+{
+ char *wlan_cfg_info = RT_NULL;
+
+ wlan_cfg_info = ef_get_env("wlan_cfg_info");
+ if (wlan_cfg_info != RT_NULL)
+ {
+ str_base64_decode(wlan_cfg_info, rt_strlen(wlan_cfg_info), buff);
+ return len;
+ }
+ else
+ {
+ return 0;
+ }
+}
+
+static int get_len(void)
+{
+ int len;
+ char *wlan_cfg_len = RT_NULL;
+
+ wlan_cfg_len = ef_get_env("wlan_cfg_len");
+ if (wlan_cfg_len == RT_NULL)
+ {
+ len = 0;
+ }
+ else
+ {
+ len = atoi(wlan_cfg_len);
+ }
+
+ return len;
+}
+
+static int write_cfg(void *buff, int len)
+{
+ char wlan_cfg_len[12] = {0};
+ char *base64_buf = RT_NULL;
+
+ base64_buf = rt_malloc(len * 4 / 3 + 4); /* 3-byte blocks to 4-byte, and the end. */
+ if (base64_buf == RT_NULL)
+ {
+ return -RT_ENOMEM;
+ }
+ rt_memset(base64_buf, 0, len);
+
+ /* interger to string */
+ sprintf(wlan_cfg_len, "%d", len);
+ /* set and store the wlan config lengths to Env */
+ ef_set_env("wlan_cfg_len", wlan_cfg_len);
+ str_base64_encode_len(buff, base64_buf, len);
+ /* set and store the wlan config information to Env */
+ ef_set_env("wlan_cfg_info", base64_buf);
+ ef_save_env();
+ rt_free(base64_buf);
+
+ return len;
+}
+
+#else
+
+static int read_cfg(void *buff, int len)
+{
+ size_t saved_len;
+
+ ef_get_env_blob("wlan_cfg_info", buff, len, &saved_len);
+ if (saved_len == 0)
+ {
+ return 0;
+ }
+ return len;
+}
+
+static int get_len(void)
+{
+ int len;
+ size_t saved_len;
+
+ ef_get_env_blob("wlan_cfg_len", &len, sizeof(len), &saved_len);
+ if (saved_len == 0)
+ {
+ return 0;
+ }
+
+ return len;
+}
+
+static int write_cfg(void *buff, int len)
+{
+ /* set and store the wlan config lengths to Env */
+ ef_set_env_blob("wlan_cfg_len", &len, sizeof(len));
+
+ /* set and store the wlan config information to Env */
+ ef_set_env_blob("wlan_cfg_info", buff, len);
+
+ return len;
+}
+
+#endif /* (EF_SW_VERSION_NUM < 0x40000) */
+
+static const struct rt_wlan_cfg_ops ops =
+{
+ read_cfg,
+ get_len,
+ write_cfg
+};
+
+void wlan_autoconnect_init(void)
+{
+ fal_init();
+ easyflash_init();
+
+ rt_wlan_cfg_set_ops(&ops);
+ rt_wlan_cfg_cache_refresh();
+}
+
+#endif
diff --git a/bsp/stm32/stm32h750-artpi/board/port/wlan_wiced_lib/SConscript b/bsp/stm32/stm32h750-artpi/board/port/wlan_wiced_lib/SConscript
new file mode 100644
index 0000000000..54538df77b
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/board/port/wlan_wiced_lib/SConscript
@@ -0,0 +1,20 @@
+Import('rtconfig')
+from building import *
+
+cwd = GetCurrentDir()
+
+LIBS = []
+LIBPATH = []
+src = []
+
+LIBPATH = [cwd]
+if rtconfig.PLATFORM == 'gcc':
+ LIBS += ['wifi_6212_armcm7_2.1.2_gcc']
+elif rtconfig.PLATFORM in ['armcc', 'armclang']:
+ LIBS += ['libwifi_6212_armcm7_2.1.2_armcc']
+
+path = [cwd]
+
+group = DefineGroup('WICED', src, depend = ['ART_PI_USING_WIFI_6212_LIB'], CPPPATH = path, LIBS = LIBS, LIBPATH = LIBPATH)
+
+Return('group')
diff --git a/bsp/stm32/stm32h750-artpi/figures/board.jpg b/bsp/stm32/stm32h750-artpi/figures/board.jpg
new file mode 100644
index 0000000000..d83e0f3082
Binary files /dev/null and b/bsp/stm32/stm32h750-artpi/figures/board.jpg differ
diff --git a/bsp/stm32/stm32h750-artpi/project.ewp b/bsp/stm32/stm32h750-artpi/project.ewp
new file mode 100644
index 0000000000..0185a845ba
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/project.ewp
@@ -0,0 +1,2407 @@
+
+ 3
+
+ rtthread
+
+ ARM
+
+ 1
+
+ General
+ 3
+
+ 31
+ 1
+ 1
+
+ ExePath
+ build\iar\Exe
+
+
+ ObjPath
+ build\iar\Obj
+
+
+ ListPath
+ build\iar\List
+
+
+ GEndianMode
+ 0
+
+
+ Input description
+ Automatic choice of formatter, without multibyte support.
+
+
+ Output description
+ Automatic choice of formatter, without multibyte support.
+
+
+ GOutputBinary
+ 0
+
+
+ OGCoreOrChip
+ 1
+
+
+ GRuntimeLibSelect
+ 0
+ 1
+
+
+ GRuntimeLibSelectSlave
+ 0
+ 1
+
+
+ RTDescription
+ Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.
+
+
+ OGProductVersion
+ 6.30.6.53380
+
+
+ OGLastSavedByProductVersion
+ 8.32.1.18618
+
+
+ GeneralEnableMisra
+ 0
+
+
+ GeneralMisraVerbose
+ 0
+
+
+ OGChipSelectEditMenu
+ STM32H743ZI ST STM32H743ZI
+
+
+ GenLowLevelInterface
+ 1
+
+
+ GEndianModeBE
+ 1
+
+
+ OGBufferedTerminalOutput
+ 0
+
+
+ GenStdoutInterface
+ 0
+
+
+ GeneralMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ GeneralMisraVer
+ 0
+
+
+ GeneralMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ RTConfigPath2
+ $TOOLKIT_DIR$\inc\c\DLib_Config_Normal.h
+
+
+ GBECoreSlave
+ 26
+ 41
+
+
+ OGUseCmsis
+ 0
+
+
+ OGUseCmsisDspLib
+ 0
+
+
+ GRuntimeLibThreads
+ 0
+
+
+ CoreVariant
+ 26
+ 41
+
+
+ GFPUDeviceSlave
+ STM32H743ZI ST STM32H743ZI
+
+
+ FPU2
+ 0
+ 7
+
+
+ NrRegs
+ 0
+ 1
+
+
+ NEON
+ 0
+
+
+ GFPUCoreSlave2
+ 26
+ 41
+
+
+ OGCMSISPackSelectDevice
+
+
+ OgLibHeap
+ 0
+
+
+ OGLibAdditionalLocale
+ 0
+
+
+ OGPrintfVariant
+ 0
+ 0
+
+
+ OGPrintfMultibyteSupport
+ 0
+
+
+ OGScanfVariant
+ 0
+ 0
+
+
+ OGScanfMultibyteSupport
+ 0
+
+
+ GenLocaleTags
+
+
+
+ GenLocaleDisplayOnly
+
+
+
+ DSPExtension
+ 1
+
+
+ TrustZone
+ 0
+
+
+ TrustZoneModes
+ 0
+ 0
+
+
+
+
+ ICCARM
+ 2
+
+ 35
+ 1
+ 1
+
+ CCOptimizationNoSizeConstraints
+ 0
+
+
+ CCDefines
+
+ RT_USING_DLIBC
+ STM32H750xx
+ __RTTHREAD__
+ USE_HAL_DRIVER
+
+
+ CCPreprocFile
+ 0
+
+
+ CCPreprocComments
+ 0
+
+
+ CCPreprocLine
+ 0
+
+
+ CCListCFile
+ 0
+
+
+ CCListCMnemonics
+ 0
+
+
+ CCListCMessages
+ 0
+
+
+ CCListAssFile
+ 0
+
+
+ CCListAssSource
+ 0
+
+
+ CCEnableRemarks
+ 0
+
+
+ CCDiagSuppress
+ Pa050
+
+
+ CCDiagRemark
+
+
+
+ CCDiagWarning
+
+
+
+ CCDiagError
+
+
+
+ CCObjPrefix
+ 1
+
+
+ CCAllowList
+ 1
+ 00000000
+
+
+ CCDebugInfo
+ 1
+
+
+ IEndianMode
+ 1
+
+
+ IProcessor
+ 1
+
+
+ IExtraOptionsCheck
+ 0
+
+
+ IExtraOptions
+
+
+
+ CCLangConformance
+ 0
+
+
+ CCSignedPlainChar
+ 1
+
+
+ CCRequirePrototypes
+ 0
+
+
+ CCDiagWarnAreErr
+ 0
+
+
+ CCCompilerRuntimeInfo
+ 0
+
+
+ IFpuProcessor
+ 1
+
+
+ OutputFile
+ $FILE_BNAME$.o
+
+
+ CCLibConfigHeader
+ 1
+
+
+ PreInclude
+
+
+
+ CompilerMisraOverride
+ 0
+
+
+ CCIncludePath2
+
+ $PROJ_DIR$\..\..\..\components\finsh
+ $PROJ_DIR$\..\..\..\components\drivers\include
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Inc
+ $PROJ_DIR$\..\..\..\components\libc\compilers\common\extension
+ $PROJ_DIR$\..\..\..\components\libc\compilers\common
+ $PROJ_DIR$\..\..\..\components\libc\posix\ipc
+ $PROJ_DIR$\board\CubeMX_Config\Core\Inc
+ $PROJ_DIR$\..\..\..\components\libc\posix\io\stdio
+ $PROJ_DIR$\.
+ $PROJ_DIR$\..\libraries\HAL_Drivers\config
+ $PROJ_DIR$\board
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\CMSIS\Device\ST\STM32H7xx\Include
+ $PROJ_DIR$\..\..\..\components\drivers\spi
+ $PROJ_DIR$\..\libraries\HAL_Drivers
+ $PROJ_DIR$\applications
+ $PROJ_DIR$\..\..\..\libcpu\arm\common
+ $PROJ_DIR$\..\..\..\include
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\CMSIS\Include
+ $PROJ_DIR$\board\port
+ $PROJ_DIR$\..\..\..\components\libc\posix\io\poll
+ $PROJ_DIR$\..\..\..\components\drivers\touch
+ $PROJ_DIR$\..\..\..\libcpu\arm\cortex-m7
+
+
+ CCStdIncCheck
+ 0
+
+
+ CCCodeSection
+ .text
+
+
+ IProcessorMode2
+ 1
+
+
+ CCOptLevel
+ 1
+
+
+ CCOptStrategy
+ 0
+ 0
+
+
+ CCOptLevelSlave
+ 1
+
+
+ CompilerMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ CompilerMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ CCPosIndRopi
+ 0
+
+
+ CCPosIndRwpi
+ 0
+
+
+ CCPosIndNoDynInit
+ 0
+
+
+ IccLang
+ 0
+
+
+ IccCDialect
+ 1
+
+
+ IccAllowVLA
+ 0
+
+
+ IccStaticDestr
+ 1
+
+
+ IccCppInlineSemantics
+ 0
+
+
+ IccCmsis
+ 1
+
+
+ IccFloatSemantics
+ 0
+
+
+ CCNoLiteralPool
+ 0
+
+
+ CCOptStrategySlave
+ 0
+ 0
+
+
+ CCGuardCalls
+ 1
+
+
+ CCEncSource
+ 0
+
+
+ CCEncOutput
+ 0
+
+
+ CCEncOutputBom
+ 1
+
+
+ CCEncInput
+ 0
+
+
+ IccExceptions2
+ 0
+
+
+ IccRTTI2
+ 0
+
+
+ OICompilerExtraOption
+ 1
+
+
+
+
+ AARM
+ 2
+
+ 10
+ 1
+ 1
+
+ AObjPrefix
+ 1
+
+
+ AEndian
+ 1
+
+
+ ACaseSensitivity
+ 1
+
+
+ MacroChars
+ 0
+ 0
+
+
+ AWarnEnable
+ 0
+
+
+ AWarnWhat
+ 0
+
+
+ AWarnOne
+
+
+
+ AWarnRange1
+
+
+
+ AWarnRange2
+
+
+
+ ADebug
+ 1
+
+
+ AltRegisterNames
+ 0
+
+
+ ADefines
+
+
+
+ AList
+ 0
+
+
+ AListHeader
+ 1
+
+
+ AListing
+ 1
+
+
+ Includes
+ 0
+
+
+ MacDefs
+ 0
+
+
+ MacExps
+ 1
+
+
+ MacExec
+ 0
+
+
+ OnlyAssed
+ 0
+
+
+ MultiLine
+ 0
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ TabSpacing
+ 8
+
+
+ AXRef
+ 0
+
+
+ AXRefDefines
+ 0
+
+
+ AXRefInternal
+ 0
+
+
+ AXRefDual
+ 0
+
+
+ AProcessor
+ 1
+
+
+ AFpuProcessor
+ 1
+
+
+ AOutputFile
+ $FILE_BNAME$.o
+
+
+ ALimitErrorsCheck
+ 0
+
+
+ ALimitErrorsEdit
+ 100
+
+
+ AIgnoreStdInclude
+ 0
+
+
+ AUserIncludes
+
+
+
+ AExtraOptionsCheckV2
+ 0
+
+
+ AExtraOptionsV2
+
+
+
+ AsmNoLiteralPool
+ 0
+
+
+
+
+ OBJCOPY
+ 0
+
+ 1
+ 1
+ 1
+
+ OOCOutputFormat
+ 3
+ 3
+
+
+ OCOutputOverride
+ 1
+
+
+ OOCOutputFile
+ ../../../rtthread.bin
+
+
+ OOCCommandLineProducer
+ 1
+
+
+ OOCObjCopyEnable
+ 1
+
+
+
+
+ CUSTOM
+ 3
+
+
+
+ 0
+
+
+
+ BICOMP
+ 0
+
+
+
+ BUILDACTION
+ 1
+
+
+
+
+
+
+ ILINK
+ 0
+
+ 22
+ 1
+ 1
+
+ IlinkLibIOConfig
+ 1
+
+
+ XLinkMisraHandler
+ 0
+
+
+ IlinkInputFileSlave
+ 0
+
+
+ IlinkOutputFile
+ project.out
+
+
+ IlinkDebugInfoEnable
+ 1
+
+
+ IlinkKeepSymbols
+
+
+
+ IlinkRawBinaryFile
+
+
+
+ IlinkRawBinarySymbol
+
+
+
+ IlinkRawBinarySegment
+
+
+
+ IlinkRawBinaryAlign
+
+
+
+ IlinkDefines
+
+
+
+ IlinkConfigDefines
+
+
+
+ IlinkMapFile
+ 0
+
+
+ IlinkLogFile
+ 0
+
+
+ IlinkLogInitialization
+ 0
+
+
+ IlinkLogModule
+ 0
+
+
+ IlinkLogSection
+ 0
+
+
+ IlinkLogVeneer
+ 0
+
+
+ IlinkIcfOverride
+ 1
+
+
+ IlinkIcfFile
+ $PROJ_DIR$\board\linker_scripts\link.icf
+
+
+ IlinkIcfFileSlave
+
+
+
+ IlinkEnableRemarks
+ 0
+
+
+ IlinkSuppressDiags
+
+
+
+ IlinkTreatAsRem
+
+
+
+ IlinkTreatAsWarn
+
+
+
+ IlinkTreatAsErr
+
+
+
+ IlinkWarningsAreErrors
+ 0
+
+
+ IlinkUseExtraOptions
+ 0
+
+
+ IlinkExtraOptions
+
+
+
+ IlinkLowLevelInterfaceSlave
+ 1
+
+
+ IlinkAutoLibEnable
+ 1
+
+
+ IlinkAdditionalLibs
+
+
+
+ IlinkOverrideProgramEntryLabel
+ 0
+
+
+ IlinkProgramEntryLabelSelect
+ 0
+
+
+ IlinkProgramEntryLabel
+ __iar_program_start
+
+
+ DoFill
+ 0
+
+
+ FillerByte
+ 0xFF
+
+
+ FillerStart
+ 0x0
+
+
+ FillerEnd
+ 0x0
+
+
+ CrcSize
+ 0
+ 1
+
+
+ CrcAlign
+ 1
+
+
+ CrcPoly
+ 0x11021
+
+
+ CrcCompl
+ 0
+ 0
+
+
+ CrcBitOrder
+ 0
+ 0
+
+
+ CrcInitialValue
+ 0x0
+
+
+ DoCrc
+ 0
+
+
+ IlinkBE8Slave
+ 1
+
+
+ IlinkBufferedTerminalOutput
+ 1
+
+
+ IlinkStdoutInterfaceSlave
+ 1
+
+
+ CrcFullSize
+ 0
+
+
+ IlinkIElfToolPostProcess
+ 0
+
+
+ IlinkLogAutoLibSelect
+ 0
+
+
+ IlinkLogRedirSymbols
+ 0
+
+
+ IlinkLogUnusedFragments
+ 0
+
+
+ IlinkCrcReverseByteOrder
+ 0
+
+
+ IlinkCrcUseAsInput
+ 1
+
+
+ IlinkOptInline
+ 0
+
+
+ IlinkOptExceptionsAllow
+ 1
+
+
+ IlinkOptExceptionsForce
+ 0
+
+
+ IlinkCmsis
+ 1
+
+
+ IlinkOptMergeDuplSections
+ 0
+
+
+ IlinkOptUseVfe
+ 1
+
+
+ IlinkOptForceVfe
+ 0
+
+
+ IlinkStackAnalysisEnable
+ 0
+
+
+ IlinkStackControlFile
+
+
+
+ IlinkStackCallGraphFile
+
+
+
+ CrcAlgorithm
+ 1
+ 1
+
+
+ CrcUnitSize
+ 0
+ 0
+
+
+ IlinkThreadsSlave
+ 1
+
+
+ IlinkLogCallGraph
+ 0
+
+
+ IlinkIcfFile_AltDefault
+
+
+
+ IlinkEncInput
+ 0
+
+
+ IlinkEncOutput
+ 0
+
+
+ IlinkEncOutputBom
+ 1
+
+
+ IlinkHeapSelect
+ 1
+
+
+ IlinkLocaleSelect
+ 1
+
+
+ IlinkTrustzoneImportLibraryOut
+ ###Unitialized###
+
+
+ OILinkExtraOption
+ 1
+
+
+
+
+ IARCHIVE
+ 0
+
+ 0
+ 1
+ 1
+
+ IarchiveInputs
+
+
+
+ IarchiveOverride
+ 0
+
+
+ IarchiveOutput
+ ###Unitialized###
+
+
+
+
+ BILINK
+ 0
+
+
+
+
+ Release
+
+ ARM
+
+ 0
+
+ General
+ 3
+
+ 31
+ 1
+ 0
+
+ ExePath
+ Release\Exe
+
+
+ ObjPath
+ Release\Obj
+
+
+ ListPath
+ Release\List
+
+
+ GEndianMode
+ 0
+
+
+ Input description
+
+
+
+ Output description
+
+
+
+ GOutputBinary
+ 0
+
+
+ OGCoreOrChip
+ 0
+
+
+ GRuntimeLibSelect
+ 0
+ 1
+
+
+ GRuntimeLibSelectSlave
+ 0
+ 1
+
+
+ RTDescription
+
+
+
+ OGProductVersion
+ 6.30.6.53380
+
+
+ OGLastSavedByProductVersion
+ 8.11.3.13977
+
+
+ GeneralEnableMisra
+ 0
+
+
+ GeneralMisraVerbose
+ 0
+
+
+ OGChipSelectEditMenu
+ Default None
+
+
+ GenLowLevelInterface
+ 0
+
+
+ GEndianModeBE
+ 0
+
+
+ OGBufferedTerminalOutput
+ 0
+
+
+ GenStdoutInterface
+ 0
+
+
+ GeneralMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ GeneralMisraVer
+ 0
+
+
+ GeneralMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ RTConfigPath2
+
+
+
+ GBECoreSlave
+ 26
+ 1
+
+
+ OGUseCmsis
+ 0
+
+
+ OGUseCmsisDspLib
+ 0
+
+
+ GRuntimeLibThreads
+ 0
+
+
+ CoreVariant
+ 26
+ 0
+
+
+ GFPUDeviceSlave
+ Default None
+
+
+ FPU2
+ 0
+ 0
+
+
+ NrRegs
+ 0
+ 0
+
+
+ NEON
+ 0
+
+
+ GFPUCoreSlave2
+ 26
+ 0
+
+
+ OGCMSISPackSelectDevice
+
+
+ OgLibHeap
+ 0
+
+
+ OGLibAdditionalLocale
+ 0
+
+
+ OGPrintfVariant
+ 0
+ 0
+
+
+ OGPrintfMultibyteSupport
+ 0
+
+
+ OGScanfVariant
+ 0
+ 0
+
+
+ OGScanfMultibyteSupport
+ 0
+
+
+ GenLocaleTags
+
+
+
+ GenLocaleDisplayOnly
+
+
+
+ DSPExtension
+ 0
+
+
+ TrustZone
+ 0
+
+
+ TrustZoneModes
+ 0
+ 0
+
+
+
+
+ ICCARM
+ 2
+
+ 35
+ 1
+ 0
+
+ CCOptimizationNoSizeConstraints
+ 0
+
+
+ CCDefines
+
+ RT_USING_DLIBC
+ STM32H750xx
+ __RTTHREAD__
+ USE_HAL_DRIVER
+
+
+ CCPreprocFile
+ 0
+
+
+ CCPreprocComments
+ 0
+
+
+ CCPreprocLine
+ 0
+
+
+ CCListCFile
+ 0
+
+
+ CCListCMnemonics
+ 0
+
+
+ CCListCMessages
+ 0
+
+
+ CCListAssFile
+ 0
+
+
+ CCListAssSource
+ 0
+
+
+ CCEnableRemarks
+ 0
+
+
+ CCDiagSuppress
+
+
+
+ CCDiagRemark
+
+
+
+ CCDiagWarning
+
+
+
+ CCDiagError
+
+
+
+ CCObjPrefix
+ 1
+
+
+ CCAllowList
+ 1
+ 11111110
+
+
+ CCDebugInfo
+ 0
+
+
+ IEndianMode
+ 1
+
+
+ IProcessor
+ 1
+
+
+ IExtraOptionsCheck
+ 0
+
+
+ IExtraOptions
+
+
+
+ CCLangConformance
+ 0
+
+
+ CCSignedPlainChar
+ 1
+
+
+ CCRequirePrototypes
+ 0
+
+
+ CCDiagWarnAreErr
+ 0
+
+
+ CCCompilerRuntimeInfo
+ 0
+
+
+ IFpuProcessor
+ 1
+
+
+ OutputFile
+
+
+
+ CCLibConfigHeader
+ 1
+
+
+ PreInclude
+
+
+
+ CompilerMisraOverride
+ 0
+
+
+ CCIncludePath2
+
+ $PROJ_DIR$\..\..\..\components\finsh
+ $PROJ_DIR$\..\..\..\components\drivers\include
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Inc
+ $PROJ_DIR$\..\..\..\components\libc\compilers\common\extension
+ $PROJ_DIR$\..\..\..\components\libc\compilers\common
+ $PROJ_DIR$\..\..\..\components\libc\posix\ipc
+ $PROJ_DIR$\board\CubeMX_Config\Core\Inc
+ $PROJ_DIR$\..\..\..\components\libc\posix\io\stdio
+ $PROJ_DIR$\.
+ $PROJ_DIR$\..\libraries\HAL_Drivers\config
+ $PROJ_DIR$\board
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\CMSIS\Device\ST\STM32H7xx\Include
+ $PROJ_DIR$\..\..\..\components\drivers\spi
+ $PROJ_DIR$\..\libraries\HAL_Drivers
+ $PROJ_DIR$\applications
+ $PROJ_DIR$\..\..\..\libcpu\arm\common
+ $PROJ_DIR$\..\..\..\include
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\CMSIS\Include
+ $PROJ_DIR$\board\port
+ $PROJ_DIR$\..\..\..\components\libc\posix\io\poll
+ $PROJ_DIR$\..\..\..\components\drivers\touch
+ $PROJ_DIR$\..\..\..\libcpu\arm\cortex-m7
+
+
+ CCStdIncCheck
+ 0
+
+
+ CCCodeSection
+ .text
+
+
+ IProcessorMode2
+ 1
+
+
+ CCOptLevel
+ 3
+
+
+ CCOptStrategy
+ 0
+ 0
+
+
+ CCOptLevelSlave
+ 1
+
+
+ CompilerMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ CompilerMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ CCPosIndRopi
+ 0
+
+
+ CCPosIndRwpi
+ 0
+
+
+ CCPosIndNoDynInit
+ 0
+
+
+ IccLang
+ 0
+
+
+ IccCDialect
+ 1
+
+
+ IccAllowVLA
+ 0
+
+
+ IccStaticDestr
+ 1
+
+
+ IccCppInlineSemantics
+ 0
+
+
+ IccCmsis
+ 1
+
+
+ IccFloatSemantics
+ 0
+
+
+ CCNoLiteralPool
+ 0
+
+
+ CCOptStrategySlave
+ 0
+ 0
+
+
+ CCGuardCalls
+ 1
+
+
+ CCEncSource
+ 0
+
+
+ CCEncOutput
+ 0
+
+
+ CCEncOutputBom
+ 1
+
+
+ CCEncInput
+ 0
+
+
+ IccExceptions2
+ 0
+
+
+ IccRTTI2
+ 0
+
+
+ OICompilerExtraOption
+ 1
+
+
+
+
+ AARM
+ 2
+
+ 10
+ 1
+ 0
+
+ AObjPrefix
+ 1
+
+
+ AEndian
+ 1
+
+
+ ACaseSensitivity
+ 1
+
+
+ MacroChars
+ 0
+ 0
+
+
+ AWarnEnable
+ 0
+
+
+ AWarnWhat
+ 0
+
+
+ AWarnOne
+
+
+
+ AWarnRange1
+
+
+
+ AWarnRange2
+
+
+
+ ADebug
+ 0
+
+
+ AltRegisterNames
+ 0
+
+
+ ADefines
+
+
+
+ AList
+ 0
+
+
+ AListHeader
+ 1
+
+
+ AListing
+ 1
+
+
+ Includes
+ 0
+
+
+ MacDefs
+ 0
+
+
+ MacExps
+ 1
+
+
+ MacExec
+ 0
+
+
+ OnlyAssed
+ 0
+
+
+ MultiLine
+ 0
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ TabSpacing
+ 8
+
+
+ AXRef
+ 0
+
+
+ AXRefDefines
+ 0
+
+
+ AXRefInternal
+ 0
+
+
+ AXRefDual
+ 0
+
+
+ AProcessor
+ 1
+
+
+ AFpuProcessor
+ 1
+
+
+ AOutputFile
+
+
+
+ ALimitErrorsCheck
+ 0
+
+
+ ALimitErrorsEdit
+ 100
+
+
+ AIgnoreStdInclude
+ 0
+
+
+ AUserIncludes
+
+
+
+ AExtraOptionsCheckV2
+ 0
+
+
+ AExtraOptionsV2
+
+
+
+ AsmNoLiteralPool
+ 0
+
+
+
+
+ OBJCOPY
+ 0
+
+ 1
+ 1
+ 0
+
+ OOCOutputFormat
+ 3
+ 0
+
+
+ OCOutputOverride
+ 0
+
+
+ OOCOutputFile
+
+
+
+ OOCCommandLineProducer
+ 1
+
+
+ OOCObjCopyEnable
+ 0
+
+
+
+
+ CUSTOM
+ 3
+
+
+
+ 0
+
+
+
+ BICOMP
+ 0
+
+
+
+ BUILDACTION
+ 1
+
+
+
+
+
+
+ ILINK
+ 0
+
+ 22
+ 1
+ 0
+
+ IlinkLibIOConfig
+ 1
+
+
+ XLinkMisraHandler
+ 0
+
+
+ IlinkInputFileSlave
+ 0
+
+
+ IlinkOutputFile
+ ###Unitialized###
+
+
+ IlinkDebugInfoEnable
+ 1
+
+
+ IlinkKeepSymbols
+
+
+
+ IlinkRawBinaryFile
+
+
+
+ IlinkRawBinarySymbol
+
+
+
+ IlinkRawBinarySegment
+
+
+
+ IlinkRawBinaryAlign
+
+
+
+ IlinkDefines
+
+
+
+ IlinkConfigDefines
+
+
+
+ IlinkMapFile
+ 0
+
+
+ IlinkLogFile
+ 0
+
+
+ IlinkLogInitialization
+ 0
+
+
+ IlinkLogModule
+ 0
+
+
+ IlinkLogSection
+ 0
+
+
+ IlinkLogVeneer
+ 0
+
+
+ IlinkIcfOverride
+ 0
+
+
+ IlinkIcfFile
+ lnk0t.icf
+
+
+ IlinkIcfFileSlave
+
+
+
+ IlinkEnableRemarks
+ 0
+
+
+ IlinkSuppressDiags
+
+
+
+ IlinkTreatAsRem
+
+
+
+ IlinkTreatAsWarn
+
+
+
+ IlinkTreatAsErr
+
+
+
+ IlinkWarningsAreErrors
+ 0
+
+
+ IlinkUseExtraOptions
+ 0
+
+
+ IlinkExtraOptions
+
+
+
+ IlinkLowLevelInterfaceSlave
+ 1
+
+
+ IlinkAutoLibEnable
+ 1
+
+
+ IlinkAdditionalLibs
+
+
+
+ IlinkOverrideProgramEntryLabel
+ 0
+
+
+ IlinkProgramEntryLabelSelect
+ 0
+
+
+ IlinkProgramEntryLabel
+
+
+
+ DoFill
+ 0
+
+
+ FillerByte
+ 0xFF
+
+
+ FillerStart
+ 0x0
+
+
+ FillerEnd
+ 0x0
+
+
+ CrcSize
+ 0
+ 1
+
+
+ CrcAlign
+ 1
+
+
+ CrcPoly
+ 0x11021
+
+
+ CrcCompl
+ 0
+ 0
+
+
+ CrcBitOrder
+ 0
+ 0
+
+
+ CrcInitialValue
+ 0x0
+
+
+ DoCrc
+ 0
+
+
+ IlinkBE8Slave
+ 1
+
+
+ IlinkBufferedTerminalOutput
+ 1
+
+
+ IlinkStdoutInterfaceSlave
+ 1
+
+
+ CrcFullSize
+ 0
+
+
+ IlinkIElfToolPostProcess
+ 0
+
+
+ IlinkLogAutoLibSelect
+ 0
+
+
+ IlinkLogRedirSymbols
+ 0
+
+
+ IlinkLogUnusedFragments
+ 0
+
+
+ IlinkCrcReverseByteOrder
+ 0
+
+
+ IlinkCrcUseAsInput
+ 1
+
+
+ IlinkOptInline
+ 1
+
+
+ IlinkOptExceptionsAllow
+ 1
+
+
+ IlinkOptExceptionsForce
+ 0
+
+
+ IlinkCmsis
+ 1
+
+
+ IlinkOptMergeDuplSections
+ 0
+
+
+ IlinkOptUseVfe
+ 1
+
+
+ IlinkOptForceVfe
+ 0
+
+
+ IlinkStackAnalysisEnable
+ 0
+
+
+ IlinkStackControlFile
+
+
+
+ IlinkStackCallGraphFile
+
+
+
+ CrcAlgorithm
+ 1
+ 1
+
+
+ CrcUnitSize
+ 0
+ 0
+
+
+ IlinkThreadsSlave
+ 1
+
+
+ IlinkLogCallGraph
+ 0
+
+
+ IlinkIcfFile_AltDefault
+
+
+
+ IlinkEncInput
+ 0
+
+
+ IlinkEncOutput
+ 0
+
+
+ IlinkEncOutputBom
+ 1
+
+
+ IlinkHeapSelect
+ 1
+
+
+ IlinkLocaleSelect
+ 1
+
+
+ IlinkTrustzoneImportLibraryOut
+ ###Unitialized###
+
+
+ OILinkExtraOption
+ 1
+
+
+
+
+ IARCHIVE
+ 0
+
+ 0
+ 1
+ 0
+
+ IarchiveInputs
+
+
+
+ IarchiveOverride
+ 0
+
+
+ IarchiveOutput
+ ###Unitialized###
+
+
+
+
+ BILINK
+ 0
+
+
+
+
+ Applications
+
+ $PROJ_DIR$\applications\main.c
+
+
+
+ Compiler
+
+ $PROJ_DIR$\..\..\..\components\libc\compilers\common\stdlib.c
+
+
+ $PROJ_DIR$\..\..\..\components\libc\compilers\common\time.c
+
+
+ $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_open.c
+
+
+ $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_mem.c
+
+
+ $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\environ.c
+
+
+ $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_write.c
+
+
+ $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_close.c
+
+
+ $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscalls.c
+
+
+ $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_read.c
+
+
+ $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_lseek.c
+
+
+ $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_remove.c
+
+
+
+ CPU
+
+ $PROJ_DIR$\..\..\..\libcpu\arm\common\showmem.c
+
+
+ $PROJ_DIR$\..\..\..\libcpu\arm\common\div0.c
+
+
+ $PROJ_DIR$\..\..\..\libcpu\arm\common\backtrace.c
+
+
+ $PROJ_DIR$\..\..\..\libcpu\arm\cortex-m7\cpuport.c
+
+
+ $PROJ_DIR$\..\..\..\libcpu\arm\cortex-m7\cpu_cache.c
+
+
+ $PROJ_DIR$\..\..\..\libcpu\arm\cortex-m7\context_iar.S
+
+
+
+ DeviceDrivers
+
+ $PROJ_DIR$\..\..\..\components\drivers\i2c\i2c_core.c
+
+
+ $PROJ_DIR$\..\..\..\components\drivers\i2c\i2c_dev.c
+
+
+ $PROJ_DIR$\..\..\..\components\drivers\i2c\i2c-bit-ops.c
+
+
+ $PROJ_DIR$\..\..\..\components\drivers\ipc\waitqueue.c
+
+
+ $PROJ_DIR$\..\..\..\components\drivers\ipc\workqueue.c
+
+
+ $PROJ_DIR$\..\..\..\components\drivers\ipc\ringbuffer.c
+
+
+ $PROJ_DIR$\..\..\..\components\drivers\ipc\dataqueue.c
+
+
+ $PROJ_DIR$\..\..\..\components\drivers\ipc\pipe.c
+
+
+ $PROJ_DIR$\..\..\..\components\drivers\ipc\completion.c
+
+
+ $PROJ_DIR$\..\..\..\components\drivers\ipc\ringblk_buf.c
+
+
+ $PROJ_DIR$\..\..\..\components\drivers\misc\pin.c
+
+
+ $PROJ_DIR$\..\..\..\components\drivers\serial\serial_v2.c
+
+
+ $PROJ_DIR$\..\..\..\components\drivers\spi\spi_core.c
+
+
+ $PROJ_DIR$\..\..\..\components\drivers\spi\spi_dev.c
+
+
+ $PROJ_DIR$\..\..\..\components\drivers\touch\touch.c
+
+
+
+ Drivers
+
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\CMSIS\Device\ST\STM32H7xx\Source\Templates\iar\startup_stm32h750xx.s
+
+
+ $PROJ_DIR$\board\board.c
+
+
+ $PROJ_DIR$\board\CubeMX_Config\Core\Src\stm32h7xx_hal_msp.c
+
+
+ $PROJ_DIR$\..\libraries\HAL_Drivers\drv_sdram.c
+
+
+ $PROJ_DIR$\..\libraries\HAL_Drivers\drv_gpio.c
+
+
+ $PROJ_DIR$\..\libraries\HAL_Drivers\drv_usart_v2.c
+
+
+ $PROJ_DIR$\..\libraries\HAL_Drivers\drv_common.c
+
+
+ $PROJ_DIR$\..\libraries\HAL_Drivers\drv_spi.c
+
+
+
+ Finsh
+
+ $PROJ_DIR$\..\..\..\components\finsh\shell.c
+
+
+ $PROJ_DIR$\..\..\..\components\finsh\msh.c
+
+
+ $PROJ_DIR$\..\..\..\components\finsh\cmd.c
+
+
+
+ Kernel
+
+ $PROJ_DIR$\..\..\..\src\thread.c
+
+
+ $PROJ_DIR$\..\..\..\src\device.c
+
+
+ $PROJ_DIR$\..\..\..\src\timer.c
+
+
+ $PROJ_DIR$\..\..\..\src\mempool.c
+
+
+ $PROJ_DIR$\..\..\..\src\components.c
+
+
+ $PROJ_DIR$\..\..\..\src\mem.c
+
+
+ $PROJ_DIR$\..\..\..\src\ipc.c
+
+
+ $PROJ_DIR$\..\..\..\src\clock.c
+
+
+ $PROJ_DIR$\..\..\..\src\kservice.c
+
+
+ $PROJ_DIR$\..\..\..\src\object.c
+
+
+ $PROJ_DIR$\..\..\..\src\scheduler.c
+
+
+ $PROJ_DIR$\..\..\..\src\idle.c
+
+
+ $PROJ_DIR$\..\..\..\src\irq.c
+
+
+
+ Libraries
+
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rcc.c
+
+
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_spi.c
+
+
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pwr.c
+
+
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rcc_ex.c
+
+
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sram.c
+
+
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cortex.c
+
+
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2c_ex.c
+
+
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cryp_ex.c
+
+
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dma_ex.c
+
+
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_fmc.c
+
+
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2c.c
+
+
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cryp.c
+
+
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_usart.c
+
+
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_crc_ex.c
+
+
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sdram.c
+
+
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_gpio.c
+
+
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_uart_ex.c
+
+
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_mdma.c
+
+
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal.c
+
+
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dma.c
+
+
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_uart.c
+
+
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_comp.c
+
+
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rng.c
+
+
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_crc.c
+
+
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cec.c
+
+
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_qspi.c
+
+
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pwr_ex.c
+
+
+ $PROJ_DIR$\..\libraries\STM32H7xx_HAL\CMSIS\Device\ST\STM32H7xx\Source\Templates\system_stm32h7xx.c
+
+
+
+ POSIX
+
+
diff --git a/bsp/stm32/stm32h750-artpi/project.eww b/bsp/stm32/stm32h750-artpi/project.eww
new file mode 100644
index 0000000000..c2cb02eb1e
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/project.eww
@@ -0,0 +1,10 @@
+
+
+
+
+ $WS_DIR$\project.ewp
+
+
+
+
+
diff --git a/bsp/stm32/stm32h750-artpi/project.uvoptx b/bsp/stm32/stm32h750-artpi/project.uvoptx
new file mode 100644
index 0000000000..6ea03b6d88
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/project.uvoptx
@@ -0,0 +1,184 @@
+
+
+
+ 1.0
+
+ ### uVision Project, (C) Keil Software
+
+
+ *.c
+ *.s*; *.src; *.a*
+ *.obj; *.o
+ *.lib
+ *.txt; *.h; *.inc
+ *.plm
+ *.cpp
+ 0
+
+
+
+ 0
+ 0
+
+
+
+ rt-thread
+ 0x4
+ ARM-ADS
+
+ 12000000
+
+ 1
+ 1
+ 0
+ 1
+ 0
+
+
+ 1
+ 65535
+ 0
+ 0
+ 0
+
+
+ 79
+ 66
+ 8
+ .\build\
+
+
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+
+
+ 0
+ 0
+ 1
+
+ 18
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 0
+ 0
+ 6
+
+
+
+
+
+
+
+
+
+
+ STLink\ST-LINKIII-KEIL_SWO.dll
+
+
+
+ 0
+ UL2CM3
+ UL2CM3(-S0 -C0 -P0 ) -FN1 -FC1000 -FD20000000 -FF0STM32H7x_128k -FL020000 -FS08000000 -FP0($$Device:STM32H750XBHx$CMSIS\Flash\STM32H7x_128k.FLM)
+
+
+ 0
+ ST-LINKIII-KEIL_SWO
+ -U066BFF393732484257162540 -O206 -SF4000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP") -D00(6BA02477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC4000 -FN1 -FF0ART-PI_W25Q64 -FS090000000 -FL0800000
+
+
+
+
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+ 1
+ 1
+ 0
+ 2
+ 10000000
+
+
+
+
+
diff --git a/bsp/stm32/stm32h750-artpi/project.uvprojx b/bsp/stm32/stm32h750-artpi/project.uvprojx
new file mode 100644
index 0000000000..9c83049634
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/project.uvprojx
@@ -0,0 +1,957 @@
+
+
+ 2.1
+ ### uVision Project, (C) Keil Software
+
+
+ rt-thread
+ 0x4
+ ARM-ADS
+ 5060750::V5.06 update 6 (build 750)::ARMCC
+ 0
+
+
+ STM32H750XBHx
+ STMicroelectronics
+ Keil.STM32H7xx_DFP.2.5.0
+ http://www.keil.com/pack/
+ IRAM(0x20000000,0x00020000) IRAM2(0x24000000,0x00080000) IROM(0x08000000,0x00020000) XRAM(0x30000000,0x00048000) XRAM2(0x38000000,0x00010000) CPUTYPE("Cortex-M7") FPU3(DFPU) CLOCK(12000000) ELITTLE
+
+
+ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32H7x_128k -FS08000000 -FL020000 -FP0($$Device:STM32H750XBHx$CMSIS\Flash\STM32H7x_128k.FLM))
+ 0
+ $$Device:STM32H750XBHx$Drivers\CMSIS\Device\ST\STM32H7xx\Include\stm32h7xx.h
+
+
+
+
+
+
+
+
+
+ $$Device:STM32H750XBHx$CMSIS\SVD\STM32H750x.svd
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\build\
+ rt-thread
+ 1
+ 0
+ 0
+ 1
+ 0
+ .\build\
+ 1
+ 0
+ 0
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 0
+ fromelf --bin !L --output rtthread.bin
+
+ 0
+ 0
+ 0
+ 0
+
+ 0
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+ 1
+
+
+ SARMCM3.DLL
+ -REMAP -MPU
+ DCM.DLL
+ -pCM7
+ SARMCM3.DLL
+ -MPU
+ TCM.DLL
+ -pCM7
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 16
+
+
+
+
+ 1
+ 0
+ 0
+ 1
+ 1
+ 4096
+
+ 1
+ BIN\UL2CM3.DLL
+
+
+
+
+
+ 0
+
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ "Cortex-M7"
+
+ 0
+ 0
+ 0
+ 1
+ 1
+ 1
+ 0
+ 3
+ 0
+ 1
+ 0
+ 8
+ 1
+ 0
+ 0
+ 0
+ 3
+ 4
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 1
+ 1
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0x20000
+
+
+ 1
+ 0x8000000
+ 0x20000
+
+
+ 1
+ 0x30000000
+ 0x48000
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x8000000
+ 0x20000
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 0
+ 0x30000000
+ 0x48000
+
+
+ 0
+ 0x38000000
+ 0x10000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0x20000
+
+
+ 0
+ 0x24000000
+ 0x80000
+
+
+
+
+
+ 1
+ 1
+ 0
+ 0
+ 1
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 1
+ 1
+ 0
+ 0
+ 0
+
+
+ STM32H750xx, USE_HAL_DRIVER, __RTTHREAD__, RT_USING_ARM_LIBC, __CLK_TCK=RT_TICK_PER_SECOND
+
+ applications;..\..\..\components\libc\compilers\common;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m7;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\spi;..\..\..\components\drivers\include;..\..\..\components\drivers\touch;..\..\..\components\drivers\include;board;board\CubeMX_Config\Core\Inc;board\port;..\libraries\HAL_Drivers;..\libraries\HAL_Drivers\config;..\..\..\components\finsh;.;..\..\..\include;..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Inc;..\libraries\STM32H7xx_HAL\CMSIS\Device\ST\STM32H7xx\Include;..\libraries\STM32H7xx_HAL\CMSIS\Include;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\io\stdio;..\..\..\components\libc\posix\ipc
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0x08000000
+ 0x20000000
+
+ .\board\linker_scripts\link.sct
+
+
+
+
+
+
+
+
+
+
+ Applications
+
+
+ main.c
+ 1
+ applications\main.c
+
+
+
+
+ Compiler
+
+
+ syscall_mem.c
+ 1
+ ..\..\..\components\libc\compilers\armlibc\syscall_mem.c
+
+
+
+
+ syscalls.c
+ 1
+ ..\..\..\components\libc\compilers\armlibc\syscalls.c
+
+
+
+
+ time.c
+ 1
+ ..\..\..\components\libc\compilers\common\time.c
+
+
+
+
+ stdlib.c
+ 1
+ ..\..\..\components\libc\compilers\common\stdlib.c
+
+
+
+
+ CPU
+
+
+ backtrace.c
+ 1
+ ..\..\..\libcpu\arm\common\backtrace.c
+
+
+
+
+ div0.c
+ 1
+ ..\..\..\libcpu\arm\common\div0.c
+
+
+
+
+ showmem.c
+ 1
+ ..\..\..\libcpu\arm\common\showmem.c
+
+
+
+
+ cpu_cache.c
+ 1
+ ..\..\..\libcpu\arm\cortex-m7\cpu_cache.c
+
+
+
+
+ context_rvds.S
+ 2
+ ..\..\..\libcpu\arm\cortex-m7\context_rvds.S
+
+
+
+
+ cpuport.c
+ 1
+ ..\..\..\libcpu\arm\cortex-m7\cpuport.c
+
+
+
+
+ DeviceDrivers
+
+
+ i2c_core.c
+ 1
+ ..\..\..\components\drivers\i2c\i2c_core.c
+
+
+
+
+ i2c_dev.c
+ 1
+ ..\..\..\components\drivers\i2c\i2c_dev.c
+
+
+
+
+ i2c-bit-ops.c
+ 1
+ ..\..\..\components\drivers\i2c\i2c-bit-ops.c
+
+
+
+
+ workqueue.c
+ 1
+ ..\..\..\components\drivers\ipc\workqueue.c
+
+
+
+
+ waitqueue.c
+ 1
+ ..\..\..\components\drivers\ipc\waitqueue.c
+
+
+
+
+ dataqueue.c
+ 1
+ ..\..\..\components\drivers\ipc\dataqueue.c
+
+
+
+
+ ringblk_buf.c
+ 1
+ ..\..\..\components\drivers\ipc\ringblk_buf.c
+
+
+
+
+ ringbuffer.c
+ 1
+ ..\..\..\components\drivers\ipc\ringbuffer.c
+
+
+
+
+ pipe.c
+ 1
+ ..\..\..\components\drivers\ipc\pipe.c
+
+
+
+
+ completion.c
+ 1
+ ..\..\..\components\drivers\ipc\completion.c
+
+
+
+
+ pin.c
+ 1
+ ..\..\..\components\drivers\misc\pin.c
+
+
+
+
+ serial_v2.c
+ 1
+ ..\..\..\components\drivers\serial\serial_v2.c
+
+
+
+
+ spi_core.c
+ 1
+ ..\..\..\components\drivers\spi\spi_core.c
+
+
+
+
+ spi_dev.c
+ 1
+ ..\..\..\components\drivers\spi\spi_dev.c
+
+
+
+
+ touch.c
+ 1
+ ..\..\..\components\drivers\touch\touch.c
+
+
+
+
+ Drivers
+
+
+ stm32h7xx_hal_msp.c
+ 1
+ board\CubeMX_Config\Core\Src\stm32h7xx_hal_msp.c
+
+
+
+
+ startup_stm32h750xx.s
+ 2
+ ..\libraries\STM32H7xx_HAL\CMSIS\Device\ST\STM32H7xx\Source\Templates\arm\startup_stm32h750xx.s
+
+
+
+
+ board.c
+ 1
+ board\board.c
+
+
+
+
+ drv_sdram.c
+ 1
+ ..\libraries\HAL_Drivers\drv_sdram.c
+
+
+
+
+ drv_gpio.c
+ 1
+ ..\libraries\HAL_Drivers\drv_gpio.c
+
+
+
+
+ drv_usart_v2.c
+ 1
+ ..\libraries\HAL_Drivers\drv_usart_v2.c
+
+
+
+
+ drv_common.c
+ 1
+ ..\libraries\HAL_Drivers\drv_common.c
+
+
+
+
+ drv_spi.c
+ 1
+ ..\libraries\HAL_Drivers\drv_spi.c
+
+
+
+
+ Finsh
+
+
+ shell.c
+ 1
+ ..\..\..\components\finsh\shell.c
+
+
+
+
+ msh.c
+ 1
+ ..\..\..\components\finsh\msh.c
+
+
+
+
+ cmd.c
+ 1
+ ..\..\..\components\finsh\cmd.c
+
+
+
+
+ Kernel
+
+
+ device.c
+ 1
+ ..\..\..\src\device.c
+
+
+
+
+ components.c
+ 1
+ ..\..\..\src\components.c
+
+
+
+
+ thread.c
+ 1
+ ..\..\..\src\thread.c
+
+
+
+
+ mempool.c
+ 1
+ ..\..\..\src\mempool.c
+
+
+
+
+ kservice.c
+ 1
+ ..\..\..\src\kservice.c
+
+
+
+
+ mem.c
+ 1
+ ..\..\..\src\mem.c
+
+
+
+
+ irq.c
+ 1
+ ..\..\..\src\irq.c
+
+
+
+
+ timer.c
+ 1
+ ..\..\..\src\timer.c
+
+
+
+
+ clock.c
+ 1
+ ..\..\..\src\clock.c
+
+
+
+
+ object.c
+ 1
+ ..\..\..\src\object.c
+
+
+
+
+ idle.c
+ 1
+ ..\..\..\src\idle.c
+
+
+
+
+ scheduler.c
+ 1
+ ..\..\..\src\scheduler.c
+
+
+
+
+ ipc.c
+ 1
+ ..\..\..\src\ipc.c
+
+
+
+
+ Libraries
+
+
+ stm32h7xx_hal_rcc.c
+ 1
+ ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rcc.c
+
+
+
+
+ stm32h7xx_hal_spi.c
+ 1
+ ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_spi.c
+
+
+
+
+ stm32h7xx_hal_pwr.c
+ 1
+ ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pwr.c
+
+
+
+
+ stm32h7xx_hal_rcc_ex.c
+ 1
+ ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rcc_ex.c
+
+
+
+
+ stm32h7xx_hal_sram.c
+ 1
+ ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sram.c
+
+
+
+
+ stm32h7xx_hal_cortex.c
+ 1
+ ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cortex.c
+
+
+
+
+ stm32h7xx_hal_i2c_ex.c
+ 1
+ ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2c_ex.c
+
+
+
+
+ stm32h7xx_hal_cryp_ex.c
+ 1
+ ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cryp_ex.c
+
+
+
+
+ stm32h7xx_hal_dma_ex.c
+ 1
+ ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dma_ex.c
+
+
+
+
+ stm32h7xx_ll_fmc.c
+ 1
+ ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_fmc.c
+
+
+
+
+ stm32h7xx_hal_i2c.c
+ 1
+ ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2c.c
+
+
+
+
+ stm32h7xx_hal_cryp.c
+ 1
+ ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cryp.c
+
+
+
+
+ stm32h7xx_hal_usart.c
+ 1
+ ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_usart.c
+
+
+
+
+ stm32h7xx_hal_crc_ex.c
+ 1
+ ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_crc_ex.c
+
+
+
+
+ stm32h7xx_hal_sdram.c
+ 1
+ ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sdram.c
+
+
+
+
+ stm32h7xx_hal_gpio.c
+ 1
+ ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_gpio.c
+
+
+
+
+ stm32h7xx_hal_uart_ex.c
+ 1
+ ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_uart_ex.c
+
+
+
+
+ stm32h7xx_hal_mdma.c
+ 1
+ ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_mdma.c
+
+
+
+
+ stm32h7xx_hal.c
+ 1
+ ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal.c
+
+
+
+
+ stm32h7xx_hal_dma.c
+ 1
+ ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dma.c
+
+
+
+
+ stm32h7xx_hal_uart.c
+ 1
+ ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_uart.c
+
+
+
+
+ stm32h7xx_hal_comp.c
+ 1
+ ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_comp.c
+
+
+
+
+ stm32h7xx_hal_rng.c
+ 1
+ ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rng.c
+
+
+
+
+ stm32h7xx_hal_crc.c
+ 1
+ ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_crc.c
+
+
+
+
+ stm32h7xx_hal_cec.c
+ 1
+ ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cec.c
+
+
+
+
+ stm32h7xx_hal_qspi.c
+ 1
+ ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_qspi.c
+
+
+
+
+ stm32h7xx_hal_pwr_ex.c
+ 1
+ ..\libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pwr_ex.c
+
+
+
+
+ system_stm32h7xx.c
+ 1
+ ..\libraries\STM32H7xx_HAL\CMSIS\Device\ST\STM32H7xx\Source\Templates\system_stm32h7xx.c
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bsp/stm32/stm32h750-artpi/rtconfig.h b/bsp/stm32/stm32h750-artpi/rtconfig.h
new file mode 100644
index 0000000000..a0d835e4ad
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/rtconfig.h
@@ -0,0 +1,207 @@
+#ifndef RT_CONFIG_H__
+#define RT_CONFIG_H__
+
+/* Automatically generated file; DO NOT EDIT. */
+/* RT-Thread Configuration */
+
+/* RT-Thread Kernel */
+
+#define RT_NAME_MAX 8
+#define RT_ALIGN_SIZE 4
+#define RT_THREAD_PRIORITY_32
+#define RT_THREAD_PRIORITY_MAX 32
+#define RT_TICK_PER_SECOND 1000
+#define RT_USING_OVERFLOW_CHECK
+#define RT_USING_HOOK
+#define RT_HOOK_USING_FUNC_PTR
+#define RT_USING_IDLE_HOOK
+#define RT_IDLE_HOOK_LIST_SIZE 4
+#define IDLE_THREAD_STACK_SIZE 256
+
+/* kservice optimization */
+
+#define RT_DEBUG
+
+/* Inter-Thread communication */
+
+#define RT_USING_SEMAPHORE
+#define RT_USING_MUTEX
+#define RT_USING_EVENT
+#define RT_USING_MAILBOX
+#define RT_USING_MESSAGEQUEUE
+
+/* Memory Management */
+
+#define RT_USING_MEMPOOL
+#define RT_USING_SMALL_MEM
+#define RT_USING_SMALL_MEM_AS_HEAP
+#define RT_USING_HEAP
+
+/* Kernel Device Object */
+
+#define RT_USING_DEVICE
+#define RT_USING_CONSOLE
+#define RT_CONSOLEBUF_SIZE 128
+#define RT_CONSOLE_DEVICE_NAME "uart4"
+#define RT_VER_NUM 0x40100
+#define ARCH_ARM
+#define RT_USING_CPU_FFS
+#define ARCH_ARM_CORTEX_M
+#define ARCH_ARM_CORTEX_M7
+
+/* RT-Thread Components */
+
+#define RT_USING_COMPONENTS_INIT
+#define RT_USING_USER_MAIN
+#define RT_MAIN_THREAD_STACK_SIZE 2048
+#define RT_MAIN_THREAD_PRIORITY 10
+#define RT_USING_MSH
+#define RT_USING_FINSH
+#define FINSH_USING_MSH
+#define FINSH_THREAD_NAME "tshell"
+#define FINSH_THREAD_PRIORITY 20
+#define FINSH_THREAD_STACK_SIZE 4096
+#define FINSH_USING_HISTORY
+#define FINSH_HISTORY_LINES 5
+#define FINSH_USING_SYMTAB
+#define FINSH_CMD_SIZE 80
+#define MSH_USING_BUILT_IN_COMMANDS
+#define FINSH_USING_DESCRIPTION
+#define FINSH_ARG_MAX 10
+
+/* Device Drivers */
+
+#define RT_USING_DEVICE_IPC
+#define RT_USING_SERIAL
+#define RT_USING_SERIAL_V2
+#define RT_SERIAL_USING_DMA
+#define RT_USING_I2C
+#define RT_USING_I2C_BITOPS
+#define RT_USING_PIN
+#define RT_USING_SPI
+#define RT_USING_TOUCH
+
+/* Using USB */
+
+
+/* C/C++ and POSIX layer */
+
+#define RT_LIBC_DEFAULT_TIMEZONE 8
+
+/* POSIX (Portable Operating System Interface) layer */
+
+
+/* Interprocess Communication (IPC) */
+
+
+/* Socket is in the 'Network' category */
+
+
+/* Network */
+
+
+/* Utilities */
+
+
+/* RT-Thread Utestcases */
+
+
+/* RT-Thread online packages */
+
+/* IoT - internet of things */
+
+
+/* Wi-Fi */
+
+/* Marvell WiFi */
+
+
+/* Wiced WiFi */
+
+
+/* IoT Cloud */
+
+
+/* security packages */
+
+
+/* language packages */
+
+/* JSON: JavaScript Object Notation, a lightweight data-interchange format */
+
+
+/* XML: Extensible Markup Language */
+
+
+/* multimedia packages */
+
+/* LVGL: powerful and easy-to-use embedded GUI library */
+
+
+/* u8g2: a monochrome graphic library */
+
+
+/* PainterEngine: A cross-platform graphics application framework written in C language */
+
+
+/* tools packages */
+
+
+/* system packages */
+
+/* enhanced kernel services */
+
+
+/* POSIX extension functions */
+
+
+/* acceleration: Assembly language or algorithmic acceleration packages */
+
+
+/* CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */
+
+
+/* Micrium: Micrium software products porting for RT-Thread */
+
+
+/* peripheral libraries and drivers */
+
+
+/* AI packages */
+
+
+/* miscellaneous packages */
+
+/* project laboratory */
+
+/* samples: kernel and components samples */
+
+
+/* entertainment: terminal games and other interesting software packages */
+
+#define SOC_FAMILY_STM32
+#define SOC_SERIES_STM32H7
+
+/* Hardware Drivers Config */
+
+#define SOC_STM32H750XB
+#define BOARD_STM32H750_ARTPI
+
+/* Board extended module */
+
+
+/* Onboard Peripheral Drivers */
+
+#define BSP_USING_USB_TO_USART
+
+/* On-chip Peripheral Drivers */
+
+#define BSP_USING_GPIO
+#define BSP_USING_UART
+#define BSP_USING_UART4
+#define BSP_USING_SDRAM
+
+/* External Libraries */
+
+
+#endif
diff --git a/bsp/stm32/stm32h750-artpi/rtconfig.py b/bsp/stm32/stm32h750-artpi/rtconfig.py
new file mode 100644
index 0000000000..bf04a43eb9
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/rtconfig.py
@@ -0,0 +1,185 @@
+import os
+
+# toolchains options
+ARCH='arm'
+CPU='cortex-m7'
+CROSS_TOOL='gcc'
+
+# bsp lib config
+BSP_LIBRARY_TYPE = None
+
+if os.getenv('RTT_CC'):
+ CROSS_TOOL = os.getenv('RTT_CC')
+if os.getenv('RTT_ROOT'):
+ RTT_ROOT = os.getenv('RTT_ROOT')
+
+# cross_tool provides the cross compiler
+# EXEC_PATH is the compiler execute path, for example, CodeSourcery, Keil MDK, IAR
+if CROSS_TOOL == 'gcc':
+ PLATFORM = 'gcc'
+ EXEC_PATH = r'/opt/gcc-arm-none-eabi/bin/'
+elif CROSS_TOOL == 'keil':
+ PLATFORM = 'armcc'
+ EXEC_PATH = r'C:/Keil_v5'
+elif CROSS_TOOL == 'iar':
+ PLATFORM = 'iar'
+ EXEC_PATH = r'C:/Program Files (x86)/IAR Systems/Embedded Workbench 8.0'
+
+if os.getenv('RTT_EXEC_PATH'):
+ EXEC_PATH = os.getenv('RTT_EXEC_PATH')
+
+BUILD = 'debug'
+
+if PLATFORM == 'gcc':
+ # toolchains
+ PREFIX = 'arm-none-eabi-'
+ CC = PREFIX + 'gcc'
+ AS = PREFIX + 'gcc'
+ AR = PREFIX + 'ar'
+ CXX = PREFIX + 'g++'
+ LINK = PREFIX + 'gcc'
+ TARGET_EXT = 'elf'
+ SIZE = PREFIX + 'size'
+ OBJDUMP = PREFIX + 'objdump'
+ OBJCPY = PREFIX + 'objcopy'
+
+ DEVICE = ' -mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard -ffunction-sections -fdata-sections'
+ CFLAGS = DEVICE + ' -Dgcc'
+ AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp -Wa,-mimplicit-it=thumb '
+ LFLAGS = DEVICE + ' -Wl,--gc-sections,-Map=rtthread.map,-cref,-u,Reset_Handler -T board/linker_scripts/link.lds'
+
+ CPATH = ''
+ LPATH = ''
+
+ if BUILD == 'debug':
+ CFLAGS += ' -O0 -gdwarf-2 -g'
+ AFLAGS += ' -gdwarf-2'
+ else:
+ CFLAGS += ' -O2'
+
+ CXXFLAGS = CFLAGS
+ CFLAGS += ' -std=c99'
+
+ POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n'
+
+elif PLATFORM == 'armcc':
+ # toolchains
+ CC = 'armcc'
+ CXX = 'armcc'
+ AS = 'armasm'
+ AR = 'armar'
+ LINK = 'armlink'
+ TARGET_EXT = 'axf'
+
+ DEVICE = ' --cpu Cortex-M7.fp.sp'
+ CFLAGS = '-c ' + DEVICE + ' --apcs=interwork --c99'
+ AFLAGS = DEVICE + ' --apcs=interwork '
+ LFLAGS = DEVICE + ' --scatter "board\linker_scripts\link.sct" --info sizes --info totals --info unused --info veneers --list rtthread.map --strict'
+ CFLAGS += ' -I' + EXEC_PATH + '/ARM/ARMCC/include'
+ LFLAGS += ' --libpath=' + EXEC_PATH + '/ARM/ARMCC/lib'
+
+ CFLAGS += ' -D__MICROLIB '
+ AFLAGS += ' --pd "__MICROLIB SETA 1" '
+ LFLAGS += ' --library_type=microlib '
+ EXEC_PATH += '/ARM/ARMCC/bin/'
+
+ if BUILD == 'debug':
+ CFLAGS += ' -g -O0'
+ AFLAGS += ' -g'
+ else:
+ CFLAGS += ' -O2'
+
+ CXXFLAGS = CFLAGS
+ CFLAGS += ' -std=c99'
+
+ POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET'
+
+elif PLATFORM == 'armclang':
+ # toolchains
+ CC = 'armclang'
+ CXX = 'armclang'
+ AS = 'armasm'
+ AR = 'armar'
+ LINK = 'armlink'
+ TARGET_EXT = 'axf'
+
+ DEVICE = ' --cpu Cortex-M7.fp.sp '
+ CFLAGS = ' --target=arm-arm-none-eabi -mcpu=cortex-M7 '
+ CFLAGS += ' -mcpu=cortex-M7 -mfpu=fpv4-sp-d16 '
+ CFLAGS += ' -mfloat-abi=hard -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar '
+ CFLAGS += ' -gdwarf-3 -ffunction-sections '
+ AFLAGS = DEVICE + ' --apcs=interwork '
+ LFLAGS = DEVICE + ' --info sizes --info totals --info unused --info veneers '
+ LFLAGS += ' --list rt-thread.map '
+ LFLAGS += r' --strict --scatter "board\linker_scripts\link.sct" '
+ CFLAGS += ' -I' + EXEC_PATH + '/ARM/ARMCLANG/include'
+ LFLAGS += ' --libpath=' + EXEC_PATH + '/ARM/ARMCLANG/lib'
+
+ EXEC_PATH += '/ARM/ARMCLANG/bin/'
+
+ if BUILD == 'debug':
+ CFLAGS += ' -g -O1' # armclang recommend
+ AFLAGS += ' -g'
+ else:
+ CFLAGS += ' -O2'
+
+ CXXFLAGS = CFLAGS
+ CFLAGS += ' -std=c99'
+
+ POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET'
+
+elif PLATFORM == 'iar':
+ # toolchains
+ CC = 'iccarm'
+ CXX = 'iccarm'
+ AS = 'iasmarm'
+ AR = 'iarchive'
+ LINK = 'ilinkarm'
+ TARGET_EXT = 'out'
+
+ DEVICE = '-Dewarm'
+
+ CFLAGS = DEVICE
+ CFLAGS += ' --diag_suppress Pa050'
+ CFLAGS += ' --no_cse'
+ CFLAGS += ' --no_unroll'
+ CFLAGS += ' --no_inline'
+ CFLAGS += ' --no_code_motion'
+ CFLAGS += ' --no_tbaa'
+ CFLAGS += ' --no_clustering'
+ CFLAGS += ' --no_scheduling'
+ CFLAGS += ' --endian=little'
+ CFLAGS += ' --cpu=Cortex-M7'
+ CFLAGS += ' -e'
+ CFLAGS += ' --fpu=VFPv5_sp'
+ CFLAGS += ' --dlib_config "' + EXEC_PATH + '/arm/INC/c/DLib_Config_Normal.h"'
+ CFLAGS += ' --silent'
+
+ AFLAGS = DEVICE
+ AFLAGS += ' -s+'
+ AFLAGS += ' -w+'
+ AFLAGS += ' -r'
+ AFLAGS += ' --cpu Cortex-M7'
+ AFLAGS += ' --fpu VFPv5_sp'
+ AFLAGS += ' -S'
+
+ if BUILD == 'debug':
+ CFLAGS += ' --debug'
+ CFLAGS += ' -On'
+ else:
+ CFLAGS += ' -Oh'
+
+ LFLAGS = ' --config "board/linker_scripts/link.icf"'
+ LFLAGS += ' --entry __iar_program_start'
+
+ CXXFLAGS = CFLAGS
+
+ EXEC_PATH = EXEC_PATH + '/arm/bin/'
+ POST_ACTION = 'ielftool --bin $TARGET rtthread.bin'
+
+def dist_handle(BSP_ROOT, dist_dir):
+ import sys
+ cwd_path = os.getcwd()
+ sys.path.append(os.path.join(os.path.dirname(BSP_ROOT), 'tools'))
+ from sdk_dist import dist_do_building
+ dist_do_building(BSP_ROOT, dist_dir)
diff --git a/bsp/stm32/stm32h750-artpi/template.ewp b/bsp/stm32/stm32h750-artpi/template.ewp
new file mode 100644
index 0000000000..1ca2a5511b
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/template.ewp
@@ -0,0 +1,2074 @@
+
+
+ 3
+
+ rtthread
+
+ ARM
+
+ 1
+
+ General
+ 3
+
+ 31
+ 1
+ 1
+
+ ExePath
+ build\iar\Exe
+
+
+ ObjPath
+ build\iar\Obj
+
+
+ ListPath
+ build\iar\List
+
+
+ GEndianMode
+ 0
+
+
+ Input description
+ Automatic choice of formatter, without multibyte support.
+
+
+ Output description
+ Automatic choice of formatter, without multibyte support.
+
+
+ GOutputBinary
+ 0
+
+
+ OGCoreOrChip
+ 1
+
+
+ GRuntimeLibSelect
+ 0
+ 1
+
+
+ GRuntimeLibSelectSlave
+ 0
+ 1
+
+
+ RTDescription
+ Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.
+
+
+ OGProductVersion
+ 6.30.6.53380
+
+
+ OGLastSavedByProductVersion
+ 8.32.1.18618
+
+
+ GeneralEnableMisra
+ 0
+
+
+ GeneralMisraVerbose
+ 0
+
+
+ OGChipSelectEditMenu
+ STM32H743ZI ST STM32H743ZI
+
+
+ GenLowLevelInterface
+ 1
+
+
+ GEndianModeBE
+ 1
+
+
+ OGBufferedTerminalOutput
+ 0
+
+
+ GenStdoutInterface
+ 0
+
+
+ GeneralMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ GeneralMisraVer
+ 0
+
+
+ GeneralMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ RTConfigPath2
+ $TOOLKIT_DIR$\inc\c\DLib_Config_Normal.h
+
+
+ GBECoreSlave
+ 26
+ 41
+
+
+ OGUseCmsis
+ 0
+
+
+ OGUseCmsisDspLib
+ 0
+
+
+ GRuntimeLibThreads
+ 0
+
+
+ CoreVariant
+ 26
+ 41
+
+
+ GFPUDeviceSlave
+ STM32H743ZI ST STM32H743ZI
+
+
+ FPU2
+ 0
+ 7
+
+
+ NrRegs
+ 0
+ 1
+
+
+ NEON
+ 0
+
+
+ GFPUCoreSlave2
+ 26
+ 41
+
+
+ OGCMSISPackSelectDevice
+
+
+ OgLibHeap
+ 0
+
+
+ OGLibAdditionalLocale
+ 0
+
+
+ OGPrintfVariant
+ 0
+ 0
+
+
+ OGPrintfMultibyteSupport
+ 0
+
+
+ OGScanfVariant
+ 0
+ 0
+
+
+ OGScanfMultibyteSupport
+ 0
+
+
+ GenLocaleTags
+
+
+
+ GenLocaleDisplayOnly
+
+
+
+ DSPExtension
+ 1
+
+
+ TrustZone
+ 0
+
+
+ TrustZoneModes
+ 0
+ 0
+
+
+
+
+ ICCARM
+ 2
+
+ 35
+ 1
+ 1
+
+ CCOptimizationNoSizeConstraints
+ 0
+
+
+ CCDefines
+
+
+
+ CCPreprocFile
+ 0
+
+
+ CCPreprocComments
+ 0
+
+
+ CCPreprocLine
+ 0
+
+
+ CCListCFile
+ 0
+
+
+ CCListCMnemonics
+ 0
+
+
+ CCListCMessages
+ 0
+
+
+ CCListAssFile
+ 0
+
+
+ CCListAssSource
+ 0
+
+
+ CCEnableRemarks
+ 0
+
+
+ CCDiagSuppress
+ Pa050
+
+
+ CCDiagRemark
+
+
+
+ CCDiagWarning
+
+
+
+ CCDiagError
+
+
+
+ CCObjPrefix
+ 1
+
+
+ CCAllowList
+ 1
+ 00000000
+
+
+ CCDebugInfo
+ 1
+
+
+ IEndianMode
+ 1
+
+
+ IProcessor
+ 1
+
+
+ IExtraOptionsCheck
+ 0
+
+
+ IExtraOptions
+
+
+
+ CCLangConformance
+ 0
+
+
+ CCSignedPlainChar
+ 1
+
+
+ CCRequirePrototypes
+ 0
+
+
+ CCDiagWarnAreErr
+ 0
+
+
+ CCCompilerRuntimeInfo
+ 0
+
+
+ IFpuProcessor
+ 1
+
+
+ OutputFile
+ $FILE_BNAME$.o
+
+
+ CCLibConfigHeader
+ 1
+
+
+ PreInclude
+
+
+
+ CompilerMisraOverride
+ 0
+
+
+ CCIncludePath2
+
+
+
+ CCStdIncCheck
+ 0
+
+
+ CCCodeSection
+ .text
+
+
+ IProcessorMode2
+ 1
+
+
+ CCOptLevel
+ 1
+
+
+ CCOptStrategy
+ 0
+ 0
+
+
+ CCOptLevelSlave
+ 1
+
+
+ CompilerMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ CompilerMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ CCPosIndRopi
+ 0
+
+
+ CCPosIndRwpi
+ 0
+
+
+ CCPosIndNoDynInit
+ 0
+
+
+ IccLang
+ 0
+
+
+ IccCDialect
+ 1
+
+
+ IccAllowVLA
+ 0
+
+
+ IccStaticDestr
+ 1
+
+
+ IccCppInlineSemantics
+ 0
+
+
+ IccCmsis
+ 1
+
+
+ IccFloatSemantics
+ 0
+
+
+ CCNoLiteralPool
+ 0
+
+
+ CCOptStrategySlave
+ 0
+ 0
+
+
+ CCGuardCalls
+ 1
+
+
+ CCEncSource
+ 0
+
+
+ CCEncOutput
+ 0
+
+
+ CCEncOutputBom
+ 1
+
+
+ CCEncInput
+ 0
+
+
+ IccExceptions2
+ 0
+
+
+ IccRTTI2
+ 0
+
+
+ OICompilerExtraOption
+ 1
+
+
+
+
+ AARM
+ 2
+
+ 10
+ 1
+ 1
+
+ AObjPrefix
+ 1
+
+
+ AEndian
+ 1
+
+
+ ACaseSensitivity
+ 1
+
+
+ MacroChars
+ 0
+ 0
+
+
+ AWarnEnable
+ 0
+
+
+ AWarnWhat
+ 0
+
+
+ AWarnOne
+
+
+
+ AWarnRange1
+
+
+
+ AWarnRange2
+
+
+
+ ADebug
+ 1
+
+
+ AltRegisterNames
+ 0
+
+
+ ADefines
+
+
+
+ AList
+ 0
+
+
+ AListHeader
+ 1
+
+
+ AListing
+ 1
+
+
+ Includes
+ 0
+
+
+ MacDefs
+ 0
+
+
+ MacExps
+ 1
+
+
+ MacExec
+ 0
+
+
+ OnlyAssed
+ 0
+
+
+ MultiLine
+ 0
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ TabSpacing
+ 8
+
+
+ AXRef
+ 0
+
+
+ AXRefDefines
+ 0
+
+
+ AXRefInternal
+ 0
+
+
+ AXRefDual
+ 0
+
+
+ AProcessor
+ 1
+
+
+ AFpuProcessor
+ 1
+
+
+ AOutputFile
+ $FILE_BNAME$.o
+
+
+ ALimitErrorsCheck
+ 0
+
+
+ ALimitErrorsEdit
+ 100
+
+
+ AIgnoreStdInclude
+ 0
+
+
+ AUserIncludes
+
+
+
+ AExtraOptionsCheckV2
+ 0
+
+
+ AExtraOptionsV2
+
+
+
+ AsmNoLiteralPool
+ 0
+
+
+
+
+ OBJCOPY
+ 0
+
+ 1
+ 1
+ 1
+
+ OOCOutputFormat
+ 3
+ 3
+
+
+ OCOutputOverride
+ 1
+
+
+ OOCOutputFile
+ ../../../rtthread.bin
+
+
+ OOCCommandLineProducer
+ 1
+
+
+ OOCObjCopyEnable
+ 1
+
+
+
+
+ CUSTOM
+ 3
+
+
+
+ 0
+
+
+
+ BICOMP
+ 0
+
+
+
+ BUILDACTION
+ 1
+
+
+
+
+
+
+ ILINK
+ 0
+
+ 22
+ 1
+ 1
+
+ IlinkLibIOConfig
+ 1
+
+
+ XLinkMisraHandler
+ 0
+
+
+ IlinkInputFileSlave
+ 0
+
+
+ IlinkOutputFile
+ project.out
+
+
+ IlinkDebugInfoEnable
+ 1
+
+
+ IlinkKeepSymbols
+
+
+
+ IlinkRawBinaryFile
+
+
+
+ IlinkRawBinarySymbol
+
+
+
+ IlinkRawBinarySegment
+
+
+
+ IlinkRawBinaryAlign
+
+
+
+ IlinkDefines
+
+
+
+ IlinkConfigDefines
+
+
+
+ IlinkMapFile
+ 0
+
+
+ IlinkLogFile
+ 0
+
+
+ IlinkLogInitialization
+ 0
+
+
+ IlinkLogModule
+ 0
+
+
+ IlinkLogSection
+ 0
+
+
+ IlinkLogVeneer
+ 0
+
+
+ IlinkIcfOverride
+ 1
+
+
+ IlinkIcfFile
+ $PROJ_DIR$\board\linker_scripts\link.icf
+
+
+ IlinkIcfFileSlave
+
+
+
+ IlinkEnableRemarks
+ 0
+
+
+ IlinkSuppressDiags
+
+
+
+ IlinkTreatAsRem
+
+
+
+ IlinkTreatAsWarn
+
+
+
+ IlinkTreatAsErr
+
+
+
+ IlinkWarningsAreErrors
+ 0
+
+
+ IlinkUseExtraOptions
+ 0
+
+
+ IlinkExtraOptions
+
+
+
+ IlinkLowLevelInterfaceSlave
+ 1
+
+
+ IlinkAutoLibEnable
+ 1
+
+
+ IlinkAdditionalLibs
+
+
+
+ IlinkOverrideProgramEntryLabel
+ 0
+
+
+ IlinkProgramEntryLabelSelect
+ 0
+
+
+ IlinkProgramEntryLabel
+ __iar_program_start
+
+
+ DoFill
+ 0
+
+
+ FillerByte
+ 0xFF
+
+
+ FillerStart
+ 0x0
+
+
+ FillerEnd
+ 0x0
+
+
+ CrcSize
+ 0
+ 1
+
+
+ CrcAlign
+ 1
+
+
+ CrcPoly
+ 0x11021
+
+
+ CrcCompl
+ 0
+ 0
+
+
+ CrcBitOrder
+ 0
+ 0
+
+
+ CrcInitialValue
+ 0x0
+
+
+ DoCrc
+ 0
+
+
+ IlinkBE8Slave
+ 1
+
+
+ IlinkBufferedTerminalOutput
+ 1
+
+
+ IlinkStdoutInterfaceSlave
+ 1
+
+
+ CrcFullSize
+ 0
+
+
+ IlinkIElfToolPostProcess
+ 0
+
+
+ IlinkLogAutoLibSelect
+ 0
+
+
+ IlinkLogRedirSymbols
+ 0
+
+
+ IlinkLogUnusedFragments
+ 0
+
+
+ IlinkCrcReverseByteOrder
+ 0
+
+
+ IlinkCrcUseAsInput
+ 1
+
+
+ IlinkOptInline
+ 0
+
+
+ IlinkOptExceptionsAllow
+ 1
+
+
+ IlinkOptExceptionsForce
+ 0
+
+
+ IlinkCmsis
+ 1
+
+
+ IlinkOptMergeDuplSections
+ 0
+
+
+ IlinkOptUseVfe
+ 1
+
+
+ IlinkOptForceVfe
+ 0
+
+
+ IlinkStackAnalysisEnable
+ 0
+
+
+ IlinkStackControlFile
+
+
+
+ IlinkStackCallGraphFile
+
+
+
+ CrcAlgorithm
+ 1
+ 1
+
+
+ CrcUnitSize
+ 0
+ 0
+
+
+ IlinkThreadsSlave
+ 1
+
+
+ IlinkLogCallGraph
+ 0
+
+
+ IlinkIcfFile_AltDefault
+
+
+
+ IlinkEncInput
+ 0
+
+
+ IlinkEncOutput
+ 0
+
+
+ IlinkEncOutputBom
+ 1
+
+
+ IlinkHeapSelect
+ 1
+
+
+ IlinkLocaleSelect
+ 1
+
+
+ IlinkTrustzoneImportLibraryOut
+ ###Unitialized###
+
+
+ OILinkExtraOption
+ 1
+
+
+
+
+ IARCHIVE
+ 0
+
+ 0
+ 1
+ 1
+
+ IarchiveInputs
+
+
+
+ IarchiveOverride
+ 0
+
+
+ IarchiveOutput
+ ###Unitialized###
+
+
+
+
+ BILINK
+ 0
+
+
+
+
+ Release
+
+ ARM
+
+ 0
+
+ General
+ 3
+
+ 31
+ 1
+ 0
+
+ ExePath
+ Release\Exe
+
+
+ ObjPath
+ Release\Obj
+
+
+ ListPath
+ Release\List
+
+
+ GEndianMode
+ 0
+
+
+ Input description
+
+
+
+ Output description
+
+
+
+ GOutputBinary
+ 0
+
+
+ OGCoreOrChip
+ 0
+
+
+ GRuntimeLibSelect
+ 0
+ 1
+
+
+ GRuntimeLibSelectSlave
+ 0
+ 1
+
+
+ RTDescription
+
+
+
+ OGProductVersion
+ 6.30.6.53380
+
+
+ OGLastSavedByProductVersion
+ 8.11.3.13977
+
+
+ GeneralEnableMisra
+ 0
+
+
+ GeneralMisraVerbose
+ 0
+
+
+ OGChipSelectEditMenu
+ Default None
+
+
+ GenLowLevelInterface
+ 0
+
+
+ GEndianModeBE
+ 0
+
+
+ OGBufferedTerminalOutput
+ 0
+
+
+ GenStdoutInterface
+ 0
+
+
+ GeneralMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ GeneralMisraVer
+ 0
+
+
+ GeneralMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ RTConfigPath2
+
+
+
+ GBECoreSlave
+ 26
+ 1
+
+
+ OGUseCmsis
+ 0
+
+
+ OGUseCmsisDspLib
+ 0
+
+
+ GRuntimeLibThreads
+ 0
+
+
+ CoreVariant
+ 26
+ 0
+
+
+ GFPUDeviceSlave
+ Default None
+
+
+ FPU2
+ 0
+ 0
+
+
+ NrRegs
+ 0
+ 0
+
+
+ NEON
+ 0
+
+
+ GFPUCoreSlave2
+ 26
+ 0
+
+
+ OGCMSISPackSelectDevice
+
+
+ OgLibHeap
+ 0
+
+
+ OGLibAdditionalLocale
+ 0
+
+
+ OGPrintfVariant
+ 0
+ 0
+
+
+ OGPrintfMultibyteSupport
+ 0
+
+
+ OGScanfVariant
+ 0
+ 0
+
+
+ OGScanfMultibyteSupport
+ 0
+
+
+ GenLocaleTags
+
+
+
+ GenLocaleDisplayOnly
+
+
+
+ DSPExtension
+ 0
+
+
+ TrustZone
+ 0
+
+
+ TrustZoneModes
+ 0
+ 0
+
+
+
+
+ ICCARM
+ 2
+
+ 35
+ 1
+ 0
+
+ CCOptimizationNoSizeConstraints
+ 0
+
+
+ CCDefines
+
+
+
+ CCPreprocFile
+ 0
+
+
+ CCPreprocComments
+ 0
+
+
+ CCPreprocLine
+ 0
+
+
+ CCListCFile
+ 0
+
+
+ CCListCMnemonics
+ 0
+
+
+ CCListCMessages
+ 0
+
+
+ CCListAssFile
+ 0
+
+
+ CCListAssSource
+ 0
+
+
+ CCEnableRemarks
+ 0
+
+
+ CCDiagSuppress
+
+
+
+ CCDiagRemark
+
+
+
+ CCDiagWarning
+
+
+
+ CCDiagError
+
+
+
+ CCObjPrefix
+ 1
+
+
+ CCAllowList
+ 1
+ 11111110
+
+
+ CCDebugInfo
+ 0
+
+
+ IEndianMode
+ 1
+
+
+ IProcessor
+ 1
+
+
+ IExtraOptionsCheck
+ 0
+
+
+ IExtraOptions
+
+
+
+ CCLangConformance
+ 0
+
+
+ CCSignedPlainChar
+ 1
+
+
+ CCRequirePrototypes
+ 0
+
+
+ CCDiagWarnAreErr
+ 0
+
+
+ CCCompilerRuntimeInfo
+ 0
+
+
+ IFpuProcessor
+ 1
+
+
+ OutputFile
+
+
+
+ CCLibConfigHeader
+ 1
+
+
+ PreInclude
+
+
+
+ CompilerMisraOverride
+ 0
+
+
+ CCIncludePath2
+
+
+
+ CCStdIncCheck
+ 0
+
+
+ CCCodeSection
+ .text
+
+
+ IProcessorMode2
+ 1
+
+
+ CCOptLevel
+ 3
+
+
+ CCOptStrategy
+ 0
+ 0
+
+
+ CCOptLevelSlave
+ 1
+
+
+ CompilerMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ CompilerMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ CCPosIndRopi
+ 0
+
+
+ CCPosIndRwpi
+ 0
+
+
+ CCPosIndNoDynInit
+ 0
+
+
+ IccLang
+ 0
+
+
+ IccCDialect
+ 1
+
+
+ IccAllowVLA
+ 0
+
+
+ IccStaticDestr
+ 1
+
+
+ IccCppInlineSemantics
+ 0
+
+
+ IccCmsis
+ 1
+
+
+ IccFloatSemantics
+ 0
+
+
+ CCNoLiteralPool
+ 0
+
+
+ CCOptStrategySlave
+ 0
+ 0
+
+
+ CCGuardCalls
+ 1
+
+
+ CCEncSource
+ 0
+
+
+ CCEncOutput
+ 0
+
+
+ CCEncOutputBom
+ 1
+
+
+ CCEncInput
+ 0
+
+
+ IccExceptions2
+ 0
+
+
+ IccRTTI2
+ 0
+
+
+ OICompilerExtraOption
+ 1
+
+
+
+
+ AARM
+ 2
+
+ 10
+ 1
+ 0
+
+ AObjPrefix
+ 1
+
+
+ AEndian
+ 1
+
+
+ ACaseSensitivity
+ 1
+
+
+ MacroChars
+ 0
+ 0
+
+
+ AWarnEnable
+ 0
+
+
+ AWarnWhat
+ 0
+
+
+ AWarnOne
+
+
+
+ AWarnRange1
+
+
+
+ AWarnRange2
+
+
+
+ ADebug
+ 0
+
+
+ AltRegisterNames
+ 0
+
+
+ ADefines
+
+
+
+ AList
+ 0
+
+
+ AListHeader
+ 1
+
+
+ AListing
+ 1
+
+
+ Includes
+ 0
+
+
+ MacDefs
+ 0
+
+
+ MacExps
+ 1
+
+
+ MacExec
+ 0
+
+
+ OnlyAssed
+ 0
+
+
+ MultiLine
+ 0
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ TabSpacing
+ 8
+
+
+ AXRef
+ 0
+
+
+ AXRefDefines
+ 0
+
+
+ AXRefInternal
+ 0
+
+
+ AXRefDual
+ 0
+
+
+ AProcessor
+ 1
+
+
+ AFpuProcessor
+ 1
+
+
+ AOutputFile
+
+
+
+ ALimitErrorsCheck
+ 0
+
+
+ ALimitErrorsEdit
+ 100
+
+
+ AIgnoreStdInclude
+ 0
+
+
+ AUserIncludes
+
+
+
+ AExtraOptionsCheckV2
+ 0
+
+
+ AExtraOptionsV2
+
+
+
+ AsmNoLiteralPool
+ 0
+
+
+
+
+ OBJCOPY
+ 0
+
+ 1
+ 1
+ 0
+
+ OOCOutputFormat
+ 3
+ 0
+
+
+ OCOutputOverride
+ 0
+
+
+ OOCOutputFile
+
+
+
+ OOCCommandLineProducer
+ 1
+
+
+ OOCObjCopyEnable
+ 0
+
+
+
+
+ CUSTOM
+ 3
+
+
+
+ 0
+
+
+
+ BICOMP
+ 0
+
+
+
+ BUILDACTION
+ 1
+
+
+
+
+
+
+ ILINK
+ 0
+
+ 22
+ 1
+ 0
+
+ IlinkLibIOConfig
+ 1
+
+
+ XLinkMisraHandler
+ 0
+
+
+ IlinkInputFileSlave
+ 0
+
+
+ IlinkOutputFile
+ ###Unitialized###
+
+
+ IlinkDebugInfoEnable
+ 1
+
+
+ IlinkKeepSymbols
+
+
+
+ IlinkRawBinaryFile
+
+
+
+ IlinkRawBinarySymbol
+
+
+
+ IlinkRawBinarySegment
+
+
+
+ IlinkRawBinaryAlign
+
+
+
+ IlinkDefines
+
+
+
+ IlinkConfigDefines
+
+
+
+ IlinkMapFile
+ 0
+
+
+ IlinkLogFile
+ 0
+
+
+ IlinkLogInitialization
+ 0
+
+
+ IlinkLogModule
+ 0
+
+
+ IlinkLogSection
+ 0
+
+
+ IlinkLogVeneer
+ 0
+
+
+ IlinkIcfOverride
+ 0
+
+
+ IlinkIcfFile
+ lnk0t.icf
+
+
+ IlinkIcfFileSlave
+
+
+
+ IlinkEnableRemarks
+ 0
+
+
+ IlinkSuppressDiags
+
+
+
+ IlinkTreatAsRem
+
+
+
+ IlinkTreatAsWarn
+
+
+
+ IlinkTreatAsErr
+
+
+
+ IlinkWarningsAreErrors
+ 0
+
+
+ IlinkUseExtraOptions
+ 0
+
+
+ IlinkExtraOptions
+
+
+
+ IlinkLowLevelInterfaceSlave
+ 1
+
+
+ IlinkAutoLibEnable
+ 1
+
+
+ IlinkAdditionalLibs
+
+
+
+ IlinkOverrideProgramEntryLabel
+ 0
+
+
+ IlinkProgramEntryLabelSelect
+ 0
+
+
+ IlinkProgramEntryLabel
+
+
+
+ DoFill
+ 0
+
+
+ FillerByte
+ 0xFF
+
+
+ FillerStart
+ 0x0
+
+
+ FillerEnd
+ 0x0
+
+
+ CrcSize
+ 0
+ 1
+
+
+ CrcAlign
+ 1
+
+
+ CrcPoly
+ 0x11021
+
+
+ CrcCompl
+ 0
+ 0
+
+
+ CrcBitOrder
+ 0
+ 0
+
+
+ CrcInitialValue
+ 0x0
+
+
+ DoCrc
+ 0
+
+
+ IlinkBE8Slave
+ 1
+
+
+ IlinkBufferedTerminalOutput
+ 1
+
+
+ IlinkStdoutInterfaceSlave
+ 1
+
+
+ CrcFullSize
+ 0
+
+
+ IlinkIElfToolPostProcess
+ 0
+
+
+ IlinkLogAutoLibSelect
+ 0
+
+
+ IlinkLogRedirSymbols
+ 0
+
+
+ IlinkLogUnusedFragments
+ 0
+
+
+ IlinkCrcReverseByteOrder
+ 0
+
+
+ IlinkCrcUseAsInput
+ 1
+
+
+ IlinkOptInline
+ 1
+
+
+ IlinkOptExceptionsAllow
+ 1
+
+
+ IlinkOptExceptionsForce
+ 0
+
+
+ IlinkCmsis
+ 1
+
+
+ IlinkOptMergeDuplSections
+ 0
+
+
+ IlinkOptUseVfe
+ 1
+
+
+ IlinkOptForceVfe
+ 0
+
+
+ IlinkStackAnalysisEnable
+ 0
+
+
+ IlinkStackControlFile
+
+
+
+ IlinkStackCallGraphFile
+
+
+
+ CrcAlgorithm
+ 1
+ 1
+
+
+ CrcUnitSize
+ 0
+ 0
+
+
+ IlinkThreadsSlave
+ 1
+
+
+ IlinkLogCallGraph
+ 0
+
+
+ IlinkIcfFile_AltDefault
+
+
+
+ IlinkEncInput
+ 0
+
+
+ IlinkEncOutput
+ 0
+
+
+ IlinkEncOutputBom
+ 1
+
+
+ IlinkHeapSelect
+ 1
+
+
+ IlinkLocaleSelect
+ 1
+
+
+ IlinkTrustzoneImportLibraryOut
+ ###Unitialized###
+
+
+ OILinkExtraOption
+ 1
+
+
+
+
+ IARCHIVE
+ 0
+
+ 0
+ 1
+ 0
+
+ IarchiveInputs
+
+
+
+ IarchiveOverride
+ 0
+
+
+ IarchiveOutput
+ ###Unitialized###
+
+
+
+
+ BILINK
+ 0
+
+
+
+
diff --git a/bsp/stm32/stm32h750-artpi/template.eww b/bsp/stm32/stm32h750-artpi/template.eww
new file mode 100644
index 0000000000..bd036bb4c9
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/template.eww
@@ -0,0 +1,10 @@
+
+
+
+
+ $WS_DIR$\template.ewp
+
+
+
+
+
diff --git a/bsp/stm32/stm32h750-artpi/template.uvoptx b/bsp/stm32/stm32h750-artpi/template.uvoptx
new file mode 100644
index 0000000000..6ea03b6d88
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/template.uvoptx
@@ -0,0 +1,184 @@
+
+
+
+ 1.0
+
+ ### uVision Project, (C) Keil Software
+
+
+ *.c
+ *.s*; *.src; *.a*
+ *.obj; *.o
+ *.lib
+ *.txt; *.h; *.inc
+ *.plm
+ *.cpp
+ 0
+
+
+
+ 0
+ 0
+
+
+
+ rt-thread
+ 0x4
+ ARM-ADS
+
+ 12000000
+
+ 1
+ 1
+ 0
+ 1
+ 0
+
+
+ 1
+ 65535
+ 0
+ 0
+ 0
+
+
+ 79
+ 66
+ 8
+ .\build\
+
+
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+
+
+ 0
+ 0
+ 1
+
+ 18
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 0
+ 0
+ 6
+
+
+
+
+
+
+
+
+
+
+ STLink\ST-LINKIII-KEIL_SWO.dll
+
+
+
+ 0
+ UL2CM3
+ UL2CM3(-S0 -C0 -P0 ) -FN1 -FC1000 -FD20000000 -FF0STM32H7x_128k -FL020000 -FS08000000 -FP0($$Device:STM32H750XBHx$CMSIS\Flash\STM32H7x_128k.FLM)
+
+
+ 0
+ ST-LINKIII-KEIL_SWO
+ -U066BFF393732484257162540 -O206 -SF4000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP") -D00(6BA02477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC4000 -FN1 -FF0ART-PI_W25Q64 -FS090000000 -FL0800000
+
+
+
+
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+ 1
+ 1
+ 0
+ 2
+ 10000000
+
+
+
+
+
diff --git a/bsp/stm32/stm32h750-artpi/template.uvprojx b/bsp/stm32/stm32h750-artpi/template.uvprojx
new file mode 100644
index 0000000000..d12a55c27c
--- /dev/null
+++ b/bsp/stm32/stm32h750-artpi/template.uvprojx
@@ -0,0 +1,390 @@
+
+
+
+ 2.1
+
+ ### uVision Project, (C) Keil Software
+
+
+
+ rt-thread
+ 0x4
+ ARM-ADS
+ 5060750::V5.06 update 6 (build 750)::ARMCC
+ 0
+
+
+ STM32H750XBHx
+ STMicroelectronics
+ Keil.STM32H7xx_DFP.2.5.0
+ http://www.keil.com/pack/
+ IRAM(0x20000000,0x00020000) IRAM2(0x24000000,0x00080000) IROM(0x08000000,0x00020000) XRAM(0x30000000,0x00048000) XRAM2(0x38000000,0x00010000) CPUTYPE("Cortex-M7") FPU3(DFPU) CLOCK(12000000) ELITTLE
+
+
+ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32H7x_128k -FS08000000 -FL020000 -FP0($$Device:STM32H750XBHx$CMSIS\Flash\STM32H7x_128k.FLM))
+ 0
+ $$Device:STM32H750XBHx$Drivers\CMSIS\Device\ST\STM32H7xx\Include\stm32h7xx.h
+
+
+
+
+
+
+
+
+
+ $$Device:STM32H750XBHx$CMSIS\SVD\STM32H750x.svd
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\build\
+ rt-thread
+ 1
+ 0
+ 0
+ 1
+ 0
+ .\build\
+ 1
+ 0
+ 0
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 0
+ fromelf --bin !L --output rtthread.bin
+
+ 0
+ 0
+ 0
+ 0
+
+ 0
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+ 1
+
+
+ SARMCM3.DLL
+ -REMAP -MPU
+ DCM.DLL
+ -pCM7
+ SARMCM3.DLL
+ -MPU
+ TCM.DLL
+ -pCM7
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 16
+
+
+
+
+ 1
+ 0
+ 0
+ 1
+ 1
+ 4096
+
+ 1
+ BIN\UL2CM3.DLL
+
+
+
+
+
+ 0
+
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ "Cortex-M7"
+
+ 0
+ 0
+ 0
+ 1
+ 1
+ 1
+ 0
+ 3
+ 0
+ 1
+ 0
+ 8
+ 1
+ 0
+ 0
+ 0
+ 3
+ 4
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 1
+ 1
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0x20000
+
+
+ 1
+ 0x8000000
+ 0x20000
+
+
+ 1
+ 0x30000000
+ 0x48000
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x8000000
+ 0x20000
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 0
+ 0x30000000
+ 0x48000
+
+
+ 0
+ 0x38000000
+ 0x10000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0x20000
+
+
+ 0
+ 0x24000000
+ 0x80000
+
+
+
+
+
+ 1
+ 1
+ 0
+ 0
+ 1
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 1
+ 1
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0x08000000
+ 0x20000000
+
+ .\board\linker_scripts\link.sct
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
--
cgit v1.3.1