Full Code of controllerstech/STM32 for AI

master 8e01c8c68fed cached
8494 files
251.9 MB
26.9M tokens
36354 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (107,324K chars total). Download the full file to get everything.
Repository: controllerstech/STM32
Branch: master
Commit: 8e01c8c68fed
Files: 8494
Total size: 251.9 MB

Directory structure:
gitextract_otci_o_l/

├── .github/
│   └── FUNDING.yml
├── BME280/
│   └── I2C/
│       ├── BME280_STM32.c
│       ├── BME280_STM32.h
│       ├── README.md
│       ├── TUT_BME280_F103.ioc
│       └── main.c
├── EEPROM_STM32/
│   ├── EEPROM.c
│   ├── EEPROM.h
│   ├── README.md
│   └── main.c
├── F103_RegisterBased/
│   └── ADC with DMA/
│       ├── Delay_F103.c
│       ├── Delay_F103.h
│       ├── README.md
│       └── main.c
├── FLASH_PROGRAM/
│   ├── F1 SERIES/
│   │   ├── FLASH_PAGE_F1.h
│   │   ├── FlASH_PAGE_F1.c
│   │   ├── README.md
│   │   └── main.c
│   ├── F4 SERIES/
│   │   ├── FLASH_SECTOR_F4.c
│   │   ├── FLASH_SECTOR_F4.h
│   │   ├── README.md
│   │   └── main.c
│   └── H7 SERIES/
│       ├── FLASH_SECTOR_H7.c
│       ├── FLASH_SECTOR_H7.h
│       ├── README.md
│       └── main.c
├── LCD1602_I2C_NOHAL/
│   ├── Delay.c
│   ├── Delay.h
│   ├── I2C.c
│   ├── I2C.h
│   ├── README.md
│   ├── RccConfig.c
│   ├── RccConfig.h
│   ├── i2c-lcd.c
│   ├── i2c-lcd.h
│   └── main.c
├── LVGL/
│   └── Simple_F446/
│       ├── Core/
│       │   ├── Inc/
│       │   │   ├── lcd_lvgl.h
│       │   │   ├── main.h
│       │   │   ├── stm32f4xx_hal_conf.h
│       │   │   ├── stm32f4xx_it.h
│       │   │   ├── tft.h
│       │   │   └── user_setting.h
│       │   ├── Src/
│       │   │   ├── lcd_lvgl.c
│       │   │   ├── main.c
│       │   │   ├── stm32f4xx_hal_msp.c
│       │   │   ├── stm32f4xx_it.c
│       │   │   ├── syscalls.c
│       │   │   ├── sysmem.c
│       │   │   ├── system_stm32f4xx.c
│       │   │   └── tft.c
│       │   └── Startup/
│       │       └── startup_stm32f446retx.s
│       ├── Drivers/
│       │   ├── CMSIS/
│       │   │   ├── Device/
│       │   │   │   └── ST/
│       │   │   │       └── STM32F4xx/
│       │   │   │           ├── Include/
│       │   │   │           │   ├── stm32f446xx.h
│       │   │   │           │   ├── stm32f4xx.h
│       │   │   │           │   └── system_stm32f4xx.h
│       │   │   │           └── License.md
│       │   │   ├── Include/
│       │   │   │   ├── cmsis_armcc.h
│       │   │   │   ├── cmsis_armclang.h
│       │   │   │   ├── cmsis_compiler.h
│       │   │   │   ├── cmsis_gcc.h
│       │   │   │   ├── cmsis_iccarm.h
│       │   │   │   ├── cmsis_version.h
│       │   │   │   ├── core_armv8mbl.h
│       │   │   │   ├── core_armv8mml.h
│       │   │   │   ├── core_cm0.h
│       │   │   │   ├── core_cm0plus.h
│       │   │   │   ├── core_cm1.h
│       │   │   │   ├── core_cm23.h
│       │   │   │   ├── core_cm3.h
│       │   │   │   ├── core_cm33.h
│       │   │   │   ├── core_cm4.h
│       │   │   │   ├── core_cm7.h
│       │   │   │   ├── core_sc000.h
│       │   │   │   ├── core_sc300.h
│       │   │   │   ├── mpu_armv7.h
│       │   │   │   ├── mpu_armv8.h
│       │   │   │   └── tz_context.h
│       │   │   └── LICENSE.txt
│       │   └── STM32F4xx_HAL_Driver/
│       │       ├── Inc/
│       │       │   ├── Legacy/
│       │       │   │   └── stm32_hal_legacy.h
│       │       │   ├── stm32f4xx_hal.h
│       │       │   ├── stm32f4xx_hal_cortex.h
│       │       │   ├── stm32f4xx_hal_def.h
│       │       │   ├── stm32f4xx_hal_dma.h
│       │       │   ├── stm32f4xx_hal_dma_ex.h
│       │       │   ├── stm32f4xx_hal_exti.h
│       │       │   ├── stm32f4xx_hal_flash.h
│       │       │   ├── stm32f4xx_hal_flash_ex.h
│       │       │   ├── stm32f4xx_hal_flash_ramfunc.h
│       │       │   ├── stm32f4xx_hal_gpio.h
│       │       │   ├── stm32f4xx_hal_gpio_ex.h
│       │       │   ├── stm32f4xx_hal_pwr.h
│       │       │   ├── stm32f4xx_hal_pwr_ex.h
│       │       │   ├── stm32f4xx_hal_rcc.h
│       │       │   ├── stm32f4xx_hal_rcc_ex.h
│       │       │   ├── stm32f4xx_hal_tim.h
│       │       │   └── stm32f4xx_hal_tim_ex.h
│       │       ├── License.md
│       │       └── Src/
│       │           ├── stm32f4xx_hal.c
│       │           ├── stm32f4xx_hal_cortex.c
│       │           ├── stm32f4xx_hal_dma.c
│       │           ├── stm32f4xx_hal_dma_ex.c
│       │           ├── stm32f4xx_hal_exti.c
│       │           ├── stm32f4xx_hal_flash.c
│       │           ├── stm32f4xx_hal_flash_ex.c
│       │           ├── stm32f4xx_hal_flash_ramfunc.c
│       │           ├── stm32f4xx_hal_gpio.c
│       │           ├── stm32f4xx_hal_pwr.c
│       │           ├── stm32f4xx_hal_pwr_ex.c
│       │           ├── stm32f4xx_hal_rcc.c
│       │           ├── stm32f4xx_hal_rcc_ex.c
│       │           ├── stm32f4xx_hal_tim.c
│       │           └── stm32f4xx_hal_tim_ex.c
│       ├── README.md
│       ├── STM32F446RETX_FLASH.ld
│       ├── STM32F446RETX_RAM.ld
│       ├── TUT_LVGL_F446 Debug.launch
│       ├── TUT_LVGL_F446.ioc
│       └── lv_conf.h
├── QSPI/
│   ├── MT25TLxxx/
│   │   ├── EXT_MEM_BOOT/
│   │   │   ├── QSPI_XIP_H745.ioc
│   │   │   ├── README.md
│   │   │   ├── STM32H745XIHX_FLASH.ld
│   │   │   ├── main.c
│   │   │   └── system_stm32h7xx_dualcore_boot_cm4_cm7.c
│   │   ├── README.md
│   │   ├── main.c
│   │   ├── mt25tl01g.c
│   │   ├── mt25tl01g.h
│   │   ├── quadspi.c
│   │   └── quadspi.h
│   └── N25Qxxx/
│       ├── EXT_MEM_BOOT/
│       │   ├── QSPI_XIP__N25Q_F750.ioc
│       │   ├── README.md
│       │   ├── STM32F750N8HX_FLASH.ld
│       │   ├── main.c
│       │   └── system_stm32f7xx.c
│       ├── README.md
│       ├── main.c
│       ├── n25q128a.h
│       ├── quadspi.c
│       └── quadspi.h
├── README.md
├── TOUCH GFX/
│   └── ILI9341 SPI/
│       ├── README.md
│       ├── STM32TouchController.cpp
│       ├── TouchGFX_DataTransfer.c
│       ├── TouchGFX_DataTransfer.h
│       ├── ili9341.c
│       ├── ili9341.h
│       ├── main.c
│       ├── xpt2046.c
│       └── xpt2046.h
├── UART CIRCULAR BUFFER/
│   ├── README.md
│   ├── UART_F4_Multi_Test.ioc
│   ├── main.c
│   ├── stm32f4xx_it.c
│   ├── uartRingBufDMA.c
│   └── uartRingBufDMA.h
├── ethernet-lwip/
│   ├── hardware-ping/
│   │   ├── F750-RMII/
│   │   │   ├── .cproject
│   │   │   ├── .mxproject
│   │   │   ├── .project
│   │   │   ├── .settings/
│   │   │   │   ├── com.st.stm32cube.ide.mcu.sfrview.prefs
│   │   │   │   ├── language.settings.xml
│   │   │   │   ├── org.eclipse.core.resources.prefs
│   │   │   │   └── stm32cubeide.project.prefs
│   │   │   ├── Core/
│   │   │   │   ├── Inc/
│   │   │   │   │   ├── main.h
│   │   │   │   │   ├── stm32f7xx_hal_conf.h
│   │   │   │   │   └── stm32f7xx_it.h
│   │   │   │   ├── Src/
│   │   │   │   │   ├── main.c
│   │   │   │   │   ├── stm32f7xx_hal_msp.c
│   │   │   │   │   ├── stm32f7xx_it.c
│   │   │   │   │   ├── syscalls.c
│   │   │   │   │   ├── sysmem.c
│   │   │   │   │   └── system_stm32f7xx.c
│   │   │   │   └── Startup/
│   │   │   │       └── startup_stm32f750n8hx.s
│   │   │   ├── Drivers/
│   │   │   │   ├── BSP/
│   │   │   │   │   └── Components/
│   │   │   │   │       └── lan8742/
│   │   │   │   │           ├── lan8742.c
│   │   │   │   │           └── lan8742.h
│   │   │   │   ├── CMSIS/
│   │   │   │   │   ├── Device/
│   │   │   │   │   │   └── ST/
│   │   │   │   │   │       └── STM32F7xx/
│   │   │   │   │   │           ├── Include/
│   │   │   │   │   │           │   ├── stm32f750xx.h
│   │   │   │   │   │           │   ├── stm32f7xx.h
│   │   │   │   │   │           │   └── system_stm32f7xx.h
│   │   │   │   │   │           └── LICENSE.txt
│   │   │   │   │   ├── Include/
│   │   │   │   │   │   ├── cmsis_armcc.h
│   │   │   │   │   │   ├── cmsis_armclang.h
│   │   │   │   │   │   ├── cmsis_compiler.h
│   │   │   │   │   │   ├── cmsis_gcc.h
│   │   │   │   │   │   ├── cmsis_iccarm.h
│   │   │   │   │   │   ├── cmsis_version.h
│   │   │   │   │   │   ├── core_armv8mbl.h
│   │   │   │   │   │   ├── core_armv8mml.h
│   │   │   │   │   │   ├── core_cm0.h
│   │   │   │   │   │   ├── core_cm0plus.h
│   │   │   │   │   │   ├── core_cm1.h
│   │   │   │   │   │   ├── core_cm23.h
│   │   │   │   │   │   ├── core_cm3.h
│   │   │   │   │   │   ├── core_cm33.h
│   │   │   │   │   │   ├── core_cm4.h
│   │   │   │   │   │   ├── core_cm7.h
│   │   │   │   │   │   ├── core_sc000.h
│   │   │   │   │   │   ├── core_sc300.h
│   │   │   │   │   │   ├── mpu_armv7.h
│   │   │   │   │   │   ├── mpu_armv8.h
│   │   │   │   │   │   └── tz_context.h
│   │   │   │   │   └── LICENSE.txt
│   │   │   │   └── STM32F7xx_HAL_Driver/
│   │   │   │       ├── Inc/
│   │   │   │       │   ├── Legacy/
│   │   │   │       │   │   └── stm32_hal_legacy.h
│   │   │   │       │   ├── stm32f7xx_hal.h
│   │   │   │       │   ├── stm32f7xx_hal_cortex.h
│   │   │   │       │   ├── stm32f7xx_hal_def.h
│   │   │   │       │   ├── stm32f7xx_hal_dma.h
│   │   │   │       │   ├── stm32f7xx_hal_dma_ex.h
│   │   │   │       │   ├── stm32f7xx_hal_eth.h
│   │   │   │       │   ├── stm32f7xx_hal_exti.h
│   │   │   │       │   ├── stm32f7xx_hal_flash.h
│   │   │   │       │   ├── stm32f7xx_hal_flash_ex.h
│   │   │   │       │   ├── stm32f7xx_hal_gpio.h
│   │   │   │       │   ├── stm32f7xx_hal_gpio_ex.h
│   │   │   │       │   ├── stm32f7xx_hal_i2c.h
│   │   │   │       │   ├── stm32f7xx_hal_i2c_ex.h
│   │   │   │       │   ├── stm32f7xx_hal_pwr.h
│   │   │   │       │   ├── stm32f7xx_hal_pwr_ex.h
│   │   │   │       │   ├── stm32f7xx_hal_rcc.h
│   │   │   │       │   ├── stm32f7xx_hal_rcc_ex.h
│   │   │   │       │   ├── stm32f7xx_ll_bus.h
│   │   │   │       │   ├── stm32f7xx_ll_cortex.h
│   │   │   │       │   ├── stm32f7xx_ll_dma.h
│   │   │   │       │   ├── stm32f7xx_ll_exti.h
│   │   │   │       │   ├── stm32f7xx_ll_gpio.h
│   │   │   │       │   ├── stm32f7xx_ll_pwr.h
│   │   │   │       │   ├── stm32f7xx_ll_rcc.h
│   │   │   │       │   ├── stm32f7xx_ll_system.h
│   │   │   │       │   └── stm32f7xx_ll_utils.h
│   │   │   │       ├── LICENSE.txt
│   │   │   │       └── Src/
│   │   │   │           ├── stm32f7xx_hal.c
│   │   │   │           ├── stm32f7xx_hal_cortex.c
│   │   │   │           ├── stm32f7xx_hal_dma.c
│   │   │   │           ├── stm32f7xx_hal_dma_ex.c
│   │   │   │           ├── stm32f7xx_hal_eth.c
│   │   │   │           ├── stm32f7xx_hal_exti.c
│   │   │   │           ├── stm32f7xx_hal_flash.c
│   │   │   │           ├── stm32f7xx_hal_flash_ex.c
│   │   │   │           ├── stm32f7xx_hal_gpio.c
│   │   │   │           ├── stm32f7xx_hal_i2c.c
│   │   │   │           ├── stm32f7xx_hal_i2c_ex.c
│   │   │   │           ├── stm32f7xx_hal_pwr.c
│   │   │   │           ├── stm32f7xx_hal_pwr_ex.c
│   │   │   │           ├── stm32f7xx_hal_rcc.c
│   │   │   │           └── stm32f7xx_hal_rcc_ex.c
│   │   │   ├── F750_Etherent Debug.launch
│   │   │   ├── F750_Etherent.ioc
│   │   │   ├── LWIP/
│   │   │   │   ├── App/
│   │   │   │   │   ├── lwip.c
│   │   │   │   │   └── lwip.h
│   │   │   │   └── Target/
│   │   │   │       ├── ethernetif.c
│   │   │   │       ├── ethernetif.h
│   │   │   │       └── lwipopts.h
│   │   │   ├── Middlewares/
│   │   │   │   └── Third_Party/
│   │   │   │       └── LwIP/
│   │   │   │           ├── src/
│   │   │   │           │   ├── api/
│   │   │   │           │   │   ├── api_lib.c
│   │   │   │           │   │   ├── api_msg.c
│   │   │   │           │   │   ├── err.c
│   │   │   │           │   │   ├── if_api.c
│   │   │   │           │   │   ├── netbuf.c
│   │   │   │           │   │   ├── netdb.c
│   │   │   │           │   │   ├── netifapi.c
│   │   │   │           │   │   ├── sockets.c
│   │   │   │           │   │   └── tcpip.c
│   │   │   │           │   ├── apps/
│   │   │   │           │   │   └── mqtt/
│   │   │   │           │   │       └── mqtt.c
│   │   │   │           │   ├── core/
│   │   │   │           │   │   ├── altcp.c
│   │   │   │           │   │   ├── altcp_alloc.c
│   │   │   │           │   │   ├── altcp_tcp.c
│   │   │   │           │   │   ├── def.c
│   │   │   │           │   │   ├── dns.c
│   │   │   │           │   │   ├── inet_chksum.c
│   │   │   │           │   │   ├── init.c
│   │   │   │           │   │   ├── ip.c
│   │   │   │           │   │   ├── ipv4/
│   │   │   │           │   │   │   ├── autoip.c
│   │   │   │           │   │   │   ├── dhcp.c
│   │   │   │           │   │   │   ├── etharp.c
│   │   │   │           │   │   │   ├── icmp.c
│   │   │   │           │   │   │   ├── igmp.c
│   │   │   │           │   │   │   ├── ip4.c
│   │   │   │           │   │   │   ├── ip4_addr.c
│   │   │   │           │   │   │   └── ip4_frag.c
│   │   │   │           │   │   ├── ipv6/
│   │   │   │           │   │   │   ├── dhcp6.c
│   │   │   │           │   │   │   ├── ethip6.c
│   │   │   │           │   │   │   ├── icmp6.c
│   │   │   │           │   │   │   ├── inet6.c
│   │   │   │           │   │   │   ├── ip6.c
│   │   │   │           │   │   │   ├── ip6_addr.c
│   │   │   │           │   │   │   ├── ip6_frag.c
│   │   │   │           │   │   │   ├── mld6.c
│   │   │   │           │   │   │   └── nd6.c
│   │   │   │           │   │   ├── mem.c
│   │   │   │           │   │   ├── memp.c
│   │   │   │           │   │   ├── netif.c
│   │   │   │           │   │   ├── pbuf.c
│   │   │   │           │   │   ├── raw.c
│   │   │   │           │   │   ├── stats.c
│   │   │   │           │   │   ├── sys.c
│   │   │   │           │   │   ├── tcp.c
│   │   │   │           │   │   ├── tcp_in.c
│   │   │   │           │   │   ├── tcp_out.c
│   │   │   │           │   │   ├── timeouts.c
│   │   │   │           │   │   └── udp.c
│   │   │   │           │   ├── include/
│   │   │   │           │   │   ├── compat/
│   │   │   │           │   │   │   ├── posix/
│   │   │   │           │   │   │   │   ├── arpa/
│   │   │   │           │   │   │   │   │   └── inet.h
│   │   │   │           │   │   │   │   ├── net/
│   │   │   │           │   │   │   │   │   └── if.h
│   │   │   │           │   │   │   │   ├── netdb.h
│   │   │   │           │   │   │   │   └── sys/
│   │   │   │           │   │   │   │       └── socket.h
│   │   │   │           │   │   │   └── stdc/
│   │   │   │           │   │   │       └── errno.h
│   │   │   │           │   │   ├── lwip/
│   │   │   │           │   │   │   ├── altcp.h
│   │   │   │           │   │   │   ├── altcp_tcp.h
│   │   │   │           │   │   │   ├── altcp_tls.h
│   │   │   │           │   │   │   ├── api.h
│   │   │   │           │   │   │   ├── apps/
│   │   │   │           │   │   │   │   ├── altcp_proxyconnect.h
│   │   │   │           │   │   │   │   ├── altcp_tls_mbedtls_opts.h
│   │   │   │           │   │   │   │   ├── fs.h
│   │   │   │           │   │   │   │   ├── http_client.h
│   │   │   │           │   │   │   │   ├── httpd.h
│   │   │   │           │   │   │   │   ├── httpd_opts.h
│   │   │   │           │   │   │   │   ├── lwiperf.h
│   │   │   │           │   │   │   │   ├── mdns.h
│   │   │   │           │   │   │   │   ├── mdns_opts.h
│   │   │   │           │   │   │   │   ├── mdns_priv.h
│   │   │   │           │   │   │   │   ├── mqtt.h
│   │   │   │           │   │   │   │   ├── mqtt_opts.h
│   │   │   │           │   │   │   │   ├── mqtt_priv.h
│   │   │   │           │   │   │   │   ├── netbiosns.h
│   │   │   │           │   │   │   │   ├── netbiosns_opts.h
│   │   │   │           │   │   │   │   ├── smtp.h
│   │   │   │           │   │   │   │   ├── smtp_opts.h
│   │   │   │           │   │   │   │   ├── snmp.h
│   │   │   │           │   │   │   │   ├── snmp_core.h
│   │   │   │           │   │   │   │   ├── snmp_mib2.h
│   │   │   │           │   │   │   │   ├── snmp_opts.h
│   │   │   │           │   │   │   │   ├── snmp_scalar.h
│   │   │   │           │   │   │   │   ├── snmp_snmpv2_framework.h
│   │   │   │           │   │   │   │   ├── snmp_snmpv2_usm.h
│   │   │   │           │   │   │   │   ├── snmp_table.h
│   │   │   │           │   │   │   │   ├── snmp_threadsync.h
│   │   │   │           │   │   │   │   ├── snmpv3.h
│   │   │   │           │   │   │   │   ├── sntp.h
│   │   │   │           │   │   │   │   ├── sntp_opts.h
│   │   │   │           │   │   │   │   ├── tftp_opts.h
│   │   │   │           │   │   │   │   └── tftp_server.h
│   │   │   │           │   │   │   ├── arch.h
│   │   │   │           │   │   │   ├── autoip.h
│   │   │   │           │   │   │   ├── debug.h
│   │   │   │           │   │   │   ├── def.h
│   │   │   │           │   │   │   ├── dhcp.h
│   │   │   │           │   │   │   ├── dhcp6.h
│   │   │   │           │   │   │   ├── dns.h
│   │   │   │           │   │   │   ├── err.h
│   │   │   │           │   │   │   ├── errno.h
│   │   │   │           │   │   │   ├── etharp.h
│   │   │   │           │   │   │   ├── ethip6.h
│   │   │   │           │   │   │   ├── icmp.h
│   │   │   │           │   │   │   ├── icmp6.h
│   │   │   │           │   │   │   ├── if_api.h
│   │   │   │           │   │   │   ├── igmp.h
│   │   │   │           │   │   │   ├── inet.h
│   │   │   │           │   │   │   ├── inet_chksum.h
│   │   │   │           │   │   │   ├── init.h
│   │   │   │           │   │   │   ├── ip.h
│   │   │   │           │   │   │   ├── ip4.h
│   │   │   │           │   │   │   ├── ip4_addr.h
│   │   │   │           │   │   │   ├── ip4_frag.h
│   │   │   │           │   │   │   ├── ip6.h
│   │   │   │           │   │   │   ├── ip6_addr.h
│   │   │   │           │   │   │   ├── ip6_frag.h
│   │   │   │           │   │   │   ├── ip6_zone.h
│   │   │   │           │   │   │   ├── ip_addr.h
│   │   │   │           │   │   │   ├── mem.h
│   │   │   │           │   │   │   ├── memp.h
│   │   │   │           │   │   │   ├── mld6.h
│   │   │   │           │   │   │   ├── nd6.h
│   │   │   │           │   │   │   ├── netbuf.h
│   │   │   │           │   │   │   ├── netdb.h
│   │   │   │           │   │   │   ├── netif.h
│   │   │   │           │   │   │   ├── netifapi.h
│   │   │   │           │   │   │   ├── opt.h
│   │   │   │           │   │   │   ├── pbuf.h
│   │   │   │           │   │   │   ├── priv/
│   │   │   │           │   │   │   │   ├── altcp_priv.h
│   │   │   │           │   │   │   │   ├── api_msg.h
│   │   │   │           │   │   │   │   ├── mem_priv.h
│   │   │   │           │   │   │   │   ├── memp_priv.h
│   │   │   │           │   │   │   │   ├── memp_std.h
│   │   │   │           │   │   │   │   ├── nd6_priv.h
│   │   │   │           │   │   │   │   ├── raw_priv.h
│   │   │   │           │   │   │   │   ├── sockets_priv.h
│   │   │   │           │   │   │   │   ├── tcp_priv.h
│   │   │   │           │   │   │   │   └── tcpip_priv.h
│   │   │   │           │   │   │   ├── prot/
│   │   │   │           │   │   │   │   ├── autoip.h
│   │   │   │           │   │   │   │   ├── dhcp.h
│   │   │   │           │   │   │   │   ├── dhcp6.h
│   │   │   │           │   │   │   │   ├── dns.h
│   │   │   │           │   │   │   │   ├── etharp.h
│   │   │   │           │   │   │   │   ├── ethernet.h
│   │   │   │           │   │   │   │   ├── iana.h
│   │   │   │           │   │   │   │   ├── icmp.h
│   │   │   │           │   │   │   │   ├── icmp6.h
│   │   │   │           │   │   │   │   ├── ieee.h
│   │   │   │           │   │   │   │   ├── igmp.h
│   │   │   │           │   │   │   │   ├── ip.h
│   │   │   │           │   │   │   │   ├── ip4.h
│   │   │   │           │   │   │   │   ├── ip6.h
│   │   │   │           │   │   │   │   ├── mld6.h
│   │   │   │           │   │   │   │   ├── nd6.h
│   │   │   │           │   │   │   │   ├── tcp.h
│   │   │   │           │   │   │   │   └── udp.h
│   │   │   │           │   │   │   ├── raw.h
│   │   │   │           │   │   │   ├── sio.h
│   │   │   │           │   │   │   ├── snmp.h
│   │   │   │           │   │   │   ├── sockets.h
│   │   │   │           │   │   │   ├── stats.h
│   │   │   │           │   │   │   ├── sys.h
│   │   │   │           │   │   │   ├── tcp.h
│   │   │   │           │   │   │   ├── tcpbase.h
│   │   │   │           │   │   │   ├── tcpip.h
│   │   │   │           │   │   │   ├── timeouts.h
│   │   │   │           │   │   │   └── udp.h
│   │   │   │           │   │   └── netif/
│   │   │   │           │   │       ├── bridgeif.h
│   │   │   │           │   │       ├── bridgeif_opts.h
│   │   │   │           │   │       ├── etharp.h
│   │   │   │           │   │       ├── ethernet.h
│   │   │   │           │   │       ├── ieee802154.h
│   │   │   │           │   │       ├── lowpan6.h
│   │   │   │           │   │       ├── lowpan6_ble.h
│   │   │   │           │   │       ├── lowpan6_common.h
│   │   │   │           │   │       ├── lowpan6_opts.h
│   │   │   │           │   │       ├── ppp/
│   │   │   │           │   │       │   ├── ccp.h
│   │   │   │           │   │       │   ├── chap-md5.h
│   │   │   │           │   │       │   ├── chap-new.h
│   │   │   │           │   │       │   ├── chap_ms.h
│   │   │   │           │   │       │   ├── eap.h
│   │   │   │           │   │       │   ├── ecp.h
│   │   │   │           │   │       │   ├── eui64.h
│   │   │   │           │   │       │   ├── fsm.h
│   │   │   │           │   │       │   ├── ipcp.h
│   │   │   │           │   │       │   ├── ipv6cp.h
│   │   │   │           │   │       │   ├── lcp.h
│   │   │   │           │   │       │   ├── magic.h
│   │   │   │           │   │       │   ├── mppe.h
│   │   │   │           │   │       │   ├── ppp.h
│   │   │   │           │   │       │   ├── ppp_impl.h
│   │   │   │           │   │       │   ├── ppp_opts.h
│   │   │   │           │   │       │   ├── pppapi.h
│   │   │   │           │   │       │   ├── pppcrypt.h
│   │   │   │           │   │       │   ├── pppdebug.h
│   │   │   │           │   │       │   ├── pppoe.h
│   │   │   │           │   │       │   ├── pppol2tp.h
│   │   │   │           │   │       │   ├── pppos.h
│   │   │   │           │   │       │   ├── upap.h
│   │   │   │           │   │       │   └── vj.h
│   │   │   │           │   │       ├── slipif.h
│   │   │   │           │   │       └── zepif.h
│   │   │   │           │   └── netif/
│   │   │   │           │       ├── bridgeif.c
│   │   │   │           │       ├── bridgeif_fdb.c
│   │   │   │           │       ├── ethernet.c
│   │   │   │           │       ├── lowpan6.c
│   │   │   │           │       ├── lowpan6_ble.c
│   │   │   │           │       ├── lowpan6_common.c
│   │   │   │           │       ├── ppp/
│   │   │   │           │       │   ├── auth.c
│   │   │   │           │       │   ├── ccp.c
│   │   │   │           │       │   ├── chap-md5.c
│   │   │   │           │       │   ├── chap-new.c
│   │   │   │           │       │   ├── chap_ms.c
│   │   │   │           │       │   ├── demand.c
│   │   │   │           │       │   ├── eap.c
│   │   │   │           │       │   ├── ecp.c
│   │   │   │           │       │   ├── eui64.c
│   │   │   │           │       │   ├── fsm.c
│   │   │   │           │       │   ├── ipcp.c
│   │   │   │           │       │   ├── ipv6cp.c
│   │   │   │           │       │   ├── lcp.c
│   │   │   │           │       │   ├── magic.c
│   │   │   │           │       │   ├── mppe.c
│   │   │   │           │       │   ├── multilink.c
│   │   │   │           │       │   ├── ppp.c
│   │   │   │           │       │   ├── pppapi.c
│   │   │   │           │       │   ├── pppcrypt.c
│   │   │   │           │       │   ├── pppoe.c
│   │   │   │           │       │   ├── pppol2tp.c
│   │   │   │           │       │   ├── pppos.c
│   │   │   │           │       │   ├── upap.c
│   │   │   │           │       │   ├── utils.c
│   │   │   │           │       │   └── vj.c
│   │   │   │           │       ├── slipif.c
│   │   │   │           │       └── zepif.c
│   │   │   │           └── system/
│   │   │   │               └── arch/
│   │   │   │                   ├── bpstruct.h
│   │   │   │                   ├── cc.h
│   │   │   │                   ├── cpu.h
│   │   │   │                   ├── epstruct.h
│   │   │   │                   ├── init.h
│   │   │   │                   ├── lib.h
│   │   │   │                   ├── perf.h
│   │   │   │                   └── sys_arch.h
│   │   │   ├── STM32F750N8HX_FLASH.ld
│   │   │   └── STM32F750N8HX_RAM.ld
│   │   ├── H745-Discovery-MII/
│   │   │   ├── .mxproject
│   │   │   ├── .project
│   │   │   ├── .settings/
│   │   │   │   ├── org.eclipse.core.resources.prefs
│   │   │   │   └── stm32cubeide.project.prefs
│   │   │   ├── CM4/
│   │   │   │   ├── .cproject
│   │   │   │   ├── .project
│   │   │   │   ├── .settings/
│   │   │   │   │   ├── language.settings.xml
│   │   │   │   │   └── org.eclipse.core.resources.prefs
│   │   │   │   ├── Core/
│   │   │   │   │   ├── Inc/
│   │   │   │   │   │   ├── main.h
│   │   │   │   │   │   ├── stm32h7xx_hal_conf.h
│   │   │   │   │   │   └── stm32h7xx_it.h
│   │   │   │   │   ├── Src/
│   │   │   │   │   │   ├── main.c
│   │   │   │   │   │   ├── stm32h7xx_hal_msp.c
│   │   │   │   │   │   ├── stm32h7xx_it.c
│   │   │   │   │   │   ├── syscalls.c
│   │   │   │   │   │   └── sysmem.c
│   │   │   │   │   └── Startup/
│   │   │   │   │       └── startup_stm32h745xihx.s
│   │   │   │   ├── STM32H745XIHX_FLASH.ld
│   │   │   │   └── STM32H745XIHX_RAM.ld
│   │   │   ├── CM7/
│   │   │   │   ├── .cproject
│   │   │   │   ├── .project
│   │   │   │   ├── .settings/
│   │   │   │   │   ├── language.settings.xml
│   │   │   │   │   ├── org.eclipse.core.resources.prefs
│   │   │   │   │   └── stm32cubeide.project.prefs
│   │   │   │   ├── Core/
│   │   │   │   │   ├── Inc/
│   │   │   │   │   │   ├── main.h
│   │   │   │   │   │   ├── stm32h7xx_hal_conf.h
│   │   │   │   │   │   └── stm32h7xx_it.h
│   │   │   │   │   ├── Src/
│   │   │   │   │   │   ├── main.c
│   │   │   │   │   │   ├── stm32h7xx_hal_msp.c
│   │   │   │   │   │   ├── stm32h7xx_it.c
│   │   │   │   │   │   ├── syscalls.c
│   │   │   │   │   │   └── sysmem.c
│   │   │   │   │   └── Startup/
│   │   │   │   │       └── startup_stm32h745xihx.s
│   │   │   │   ├── H7_Ethernet_CM7 Debug.launch
│   │   │   │   ├── LWIP/
│   │   │   │   │   ├── App/
│   │   │   │   │   │   ├── lwip.c
│   │   │   │   │   │   └── lwip.h
│   │   │   │   │   └── Target/
│   │   │   │   │       ├── ethernetif.c
│   │   │   │   │       ├── ethernetif.h
│   │   │   │   │       └── lwipopts.h
│   │   │   │   ├── STM32H745XIHX_FLASH.ld
│   │   │   │   └── STM32H745XIHX_RAM.ld
│   │   │   ├── Common/
│   │   │   │   └── Src/
│   │   │   │       └── system_stm32h7xx_dualcore_boot_cm4_cm7.c
│   │   │   ├── Drivers/
│   │   │   │   ├── BSP/
│   │   │   │   │   └── Components/
│   │   │   │   │       └── lan8742/
│   │   │   │   │           ├── lan8742.c
│   │   │   │   │           └── lan8742.h
│   │   │   │   ├── CMSIS/
│   │   │   │   │   ├── Core/
│   │   │   │   │   │   ├── Include/
│   │   │   │   │   │   │   ├── cachel1_armv7.h
│   │   │   │   │   │   │   ├── cmsis_armcc.h
│   │   │   │   │   │   │   ├── cmsis_armclang.h
│   │   │   │   │   │   │   ├── cmsis_armclang_ltm.h
│   │   │   │   │   │   │   ├── cmsis_compiler.h
│   │   │   │   │   │   │   ├── cmsis_gcc.h
│   │   │   │   │   │   │   ├── cmsis_iccarm.h
│   │   │   │   │   │   │   ├── cmsis_version.h
│   │   │   │   │   │   │   ├── core_armv81mml.h
│   │   │   │   │   │   │   ├── core_armv8mbl.h
│   │   │   │   │   │   │   ├── core_armv8mml.h
│   │   │   │   │   │   │   ├── core_cm0.h
│   │   │   │   │   │   │   ├── core_cm0plus.h
│   │   │   │   │   │   │   ├── core_cm1.h
│   │   │   │   │   │   │   ├── core_cm23.h
│   │   │   │   │   │   │   ├── core_cm3.h
│   │   │   │   │   │   │   ├── core_cm33.h
│   │   │   │   │   │   │   ├── core_cm35p.h
│   │   │   │   │   │   │   ├── core_cm4.h
│   │   │   │   │   │   │   ├── core_cm55.h
│   │   │   │   │   │   │   ├── core_cm7.h
│   │   │   │   │   │   │   ├── core_cm85.h
│   │   │   │   │   │   │   ├── core_sc000.h
│   │   │   │   │   │   │   ├── core_sc300.h
│   │   │   │   │   │   │   ├── core_starmc1.h
│   │   │   │   │   │   │   ├── mpu_armv7.h
│   │   │   │   │   │   │   ├── mpu_armv8.h
│   │   │   │   │   │   │   ├── pac_armv81.h
│   │   │   │   │   │   │   ├── pmu_armv8.h
│   │   │   │   │   │   │   └── tz_context.h
│   │   │   │   │   │   └── Template/
│   │   │   │   │   │       └── ARMv8-M/
│   │   │   │   │   │           ├── main_s.c
│   │   │   │   │   │           └── tz_context.c
│   │   │   │   │   ├── Core_A/
│   │   │   │   │   │   ├── Include/
│   │   │   │   │   │   │   ├── cmsis_armcc.h
│   │   │   │   │   │   │   ├── cmsis_armclang.h
│   │   │   │   │   │   │   ├── cmsis_compiler.h
│   │   │   │   │   │   │   ├── cmsis_cp15.h
│   │   │   │   │   │   │   ├── cmsis_gcc.h
│   │   │   │   │   │   │   ├── cmsis_iccarm.h
│   │   │   │   │   │   │   ├── core_ca.h
│   │   │   │   │   │   │   └── irq_ctrl.h
│   │   │   │   │   │   └── Source/
│   │   │   │   │   │       └── irq_ctrl_gic.c
│   │   │   │   │   ├── DAP/
│   │   │   │   │   │   └── Firmware/
│   │   │   │   │   │       ├── Config/
│   │   │   │   │   │       │   └── DAP_config.h
│   │   │   │   │   │       ├── Include/
│   │   │   │   │   │       │   └── DAP.h
│   │   │   │   │   │       └── Source/
│   │   │   │   │   │           ├── DAP.c
│   │   │   │   │   │           ├── DAP_vendor.c
│   │   │   │   │   │           ├── JTAG_DP.c
│   │   │   │   │   │           ├── SWO.c
│   │   │   │   │   │           ├── SW_DP.c
│   │   │   │   │   │           └── UART.c
│   │   │   │   │   ├── DSP/
│   │   │   │   │   │   ├── ComputeLibrary/
│   │   │   │   │   │   │   ├── Include/
│   │   │   │   │   │   │   │   └── NEMath.h
│   │   │   │   │   │   │   ├── LICENSE.txt
│   │   │   │   │   │   │   └── Source/
│   │   │   │   │   │   │       └── arm_cl_tables.c
│   │   │   │   │   │   ├── Examples/
│   │   │   │   │   │   │   └── ARM/
│   │   │   │   │   │   │       ├── arm_bayes_example/
│   │   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │   │       │   └── arm_bayes_example_f32.c
│   │   │   │   │   │   │       ├── arm_class_marks_example/
│   │   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │   │       │   └── arm_class_marks_example_f32.c
│   │   │   │   │   │   │       ├── arm_convolution_example/
│   │   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │   │       │   ├── arm_convolution_example_f32.c
│   │   │   │   │   │   │       │   ├── math_helper.c
│   │   │   │   │   │   │       │   └── math_helper.h
│   │   │   │   │   │   │       ├── arm_dotproduct_example/
│   │   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │   │       │   └── arm_dotproduct_example_f32.c
│   │   │   │   │   │   │       ├── arm_fft_bin_example/
│   │   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │   │       │   ├── arm_fft_bin_data.c
│   │   │   │   │   │   │       │   └── arm_fft_bin_example_f32.c
│   │   │   │   │   │   │       ├── arm_fir_example/
│   │   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │   │       │   ├── arm_fir_data.c
│   │   │   │   │   │   │       │   ├── arm_fir_example_f32.c
│   │   │   │   │   │   │       │   ├── math_helper.c
│   │   │   │   │   │   │       │   └── math_helper.h
│   │   │   │   │   │   │       ├── arm_graphic_equalizer_example/
│   │   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │   │       │   ├── arm_graphic_equalizer_data.c
│   │   │   │   │   │   │       │   ├── arm_graphic_equalizer_example_q31.c
│   │   │   │   │   │   │       │   ├── math_helper.c
│   │   │   │   │   │   │       │   └── math_helper.h
│   │   │   │   │   │   │       ├── arm_linear_interp_example/
│   │   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │   │       │   ├── arm_linear_interp_data.c
│   │   │   │   │   │   │       │   ├── arm_linear_interp_example_f32.c
│   │   │   │   │   │   │       │   ├── math_helper.c
│   │   │   │   │   │   │       │   └── math_helper.h
│   │   │   │   │   │   │       ├── arm_matrix_example/
│   │   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │   │       │   ├── arm_matrix_example_f32.c
│   │   │   │   │   │   │       │   ├── math_helper.c
│   │   │   │   │   │   │       │   └── math_helper.h
│   │   │   │   │   │   │       ├── arm_signal_converge_example/
│   │   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │   │       │   ├── arm_signal_converge_data.c
│   │   │   │   │   │   │       │   ├── arm_signal_converge_example_f32.c
│   │   │   │   │   │   │       │   ├── math_helper.c
│   │   │   │   │   │   │       │   └── math_helper.h
│   │   │   │   │   │   │       ├── arm_sin_cos_example/
│   │   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │   │       │   └── arm_sin_cos_example_f32.c
│   │   │   │   │   │   │       ├── arm_svm_example/
│   │   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │   │       │   └── arm_svm_example_f32.c
│   │   │   │   │   │   │       └── arm_variance_example/
│   │   │   │   │   │   │           ├── ARMCM0_config.txt
│   │   │   │   │   │   │           ├── ARMCM3_config.txt
│   │   │   │   │   │   │           ├── ARMCM4_FP_config.txt
│   │   │   │   │   │   │           ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │   │           ├── ARMCM7_SP_config.txt
│   │   │   │   │   │   │           ├── Abstract.txt
│   │   │   │   │   │   │           ├── CMakeLists.txt
│   │   │   │   │   │   │           ├── RTE/
│   │   │   │   │   │   │           │   └── Device/
│   │   │   │   │   │   │           │       ├── ARMCM0/
│   │   │   │   │   │   │           │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │   │           │       │   └── system_ARMCM0.c
│   │   │   │   │   │   │           │       ├── ARMCM3/
│   │   │   │   │   │   │           │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │   │           │       │   └── system_ARMCM3.c
│   │   │   │   │   │   │           │       ├── ARMCM4_FP/
│   │   │   │   │   │   │           │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │   │           │       │   └── system_ARMCM4.c
│   │   │   │   │   │   │           │       ├── ARMCM55/
│   │   │   │   │   │   │           │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │   │           │       │   └── system_ARMCM55.c
│   │   │   │   │   │   │           │       └── ARMCM7_SP/
│   │   │   │   │   │   │           │           ├── startup_ARMCM7.c
│   │   │   │   │   │   │           │           └── system_ARMCM7.c
│   │   │   │   │   │   │           └── arm_variance_example_f32.c
│   │   │   │   │   │   ├── Include/
│   │   │   │   │   │   │   ├── arm_common_tables.h
│   │   │   │   │   │   │   ├── arm_common_tables_f16.h
│   │   │   │   │   │   │   ├── arm_const_structs.h
│   │   │   │   │   │   │   ├── arm_const_structs_f16.h
│   │   │   │   │   │   │   ├── arm_helium_utils.h
│   │   │   │   │   │   │   ├── arm_math.h
│   │   │   │   │   │   │   ├── arm_math_f16.h
│   │   │   │   │   │   │   ├── arm_math_memory.h
│   │   │   │   │   │   │   ├── arm_math_types.h
│   │   │   │   │   │   │   ├── arm_math_types_f16.h
│   │   │   │   │   │   │   ├── arm_mve_tables.h
│   │   │   │   │   │   │   ├── arm_mve_tables_f16.h
│   │   │   │   │   │   │   ├── arm_vec_math.h
│   │   │   │   │   │   │   ├── arm_vec_math_f16.h
│   │   │   │   │   │   │   └── dsp/
│   │   │   │   │   │   │       ├── basic_math_functions.h
│   │   │   │   │   │   │       ├── basic_math_functions_f16.h
│   │   │   │   │   │   │       ├── bayes_functions.h
│   │   │   │   │   │   │       ├── bayes_functions_f16.h
│   │   │   │   │   │   │       ├── complex_math_functions.h
│   │   │   │   │   │   │       ├── complex_math_functions_f16.h
│   │   │   │   │   │   │       ├── controller_functions.h
│   │   │   │   │   │   │       ├── controller_functions_f16.h
│   │   │   │   │   │   │       ├── distance_functions.h
│   │   │   │   │   │   │       ├── distance_functions_f16.h
│   │   │   │   │   │   │       ├── fast_math_functions.h
│   │   │   │   │   │   │       ├── fast_math_functions_f16.h
│   │   │   │   │   │   │       ├── filtering_functions.h
│   │   │   │   │   │   │       ├── filtering_functions_f16.h
│   │   │   │   │   │   │       ├── interpolation_functions.h
│   │   │   │   │   │   │       ├── interpolation_functions_f16.h
│   │   │   │   │   │   │       ├── matrix_functions.h
│   │   │   │   │   │   │       ├── matrix_functions_f16.h
│   │   │   │   │   │   │       ├── none.h
│   │   │   │   │   │   │       ├── quaternion_math_functions.h
│   │   │   │   │   │   │       ├── statistics_functions.h
│   │   │   │   │   │   │       ├── statistics_functions_f16.h
│   │   │   │   │   │   │       ├── support_functions.h
│   │   │   │   │   │   │       ├── support_functions_f16.h
│   │   │   │   │   │   │       ├── svm_defines.h
│   │   │   │   │   │   │       ├── svm_functions.h
│   │   │   │   │   │   │       ├── svm_functions_f16.h
│   │   │   │   │   │   │       ├── transform_functions.h
│   │   │   │   │   │   │       ├── transform_functions_f16.h
│   │   │   │   │   │   │       └── utils.h
│   │   │   │   │   │   ├── PrivateInclude/
│   │   │   │   │   │   │   ├── arm_sorting.h
│   │   │   │   │   │   │   ├── arm_vec_fft.h
│   │   │   │   │   │   │   └── arm_vec_filtering.h
│   │   │   │   │   │   └── Source/
│   │   │   │   │   │       ├── BasicMathFunctions/
│   │   │   │   │   │       │   ├── BasicMathFunctions.c
│   │   │   │   │   │       │   ├── BasicMathFunctionsF16.c
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── arm_abs_f16.c
│   │   │   │   │   │       │   ├── arm_abs_f32.c
│   │   │   │   │   │       │   ├── arm_abs_f64.c
│   │   │   │   │   │       │   ├── arm_abs_q15.c
│   │   │   │   │   │       │   ├── arm_abs_q31.c
│   │   │   │   │   │       │   ├── arm_abs_q7.c
│   │   │   │   │   │       │   ├── arm_add_f16.c
│   │   │   │   │   │       │   ├── arm_add_f32.c
│   │   │   │   │   │       │   ├── arm_add_f64.c
│   │   │   │   │   │       │   ├── arm_add_q15.c
│   │   │   │   │   │       │   ├── arm_add_q31.c
│   │   │   │   │   │       │   ├── arm_add_q7.c
│   │   │   │   │   │       │   ├── arm_and_u16.c
│   │   │   │   │   │       │   ├── arm_and_u32.c
│   │   │   │   │   │       │   ├── arm_and_u8.c
│   │   │   │   │   │       │   ├── arm_clip_f16.c
│   │   │   │   │   │       │   ├── arm_clip_f32.c
│   │   │   │   │   │       │   ├── arm_clip_q15.c
│   │   │   │   │   │       │   ├── arm_clip_q31.c
│   │   │   │   │   │       │   ├── arm_clip_q7.c
│   │   │   │   │   │       │   ├── arm_dot_prod_f16.c
│   │   │   │   │   │       │   ├── arm_dot_prod_f32.c
│   │   │   │   │   │       │   ├── arm_dot_prod_f64.c
│   │   │   │   │   │       │   ├── arm_dot_prod_q15.c
│   │   │   │   │   │       │   ├── arm_dot_prod_q31.c
│   │   │   │   │   │       │   ├── arm_dot_prod_q7.c
│   │   │   │   │   │       │   ├── arm_mult_f16.c
│   │   │   │   │   │       │   ├── arm_mult_f32.c
│   │   │   │   │   │       │   ├── arm_mult_f64.c
│   │   │   │   │   │       │   ├── arm_mult_q15.c
│   │   │   │   │   │       │   ├── arm_mult_q31.c
│   │   │   │   │   │       │   ├── arm_mult_q7.c
│   │   │   │   │   │       │   ├── arm_negate_f16.c
│   │   │   │   │   │       │   ├── arm_negate_f32.c
│   │   │   │   │   │       │   ├── arm_negate_f64.c
│   │   │   │   │   │       │   ├── arm_negate_q15.c
│   │   │   │   │   │       │   ├── arm_negate_q31.c
│   │   │   │   │   │       │   ├── arm_negate_q7.c
│   │   │   │   │   │       │   ├── arm_not_u16.c
│   │   │   │   │   │       │   ├── arm_not_u32.c
│   │   │   │   │   │       │   ├── arm_not_u8.c
│   │   │   │   │   │       │   ├── arm_offset_f16.c
│   │   │   │   │   │       │   ├── arm_offset_f32.c
│   │   │   │   │   │       │   ├── arm_offset_f64.c
│   │   │   │   │   │       │   ├── arm_offset_q15.c
│   │   │   │   │   │       │   ├── arm_offset_q31.c
│   │   │   │   │   │       │   ├── arm_offset_q7.c
│   │   │   │   │   │       │   ├── arm_or_u16.c
│   │   │   │   │   │       │   ├── arm_or_u32.c
│   │   │   │   │   │       │   ├── arm_or_u8.c
│   │   │   │   │   │       │   ├── arm_scale_f16.c
│   │   │   │   │   │       │   ├── arm_scale_f32.c
│   │   │   │   │   │       │   ├── arm_scale_f64.c
│   │   │   │   │   │       │   ├── arm_scale_q15.c
│   │   │   │   │   │       │   ├── arm_scale_q31.c
│   │   │   │   │   │       │   ├── arm_scale_q7.c
│   │   │   │   │   │       │   ├── arm_shift_q15.c
│   │   │   │   │   │       │   ├── arm_shift_q31.c
│   │   │   │   │   │       │   ├── arm_shift_q7.c
│   │   │   │   │   │       │   ├── arm_sub_f16.c
│   │   │   │   │   │       │   ├── arm_sub_f32.c
│   │   │   │   │   │       │   ├── arm_sub_f64.c
│   │   │   │   │   │       │   ├── arm_sub_q15.c
│   │   │   │   │   │       │   ├── arm_sub_q31.c
│   │   │   │   │   │       │   ├── arm_sub_q7.c
│   │   │   │   │   │       │   ├── arm_xor_u16.c
│   │   │   │   │   │       │   ├── arm_xor_u32.c
│   │   │   │   │   │       │   └── arm_xor_u8.c
│   │   │   │   │   │       ├── BayesFunctions/
│   │   │   │   │   │       │   ├── BayesFunctions.c
│   │   │   │   │   │       │   ├── BayesFunctionsF16.c
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── arm_gaussian_naive_bayes_predict_f16.c
│   │   │   │   │   │       │   └── arm_gaussian_naive_bayes_predict_f32.c
│   │   │   │   │   │       ├── CMakeLists.txt
│   │   │   │   │   │       ├── CommonTables/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── CommonTables.c
│   │   │   │   │   │       │   ├── CommonTablesF16.c
│   │   │   │   │   │       │   ├── arm_common_tables.c
│   │   │   │   │   │       │   ├── arm_common_tables_f16.c
│   │   │   │   │   │       │   ├── arm_const_structs.c
│   │   │   │   │   │       │   ├── arm_const_structs_f16.c
│   │   │   │   │   │       │   ├── arm_mve_tables.c
│   │   │   │   │   │       │   └── arm_mve_tables_f16.c
│   │   │   │   │   │       ├── ComplexMathFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── ComplexMathFunctions.c
│   │   │   │   │   │       │   ├── ComplexMathFunctionsF16.c
│   │   │   │   │   │       │   ├── arm_cmplx_conj_f16.c
│   │   │   │   │   │       │   ├── arm_cmplx_conj_f32.c
│   │   │   │   │   │       │   ├── arm_cmplx_conj_q15.c
│   │   │   │   │   │       │   ├── arm_cmplx_conj_q31.c
│   │   │   │   │   │       │   ├── arm_cmplx_dot_prod_f16.c
│   │   │   │   │   │       │   ├── arm_cmplx_dot_prod_f32.c
│   │   │   │   │   │       │   ├── arm_cmplx_dot_prod_q15.c
│   │   │   │   │   │       │   ├── arm_cmplx_dot_prod_q31.c
│   │   │   │   │   │       │   ├── arm_cmplx_mag_f16.c
│   │   │   │   │   │       │   ├── arm_cmplx_mag_f32.c
│   │   │   │   │   │       │   ├── arm_cmplx_mag_f64.c
│   │   │   │   │   │       │   ├── arm_cmplx_mag_fast_q15.c
│   │   │   │   │   │       │   ├── arm_cmplx_mag_q15.c
│   │   │   │   │   │       │   ├── arm_cmplx_mag_q31.c
│   │   │   │   │   │       │   ├── arm_cmplx_mag_squared_f16.c
│   │   │   │   │   │       │   ├── arm_cmplx_mag_squared_f32.c
│   │   │   │   │   │       │   ├── arm_cmplx_mag_squared_f64.c
│   │   │   │   │   │       │   ├── arm_cmplx_mag_squared_q15.c
│   │   │   │   │   │       │   ├── arm_cmplx_mag_squared_q31.c
│   │   │   │   │   │       │   ├── arm_cmplx_mult_cmplx_f16.c
│   │   │   │   │   │       │   ├── arm_cmplx_mult_cmplx_f32.c
│   │   │   │   │   │       │   ├── arm_cmplx_mult_cmplx_f64.c
│   │   │   │   │   │       │   ├── arm_cmplx_mult_cmplx_q15.c
│   │   │   │   │   │       │   ├── arm_cmplx_mult_cmplx_q31.c
│   │   │   │   │   │       │   ├── arm_cmplx_mult_real_f16.c
│   │   │   │   │   │       │   ├── arm_cmplx_mult_real_f32.c
│   │   │   │   │   │       │   ├── arm_cmplx_mult_real_q15.c
│   │   │   │   │   │       │   └── arm_cmplx_mult_real_q31.c
│   │   │   │   │   │       ├── ControllerFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── ControllerFunctions.c
│   │   │   │   │   │       │   ├── arm_pid_init_f32.c
│   │   │   │   │   │       │   ├── arm_pid_init_q15.c
│   │   │   │   │   │       │   ├── arm_pid_init_q31.c
│   │   │   │   │   │       │   ├── arm_pid_reset_f32.c
│   │   │   │   │   │       │   ├── arm_pid_reset_q15.c
│   │   │   │   │   │       │   ├── arm_pid_reset_q31.c
│   │   │   │   │   │       │   ├── arm_sin_cos_f32.c
│   │   │   │   │   │       │   └── arm_sin_cos_q31.c
│   │   │   │   │   │       ├── DistanceFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── DistanceFunctions.c
│   │   │   │   │   │       │   ├── DistanceFunctionsF16.c
│   │   │   │   │   │       │   ├── arm_boolean_distance.c
│   │   │   │   │   │       │   ├── arm_boolean_distance_template.h
│   │   │   │   │   │       │   ├── arm_braycurtis_distance_f16.c
│   │   │   │   │   │       │   ├── arm_braycurtis_distance_f32.c
│   │   │   │   │   │       │   ├── arm_canberra_distance_f16.c
│   │   │   │   │   │       │   ├── arm_canberra_distance_f32.c
│   │   │   │   │   │       │   ├── arm_chebyshev_distance_f16.c
│   │   │   │   │   │       │   ├── arm_chebyshev_distance_f32.c
│   │   │   │   │   │       │   ├── arm_chebyshev_distance_f64.c
│   │   │   │   │   │       │   ├── arm_cityblock_distance_f16.c
│   │   │   │   │   │       │   ├── arm_cityblock_distance_f32.c
│   │   │   │   │   │       │   ├── arm_cityblock_distance_f64.c
│   │   │   │   │   │       │   ├── arm_correlation_distance_f16.c
│   │   │   │   │   │       │   ├── arm_correlation_distance_f32.c
│   │   │   │   │   │       │   ├── arm_cosine_distance_f16.c
│   │   │   │   │   │       │   ├── arm_cosine_distance_f32.c
│   │   │   │   │   │       │   ├── arm_cosine_distance_f64.c
│   │   │   │   │   │       │   ├── arm_dice_distance.c
│   │   │   │   │   │       │   ├── arm_euclidean_distance_f16.c
│   │   │   │   │   │       │   ├── arm_euclidean_distance_f32.c
│   │   │   │   │   │       │   ├── arm_euclidean_distance_f64.c
│   │   │   │   │   │       │   ├── arm_hamming_distance.c
│   │   │   │   │   │       │   ├── arm_jaccard_distance.c
│   │   │   │   │   │       │   ├── arm_jensenshannon_distance_f16.c
│   │   │   │   │   │       │   ├── arm_jensenshannon_distance_f32.c
│   │   │   │   │   │       │   ├── arm_kulsinski_distance.c
│   │   │   │   │   │       │   ├── arm_minkowski_distance_f16.c
│   │   │   │   │   │       │   ├── arm_minkowski_distance_f32.c
│   │   │   │   │   │       │   ├── arm_rogerstanimoto_distance.c
│   │   │   │   │   │       │   ├── arm_russellrao_distance.c
│   │   │   │   │   │       │   ├── arm_sokalmichener_distance.c
│   │   │   │   │   │       │   ├── arm_sokalsneath_distance.c
│   │   │   │   │   │       │   └── arm_yule_distance.c
│   │   │   │   │   │       ├── FastMathFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── FastMathFunctions.c
│   │   │   │   │   │       │   ├── FastMathFunctionsF16.c
│   │   │   │   │   │       │   ├── arm_atan2_f16.c
│   │   │   │   │   │       │   ├── arm_atan2_f32.c
│   │   │   │   │   │       │   ├── arm_atan2_q15.c
│   │   │   │   │   │       │   ├── arm_atan2_q31.c
│   │   │   │   │   │       │   ├── arm_cos_f32.c
│   │   │   │   │   │       │   ├── arm_cos_q15.c
│   │   │   │   │   │       │   ├── arm_cos_q31.c
│   │   │   │   │   │       │   ├── arm_divide_q15.c
│   │   │   │   │   │       │   ├── arm_divide_q31.c
│   │   │   │   │   │       │   ├── arm_sin_f32.c
│   │   │   │   │   │       │   ├── arm_sin_q15.c
│   │   │   │   │   │       │   ├── arm_sin_q31.c
│   │   │   │   │   │       │   ├── arm_sqrt_q15.c
│   │   │   │   │   │       │   ├── arm_sqrt_q31.c
│   │   │   │   │   │       │   ├── arm_vexp_f16.c
│   │   │   │   │   │       │   ├── arm_vexp_f32.c
│   │   │   │   │   │       │   ├── arm_vexp_f64.c
│   │   │   │   │   │       │   ├── arm_vinverse_f16.c
│   │   │   │   │   │       │   ├── arm_vlog_f16.c
│   │   │   │   │   │       │   ├── arm_vlog_f32.c
│   │   │   │   │   │       │   ├── arm_vlog_f64.c
│   │   │   │   │   │       │   ├── arm_vlog_q15.c
│   │   │   │   │   │       │   └── arm_vlog_q31.c
│   │   │   │   │   │       ├── FilteringFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── FilteringFunctions.c
│   │   │   │   │   │       │   ├── FilteringFunctionsF16.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df1_32x64_init_q31.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df1_32x64_q31.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df1_f16.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df1_f32.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df1_fast_q15.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df1_fast_q31.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df1_init_f16.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df1_init_f32.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df1_init_q15.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df1_init_q31.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df1_q15.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df1_q31.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df2T_f16.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df2T_f32.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df2T_f64.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df2T_init_f16.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df2T_init_f32.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df2T_init_f64.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_stereo_df2T_f16.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_stereo_df2T_f32.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_stereo_df2T_init_f16.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_stereo_df2T_init_f32.c
│   │   │   │   │   │       │   ├── arm_conv_f32.c
│   │   │   │   │   │       │   ├── arm_conv_fast_opt_q15.c
│   │   │   │   │   │       │   ├── arm_conv_fast_q15.c
│   │   │   │   │   │       │   ├── arm_conv_fast_q31.c
│   │   │   │   │   │       │   ├── arm_conv_opt_q15.c
│   │   │   │   │   │       │   ├── arm_conv_opt_q7.c
│   │   │   │   │   │       │   ├── arm_conv_partial_f32.c
│   │   │   │   │   │       │   ├── arm_conv_partial_fast_opt_q15.c
│   │   │   │   │   │       │   ├── arm_conv_partial_fast_q15.c
│   │   │   │   │   │       │   ├── arm_conv_partial_fast_q31.c
│   │   │   │   │   │       │   ├── arm_conv_partial_opt_q15.c
│   │   │   │   │   │       │   ├── arm_conv_partial_opt_q7.c
│   │   │   │   │   │       │   ├── arm_conv_partial_q15.c
│   │   │   │   │   │       │   ├── arm_conv_partial_q31.c
│   │   │   │   │   │       │   ├── arm_conv_partial_q7.c
│   │   │   │   │   │       │   ├── arm_conv_q15.c
│   │   │   │   │   │       │   ├── arm_conv_q31.c
│   │   │   │   │   │       │   ├── arm_conv_q7.c
│   │   │   │   │   │       │   ├── arm_correlate_f16.c
│   │   │   │   │   │       │   ├── arm_correlate_f32.c
│   │   │   │   │   │       │   ├── arm_correlate_f64.c
│   │   │   │   │   │       │   ├── arm_correlate_fast_opt_q15.c
│   │   │   │   │   │       │   ├── arm_correlate_fast_q15.c
│   │   │   │   │   │       │   ├── arm_correlate_fast_q31.c
│   │   │   │   │   │       │   ├── arm_correlate_opt_q15.c
│   │   │   │   │   │       │   ├── arm_correlate_opt_q7.c
│   │   │   │   │   │       │   ├── arm_correlate_q15.c
│   │   │   │   │   │       │   ├── arm_correlate_q31.c
│   │   │   │   │   │       │   ├── arm_correlate_q7.c
│   │   │   │   │   │       │   ├── arm_fir_decimate_f32.c
│   │   │   │   │   │       │   ├── arm_fir_decimate_fast_q15.c
│   │   │   │   │   │       │   ├── arm_fir_decimate_fast_q31.c
│   │   │   │   │   │       │   ├── arm_fir_decimate_init_f32.c
│   │   │   │   │   │       │   ├── arm_fir_decimate_init_q15.c
│   │   │   │   │   │       │   ├── arm_fir_decimate_init_q31.c
│   │   │   │   │   │       │   ├── arm_fir_decimate_q15.c
│   │   │   │   │   │       │   ├── arm_fir_decimate_q31.c
│   │   │   │   │   │       │   ├── arm_fir_f16.c
│   │   │   │   │   │       │   ├── arm_fir_f32.c
│   │   │   │   │   │       │   ├── arm_fir_f64.c
│   │   │   │   │   │       │   ├── arm_fir_fast_q15.c
│   │   │   │   │   │       │   ├── arm_fir_fast_q31.c
│   │   │   │   │   │       │   ├── arm_fir_init_f16.c
│   │   │   │   │   │       │   ├── arm_fir_init_f32.c
│   │   │   │   │   │       │   ├── arm_fir_init_f64.c
│   │   │   │   │   │       │   ├── arm_fir_init_q15.c
│   │   │   │   │   │       │   ├── arm_fir_init_q31.c
│   │   │   │   │   │       │   ├── arm_fir_init_q7.c
│   │   │   │   │   │       │   ├── arm_fir_interpolate_f32.c
│   │   │   │   │   │       │   ├── arm_fir_interpolate_init_f32.c
│   │   │   │   │   │       │   ├── arm_fir_interpolate_init_q15.c
│   │   │   │   │   │       │   ├── arm_fir_interpolate_init_q31.c
│   │   │   │   │   │       │   ├── arm_fir_interpolate_q15.c
│   │   │   │   │   │       │   ├── arm_fir_interpolate_q31.c
│   │   │   │   │   │       │   ├── arm_fir_lattice_f32.c
│   │   │   │   │   │       │   ├── arm_fir_lattice_init_f32.c
│   │   │   │   │   │       │   ├── arm_fir_lattice_init_q15.c
│   │   │   │   │   │       │   ├── arm_fir_lattice_init_q31.c
│   │   │   │   │   │       │   ├── arm_fir_lattice_q15.c
│   │   │   │   │   │       │   ├── arm_fir_lattice_q31.c
│   │   │   │   │   │       │   ├── arm_fir_q15.c
│   │   │   │   │   │       │   ├── arm_fir_q31.c
│   │   │   │   │   │       │   ├── arm_fir_q7.c
│   │   │   │   │   │       │   ├── arm_fir_sparse_f32.c
│   │   │   │   │   │       │   ├── arm_fir_sparse_init_f32.c
│   │   │   │   │   │       │   ├── arm_fir_sparse_init_q15.c
│   │   │   │   │   │       │   ├── arm_fir_sparse_init_q31.c
│   │   │   │   │   │       │   ├── arm_fir_sparse_init_q7.c
│   │   │   │   │   │       │   ├── arm_fir_sparse_q15.c
│   │   │   │   │   │       │   ├── arm_fir_sparse_q31.c
│   │   │   │   │   │       │   ├── arm_fir_sparse_q7.c
│   │   │   │   │   │       │   ├── arm_iir_lattice_f32.c
│   │   │   │   │   │       │   ├── arm_iir_lattice_init_f32.c
│   │   │   │   │   │       │   ├── arm_iir_lattice_init_q15.c
│   │   │   │   │   │       │   ├── arm_iir_lattice_init_q31.c
│   │   │   │   │   │       │   ├── arm_iir_lattice_q15.c
│   │   │   │   │   │       │   ├── arm_iir_lattice_q31.c
│   │   │   │   │   │       │   ├── arm_levinson_durbin_f16.c
│   │   │   │   │   │       │   ├── arm_levinson_durbin_f32.c
│   │   │   │   │   │       │   ├── arm_levinson_durbin_q31.c
│   │   │   │   │   │       │   ├── arm_lms_f32.c
│   │   │   │   │   │       │   ├── arm_lms_init_f32.c
│   │   │   │   │   │       │   ├── arm_lms_init_q15.c
│   │   │   │   │   │       │   ├── arm_lms_init_q31.c
│   │   │   │   │   │       │   ├── arm_lms_norm_f32.c
│   │   │   │   │   │       │   ├── arm_lms_norm_init_f32.c
│   │   │   │   │   │       │   ├── arm_lms_norm_init_q15.c
│   │   │   │   │   │       │   ├── arm_lms_norm_init_q31.c
│   │   │   │   │   │       │   ├── arm_lms_norm_q15.c
│   │   │   │   │   │       │   ├── arm_lms_norm_q31.c
│   │   │   │   │   │       │   ├── arm_lms_q15.c
│   │   │   │   │   │       │   └── arm_lms_q31.c
│   │   │   │   │   │       ├── InterpolationFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── InterpolationFunctions.c
│   │   │   │   │   │       │   ├── InterpolationFunctionsF16.c
│   │   │   │   │   │       │   ├── arm_bilinear_interp_f16.c
│   │   │   │   │   │       │   ├── arm_bilinear_interp_f32.c
│   │   │   │   │   │       │   ├── arm_bilinear_interp_q15.c
│   │   │   │   │   │       │   ├── arm_bilinear_interp_q31.c
│   │   │   │   │   │       │   ├── arm_bilinear_interp_q7.c
│   │   │   │   │   │       │   ├── arm_linear_interp_f16.c
│   │   │   │   │   │       │   ├── arm_linear_interp_f32.c
│   │   │   │   │   │       │   ├── arm_linear_interp_q15.c
│   │   │   │   │   │       │   ├── arm_linear_interp_q31.c
│   │   │   │   │   │       │   ├── arm_linear_interp_q7.c
│   │   │   │   │   │       │   ├── arm_spline_interp_f32.c
│   │   │   │   │   │       │   └── arm_spline_interp_init_f32.c
│   │   │   │   │   │       ├── MatrixFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── MatrixFunctions.c
│   │   │   │   │   │       │   ├── MatrixFunctionsF16.c
│   │   │   │   │   │       │   ├── arm_mat_add_f16.c
│   │   │   │   │   │       │   ├── arm_mat_add_f32.c
│   │   │   │   │   │       │   ├── arm_mat_add_q15.c
│   │   │   │   │   │       │   ├── arm_mat_add_q31.c
│   │   │   │   │   │       │   ├── arm_mat_cholesky_f16.c
│   │   │   │   │   │       │   ├── arm_mat_cholesky_f32.c
│   │   │   │   │   │       │   ├── arm_mat_cholesky_f64.c
│   │   │   │   │   │       │   ├── arm_mat_cmplx_mult_f16.c
│   │   │   │   │   │       │   ├── arm_mat_cmplx_mult_f32.c
│   │   │   │   │   │       │   ├── arm_mat_cmplx_mult_q15.c
│   │   │   │   │   │       │   ├── arm_mat_cmplx_mult_q31.c
│   │   │   │   │   │       │   ├── arm_mat_cmplx_trans_f16.c
│   │   │   │   │   │       │   ├── arm_mat_cmplx_trans_f32.c
│   │   │   │   │   │       │   ├── arm_mat_cmplx_trans_q15.c
│   │   │   │   │   │       │   ├── arm_mat_cmplx_trans_q31.c
│   │   │   │   │   │       │   ├── arm_mat_init_f16.c
│   │   │   │   │   │       │   ├── arm_mat_init_f32.c
│   │   │   │   │   │       │   ├── arm_mat_init_q15.c
│   │   │   │   │   │       │   ├── arm_mat_init_q31.c
│   │   │   │   │   │       │   ├── arm_mat_inverse_f16.c
│   │   │   │   │   │       │   ├── arm_mat_inverse_f32.c
│   │   │   │   │   │       │   ├── arm_mat_inverse_f64.c
│   │   │   │   │   │       │   ├── arm_mat_ldlt_f32.c
│   │   │   │   │   │       │   ├── arm_mat_ldlt_f64.c
│   │   │   │   │   │       │   ├── arm_mat_mult_f16.c
│   │   │   │   │   │       │   ├── arm_mat_mult_f32.c
│   │   │   │   │   │       │   ├── arm_mat_mult_f64.c
│   │   │   │   │   │       │   ├── arm_mat_mult_fast_q15.c
│   │   │   │   │   │       │   ├── arm_mat_mult_fast_q31.c
│   │   │   │   │   │       │   ├── arm_mat_mult_opt_q31.c
│   │   │   │   │   │       │   ├── arm_mat_mult_q15.c
│   │   │   │   │   │       │   ├── arm_mat_mult_q31.c
│   │   │   │   │   │       │   ├── arm_mat_mult_q7.c
│   │   │   │   │   │       │   ├── arm_mat_scale_f16.c
│   │   │   │   │   │       │   ├── arm_mat_scale_f32.c
│   │   │   │   │   │       │   ├── arm_mat_scale_q15.c
│   │   │   │   │   │       │   ├── arm_mat_scale_q31.c
│   │   │   │   │   │       │   ├── arm_mat_solve_lower_triangular_f16.c
│   │   │   │   │   │       │   ├── arm_mat_solve_lower_triangular_f32.c
│   │   │   │   │   │       │   ├── arm_mat_solve_lower_triangular_f64.c
│   │   │   │   │   │       │   ├── arm_mat_solve_upper_triangular_f16.c
│   │   │   │   │   │       │   ├── arm_mat_solve_upper_triangular_f32.c
│   │   │   │   │   │       │   ├── arm_mat_solve_upper_triangular_f64.c
│   │   │   │   │   │       │   ├── arm_mat_sub_f16.c
│   │   │   │   │   │       │   ├── arm_mat_sub_f32.c
│   │   │   │   │   │       │   ├── arm_mat_sub_f64.c
│   │   │   │   │   │       │   ├── arm_mat_sub_q15.c
│   │   │   │   │   │       │   ├── arm_mat_sub_q31.c
│   │   │   │   │   │       │   ├── arm_mat_trans_f16.c
│   │   │   │   │   │       │   ├── arm_mat_trans_f32.c
│   │   │   │   │   │       │   ├── arm_mat_trans_f64.c
│   │   │   │   │   │       │   ├── arm_mat_trans_q15.c
│   │   │   │   │   │       │   ├── arm_mat_trans_q31.c
│   │   │   │   │   │       │   ├── arm_mat_trans_q7.c
│   │   │   │   │   │       │   ├── arm_mat_vec_mult_f16.c
│   │   │   │   │   │       │   ├── arm_mat_vec_mult_f32.c
│   │   │   │   │   │       │   ├── arm_mat_vec_mult_q15.c
│   │   │   │   │   │       │   ├── arm_mat_vec_mult_q31.c
│   │   │   │   │   │       │   └── arm_mat_vec_mult_q7.c
│   │   │   │   │   │       ├── QuaternionMathFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── QuaternionMathFunctions.c
│   │   │   │   │   │       │   ├── arm_quaternion2rotation_f32.c
│   │   │   │   │   │       │   ├── arm_quaternion_conjugate_f32.c
│   │   │   │   │   │       │   ├── arm_quaternion_inverse_f32.c
│   │   │   │   │   │       │   ├── arm_quaternion_norm_f32.c
│   │   │   │   │   │       │   ├── arm_quaternion_normalize_f32.c
│   │   │   │   │   │       │   ├── arm_quaternion_product_f32.c
│   │   │   │   │   │       │   ├── arm_quaternion_product_single_f32.c
│   │   │   │   │   │       │   └── arm_rotation2quaternion_f32.c
│   │   │   │   │   │       ├── SVMFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── SVMFunctions.c
│   │   │   │   │   │       │   ├── SVMFunctionsF16.c
│   │   │   │   │   │       │   ├── arm_svm_linear_init_f16.c
│   │   │   │   │   │       │   ├── arm_svm_linear_init_f32.c
│   │   │   │   │   │       │   ├── arm_svm_linear_predict_f16.c
│   │   │   │   │   │       │   ├── arm_svm_linear_predict_f32.c
│   │   │   │   │   │       │   ├── arm_svm_polynomial_init_f16.c
│   │   │   │   │   │       │   ├── arm_svm_polynomial_init_f32.c
│   │   │   │   │   │       │   ├── arm_svm_polynomial_predict_f16.c
│   │   │   │   │   │       │   ├── arm_svm_polynomial_predict_f32.c
│   │   │   │   │   │       │   ├── arm_svm_rbf_init_f16.c
│   │   │   │   │   │       │   ├── arm_svm_rbf_init_f32.c
│   │   │   │   │   │       │   ├── arm_svm_rbf_predict_f16.c
│   │   │   │   │   │       │   ├── arm_svm_rbf_predict_f32.c
│   │   │   │   │   │       │   ├── arm_svm_sigmoid_init_f16.c
│   │   │   │   │   │       │   ├── arm_svm_sigmoid_init_f32.c
│   │   │   │   │   │       │   ├── arm_svm_sigmoid_predict_f16.c
│   │   │   │   │   │       │   └── arm_svm_sigmoid_predict_f32.c
│   │   │   │   │   │       ├── StatisticsFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── StatisticsFunctions.c
│   │   │   │   │   │       │   ├── StatisticsFunctionsF16.c
│   │   │   │   │   │       │   ├── arm_absmax_f16.c
│   │   │   │   │   │       │   ├── arm_absmax_f32.c
│   │   │   │   │   │       │   ├── arm_absmax_f64.c
│   │   │   │   │   │       │   ├── arm_absmax_no_idx_f16.c
│   │   │   │   │   │       │   ├── arm_absmax_no_idx_f32.c
│   │   │   │   │   │       │   ├── arm_absmax_no_idx_f64.c
│   │   │   │   │   │       │   ├── arm_absmax_no_idx_q15.c
│   │   │   │   │   │       │   ├── arm_absmax_no_idx_q31.c
│   │   │   │   │   │       │   ├── arm_absmax_no_idx_q7.c
│   │   │   │   │   │       │   ├── arm_absmax_q15.c
│   │   │   │   │   │       │   ├── arm_absmax_q31.c
│   │   │   │   │   │       │   ├── arm_absmax_q7.c
│   │   │   │   │   │       │   ├── arm_absmin_f16.c
│   │   │   │   │   │       │   ├── arm_absmin_f32.c
│   │   │   │   │   │       │   ├── arm_absmin_f64.c
│   │   │   │   │   │       │   ├── arm_absmin_no_idx_f16.c
│   │   │   │   │   │       │   ├── arm_absmin_no_idx_f32.c
│   │   │   │   │   │       │   ├── arm_absmin_no_idx_f64.c
│   │   │   │   │   │       │   ├── arm_absmin_no_idx_q15.c
│   │   │   │   │   │       │   ├── arm_absmin_no_idx_q31.c
│   │   │   │   │   │       │   ├── arm_absmin_no_idx_q7.c
│   │   │   │   │   │       │   ├── arm_absmin_q15.c
│   │   │   │   │   │       │   ├── arm_absmin_q31.c
│   │   │   │   │   │       │   ├── arm_absmin_q7.c
│   │   │   │   │   │       │   ├── arm_entropy_f16.c
│   │   │   │   │   │       │   ├── arm_entropy_f32.c
│   │   │   │   │   │       │   ├── arm_entropy_f64.c
│   │   │   │   │   │       │   ├── arm_kullback_leibler_f16.c
│   │   │   │   │   │       │   ├── arm_kullback_leibler_f32.c
│   │   │   │   │   │       │   ├── arm_kullback_leibler_f64.c
│   │   │   │   │   │       │   ├── arm_logsumexp_dot_prod_f16.c
│   │   │   │   │   │       │   ├── arm_logsumexp_dot_prod_f32.c
│   │   │   │   │   │       │   ├── arm_logsumexp_f16.c
│   │   │   │   │   │       │   ├── arm_logsumexp_f32.c
│   │   │   │   │   │       │   ├── arm_max_f16.c
│   │   │   │   │   │       │   ├── arm_max_f32.c
│   │   │   │   │   │       │   ├── arm_max_f64.c
│   │   │   │   │   │       │   ├── arm_max_no_idx_f16.c
│   │   │   │   │   │       │   ├── arm_max_no_idx_f32.c
│   │   │   │   │   │       │   ├── arm_max_no_idx_f64.c
│   │   │   │   │   │       │   ├── arm_max_no_idx_q15.c
│   │   │   │   │   │       │   ├── arm_max_no_idx_q31.c
│   │   │   │   │   │       │   ├── arm_max_no_idx_q7.c
│   │   │   │   │   │       │   ├── arm_max_q15.c
│   │   │   │   │   │       │   ├── arm_max_q31.c
│   │   │   │   │   │       │   ├── arm_max_q7.c
│   │   │   │   │   │       │   ├── arm_mean_f16.c
│   │   │   │   │   │       │   ├── arm_mean_f32.c
│   │   │   │   │   │       │   ├── arm_mean_f64.c
│   │   │   │   │   │       │   ├── arm_mean_q15.c
│   │   │   │   │   │       │   ├── arm_mean_q31.c
│   │   │   │   │   │       │   ├── arm_mean_q7.c
│   │   │   │   │   │       │   ├── arm_min_f16.c
│   │   │   │   │   │       │   ├── arm_min_f32.c
│   │   │   │   │   │       │   ├── arm_min_f64.c
│   │   │   │   │   │       │   ├── arm_min_no_idx_f16.c
│   │   │   │   │   │       │   ├── arm_min_no_idx_f32.c
│   │   │   │   │   │       │   ├── arm_min_no_idx_f64.c
│   │   │   │   │   │       │   ├── arm_min_no_idx_q15.c
│   │   │   │   │   │       │   ├── arm_min_no_idx_q31.c
│   │   │   │   │   │       │   ├── arm_min_no_idx_q7.c
│   │   │   │   │   │       │   ├── arm_min_q15.c
│   │   │   │   │   │       │   ├── arm_min_q31.c
│   │   │   │   │   │       │   ├── arm_min_q7.c
│   │   │   │   │   │       │   ├── arm_mse_f16.c
│   │   │   │   │   │       │   ├── arm_mse_f32.c
│   │   │   │   │   │       │   ├── arm_mse_f64.c
│   │   │   │   │   │       │   ├── arm_mse_q15.c
│   │   │   │   │   │       │   ├── arm_mse_q31.c
│   │   │   │   │   │       │   ├── arm_mse_q7.c
│   │   │   │   │   │       │   ├── arm_power_f16.c
│   │   │   │   │   │       │   ├── arm_power_f32.c
│   │   │   │   │   │       │   ├── arm_power_f64.c
│   │   │   │   │   │       │   ├── arm_power_q15.c
│   │   │   │   │   │       │   ├── arm_power_q31.c
│   │   │   │   │   │       │   ├── arm_power_q7.c
│   │   │   │   │   │       │   ├── arm_rms_f16.c
│   │   │   │   │   │       │   ├── arm_rms_f32.c
│   │   │   │   │   │       │   ├── arm_rms_q15.c
│   │   │   │   │   │       │   ├── arm_rms_q31.c
│   │   │   │   │   │       │   ├── arm_std_f16.c
│   │   │   │   │   │       │   ├── arm_std_f32.c
│   │   │   │   │   │       │   ├── arm_std_f64.c
│   │   │   │   │   │       │   ├── arm_std_q15.c
│   │   │   │   │   │       │   ├── arm_std_q31.c
│   │   │   │   │   │       │   ├── arm_var_f16.c
│   │   │   │   │   │       │   ├── arm_var_f32.c
│   │   │   │   │   │       │   ├── arm_var_f64.c
│   │   │   │   │   │       │   ├── arm_var_q15.c
│   │   │   │   │   │       │   └── arm_var_q31.c
│   │   │   │   │   │       ├── SupportFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── SupportFunctions.c
│   │   │   │   │   │       │   ├── SupportFunctionsF16.c
│   │   │   │   │   │       │   ├── arm_barycenter_f16.c
│   │   │   │   │   │       │   ├── arm_barycenter_f32.c
│   │   │   │   │   │       │   ├── arm_bitonic_sort_f32.c
│   │   │   │   │   │       │   ├── arm_bubble_sort_f32.c
│   │   │   │   │   │       │   ├── arm_copy_f16.c
│   │   │   │   │   │       │   ├── arm_copy_f32.c
│   │   │   │   │   │       │   ├── arm_copy_f64.c
│   │   │   │   │   │       │   ├── arm_copy_q15.c
│   │   │   │   │   │       │   ├── arm_copy_q31.c
│   │   │   │   │   │       │   ├── arm_copy_q7.c
│   │   │   │   │   │       │   ├── arm_f16_to_float.c
│   │   │   │   │   │       │   ├── arm_f16_to_q15.c
│   │   │   │   │   │       │   ├── arm_fill_f16.c
│   │   │   │   │   │       │   ├── arm_fill_f32.c
│   │   │   │   │   │       │   ├── arm_fill_f64.c
│   │   │   │   │   │       │   ├── arm_fill_q15.c
│   │   │   │   │   │       │   ├── arm_fill_q31.c
│   │   │   │   │   │       │   ├── arm_fill_q7.c
│   │   │   │   │   │       │   ├── arm_float_to_f16.c
│   │   │   │   │   │       │   ├── arm_float_to_q15.c
│   │   │   │   │   │       │   ├── arm_float_to_q31.c
│   │   │   │   │   │       │   ├── arm_float_to_q7.c
│   │   │   │   │   │       │   ├── arm_heap_sort_f32.c
│   │   │   │   │   │       │   ├── arm_insertion_sort_f32.c
│   │   │   │   │   │       │   ├── arm_merge_sort_f32.c
│   │   │   │   │   │       │   ├── arm_merge_sort_init_f32.c
│   │   │   │   │   │       │   ├── arm_q15_to_f16.c
│   │   │   │   │   │       │   ├── arm_q15_to_float.c
│   │   │   │   │   │       │   ├── arm_q15_to_q31.c
│   │   │   │   │   │       │   ├── arm_q15_to_q7.c
│   │   │   │   │   │       │   ├── arm_q31_to_float.c
│   │   │   │   │   │       │   ├── arm_q31_to_q15.c
│   │   │   │   │   │       │   ├── arm_q31_to_q7.c
│   │   │   │   │   │       │   ├── arm_q7_to_float.c
│   │   │   │   │   │       │   ├── arm_q7_to_q15.c
│   │   │   │   │   │       │   ├── arm_q7_to_q31.c
│   │   │   │   │   │       │   ├── arm_quick_sort_f32.c
│   │   │   │   │   │       │   ├── arm_selection_sort_f32.c
│   │   │   │   │   │       │   ├── arm_sort_f32.c
│   │   │   │   │   │       │   ├── arm_sort_init_f32.c
│   │   │   │   │   │       │   ├── arm_weighted_sum_f16.c
│   │   │   │   │   │       │   └── arm_weighted_sum_f32.c
│   │   │   │   │   │       └── TransformFunctions/
│   │   │   │   │   │           ├── CMakeLists.txt
│   │   │   │   │   │           ├── TransformFunctions.c
│   │   │   │   │   │           ├── TransformFunctionsF16.c
│   │   │   │   │   │           ├── arm_bitreversal.c
│   │   │   │   │   │           ├── arm_bitreversal2.S
│   │   │   │   │   │           ├── arm_bitreversal2.c
│   │   │   │   │   │           ├── arm_bitreversal_f16.c
│   │   │   │   │   │           ├── arm_cfft_f16.c
│   │   │   │   │   │           ├── arm_cfft_f32.c
│   │   │   │   │   │           ├── arm_cfft_f64.c
│   │   │   │   │   │           ├── arm_cfft_init_f16.c
│   │   │   │   │   │           ├── arm_cfft_init_f32.c
│   │   │   │   │   │           ├── arm_cfft_init_f64.c
│   │   │   │   │   │           ├── arm_cfft_init_q15.c
│   │   │   │   │   │           ├── arm_cfft_init_q31.c
│   │   │   │   │   │           ├── arm_cfft_q15.c
│   │   │   │   │   │           ├── arm_cfft_q31.c
│   │   │   │   │   │           ├── arm_cfft_radix2_f16.c
│   │   │   │   │   │           ├── arm_cfft_radix2_f32.c
│   │   │   │   │   │           ├── arm_cfft_radix2_init_f16.c
│   │   │   │   │   │           ├── arm_cfft_radix2_init_f32.c
│   │   │   │   │   │           ├── arm_cfft_radix2_init_q15.c
│   │   │   │   │   │           ├── arm_cfft_radix2_init_q31.c
│   │   │   │   │   │           ├── arm_cfft_radix2_q15.c
│   │   │   │   │   │           ├── arm_cfft_radix2_q31.c
│   │   │   │   │   │           ├── arm_cfft_radix4_f16.c
│   │   │   │   │   │           ├── arm_cfft_radix4_f32.c
│   │   │   │   │   │           ├── arm_cfft_radix4_init_f16.c
│   │   │   │   │   │           ├── arm_cfft_radix4_init_f32.c
│   │   │   │   │   │           ├── arm_cfft_radix4_init_q15.c
│   │   │   │   │   │           ├── arm_cfft_radix4_init_q31.c
│   │   │   │   │   │           ├── arm_cfft_radix4_q15.c
│   │   │   │   │   │           ├── arm_cfft_radix4_q31.c
│   │   │   │   │   │           ├── arm_cfft_radix8_f16.c
│   │   │   │   │   │           ├── arm_cfft_radix8_f32.c
│   │   │   │   │   │           ├── arm_dct4_f32.c
│   │   │   │   │   │           ├── arm_dct4_init_f32.c
│   │   │   │   │   │           ├── arm_dct4_init_q15.c
│   │   │   │   │   │           ├── arm_dct4_init_q31.c
│   │   │   │   │   │           ├── arm_dct4_q15.c
│   │   │   │   │   │           ├── arm_dct4_q31.c
│   │   │   │   │   │           ├── arm_mfcc_f16.c
│   │   │   │   │   │           ├── arm_mfcc_f32.c
│   │   │   │   │   │           ├── arm_mfcc_init_f16.c
│   │   │   │   │   │           ├── arm_mfcc_init_f32.c
│   │   │   │   │   │           ├── arm_mfcc_init_q15.c
│   │   │   │   │   │           ├── arm_mfcc_init_q31.c
│   │   │   │   │   │           ├── arm_mfcc_q15.c
│   │   │   │   │   │           ├── arm_mfcc_q31.c
│   │   │   │   │   │           ├── arm_rfft_f32.c
│   │   │   │   │   │           ├── arm_rfft_fast_f16.c
│   │   │   │   │   │           ├── arm_rfft_fast_f32.c
│   │   │   │   │   │           ├── arm_rfft_fast_f64.c
│   │   │   │   │   │           ├── arm_rfft_fast_init_f16.c
│   │   │   │   │   │           ├── arm_rfft_fast_init_f32.c
│   │   │   │   │   │           ├── arm_rfft_fast_init_f64.c
│   │   │   │   │   │           ├── arm_rfft_init_f32.c
│   │   │   │   │   │           ├── arm_rfft_init_q15.c
│   │   │   │   │   │           ├── arm_rfft_init_q31.c
│   │   │   │   │   │           ├── arm_rfft_q15.c
│   │   │   │   │   │           └── arm_rfft_q31.c
│   │   │   │   │   ├── Device/
│   │   │   │   │   │   └── ST/
│   │   │   │   │   │       └── STM32H7xx/
│   │   │   │   │   │           ├── Include/
│   │   │   │   │   │           │   ├── stm32h745xx.h
│   │   │   │   │   │           │   ├── stm32h7xx.h
│   │   │   │   │   │           │   └── system_stm32h7xx.h
│   │   │   │   │   │           └── LICENSE.txt
│   │   │   │   │   ├── Include/
│   │   │   │   │   │   ├── cachel1_armv7.h
│   │   │   │   │   │   ├── cmsis_armcc.h
│   │   │   │   │   │   ├── cmsis_armclang.h
│   │   │   │   │   │   ├── cmsis_armclang_ltm.h
│   │   │   │   │   │   ├── cmsis_compiler.h
│   │   │   │   │   │   ├── cmsis_gcc.h
│   │   │   │   │   │   ├── cmsis_iccarm.h
│   │   │   │   │   │   ├── cmsis_version.h
│   │   │   │   │   │   ├── core_armv81mml.h
│   │   │   │   │   │   ├── core_armv8mbl.h
│   │   │   │   │   │   ├── core_armv8mml.h
│   │   │   │   │   │   ├── core_cm0.h
│   │   │   │   │   │   ├── core_cm0plus.h
│   │   │   │   │   │   ├── core_cm1.h
│   │   │   │   │   │   ├── core_cm23.h
│   │   │   │   │   │   ├── core_cm3.h
│   │   │   │   │   │   ├── core_cm33.h
│   │   │   │   │   │   ├── core_cm35p.h
│   │   │   │   │   │   ├── core_cm4.h
│   │   │   │   │   │   ├── core_cm55.h
│   │   │   │   │   │   ├── core_cm7.h
│   │   │   │   │   │   ├── core_cm85.h
│   │   │   │   │   │   ├── core_sc000.h
│   │   │   │   │   │   ├── core_sc300.h
│   │   │   │   │   │   ├── core_starmc1.h
│   │   │   │   │   │   ├── mpu_armv7.h
│   │   │   │   │   │   ├── mpu_armv8.h
│   │   │   │   │   │   ├── pac_armv81.h
│   │   │   │   │   │   ├── pmu_armv8.h
│   │   │   │   │   │   └── tz_context.h
│   │   │   │   │   ├── LICENSE.txt
│   │   │   │   │   ├── NN/
│   │   │   │   │   │   ├── CMakeLists.txt
│   │   │   │   │   │   ├── Include/
│   │   │   │   │   │   │   ├── arm_nn_math_types.h
│   │   │   │   │   │   │   ├── arm_nn_tables.h
│   │   │   │   │   │   │   ├── arm_nn_types.h
│   │   │   │   │   │   │   ├── arm_nnfunctions.h
│   │   │   │   │   │   │   └── arm_nnsupportfunctions.h
│   │   │   │   │   │   └── Source/
│   │   │   │   │   │       ├── ActivationFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── arm_nn_activations_q15.c
│   │   │   │   │   │       │   ├── arm_nn_activations_q7.c
│   │   │   │   │   │       │   ├── arm_relu6_s8.c
│   │   │   │   │   │       │   ├── arm_relu_q15.c
│   │   │   │   │   │       │   └── arm_relu_q7.c
│   │   │   │   │   │       ├── BasicMathFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── arm_elementwise_add_s16.c
│   │   │   │   │   │       │   ├── arm_elementwise_add_s8.c
│   │   │   │   │   │       │   ├── arm_elementwise_mul_s16.c
│   │   │   │   │   │       │   └── arm_elementwise_mul_s8.c
│   │   │   │   │   │       ├── CMakeLists.txt
│   │   │   │   │   │       ├── ConcatenationFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── arm_concatenation_s8_w.c
│   │   │   │   │   │       │   ├── arm_concatenation_s8_x.c
│   │   │   │   │   │       │   ├── arm_concatenation_s8_y.c
│   │   │   │   │   │       │   └── arm_concatenation_s8_z.c
│   │   │   │   │   │       ├── ConvolutionFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── arm_convolve_1_x_n_s8.c
│   │   │   │   │   │       │   ├── arm_convolve_1x1_HWC_q7_fast_nonsquare.c
│   │   │   │   │   │       │   ├── arm_convolve_1x1_s8_fast.c
│   │   │   │   │   │       │   ├── arm_convolve_HWC_q15_basic.c
│   │   │   │   │   │       │   ├── arm_convolve_HWC_q15_fast.c
│   │   │   │   │   │       │   ├── arm_convolve_HWC_q15_fast_nonsquare.c
│   │   │   │   │   │       │   ├── arm_convolve_HWC_q7_RGB.c
│   │   │   │   │   │       │   ├── arm_convolve_HWC_q7_basic.c
│   │   │   │   │   │       │   ├── arm_convolve_HWC_q7_basic_nonsquare.c
│   │   │   │   │   │       │   ├── arm_convolve_HWC_q7_fast.c
│   │   │   │   │   │       │   ├── arm_convolve_HWC_q7_fast_nonsquare.c
│   │   │   │   │   │       │   ├── arm_convolve_fast_s16.c
│   │   │   │   │   │       │   ├── arm_convolve_s16.c
│   │   │   │   │   │       │   ├── arm_convolve_s8.c
│   │   │   │   │   │       │   ├── arm_convolve_wrapper_s16.c
│   │   │   │   │   │       │   ├── arm_convolve_wrapper_s8.c
│   │   │   │   │   │       │   ├── arm_depthwise_conv_3x3_s8.c
│   │   │   │   │   │       │   ├── arm_depthwise_conv_s16.c
│   │   │   │   │   │       │   ├── arm_depthwise_conv_s8.c
│   │   │   │   │   │       │   ├── arm_depthwise_conv_s8_opt.c
│   │   │   │   │   │       │   ├── arm_depthwise_conv_u8_basic_ver1.c
│   │   │   │   │   │       │   ├── arm_depthwise_conv_wrapper_s8.c
│   │   │   │   │   │       │   ├── arm_depthwise_separable_conv_HWC_q7.c
│   │   │   │   │   │       │   ├── arm_depthwise_separable_conv_HWC_q7_nonsquare.c
│   │   │   │   │   │       │   ├── arm_nn_depthwise_conv_s8_core.c
│   │   │   │   │   │       │   ├── arm_nn_mat_mult_kernel_q7_q15.c
│   │   │   │   │   │       │   ├── arm_nn_mat_mult_kernel_q7_q15_reordered.c
│   │   │   │   │   │       │   ├── arm_nn_mat_mult_kernel_s8_s16.c
│   │   │   │   │   │       │   ├── arm_nn_mat_mult_kernel_s8_s16_reordered.c
│   │   │   │   │   │       │   └── arm_nn_mat_mult_s8.c
│   │   │   │   │   │       ├── FullyConnectedFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── arm_fully_connected_mat_q7_vec_q15.c
│   │   │   │   │   │       │   ├── arm_fully_connected_mat_q7_vec_q15_opt.c
│   │   │   │   │   │       │   ├── arm_fully_connected_q15.c
│   │   │   │   │   │       │   ├── arm_fully_connected_q15_opt.c
│   │   │   │   │   │       │   ├── arm_fully_connected_q7.c
│   │   │   │   │   │       │   ├── arm_fully_connected_q7_opt.c
│   │   │   │   │   │       │   ├── arm_fully_connected_s16.c
│   │   │   │   │   │       │   └── arm_fully_connected_s8.c
│   │   │   │   │   │       ├── NNSupportFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── arm_nn_accumulate_q7_to_q15.c
│   │   │   │   │   │       │   ├── arm_nn_add_q7.c
│   │   │   │   │   │       │   ├── arm_nn_depthwise_conv_nt_t_padded_s8.c
│   │   │   │   │   │       │   ├── arm_nn_depthwise_conv_nt_t_s8.c
│   │   │   │   │   │       │   ├── arm_nn_mat_mul_core_1x_s8.c
│   │   │   │   │   │       │   ├── arm_nn_mat_mul_core_4x_s8.c
│   │   │   │   │   │       │   ├── arm_nn_mat_mul_kernel_s16.c
│   │   │   │   │   │       │   ├── arm_nn_mat_mult_nt_t_s8.c
│   │   │   │   │   │       │   ├── arm_nn_mult_q15.c
│   │   │   │   │   │       │   ├── arm_nn_mult_q7.c
│   │   │   │   │   │       │   ├── arm_nn_vec_mat_mult_t_s16.c
│   │   │   │   │   │       │   ├── arm_nn_vec_mat_mult_t_s8.c
│   │   │   │   │   │       │   ├── arm_nn_vec_mat_mult_t_svdf_s8.c
│   │   │   │   │   │       │   ├── arm_nntables.c
│   │   │   │   │   │       │   ├── arm_q7_to_q15_no_shift.c
│   │   │   │   │   │       │   ├── arm_q7_to_q15_reordered_no_shift.c
│   │   │   │   │   │       │   ├── arm_q7_to_q15_reordered_with_offset.c
│   │   │   │   │   │       │   └── arm_q7_to_q15_with_offset.c
│   │   │   │   │   │       ├── PoolingFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── arm_avgpool_s16.c
│   │   │   │   │   │       │   ├── arm_avgpool_s8.c
│   │   │   │   │   │       │   ├── arm_max_pool_s16.c
│   │   │   │   │   │       │   ├── arm_max_pool_s8.c
│   │   │   │   │   │       │   └── arm_pool_q7_HWC.c
│   │   │   │   │   │       ├── ReshapeFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   └── arm_reshape_s8.c
│   │   │   │   │   │       ├── SVDFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── arm_svdf_s8.c
│   │   │   │   │   │       │   └── arm_svdf_state_s16_s8.c
│   │   │   │   │   │       └── SoftmaxFunctions/
│   │   │   │   │   │           ├── CMakeLists.txt
│   │   │   │   │   │           ├── arm_nn_softmax_common_s8.c
│   │   │   │   │   │           ├── arm_softmax_q15.c
│   │   │   │   │   │           ├── arm_softmax_q7.c
│   │   │   │   │   │           ├── arm_softmax_s16.c
│   │   │   │   │   │           ├── arm_softmax_s8.c
│   │   │   │   │   │           ├── arm_softmax_s8_s16.c
│   │   │   │   │   │           ├── arm_softmax_u8.c
│   │   │   │   │   │           └── arm_softmax_with_batch_q7.c
│   │   │   │   │   ├── RTOS/
│   │   │   │   │   │   └── Template/
│   │   │   │   │   │       └── cmsis_os.h
│   │   │   │   │   ├── RTOS2/
│   │   │   │   │   │   ├── Include/
│   │   │   │   │   │   │   ├── cmsis_os2.h
│   │   │   │   │   │   │   └── os_tick.h
│   │   │   │   │   │   ├── Source/
│   │   │   │   │   │   │   ├── os_systick.c
│   │   │   │   │   │   │   ├── os_tick_gtim.c
│   │   │   │   │   │   │   └── os_tick_ptim.c
│   │   │   │   │   │   └── Template/
│   │   │   │   │   │       ├── cmsis_os.h
│   │   │   │   │   │       └── cmsis_os1.c
│   │   │   │   │   └── st_readme.txt
│   │   │   │   └── STM32H7xx_HAL_Driver/
│   │   │   │       ├── Inc/
│   │   │   │       │   ├── Legacy/
│   │   │   │       │   │   └── stm32_hal_legacy.h
│   │   │   │       │   ├── stm32h7xx_hal.h
│   │   │   │       │   ├── stm32h7xx_hal_cortex.h
│   │   │   │       │   ├── stm32h7xx_hal_def.h
│   │   │   │       │   ├── stm32h7xx_hal_dma.h
│   │   │   │       │   ├── stm32h7xx_hal_dma_ex.h
│   │   │   │       │   ├── stm32h7xx_hal_eth.h
│   │   │   │       │   ├── stm32h7xx_hal_eth_ex.h
│   │   │   │       │   ├── stm32h7xx_hal_exti.h
│   │   │   │       │   ├── stm32h7xx_hal_flash.h
│   │   │   │       │   ├── stm32h7xx_hal_flash_ex.h
│   │   │   │       │   ├── stm32h7xx_hal_gpio.h
│   │   │   │       │   ├── stm32h7xx_hal_gpio_ex.h
│   │   │   │       │   ├── stm32h7xx_hal_hsem.h
│   │   │   │       │   ├── stm32h7xx_hal_i2c.h
│   │   │   │       │   ├── stm32h7xx_hal_i2c_ex.h
│   │   │   │       │   ├── stm32h7xx_hal_mdma.h
│   │   │   │       │   ├── stm32h7xx_hal_pwr.h
│   │   │   │       │   ├── stm32h7xx_hal_pwr_ex.h
│   │   │   │       │   ├── stm32h7xx_hal_rcc.h
│   │   │   │       │   ├── stm32h7xx_hal_rcc_ex.h
│   │   │   │       │   ├── stm32h7xx_hal_tim.h
│   │   │   │       │   ├── stm32h7xx_hal_tim_ex.h
│   │   │   │       │   ├── stm32h7xx_ll_bus.h
│   │   │   │       │   ├── stm32h7xx_ll_cortex.h
│   │   │   │       │   ├── stm32h7xx_ll_crs.h
│   │   │   │       │   ├── stm32h7xx_ll_dma.h
│   │   │   │       │   ├── stm32h7xx_ll_dmamux.h
│   │   │   │       │   ├── stm32h7xx_ll_exti.h
│   │   │   │       │   ├── stm32h7xx_ll_gpio.h
│   │   │   │       │   ├── stm32h7xx_ll_hsem.h
│   │   │   │       │   ├── stm32h7xx_ll_pwr.h
│   │   │   │       │   ├── stm32h7xx_ll_rcc.h
│   │   │   │       │   ├── stm32h7xx_ll_system.h
│   │   │   │       │   └── stm32h7xx_ll_utils.h
│   │   │   │       ├── LICENSE.txt
│   │   │   │       └── Src/
│   │   │   │           ├── stm32h7xx_hal.c
│   │   │   │           ├── stm32h7xx_hal_cortex.c
│   │   │   │           ├── stm32h7xx_hal_dma.c
│   │   │   │           ├── stm32h7xx_hal_dma_ex.c
│   │   │   │           ├── stm32h7xx_hal_eth.c
│   │   │   │           ├── stm32h7xx_hal_eth_ex.c
│   │   │   │           ├── stm32h7xx_hal_exti.c
│   │   │   │           ├── stm32h7xx_hal_flash.c
│   │   │   │           ├── stm32h7xx_hal_flash_ex.c
│   │   │   │           ├── stm32h7xx_hal_gpio.c
│   │   │   │           ├── stm32h7xx_hal_hsem.c
│   │   │   │           ├── stm32h7xx_hal_i2c.c
│   │   │   │           ├── stm32h7xx_hal_i2c_ex.c
│   │   │   │           ├── stm32h7xx_hal_mdma.c
│   │   │   │           ├── stm32h7xx_hal_pwr.c
│   │   │   │           ├── stm32h7xx_hal_pwr_ex.c
│   │   │   │           ├── stm32h7xx_hal_rcc.c
│   │   │   │           ├── stm32h7xx_hal_rcc_ex.c
│   │   │   │           ├── stm32h7xx_hal_tim.c
│   │   │   │           └── stm32h7xx_hal_tim_ex.c
│   │   │   ├── EWARM/
│   │   │   │   ├── H7_Ethernet.ewd
│   │   │   │   ├── H7_Ethernet.ewp
│   │   │   │   ├── Project.eww
│   │   │   │   ├── startup_stm32h745xx_CM4.s
│   │   │   │   ├── startup_stm32h745xx_CM7.s
│   │   │   │   ├── stm32h745xx_dtcmram_CM7.icf
│   │   │   │   ├── stm32h745xx_flash_CM4.icf
│   │   │   │   ├── stm32h745xx_flash_CM7.icf
│   │   │   │   ├── stm32h745xx_flash_rw_sram1_CM7.icf
│   │   │   │   ├── stm32h745xx_flash_rw_sram2_CM4.icf
│   │   │   │   ├── stm32h745xx_sram1_CM7.icf
│   │   │   │   └── stm32h745xx_sram2_CM4.icf
│   │   │   ├── H7_Ethernet.ioc
│   │   │   └── Middlewares/
│   │   │       └── Third_Party/
│   │   │           └── LwIP/
│   │   │               ├── src/
│   │   │               │   ├── api/
│   │   │               │   │   ├── api_lib.c
│   │   │               │   │   ├── api_msg.c
│   │   │               │   │   ├── err.c
│   │   │               │   │   ├── if_api.c
│   │   │               │   │   ├── netbuf.c
│   │   │               │   │   ├── netdb.c
│   │   │               │   │   ├── netifapi.c
│   │   │               │   │   ├── sockets.c
│   │   │               │   │   └── tcpip.c
│   │   │               │   ├── apps/
│   │   │               │   │   └── mqtt/
│   │   │               │   │       └── mqtt.c
│   │   │               │   ├── core/
│   │   │               │   │   ├── altcp.c
│   │   │               │   │   ├── altcp_alloc.c
│   │   │               │   │   ├── altcp_tcp.c
│   │   │               │   │   ├── def.c
│   │   │               │   │   ├── dns.c
│   │   │               │   │   ├── inet_chksum.c
│   │   │               │   │   ├── init.c
│   │   │               │   │   ├── ip.c
│   │   │               │   │   ├── ipv4/
│   │   │               │   │   │   ├── acd.c
│   │   │               │   │   │   ├── autoip.c
│   │   │               │   │   │   ├── dhcp.c
│   │   │               │   │   │   ├── etharp.c
│   │   │               │   │   │   ├── icmp.c
│   │   │               │   │   │   ├── igmp.c
│   │   │               │   │   │   ├── ip4.c
│   │   │               │   │   │   ├── ip4_addr.c
│   │   │               │   │   │   └── ip4_frag.c
│   │   │               │   │   ├── ipv6/
│   │   │               │   │   │   ├── dhcp6.c
│   │   │               │   │   │   ├── ethip6.c
│   │   │               │   │   │   ├── icmp6.c
│   │   │               │   │   │   ├── inet6.c
│   │   │               │   │   │   ├── ip6.c
│   │   │               │   │   │   ├── ip6_addr.c
│   │   │               │   │   │   ├── ip6_frag.c
│   │   │               │   │   │   ├── mld6.c
│   │   │               │   │   │   └── nd6.c
│   │   │               │   │   ├── mem.c
│   │   │               │   │   ├── memp.c
│   │   │               │   │   ├── netif.c
│   │   │               │   │   ├── pbuf.c
│   │   │               │   │   ├── raw.c
│   │   │               │   │   ├── stats.c
│   │   │               │   │   ├── sys.c
│   │   │               │   │   ├── tcp.c
│   │   │               │   │   ├── tcp_in.c
│   │   │               │   │   ├── tcp_out.c
│   │   │               │   │   ├── timeouts.c
│   │   │               │   │   └── udp.c
│   │   │               │   ├── include/
│   │   │               │   │   ├── compat/
│   │   │               │   │   │   ├── posix/
│   │   │               │   │   │   │   ├── arpa/
│   │   │               │   │   │   │   │   └── inet.h
│   │   │               │   │   │   │   ├── net/
│   │   │               │   │   │   │   │   └── if.h
│   │   │               │   │   │   │   ├── netdb.h
│   │   │               │   │   │   │   └── sys/
│   │   │               │   │   │   │       └── socket.h
│   │   │               │   │   │   └── stdc/
│   │   │               │   │   │       └── errno.h
│   │   │               │   │   ├── lwip/
│   │   │               │   │   │   ├── acd.h
│   │   │               │   │   │   ├── altcp.h
│   │   │               │   │   │   ├── altcp_tcp.h
│   │   │               │   │   │   ├── altcp_tls.h
│   │   │               │   │   │   ├── api.h
│   │   │               │   │   │   ├── apps/
│   │   │               │   │   │   │   ├── altcp_proxyconnect.h
│   │   │               │   │   │   │   ├── altcp_tls_mbedtls_opts.h
│   │   │               │   │   │   │   ├── fs.h
│   │   │               │   │   │   │   ├── http_client.h
│   │   │               │   │   │   │   ├── httpd.h
│   │   │               │   │   │   │   ├── httpd_opts.h
│   │   │               │   │   │   │   ├── lwiperf.h
│   │   │               │   │   │   │   ├── mdns.h
│   │   │               │   │   │   │   ├── mdns_domain.h
│   │   │               │   │   │   │   ├── mdns_opts.h
│   │   │               │   │   │   │   ├── mdns_out.h
│   │   │               │   │   │   │   ├── mdns_priv.h
│   │   │               │   │   │   │   ├── mqtt.h
│   │   │               │   │   │   │   ├── mqtt_opts.h
│   │   │               │   │   │   │   ├── mqtt_priv.h
│   │   │               │   │   │   │   ├── netbiosns.h
│   │   │               │   │   │   │   ├── netbiosns_opts.h
│   │   │               │   │   │   │   ├── smtp.h
│   │   │               │   │   │   │   ├── smtp_opts.h
│   │   │               │   │   │   │   ├── snmp.h
│   │   │               │   │   │   │   ├── snmp_core.h
│   │   │               │   │   │   │   ├── snmp_mib2.h
│   │   │               │   │   │   │   ├── snmp_opts.h
│   │   │               │   │   │   │   ├── snmp_scalar.h
│   │   │               │   │   │   │   ├── snmp_snmpv2_framework.h
│   │   │               │   │   │   │   ├── snmp_snmpv2_usm.h
│   │   │               │   │   │   │   ├── snmp_table.h
│   │   │               │   │   │   │   ├── snmp_threadsync.h
│   │   │               │   │   │   │   ├── snmpv3.h
│   │   │               │   │   │   │   ├── sntp.h
│   │   │               │   │   │   │   ├── sntp_opts.h
│   │   │               │   │   │   │   ├── tftp_client.h
│   │   │               │   │   │   │   ├── tftp_common.h
│   │   │               │   │   │   │   ├── tftp_opts.h
│   │   │               │   │   │   │   └── tftp_server.h
│   │   │               │   │   │   ├── arch.h
│   │   │               │   │   │   ├── autoip.h
│   │   │               │   │   │   ├── debug.h
│   │   │               │   │   │   ├── def.h
│   │   │               │   │   │   ├── dhcp.h
│   │   │               │   │   │   ├── dhcp6.h
│   │   │               │   │   │   ├── dns.h
│   │   │               │   │   │   ├── err.h
│   │   │               │   │   │   ├── errno.h
│   │   │               │   │   │   ├── etharp.h
│   │   │               │   │   │   ├── ethip6.h
│   │   │               │   │   │   ├── icmp.h
│   │   │               │   │   │   ├── icmp6.h
│   │   │               │   │   │   ├── if_api.h
│   │   │               │   │   │   ├── igmp.h
│   │   │               │   │   │   ├── inet.h
│   │   │               │   │   │   ├── inet_chksum.h
│   │   │               │   │   │   ├── init.h
│   │   │               │   │   │   ├── ip.h
│   │   │               │   │   │   ├── ip4.h
│   │   │               │   │   │   ├── ip4_addr.h
│   │   │               │   │   │   ├── ip4_frag.h
│   │   │               │   │   │   ├── ip6.h
│   │   │               │   │   │   ├── ip6_addr.h
│   │   │               │   │   │   ├── ip6_frag.h
│   │   │               │   │   │   ├── ip6_zone.h
│   │   │               │   │   │   ├── ip_addr.h
│   │   │               │   │   │   ├── mem.h
│   │   │               │   │   │   ├── memp.h
│   │   │               │   │   │   ├── mld6.h
│   │   │               │   │   │   ├── nd6.h
│   │   │               │   │   │   ├── netbuf.h
│   │   │               │   │   │   ├── netdb.h
│   │   │               │   │   │   ├── netif.h
│   │   │               │   │   │   ├── netifapi.h
│   │   │               │   │   │   ├── opt.h
│   │   │               │   │   │   ├── pbuf.h
│   │   │               │   │   │   ├── priv/
│   │   │               │   │   │   │   ├── altcp_priv.h
│   │   │               │   │   │   │   ├── api_msg.h
│   │   │               │   │   │   │   ├── mem_priv.h
│   │   │               │   │   │   │   ├── memp_priv.h
│   │   │               │   │   │   │   ├── memp_std.h
│   │   │               │   │   │   │   ├── nd6_priv.h
│   │   │               │   │   │   │   ├── raw_priv.h
│   │   │               │   │   │   │   ├── sockets_priv.h
│   │   │               │   │   │   │   ├── tcp_priv.h
│   │   │               │   │   │   │   └── tcpip_priv.h
│   │   │               │   │   │   ├── prot/
│   │   │               │   │   │   │   ├── acd.h
│   │   │               │   │   │   │   ├── autoip.h
│   │   │               │   │   │   │   ├── dhcp.h
│   │   │               │   │   │   │   ├── dhcp6.h
│   │   │               │   │   │   │   ├── dns.h
│   │   │               │   │   │   │   ├── etharp.h
│   │   │               │   │   │   │   ├── ethernet.h
│   │   │               │   │   │   │   ├── iana.h
│   │   │               │   │   │   │   ├── icmp.h
│   │   │               │   │   │   │   ├── icmp6.h
│   │   │               │   │   │   │   ├── ieee.h
│   │   │               │   │   │   │   ├── igmp.h
│   │   │               │   │   │   │   ├── ip.h
│   │   │               │   │   │   │   ├── ip4.h
│   │   │               │   │   │   │   ├── ip6.h
│   │   │               │   │   │   │   ├── mld6.h
│   │   │               │   │   │   │   ├── nd6.h
│   │   │               │   │   │   │   ├── tcp.h
│   │   │               │   │   │   │   └── udp.h
│   │   │               │   │   │   ├── raw.h
│   │   │               │   │   │   ├── sio.h
│   │   │               │   │   │   ├── snmp.h
│   │   │               │   │   │   ├── sockets.h
│   │   │               │   │   │   ├── stats.h
│   │   │               │   │   │   ├── sys.h
│   │   │               │   │   │   ├── tcp.h
│   │   │               │   │   │   ├── tcpbase.h
│   │   │               │   │   │   ├── tcpip.h
│   │   │               │   │   │   ├── timeouts.h
│   │   │               │   │   │   └── udp.h
│   │   │               │   │   └── netif/
│   │   │               │   │       ├── bridgeif.h
│   │   │               │   │       ├── bridgeif_opts.h
│   │   │               │   │       ├── etharp.h
│   │   │               │   │       ├── ethernet.h
│   │   │               │   │       ├── ieee802154.h
│   │   │               │   │       ├── lowpan6.h
│   │   │               │   │       ├── lowpan6_ble.h
│   │   │               │   │       ├── lowpan6_common.h
│   │   │               │   │       ├── lowpan6_opts.h
│   │   │               │   │       ├── ppp/
│   │   │               │   │       │   ├── ccp.h
│   │   │               │   │       │   ├── chap-md5.h
│   │   │               │   │       │   ├── chap-new.h
│   │   │               │   │       │   ├── chap_ms.h
│   │   │               │   │       │   ├── eap.h
│   │   │               │   │       │   ├── ecp.h
│   │   │               │   │       │   ├── eui64.h
│   │   │               │   │       │   ├── fsm.h
│   │   │               │   │       │   ├── ipcp.h
│   │   │               │   │       │   ├── ipv6cp.h
│   │   │               │   │       │   ├── lcp.h
│   │   │               │   │       │   ├── magic.h
│   │   │               │   │       │   ├── mppe.h
│   │   │               │   │       │   ├── ppp.h
│   │   │               │   │       │   ├── ppp_impl.h
│   │   │               │   │       │   ├── ppp_opts.h
│   │   │               │   │       │   ├── pppapi.h
│   │   │               │   │       │   ├── pppcrypt.h
│   │   │               │   │       │   ├── pppdebug.h
│   │   │               │   │       │   ├── pppoe.h
│   │   │               │   │       │   ├── pppol2tp.h
│   │   │               │   │       │   ├── pppos.h
│   │   │               │   │       │   ├── upap.h
│   │   │               │   │       │   └── vj.h
│   │   │               │   │       ├── slipif.h
│   │   │               │   │       └── zepif.h
│   │   │               │   └── netif/
│   │   │               │       ├── bridgeif.c
│   │   │               │       ├── bridgeif_fdb.c
│   │   │               │       ├── ethernet.c
│   │   │               │       ├── lowpan6.c
│   │   │               │       ├── lowpan6_ble.c
│   │   │               │       ├── lowpan6_common.c
│   │   │               │       ├── ppp/
│   │   │               │       │   ├── auth.c
│   │   │               │       │   ├── ccp.c
│   │   │               │       │   ├── chap-md5.c
│   │   │               │       │   ├── chap-new.c
│   │   │               │       │   ├── chap_ms.c
│   │   │               │       │   ├── demand.c
│   │   │               │       │   ├── eap.c
│   │   │               │       │   ├── ecp.c
│   │   │               │       │   ├── eui64.c
│   │   │               │       │   ├── fsm.c
│   │   │               │       │   ├── ipcp.c
│   │   │               │       │   ├── ipv6cp.c
│   │   │               │       │   ├── lcp.c
│   │   │               │       │   ├── magic.c
│   │   │               │       │   ├── mppe.c
│   │   │               │       │   ├── multilink.c
│   │   │               │       │   ├── ppp.c
│   │   │               │       │   ├── pppapi.c
│   │   │               │       │   ├── pppcrypt.c
│   │   │               │       │   ├── pppoe.c
│   │   │               │       │   ├── pppol2tp.c
│   │   │               │       │   ├── pppos.c
│   │   │               │       │   ├── upap.c
│   │   │               │       │   ├── utils.c
│   │   │               │       │   └── vj.c
│   │   │               │       ├── slipif.c
│   │   │               │       └── zepif.c
│   │   │               └── system/
│   │   │                   └── arch/
│   │   │                       ├── bpstruct.h
│   │   │                       ├── cc.h
│   │   │                       ├── cpu.h
│   │   │                       ├── epstruct.h
│   │   │                       ├── init.h
│   │   │                       ├── lib.h
│   │   │                       ├── perf.h
│   │   │                       └── sys_arch.h
│   │   └── README.md
│   ├── tcp-client/
│   │   ├── .mxproject
│   │   ├── .project
│   │   ├── .settings/
│   │   │   └── org.eclipse.core.resources.prefs
│   │   ├── CM4/
│   │   │   ├── .cproject
│   │   │   ├── .project
│   │   │   ├── .settings/
│   │   │   │   ├── language.settings.xml
│   │   │   │   └── org.eclipse.core.resources.prefs
│   │   │   ├── Core/
│   │   │   │   ├── Inc/
│   │   │   │   │   ├── main.h
│   │   │   │   │   ├── stm32h7xx_hal_conf.h
│   │   │   │   │   └── stm32h7xx_it.h
│   │   │   │   ├── Src/
│   │   │   │   │   ├── main.c
│   │   │   │   │   ├── stm32h7xx_hal_msp.c
│   │   │   │   │   ├── stm32h7xx_it.c
│   │   │   │   │   ├── syscalls.c
│   │   │   │   │   └── sysmem.c
│   │   │   │   └── Startup/
│   │   │   │       └── startup_stm32h745xihx.s
│   │   │   ├── STM32H745XIHX_FLASH.ld
│   │   │   └── STM32H745XIHX_RAM.ld
│   │   ├── CM7/
│   │   │   ├── .cproject
│   │   │   ├── .project
│   │   │   ├── .settings/
│   │   │   │   ├── language.settings.xml
│   │   │   │   ├── org.eclipse.core.resources.prefs
│   │   │   │   └── stm32cubeide.project.prefs
│   │   │   ├── Core/
│   │   │   │   ├── Inc/
│   │   │   │   │   ├── main.h
│   │   │   │   │   ├── stm32h7xx_hal_conf.h
│   │   │   │   │   ├── stm32h7xx_it.h
│   │   │   │   │   └── tcpClientRAW.h
│   │   │   │   ├── Src/
│   │   │   │   │   ├── main.c
│   │   │   │   │   ├── stm32h7xx_hal_msp.c
│   │   │   │   │   ├── stm32h7xx_it.c
│   │   │   │   │   ├── syscalls.c
│   │   │   │   │   ├── sysmem.c
│   │   │   │   │   └── tcpClientRAW.c
│   │   │   │   └── Startup/
│   │   │   │       └── startup_stm32h745xihx.s
│   │   │   ├── H7_Ethernet_CM7 Debug.launch
│   │   │   ├── LWIP/
│   │   │   │   ├── App/
│   │   │   │   │   ├── lwip.c
│   │   │   │   │   └── lwip.h
│   │   │   │   └── Target/
│   │   │   │       ├── ethernetif.c
│   │   │   │       ├── ethernetif.h
│   │   │   │       └── lwipopts.h
│   │   │   ├── STM32H745XIHX_FLASH.ld
│   │   │   └── STM32H745XIHX_RAM.ld
│   │   ├── Common/
│   │   │   └── Src/
│   │   │       └── system_stm32h7xx_dualcore_boot_cm4_cm7.c
│   │   ├── Drivers/
│   │   │   ├── BSP/
│   │   │   │   └── Components/
│   │   │   │       └── lan8742/
│   │   │   │           ├── lan8742.c
│   │   │   │           └── lan8742.h
│   │   │   ├── CMSIS/
│   │   │   │   ├── Core/
│   │   │   │   │   ├── Include/
│   │   │   │   │   │   ├── cachel1_armv7.h
│   │   │   │   │   │   ├── cmsis_armcc.h
│   │   │   │   │   │   ├── cmsis_armclang.h
│   │   │   │   │   │   ├── cmsis_armclang_ltm.h
│   │   │   │   │   │   ├── cmsis_compiler.h
│   │   │   │   │   │   ├── cmsis_gcc.h
│   │   │   │   │   │   ├── cmsis_iccarm.h
│   │   │   │   │   │   ├── cmsis_version.h
│   │   │   │   │   │   ├── core_armv81mml.h
│   │   │   │   │   │   ├── core_armv8mbl.h
│   │   │   │   │   │   ├── core_armv8mml.h
│   │   │   │   │   │   ├── core_cm0.h
│   │   │   │   │   │   ├── core_cm0plus.h
│   │   │   │   │   │   ├── core_cm1.h
│   │   │   │   │   │   ├── core_cm23.h
│   │   │   │   │   │   ├── core_cm3.h
│   │   │   │   │   │   ├── core_cm33.h
│   │   │   │   │   │   ├── core_cm35p.h
│   │   │   │   │   │   ├── core_cm4.h
│   │   │   │   │   │   ├── core_cm55.h
│   │   │   │   │   │   ├── core_cm7.h
│   │   │   │   │   │   ├── core_cm85.h
│   │   │   │   │   │   ├── core_sc000.h
│   │   │   │   │   │   ├── core_sc300.h
│   │   │   │   │   │   ├── core_starmc1.h
│   │   │   │   │   │   ├── mpu_armv7.h
│   │   │   │   │   │   ├── mpu_armv8.h
│   │   │   │   │   │   ├── pac_armv81.h
│   │   │   │   │   │   ├── pmu_armv8.h
│   │   │   │   │   │   └── tz_context.h
│   │   │   │   │   └── Template/
│   │   │   │   │       └── ARMv8-M/
│   │   │   │   │           ├── main_s.c
│   │   │   │   │           └── tz_context.c
│   │   │   │   ├── Core_A/
│   │   │   │   │   ├── Include/
│   │   │   │   │   │   ├── cmsis_armcc.h
│   │   │   │   │   │   ├── cmsis_armclang.h
│   │   │   │   │   │   ├── cmsis_compiler.h
│   │   │   │   │   │   ├── cmsis_cp15.h
│   │   │   │   │   │   ├── cmsis_gcc.h
│   │   │   │   │   │   ├── cmsis_iccarm.h
│   │   │   │   │   │   ├── core_ca.h
│   │   │   │   │   │   └── irq_ctrl.h
│   │   │   │   │   └── Source/
│   │   │   │   │       └── irq_ctrl_gic.c
│   │   │   │   ├── DAP/
│   │   │   │   │   └── Firmware/
│   │   │   │   │       ├── Config/
│   │   │   │   │       │   └── DAP_config.h
│   │   │   │   │       ├── Include/
│   │   │   │   │       │   └── DAP.h
│   │   │   │   │       └── Source/
│   │   │   │   │           ├── DAP.c
│   │   │   │   │           ├── DAP_vendor.c
│   │   │   │   │           ├── JTAG_DP.c
│   │   │   │   │           ├── SWO.c
│   │   │   │   │           ├── SW_DP.c
│   │   │   │   │           └── UART.c
│   │   │   │   ├── DSP/
│   │   │   │   │   ├── ComputeLibrary/
│   │   │   │   │   │   ├── Include/
│   │   │   │   │   │   │   └── NEMath.h
│   │   │   │   │   │   ├── LICENSE.txt
│   │   │   │   │   │   └── Source/
│   │   │   │   │   │       └── arm_cl_tables.c
│   │   │   │   │   ├── Examples/
│   │   │   │   │   │   └── ARM/
│   │   │   │   │   │       ├── arm_bayes_example/
│   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │       │   └── arm_bayes_example_f32.c
│   │   │   │   │   │       ├── arm_class_marks_example/
│   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │       │   └── arm_class_marks_example_f32.c
│   │   │   │   │   │       ├── arm_convolution_example/
│   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │       │   ├── arm_convolution_example_f32.c
│   │   │   │   │   │       │   ├── math_helper.c
│   │   │   │   │   │       │   └── math_helper.h
│   │   │   │   │   │       ├── arm_dotproduct_example/
│   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │       │   └── arm_dotproduct_example_f32.c
│   │   │   │   │   │       ├── arm_fft_bin_example/
│   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │       │   ├── arm_fft_bin_data.c
│   │   │   │   │   │       │   └── arm_fft_bin_example_f32.c
│   │   │   │   │   │       ├── arm_fir_example/
│   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │       │   ├── arm_fir_data.c
│   │   │   │   │   │       │   ├── arm_fir_example_f32.c
│   │   │   │   │   │       │   ├── math_helper.c
│   │   │   │   │   │       │   └── math_helper.h
│   │   │   │   │   │       ├── arm_graphic_equalizer_example/
│   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │       │   ├── arm_graphic_equalizer_data.c
│   │   │   │   │   │       │   ├── arm_graphic_equalizer_example_q31.c
│   │   │   │   │   │       │   ├── math_helper.c
│   │   │   │   │   │       │   └── math_helper.h
│   │   │   │   │   │       ├── arm_linear_interp_example/
│   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │       │   ├── arm_linear_interp_data.c
│   │   │   │   │   │       │   ├── arm_linear_interp_example_f32.c
│   │   │   │   │   │       │   ├── math_helper.c
│   │   │   │   │   │       │   └── math_helper.h
│   │   │   │   │   │       ├── arm_matrix_example/
│   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │       │   ├── arm_matrix_example_f32.c
│   │   │   │   │   │       │   ├── math_helper.c
│   │   │   │   │   │       │   └── math_helper.h
│   │   │   │   │   │       ├── arm_signal_converge_example/
│   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │       │   ├── arm_signal_converge_data.c
│   │   │   │   │   │       │   ├── arm_signal_converge_example_f32.c
│   │   │   │   │   │       │   ├── math_helper.c
│   │   │   │   │   │       │   └── math_helper.h
│   │   │   │   │   │       ├── arm_sin_cos_example/
│   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │       │   └── arm_sin_cos_example_f32.c
│   │   │   │   │   │       ├── arm_svm_example/
│   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │       │   └── arm_svm_example_f32.c
│   │   │   │   │   │       └── arm_variance_example/
│   │   │   │   │   │           ├── ARMCM0_config.txt
│   │   │   │   │   │           ├── ARMCM3_config.txt
│   │   │   │   │   │           ├── ARMCM4_FP_config.txt
│   │   │   │   │   │           ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │           ├── ARMCM7_SP_config.txt
│   │   │   │   │   │           ├── Abstract.txt
│   │   │   │   │   │           ├── CMakeLists.txt
│   │   │   │   │   │           ├── RTE/
│   │   │   │   │   │           │   └── Device/
│   │   │   │   │   │           │       ├── ARMCM0/
│   │   │   │   │   │           │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │           │       │   └── system_ARMCM0.c
│   │   │   │   │   │           │       ├── ARMCM3/
│   │   │   │   │   │           │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │           │       │   └── system_ARMCM3.c
│   │   │   │   │   │           │       ├── ARMCM4_FP/
│   │   │   │   │   │           │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │           │       │   └── system_ARMCM4.c
│   │   │   │   │   │           │       ├── ARMCM55/
│   │   │   │   │   │           │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │           │       │   └── system_ARMCM55.c
│   │   │   │   │   │           │       └── ARMCM7_SP/
│   │   │   │   │   │           │           ├── startup_ARMCM7.c
│   │   │   │   │   │           │           └── system_ARMCM7.c
│   │   │   │   │   │           └── arm_variance_example_f32.c
│   │   │   │   │   ├── Include/
│   │   │   │   │   │   ├── arm_common_tables.h
│   │   │   │   │   │   ├── arm_common_tables_f16.h
│   │   │   │   │   │   ├── arm_const_structs.h
│   │   │   │   │   │   ├── arm_const_structs_f16.h
│   │   │   │   │   │   ├── arm_helium_utils.h
│   │   │   │   │   │   ├── arm_math.h
│   │   │   │   │   │   ├── arm_math_f16.h
│   │   │   │   │   │   ├── arm_math_memory.h
│   │   │   │   │   │   ├── arm_math_types.h
│   │   │   │   │   │   ├── arm_math_types_f16.h
│   │   │   │   │   │   ├── arm_mve_tables.h
│   │   │   │   │   │   ├── arm_mve_tables_f16.h
│   │   │   │   │   │   ├── arm_vec_math.h
│   │   │   │   │   │   ├── arm_vec_math_f16.h
│   │   │   │   │   │   └── dsp/
│   │   │   │   │   │       ├── basic_math_functions.h
│   │   │   │   │   │       ├── basic_math_functions_f16.h
│   │   │   │   │   │       ├── bayes_functions.h
│   │   │   │   │   │       ├── bayes_functions_f16.h
│   │   │   │   │   │       ├── complex_math_functions.h
│   │   │   │   │   │       ├── complex_math_functions_f16.h
│   │   │   │   │   │       ├── controller_functions.h
│   │   │   │   │   │       ├── controller_functions_f16.h
│   │   │   │   │   │       ├── distance_functions.h
│   │   │   │   │   │       ├── distance_functions_f16.h
│   │   │   │   │   │       ├── fast_math_functions.h
│   │   │   │   │   │       ├── fast_math_functions_f16.h
│   │   │   │   │   │       ├── filtering_functions.h
│   │   │   │   │   │       ├── filtering_functions_f16.h
│   │   │   │   │   │       ├── interpolation_functions.h
│   │   │   │   │   │       ├── interpolation_functions_f16.h
│   │   │   │   │   │       ├── matrix_functions.h
│   │   │   │   │   │       ├── matrix_functions_f16.h
│   │   │   │   │   │       ├── none.h
│   │   │   │   │   │       ├── quaternion_math_functions.h
│   │   │   │   │   │       ├── statistics_functions.h
│   │   │   │   │   │       ├── statistics_functions_f16.h
│   │   │   │   │   │       ├── support_functions.h
│   │   │   │   │   │       ├── support_functions_f16.h
│   │   │   │   │   │       ├── svm_defines.h
│   │   │   │   │   │       ├── svm_functions.h
│   │   │   │   │   │       ├── svm_functions_f16.h
│   │   │   │   │   │       ├── transform_functions.h
│   │   │   │   │   │       ├── transform_functions_f16.h
│   │   │   │   │   │       └── utils.h
│   │   │   │   │   ├── PrivateInclude/
│   │   │   │   │   │   ├── arm_sorting.h
│   │   │   │   │   │   ├── arm_vec_fft.h
│   │   │   │   │   │   └── arm_vec_filtering.h
│   │   │   │   │   └── Source/
│   │   │   │   │       ├── BasicMathFunctions/
│   │   │   │   │       │   ├── BasicMathFunctions.c
│   │   │   │   │       │   ├── BasicMathFunctionsF16.c
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── arm_abs_f16.c
│   │   │   │   │       │   ├── arm_abs_f32.c
│   │   │   │   │       │   ├── arm_abs_f64.c
│   │   │   │   │       │   ├── arm_abs_q15.c
│   │   │   │   │       │   ├── arm_abs_q31.c
│   │   │   │   │       │   ├── arm_abs_q7.c
│   │   │   │   │       │   ├── arm_add_f16.c
│   │   │   │   │       │   ├── arm_add_f32.c
│   │   │   │   │       │   ├── arm_add_f64.c
│   │   │   │   │       │   ├── arm_add_q15.c
│   │   │   │   │       │   ├── arm_add_q31.c
│   │   │   │   │       │   ├── arm_add_q7.c
│   │   │   │   │       │   ├── arm_and_u16.c
│   │   │   │   │       │   ├── arm_and_u32.c
│   │   │   │   │       │   ├── arm_and_u8.c
│   │   │   │   │       │   ├── arm_clip_f16.c
│   │   │   │   │       │   ├── arm_clip_f32.c
│   │   │   │   │       │   ├── arm_clip_q15.c
│   │   │   │   │       │   ├── arm_clip_q31.c
│   │   │   │   │       │   ├── arm_clip_q7.c
│   │   │   │   │       │   ├── arm_dot_prod_f16.c
│   │   │   │   │       │   ├── arm_dot_prod_f32.c
│   │   │   │   │       │   ├── arm_dot_prod_f64.c
│   │   │   │   │       │   ├── arm_dot_prod_q15.c
│   │   │   │   │       │   ├── arm_dot_prod_q31.c
│   │   │   │   │       │   ├── arm_dot_prod_q7.c
│   │   │   │   │       │   ├── arm_mult_f16.c
│   │   │   │   │       │   ├── arm_mult_f32.c
│   │   │   │   │       │   ├── arm_mult_f64.c
│   │   │   │   │       │   ├── arm_mult_q15.c
│   │   │   │   │       │   ├── arm_mult_q31.c
│   │   │   │   │       │   ├── arm_mult_q7.c
│   │   │   │   │       │   ├── arm_negate_f16.c
│   │   │   │   │       │   ├── arm_negate_f32.c
│   │   │   │   │       │   ├── arm_negate_f64.c
│   │   │   │   │       │   ├── arm_negate_q15.c
│   │   │   │   │       │   ├── arm_negate_q31.c
│   │   │   │   │       │   ├── arm_negate_q7.c
│   │   │   │   │       │   ├── arm_not_u16.c
│   │   │   │   │       │   ├── arm_not_u32.c
│   │   │   │   │       │   ├── arm_not_u8.c
│   │   │   │   │       │   ├── arm_offset_f16.c
│   │   │   │   │       │   ├── arm_offset_f32.c
│   │   │   │   │       │   ├── arm_offset_f64.c
│   │   │   │   │       │   ├── arm_offset_q15.c
│   │   │   │   │       │   ├── arm_offset_q31.c
│   │   │   │   │       │   ├── arm_offset_q7.c
│   │   │   │   │       │   ├── arm_or_u16.c
│   │   │   │   │       │   ├── arm_or_u32.c
│   │   │   │   │       │   ├── arm_or_u8.c
│   │   │   │   │       │   ├── arm_scale_f16.c
│   │   │   │   │       │   ├── arm_scale_f32.c
│   │   │   │   │       │   ├── arm_scale_f64.c
│   │   │   │   │       │   ├── arm_scale_q15.c
│   │   │   │   │       │   ├── arm_scale_q31.c
│   │   │   │   │       │   ├── arm_scale_q7.c
│   │   │   │   │       │   ├── arm_shift_q15.c
│   │   │   │   │       │   ├── arm_shift_q31.c
│   │   │   │   │       │   ├── arm_shift_q7.c
│   │   │   │   │       │   ├── arm_sub_f16.c
│   │   │   │   │       │   ├── arm_sub_f32.c
│   │   │   │   │       │   ├── arm_sub_f64.c
│   │   │   │   │       │   ├── arm_sub_q15.c
│   │   │   │   │       │   ├── arm_sub_q31.c
│   │   │   │   │       │   ├── arm_sub_q7.c
│   │   │   │   │       │   ├── arm_xor_u16.c
│   │   │   │   │       │   ├── arm_xor_u32.c
│   │   │   │   │       │   └── arm_xor_u8.c
│   │   │   │   │       ├── BayesFunctions/
│   │   │   │   │       │   ├── BayesFunctions.c
│   │   │   │   │       │   ├── BayesFunctionsF16.c
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── arm_gaussian_naive_bayes_predict_f16.c
│   │   │   │   │       │   └── arm_gaussian_naive_bayes_predict_f32.c
│   │   │   │   │       ├── CMakeLists.txt
│   │   │   │   │       ├── CommonTables/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── CommonTables.c
│   │   │   │   │       │   ├── CommonTablesF16.c
│   │   │   │   │       │   ├── arm_common_tables.c
│   │   │   │   │       │   ├── arm_common_tables_f16.c
│   │   │   │   │       │   ├── arm_const_structs.c
│   │   │   │   │       │   ├── arm_const_structs_f16.c
│   │   │   │   │       │   ├── arm_mve_tables.c
│   │   │   │   │       │   └── arm_mve_tables_f16.c
│   │   │   │   │       ├── ComplexMathFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── ComplexMathFunctions.c
│   │   │   │   │       │   ├── ComplexMathFunctionsF16.c
│   │   │   │   │       │   ├── arm_cmplx_conj_f16.c
│   │   │   │   │       │   ├── arm_cmplx_conj_f32.c
│   │   │   │   │       │   ├── arm_cmplx_conj_q15.c
│   │   │   │   │       │   ├── arm_cmplx_conj_q31.c
│   │   │   │   │       │   ├── arm_cmplx_dot_prod_f16.c
│   │   │   │   │       │   ├── arm_cmplx_dot_prod_f32.c
│   │   │   │   │       │   ├── arm_cmplx_dot_prod_q15.c
│   │   │   │   │       │   ├── arm_cmplx_dot_prod_q31.c
│   │   │   │   │       │   ├── arm_cmplx_mag_f16.c
│   │   │   │   │       │   ├── arm_cmplx_mag_f32.c
│   │   │   │   │       │   ├── arm_cmplx_mag_f64.c
│   │   │   │   │       │   ├── arm_cmplx_mag_fast_q15.c
│   │   │   │   │       │   ├── arm_cmplx_mag_q15.c
│   │   │   │   │       │   ├── arm_cmplx_mag_q31.c
│   │   │   │   │       │   ├── arm_cmplx_mag_squared_f16.c
│   │   │   │   │       │   ├── arm_cmplx_mag_squared_f32.c
│   │   │   │   │       │   ├── arm_cmplx_mag_squared_f64.c
│   │   │   │   │       │   ├── arm_cmplx_mag_squared_q15.c
│   │   │   │   │       │   ├── arm_cmplx_mag_squared_q31.c
│   │   │   │   │       │   ├── arm_cmplx_mult_cmplx_f16.c
│   │   │   │   │       │   ├── arm_cmplx_mult_cmplx_f32.c
│   │   │   │   │       │   ├── arm_cmplx_mult_cmplx_f64.c
│   │   │   │   │       │   ├── arm_cmplx_mult_cmplx_q15.c
│   │   │   │   │       │   ├── arm_cmplx_mult_cmplx_q31.c
│   │   │   │   │       │   ├── arm_cmplx_mult_real_f16.c
│   │   │   │   │       │   ├── arm_cmplx_mult_real_f32.c
│   │   │   │   │       │   ├── arm_cmplx_mult_real_q15.c
│   │   │   │   │       │   └── arm_cmplx_mult_real_q31.c
│   │   │   │   │       ├── ControllerFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── ControllerFunctions.c
│   │   │   │   │       │   ├── arm_pid_init_f32.c
│   │   │   │   │       │   ├── arm_pid_init_q15.c
│   │   │   │   │       │   ├── arm_pid_init_q31.c
│   │   │   │   │       │   ├── arm_pid_reset_f32.c
│   │   │   │   │       │   ├── arm_pid_reset_q15.c
│   │   │   │   │       │   ├── arm_pid_reset_q31.c
│   │   │   │   │       │   ├── arm_sin_cos_f32.c
│   │   │   │   │       │   └── arm_sin_cos_q31.c
│   │   │   │   │       ├── DistanceFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── DistanceFunctions.c
│   │   │   │   │       │   ├── DistanceFunctionsF16.c
│   │   │   │   │       │   ├── arm_boolean_distance.c
│   │   │   │   │       │   ├── arm_boolean_distance_template.h
│   │   │   │   │       │   ├── arm_braycurtis_distance_f16.c
│   │   │   │   │       │   ├── arm_braycurtis_distance_f32.c
│   │   │   │   │       │   ├── arm_canberra_distance_f16.c
│   │   │   │   │       │   ├── arm_canberra_distance_f32.c
│   │   │   │   │       │   ├── arm_chebyshev_distance_f16.c
│   │   │   │   │       │   ├── arm_chebyshev_distance_f32.c
│   │   │   │   │       │   ├── arm_chebyshev_distance_f64.c
│   │   │   │   │       │   ├── arm_cityblock_distance_f16.c
│   │   │   │   │       │   ├── arm_cityblock_distance_f32.c
│   │   │   │   │       │   ├── arm_cityblock_distance_f64.c
│   │   │   │   │       │   ├── arm_correlation_distance_f16.c
│   │   │   │   │       │   ├── arm_correlation_distance_f32.c
│   │   │   │   │       │   ├── arm_cosine_distance_f16.c
│   │   │   │   │       │   ├── arm_cosine_distance_f32.c
│   │   │   │   │       │   ├── arm_cosine_distance_f64.c
│   │   │   │   │       │   ├── arm_dice_distance.c
│   │   │   │   │       │   ├── arm_euclidean_distance_f16.c
│   │   │   │   │       │   ├── arm_euclidean_distance_f32.c
│   │   │   │   │       │   ├── arm_euclidean_distance_f64.c
│   │   │   │   │       │   ├── arm_hamming_distance.c
│   │   │   │   │       │   ├── arm_jaccard_distance.c
│   │   │   │   │       │   ├── arm_jensenshannon_distance_f16.c
│   │   │   │   │       │   ├── arm_jensenshannon_distance_f32.c
│   │   │   │   │       │   ├── arm_kulsinski_distance.c
│   │   │   │   │       │   ├── arm_minkowski_distance_f16.c
│   │   │   │   │       │   ├── arm_minkowski_distance_f32.c
│   │   │   │   │       │   ├── arm_rogerstanimoto_distance.c
│   │   │   │   │       │   ├── arm_russellrao_distance.c
│   │   │   │   │       │   ├── arm_sokalmichener_distance.c
│   │   │   │   │       │   ├── arm_sokalsneath_distance.c
│   │   │   │   │       │   └── arm_yule_distance.c
│   │   │   │   │       ├── FastMathFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── FastMathFunctions.c
│   │   │   │   │       │   ├── FastMathFunctionsF16.c
│   │   │   │   │       │   ├── arm_atan2_f16.c
│   │   │   │   │       │   ├── arm_atan2_f32.c
│   │   │   │   │       │   ├── arm_atan2_q15.c
│   │   │   │   │       │   ├── arm_atan2_q31.c
│   │   │   │   │       │   ├── arm_cos_f32.c
│   │   │   │   │       │   ├── arm_cos_q15.c
│   │   │   │   │       │   ├── arm_cos_q31.c
│   │   │   │   │       │   ├── arm_divide_q15.c
│   │   │   │   │       │   ├── arm_divide_q31.c
│   │   │   │   │       │   ├── arm_sin_f32.c
│   │   │   │   │       │   ├── arm_sin_q15.c
│   │   │   │   │       │   ├── arm_sin_q31.c
│   │   │   │   │       │   ├── arm_sqrt_q15.c
│   │   │   │   │       │   ├── arm_sqrt_q31.c
│   │   │   │   │       │   ├── arm_vexp_f16.c
│   │   │   │   │       │   ├── arm_vexp_f32.c
│   │   │   │   │       │   ├── arm_vexp_f64.c
│   │   │   │   │       │   ├── arm_vinverse_f16.c
│   │   │   │   │       │   ├── arm_vlog_f16.c
│   │   │   │   │       │   ├── arm_vlog_f32.c
│   │   │   │   │       │   ├── arm_vlog_f64.c
│   │   │   │   │       │   ├── arm_vlog_q15.c
│   │   │   │   │       │   └── arm_vlog_q31.c
│   │   │   │   │       ├── FilteringFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── FilteringFunctions.c
│   │   │   │   │       │   ├── FilteringFunctionsF16.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df1_32x64_init_q31.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df1_32x64_q31.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df1_f16.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df1_f32.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df1_fast_q15.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df1_fast_q31.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df1_init_f16.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df1_init_f32.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df1_init_q15.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df1_init_q31.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df1_q15.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df1_q31.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df2T_f16.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df2T_f32.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df2T_f64.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df2T_init_f16.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df2T_init_f32.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df2T_init_f64.c
│   │   │   │   │       │   ├── arm_biquad_cascade_stereo_df2T_f16.c
│   │   │   │   │       │   ├── arm_biquad_cascade_stereo_df2T_f32.c
│   │   │   │   │       │   ├── arm_biquad_cascade_stereo_df2T_init_f16.c
│   │   │   │   │       │   ├── arm_biquad_cascade_stereo_df2T_init_f32.c
│   │   │   │   │       │   ├── arm_conv_f32.c
│   │   │   │   │       │   ├── arm_conv_fast_opt_q15.c
│   │   │   │   │       │   ├── arm_conv_fast_q15.c
│   │   │   │   │       │   ├── arm_conv_fast_q31.c
│   │   │   │   │       │   ├── arm_conv_opt_q15.c
│   │   │   │   │       │   ├── arm_conv_opt_q7.c
│   │   │   │   │       │   ├── arm_conv_partial_f32.c
│   │   │   │   │       │   ├── arm_conv_partial_fast_opt_q15.c
│   │   │   │   │       │   ├── arm_conv_partial_fast_q15.c
│   │   │   │   │       │   ├── arm_conv_partial_fast_q31.c
│   │   │   │   │       │   ├── arm_conv_partial_opt_q15.c
│   │   │   │   │       │   ├── arm_conv_partial_opt_q7.c
│   │   │   │   │       │   ├── arm_conv_partial_q15.c
│   │   │   │   │       │   ├── arm_conv_partial_q31.c
│   │   │   │   │       │   ├── arm_conv_partial_q7.c
│   │   │   │   │       │   ├── arm_conv_q15.c
│   │   │   │   │       │   ├── arm_conv_q31.c
│   │   │   │   │       │   ├── arm_conv_q7.c
│   │   │   │   │       │   ├── arm_correlate_f16.c
│   │   │   │   │       │   ├── arm_correlate_f32.c
│   │   │   │   │       │   ├── arm_correlate_f64.c
│   │   │   │   │       │   ├── arm_correlate_fast_opt_q15.c
│   │   │   │   │       │   ├── arm_correlate_fast_q15.c
│   │   │   │   │       │   ├── arm_correlate_fast_q31.c
│   │   │   │   │       │   ├── arm_correlate_opt_q15.c
│   │   │   │   │       │   ├── arm_correlate_opt_q7.c
│   │   │   │   │       │   ├── arm_correlate_q15.c
│   │   │   │   │       │   ├── arm_correlate_q31.c
│   │   │   │   │       │   ├── arm_correlate_q7.c
│   │   │   │   │       │   ├── arm_fir_decimate_f32.c
│   │   │   │   │       │   ├── arm_fir_decimate_fast_q15.c
│   │   │   │   │       │   ├── arm_fir_decimate_fast_q31.c
│   │   │   │   │       │   ├── arm_fir_decimate_init_f32.c
│   │   │   │   │       │   ├── arm_fir_decimate_init_q15.c
│   │   │   │   │       │   ├── arm_fir_decimate_init_q31.c
│   │   │   │   │       │   ├── arm_fir_decimate_q15.c
│   │   │   │   │       │   ├── arm_fir_decimate_q31.c
│   │   │   │   │       │   ├── arm_fir_f16.c
│   │   │   │   │       │   ├── arm_fir_f32.c
│   │   │   │   │       │   ├── arm_fir_f64.c
│   │   │   │   │       │   ├── arm_fir_fast_q15.c
│   │   │   │   │       │   ├── arm_fir_fast_q31.c
│   │   │   │   │       │   ├── arm_fir_init_f16.c
│   │   │   │   │       │   ├── arm_fir_init_f32.c
│   │   │   │   │       │   ├── arm_fir_init_f64.c
│   │   │   │   │       │   ├── arm_fir_init_q15.c
│   │   │   │   │       │   ├── arm_fir_init_q31.c
│   │   │   │   │       │   ├── arm_fir_init_q7.c
│   │   │   │   │       │   ├── arm_fir_interpolate_f32.c
│   │   │   │   │       │   ├── arm_fir_interpolate_init_f32.c
│   │   │   │   │       │   ├── arm_fir_interpolate_init_q15.c
│   │   │   │   │       │   ├── arm_fir_interpolate_init_q31.c
│   │   │   │   │       │   ├── arm_fir_interpolate_q15.c
│   │   │   │   │       │   ├── arm_fir_interpolate_q31.c
│   │   │   │   │       │   ├── arm_fir_lattice_f32.c
│   │   │   │   │       │   ├── arm_fir_lattice_init_f32.c
│   │   │   │   │       │   ├── arm_fir_lattice_init_q15.c
│   │   │   │   │       │   ├── arm_fir_lattice_init_q31.c
│   │   │   │   │       │   ├── arm_fir_lattice_q15.c
│   │   │   │   │       │   ├── arm_fir_lattice_q31.c
│   │   │   │   │       │   ├── arm_fir_q15.c
│   │   │   │   │       │   ├── arm_fir_q31.c
│   │   │   │   │       │   ├── arm_fir_q7.c
│   │   │   │   │       │   ├── arm_fir_sparse_f32.c
│   │   │   │   │       │   ├── arm_fir_sparse_init_f32.c
│   │   │   │   │       │   ├── arm_fir_sparse_init_q15.c
│   │   │   │   │       │   ├── arm_fir_sparse_init_q31.c
│   │   │   │   │       │   ├── arm_fir_sparse_init_q7.c
│   │   │   │   │       │   ├── arm_fir_sparse_q15.c
│   │   │   │   │       │   ├── arm_fir_sparse_q31.c
│   │   │   │   │       │   ├── arm_fir_sparse_q7.c
│   │   │   │   │       │   ├── arm_iir_lattice_f32.c
│   │   │   │   │       │   ├── arm_iir_lattice_init_f32.c
│   │   │   │   │       │   ├── arm_iir_lattice_init_q15.c
│   │   │   │   │       │   ├── arm_iir_lattice_init_q31.c
│   │   │   │   │       │   ├── arm_iir_lattice_q15.c
│   │   │   │   │       │   ├── arm_iir_lattice_q31.c
│   │   │   │   │       │   ├── arm_levinson_durbin_f16.c
│   │   │   │   │       │   ├── arm_levinson_durbin_f32.c
│   │   │   │   │       │   ├── arm_levinson_durbin_q31.c
│   │   │   │   │       │   ├── arm_lms_f32.c
│   │   │   │   │       │   ├── arm_lms_init_f32.c
│   │   │   │   │       │   ├── arm_lms_init_q15.c
│   │   │   │   │       │   ├── arm_lms_init_q31.c
│   │   │   │   │       │   ├── arm_lms_norm_f32.c
│   │   │   │   │       │   ├── arm_lms_norm_init_f32.c
│   │   │   │   │       │   ├── arm_lms_norm_init_q15.c
│   │   │   │   │       │   ├── arm_lms_norm_init_q31.c
│   │   │   │   │       │   ├── arm_lms_norm_q15.c
│   │   │   │   │       │   ├── arm_lms_norm_q31.c
│   │   │   │   │       │   ├── arm_lms_q15.c
│   │   │   │   │       │   └── arm_lms_q31.c
│   │   │   │   │       ├── InterpolationFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── InterpolationFunctions.c
│   │   │   │   │       │   ├── InterpolationFunctionsF16.c
│   │   │   │   │       │   ├── arm_bilinear_interp_f16.c
│   │   │   │   │       │   ├── arm_bilinear_interp_f32.c
│   │   │   │   │       │   ├── arm_bilinear_interp_q15.c
│   │   │   │   │       │   ├── arm_bilinear_interp_q31.c
│   │   │   │   │       │   ├── arm_bilinear_interp_q7.c
│   │   │   │   │       │   ├── arm_linear_interp_f16.c
│   │   │   │   │       │   ├── arm_linear_interp_f32.c
│   │   │   │   │       │   ├── arm_linear_interp_q15.c
│   │   │   │   │       │   ├── arm_linear_interp_q31.c
│   │   │   │   │       │   ├── arm_linear_interp_q7.c
│   │   │   │   │       │   ├── arm_spline_interp_f32.c
│   │   │   │   │       │   └── arm_spline_interp_init_f32.c
│   │   │   │   │       ├── MatrixFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── MatrixFunctions.c
│   │   │   │   │       │   ├── MatrixFunctionsF16.c
│   │   │   │   │       │   ├── arm_mat_add_f16.c
│   │   │   │   │       │   ├── arm_mat_add_f32.c
│   │   │   │   │       │   ├── arm_mat_add_q15.c
│   │   │   │   │       │   ├── arm_mat_add_q31.c
│   │   │   │   │       │   ├── arm_mat_cholesky_f16.c
│   │   │   │   │       │   ├── arm_mat_cholesky_f32.c
│   │   │   │   │       │   ├── arm_mat_cholesky_f64.c
│   │   │   │   │       │   ├── arm_mat_cmplx_mult_f16.c
│   │   │   │   │       │   ├── arm_mat_cmplx_mult_f32.c
│   │   │   │   │       │   ├── arm_mat_cmplx_mult_q15.c
│   │   │   │   │       │   ├── arm_mat_cmplx_mult_q31.c
│   │   │   │   │       │   ├── arm_mat_cmplx_trans_f16.c
│   │   │   │   │       │   ├── arm_mat_cmplx_trans_f32.c
│   │   │   │   │       │   ├── arm_mat_cmplx_trans_q15.c
│   │   │   │   │       │   ├── arm_mat_cmplx_trans_q31.c
│   │   │   │   │       │   ├── arm_mat_init_f16.c
│   │   │   │   │       │   ├── arm_mat_init_f32.c
│   │   │   │   │       │   ├── arm_mat_init_q15.c
│   │   │   │   │       │   ├── arm_mat_init_q31.c
│   │   │   │   │       │   ├── arm_mat_inverse_f16.c
│   │   │   │   │       │   ├── arm_mat_inverse_f32.c
│   │   │   │   │       │   ├── arm_mat_inverse_f64.c
│   │   │   │   │       │   ├── arm_mat_ldlt_f32.c
│   │   │   │   │       │   ├── arm_mat_ldlt_f64.c
│   │   │   │   │       │   ├── arm_mat_mult_f16.c
│   │   │   │   │       │   ├── arm_mat_mult_f32.c
│   │   │   │   │       │   ├── arm_mat_mult_f64.c
│   │   │   │   │       │   ├── arm_mat_mult_fast_q15.c
│   │   │   │   │       │   ├── arm_mat_mult_fast_q31.c
│   │   │   │   │       │   ├── arm_mat_mult_opt_q31.c
│   │   │   │   │       │   ├── arm_mat_mult_q15.c
│   │   │   │   │       │   ├── arm_mat_mult_q31.c
│   │   │   │   │       │   ├── arm_mat_mult_q7.c
│   │   │   │   │       │   ├── arm_mat_scale_f16.c
│   │   │   │   │       │   ├── arm_mat_scale_f32.c
│   │   │   │   │       │   ├── arm_mat_scale_q15.c
│   │   │   │   │       │   ├── arm_mat_scale_q31.c
│   │   │   │   │       │   ├── arm_mat_solve_lower_triangular_f16.c
│   │   │   │   │       │   ├── arm_mat_solve_lower_triangular_f32.c
│   │   │   │   │       │   ├── arm_mat_solve_lower_triangular_f64.c
│   │   │   │   │       │   ├── arm_mat_solve_upper_triangular_f16.c
│   │   │   │   │       │   ├── arm_mat_solve_upper_triangular_f32.c
│   │   │   │   │       │   ├── arm_mat_solve_upper_triangular_f64.c
│   │   │   │   │       │   ├── arm_mat_sub_f16.c
│   │   │   │   │       │   ├── arm_mat_sub_f32.c
│   │   │   │   │       │   ├── arm_mat_sub_f64.c
│   │   │   │   │       │   ├── arm_mat_sub_q15.c
│   │   │   │   │       │   ├── arm_mat_sub_q31.c
│   │   │   │   │       │   ├── arm_mat_trans_f16.c
│   │   │   │   │       │   ├── arm_mat_trans_f32.c
│   │   │   │   │       │   ├── arm_mat_trans_f64.c
│   │   │   │   │       │   ├── arm_mat_trans_q15.c
│   │   │   │   │       │   ├── arm_mat_trans_q31.c
│   │   │   │   │       │   ├── arm_mat_trans_q7.c
│   │   │   │   │       │   ├── arm_mat_vec_mult_f16.c
│   │   │   │   │       │   ├── arm_mat_vec_mult_f32.c
│   │   │   │   │       │   ├── arm_mat_vec_mult_q15.c
│   │   │   │   │       │   ├── arm_mat_vec_mult_q31.c
│   │   │   │   │       │   └── arm_mat_vec_mult_q7.c
│   │   │   │   │       ├── QuaternionMathFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── QuaternionMathFunctions.c
│   │   │   │   │       │   ├── arm_quaternion2rotation_f32.c
│   │   │   │   │       │   ├── arm_quaternion_conjugate_f32.c
│   │   │   │   │       │   ├── arm_quaternion_inverse_f32.c
│   │   │   │   │       │   ├── arm_quaternion_norm_f32.c
│   │   │   │   │       │   ├── arm_quaternion_normalize_f32.c
│   │   │   │   │       │   ├── arm_quaternion_product_f32.c
│   │   │   │   │       │   ├── arm_quaternion_product_single_f32.c
│   │   │   │   │       │   └── arm_rotation2quaternion_f32.c
│   │   │   │   │       ├── SVMFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── SVMFunctions.c
│   │   │   │   │       │   ├── SVMFunctionsF16.c
│   │   │   │   │       │   ├── arm_svm_linear_init_f16.c
│   │   │   │   │       │   ├── arm_svm_linear_init_f32.c
│   │   │   │   │       │   ├── arm_svm_linear_predict_f16.c
│   │   │   │   │       │   ├── arm_svm_linear_predict_f32.c
│   │   │   │   │       │   ├── arm_svm_polynomial_init_f16.c
│   │   │   │   │       │   ├── arm_svm_polynomial_init_f32.c
│   │   │   │   │       │   ├── arm_svm_polynomial_predict_f16.c
│   │   │   │   │       │   ├── arm_svm_polynomial_predict_f32.c
│   │   │   │   │       │   ├── arm_svm_rbf_init_f16.c
│   │   │   │   │       │   ├── arm_svm_rbf_init_f32.c
│   │   │   │   │       │   ├── arm_svm_rbf_predict_f16.c
│   │   │   │   │       │   ├── arm_svm_rbf_predict_f32.c
│   │   │   │   │       │   ├── arm_svm_sigmoid_init_f16.c
│   │   │   │   │       │   ├── arm_svm_sigmoid_init_f32.c
│   │   │   │   │       │   ├── arm_svm_sigmoid_predict_f16.c
│   │   │   │   │       │   └── arm_svm_sigmoid_predict_f32.c
│   │   │   │   │       ├── StatisticsFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── StatisticsFunctions.c
│   │   │   │   │       │   ├── StatisticsFunctionsF16.c
│   │   │   │   │       │   ├── arm_absmax_f16.c
│   │   │   │   │       │   ├── arm_absmax_f32.c
│   │   │   │   │       │   ├── arm_absmax_f64.c
│   │   │   │   │       │   ├── arm_absmax_no_idx_f16.c
│   │   │   │   │       │   ├── arm_absmax_no_idx_f32.c
│   │   │   │   │       │   ├── arm_absmax_no_idx_f64.c
│   │   │   │   │       │   ├── arm_absmax_no_idx_q15.c
│   │   │   │   │       │   ├── arm_absmax_no_idx_q31.c
│   │   │   │   │       │   ├── arm_absmax_no_idx_q7.c
│   │   │   │   │       │   ├── arm_absmax_q15.c
│   │   │   │   │       │   ├── arm_absmax_q31.c
│   │   │   │   │       │   ├── arm_absmax_q7.c
│   │   │   │   │       │   ├── arm_absmin_f16.c
│   │   │   │   │       │   ├── arm_absmin_f32.c
│   │   │   │   │       │   ├── arm_absmin_f64.c
│   │   │   │   │       │   ├── arm_absmin_no_idx_f16.c
│   │   │   │   │       │   ├── arm_absmin_no_idx_f32.c
│   │   │   │   │       │   ├── arm_absmin_no_idx_f64.c
│   │   │   │   │       │   ├── arm_absmin_no_idx_q15.c
│   │   │   │   │       │   ├── arm_absmin_no_idx_q31.c
│   │   │   │   │       │   ├── arm_absmin_no_idx_q7.c
│   │   │   │   │       │   ├── arm_absmin_q15.c
│   │   │   │   │       │   ├── arm_absmin_q31.c
│   │   │   │   │       │   ├── arm_absmin_q7.c
│   │   │   │   │       │   ├── arm_entropy_f16.c
│   │   │   │   │       │   ├── arm_entropy_f32.c
│   │   │   │   │       │   ├── arm_entropy_f64.c
│   │   │   │   │       │   ├── arm_kullback_leibler_f16.c
│   │   │   │   │       │   ├── arm_kullback_leibler_f32.c
│   │   │   │   │       │   ├── arm_kullback_leibler_f64.c
│   │   │   │   │       │   ├── arm_logsumexp_dot_prod_f16.c
│   │   │   │   │       │   ├── arm_logsumexp_dot_prod_f32.c
│   │   │   │   │       │   ├── arm_logsumexp_f16.c
│   │   │   │   │       │   ├── arm_logsumexp_f32.c
│   │   │   │   │       │   ├── arm_max_f16.c
│   │   │   │   │       │   ├── arm_max_f32.c
│   │   │   │   │       │   ├── arm_max_f64.c
│   │   │   │   │       │   ├── arm_max_no_idx_f16.c
│   │   │   │   │       │   ├── arm_max_no_idx_f32.c
│   │   │   │   │       │   ├── arm_max_no_idx_f64.c
│   │   │   │   │       │   ├── arm_max_no_idx_q15.c
│   │   │   │   │       │   ├── arm_max_no_idx_q31.c
│   │   │   │   │       │   ├── arm_max_no_idx_q7.c
│   │   │   │   │       │   ├── arm_max_q15.c
│   │   │   │   │       │   ├── arm_max_q31.c
│   │   │   │   │       │   ├── arm_max_q7.c
│   │   │   │   │       │   ├── arm_mean_f16.c
│   │   │   │   │       │   ├── arm_mean_f32.c
│   │   │   │   │       │   ├── arm_mean_f64.c
│   │   │   │   │       │   ├── arm_mean_q15.c
│   │   │   │   │       │   ├── arm_mean_q31.c
│   │   │   │   │       │   ├── arm_mean_q7.c
│   │   │   │   │       │   ├── arm_min_f16.c
│   │   │   │   │       │   ├── arm_min_f32.c
│   │   │   │   │       │   ├── arm_min_f64.c
│   │   │   │   │       │   ├── arm_min_no_idx_f16.c
│   │   │   │   │       │   ├── arm_min_no_idx_f32.c
│   │   │   │   │       │   ├── arm_min_no_idx_f64.c
│   │   │   │   │       │   ├── arm_min_no_idx_q15.c
│   │   │   │   │       │   ├── arm_min_no_idx_q31.c
│   │   │   │   │       │   ├── arm_min_no_idx_q7.c
│   │   │   │   │       │   ├── arm_min_q15.c
│   │   │   │   │       │   ├── arm_min_q31.c
│   │   │   │   │       │   ├── arm_min_q7.c
│   │   │   │   │       │   ├── arm_mse_f16.c
│   │   │   │   │       │   ├── arm_mse_f32.c
│   │   │   │   │       │   ├── arm_mse_f64.c
│   │   │   │   │       │   ├── arm_mse_q15.c
│   │   │   │   │       │   ├── arm_mse_q31.c
│   │   │   │   │       │   ├── arm_mse_q7.c
│   │   │   │   │       │   ├── arm_power_f16.c
│   │   │   │   │       │   ├── arm_power_f32.c
│   │   │   │   │       │   ├── arm_power_f64.c
│   │   │   │   │       │   ├── arm_power_q15.c
│   │   │   │   │       │   ├── arm_power_q31.c
│   │   │   │   │       │   ├── arm_power_q7.c
│   │   │   │   │       │   ├── arm_rms_f16.c
│   │   │   │   │       │   ├── arm_rms_f32.c
│   │   │   │   │       │   ├── arm_rms_q15.c
│   │   │   │   │       │   ├── arm_rms_q31.c
│   │   │   │   │       │   ├── arm_std_f16.c
│   │   │   │   │       │   ├── arm_std_f32.c
│   │   │   │   │       │   ├── arm_std_f64.c
│   │   │   │   │       │   ├── arm_std_q15.c
│   │   │   │   │       │   ├── arm_std_q31.c
│   │   │   │   │       │   ├── arm_var_f16.c
│   │   │   │   │       │   ├── arm_var_f32.c
│   │   │   │   │       │   ├── arm_var_f64.c
│   │   │   │   │       │   ├── arm_var_q15.c
│   │   │   │   │       │   └── arm_var_q31.c
│   │   │   │   │       ├── SupportFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── SupportFunctions.c
│   │   │   │   │       │   ├── SupportFunctionsF16.c
│   │   │   │   │       │   ├── arm_barycenter_f16.c
│   │   │   │   │       │   ├── arm_barycenter_f32.c
│   │   │   │   │       │   ├── arm_bitonic_sort_f32.c
│   │   │   │   │       │   ├── arm_bubble_sort_f32.c
│   │   │   │   │       │   ├── arm_copy_f16.c
│   │   │   │   │       │   ├── arm_copy_f32.c
│   │   │   │   │       │   ├── arm_copy_f64.c
│   │   │   │   │       │   ├── arm_copy_q15.c
│   │   │   │   │       │   ├── arm_copy_q31.c
│   │   │   │   │       │   ├── arm_copy_q7.c
│   │   │   │   │       │   ├── arm_f16_to_float.c
│   │   │   │   │       │   ├── arm_f16_to_q15.c
│   │   │   │   │       │   ├── arm_fill_f16.c
│   │   │   │   │       │   ├── arm_fill_f32.c
│   │   │   │   │       │   ├── arm_fill_f64.c
│   │   │   │   │       │   ├── arm_fill_q15.c
│   │   │   │   │       │   ├── arm_fill_q31.c
│   │   │   │   │       │   ├── arm_fill_q7.c
│   │   │   │   │       │   ├── arm_float_to_f16.c
│   │   │   │   │       │   ├── arm_float_to_q15.c
│   │   │   │   │       │   ├── arm_float_to_q31.c
│   │   │   │   │       │   ├── arm_float_to_q7.c
│   │   │   │   │       │   ├── arm_heap_sort_f32.c
│   │   │   │   │       │   ├── arm_insertion_sort_f32.c
│   │   │   │   │       │   ├── arm_merge_sort_f32.c
│   │   │   │   │       │   ├── arm_merge_sort_init_f32.c
│   │   │   │   │       │   ├── arm_q15_to_f16.c
│   │   │   │   │       │   ├── arm_q15_to_float.c
│   │   │   │   │       │   ├── arm_q15_to_q31.c
│   │   │   │   │       │   ├── arm_q15_to_q7.c
│   │   │   │   │       │   ├── arm_q31_to_float.c
│   │   │   │   │       │   ├── arm_q31_to_q15.c
│   │   │   │   │       │   ├── arm_q31_to_q7.c
│   │   │   │   │       │   ├── arm_q7_to_float.c
│   │   │   │   │       │   ├── arm_q7_to_q15.c
│   │   │   │   │       │   ├── arm_q7_to_q31.c
│   │   │   │   │       │   ├── arm_quick_sort_f32.c
│   │   │   │   │       │   ├── arm_selection_sort_f32.c
│   │   │   │   │       │   ├── arm_sort_f32.c
│   │   │   │   │       │   ├── arm_sort_init_f32.c
│   │   │   │   │       │   ├── arm_weighted_sum_f16.c
│   │   │   │   │       │   └── arm_weighted_sum_f32.c
│   │   │   │   │       └── TransformFunctions/
│   │   │   │   │           ├── CMakeLists.txt
│   │   │   │   │           ├── TransformFunctions.c
│   │   │   │   │           ├── TransformFunctionsF16.c
│   │   │   │   │           ├── arm_bitreversal.c
│   │   │   │   │           ├── arm_bitreversal2.S
│   │   │   │   │           ├── arm_bitreversal2.c
│   │   │   │   │           ├── arm_bitreversal_f16.c
│   │   │   │   │           ├── arm_cfft_f16.c
│   │   │   │   │           ├── arm_cfft_f32.c
│   │   │   │   │           ├── arm_cfft_f64.c
│   │   │   │   │           ├── arm_cfft_init_f16.c
│   │   │   │   │           ├── arm_cfft_init_f32.c
│   │   │   │   │           ├── arm_cfft_init_f64.c
│   │   │   │   │           ├── arm_cfft_init_q15.c
│   │   │   │   │           ├── arm_cfft_init_q31.c
│   │   │   │   │           ├── arm_cfft_q15.c
│   │   │   │   │           ├── arm_cfft_q31.c
│   │   │   │   │           ├── arm_cfft_radix2_f16.c
│   │   │   │   │           ├── arm_cfft_radix2_f32.c
│   │   │   │   │           ├── arm_cfft_radix2_init_f16.c
│   │   │   │   │           ├── arm_cfft_radix2_init_f32.c
│   │   │   │   │           ├── arm_cfft_radix2_init_q15.c
│   │   │   │   │           ├── arm_cfft_radix2_init_q31.c
│   │   │   │   │           ├── arm_cfft_radix2_q15.c
│   │   │   │   │           ├── arm_cfft_radix2_q31.c
│   │   │   │   │           ├── arm_cfft_radix4_f16.c
│   │   │   │   │           ├── arm_cfft_radix4_f32.c
│   │   │   │   │           ├── arm_cfft_radix4_init_f16.c
│   │   │   │   │           ├── arm_cfft_radix4_init_f32.c
│   │   │   │   │           ├── arm_cfft_radix4_init_q15.c
│   │   │   │   │           ├── arm_cfft_radix4_init_q31.c
│   │   │   │   │           ├── arm_cfft_radix4_q15.c
│   │   │   │   │           ├── arm_cfft_radix4_q31.c
│   │   │   │   │           ├── arm_cfft_radix8_f16.c
│   │   │   │   │           ├── arm_cfft_radix8_f32.c
│   │   │   │   │           ├── arm_dct4_f32.c
│   │   │   │   │           ├── arm_dct4_init_f32.c
│   │   │   │   │           ├── arm_dct4_init_q15.c
│   │   │   │   │           ├── arm_dct4_init_q31.c
│   │   │   │   │           ├── arm_dct4_q15.c
│   │   │   │   │           ├── arm_dct4_q31.c
│   │   │   │   │           ├── arm_mfcc_f16.c
│   │   │   │   │           ├── arm_mfcc_f32.c
│   │   │   │   │           ├── arm_mfcc_init_f16.c
│   │   │   │   │           ├── arm_mfcc_init_f32.c
│   │   │   │   │           ├── arm_mfcc_init_q15.c
│   │   │   │   │           ├── arm_mfcc_init_q31.c
│   │   │   │   │           ├── arm_mfcc_q15.c
│   │   │   │   │           ├── arm_mfcc_q31.c
│   │   │   │   │           ├── arm_rfft_f32.c
│   │   │   │   │           ├── arm_rfft_fast_f16.c
│   │   │   │   │           ├── arm_rfft_fast_f32.c
│   │   │   │   │           ├── arm_rfft_fast_f64.c
│   │   │   │   │           ├── arm_rfft_fast_init_f16.c
│   │   │   │   │           ├── arm_rfft_fast_init_f32.c
│   │   │   │   │           ├── arm_rfft_fast_init_f64.c
│   │   │   │   │           ├── arm_rfft_init_f32.c
│   │   │   │   │           ├── arm_rfft_init_q15.c
│   │   │   │   │           ├── arm_rfft_init_q31.c
│   │   │   │   │           ├── arm_rfft_q15.c
│   │   │   │   │           └── arm_rfft_q31.c
│   │   │   │   ├── Device/
│   │   │   │   │   └── ST/
│   │   │   │   │       └── STM32H7xx/
│   │   │   │   │           ├── Include/
│   │   │   │   │           │   ├── stm32h745xx.h
│   │   │   │   │           │   ├── stm32h7xx.h
│   │   │   │   │           │   └── system_stm32h7xx.h
│   │   │   │   │           └── LICENSE.txt
│   │   │   │   ├── Include/
│   │   │   │   │   ├── cachel1_armv7.h
│   │   │   │   │   ├── cmsis_armcc.h
│   │   │   │   │   ├── cmsis_armclang.h
│   │   │   │   │   ├── cmsis_armclang_ltm.h
│   │   │   │   │   ├── cmsis_compiler.h
│   │   │   │   │   ├── cmsis_gcc.h
│   │   │   │   │   ├── cmsis_iccarm.h
│   │   │   │   │   ├── cmsis_version.h
│   │   │   │   │   ├── core_armv81mml.h
│   │   │   │   │   ├── core_armv8mbl.h
│   │   │   │   │   ├── core_armv8mml.h
│   │   │   │   │   ├── core_cm0.h
│   │   │   │   │   ├── core_cm0plus.h
│   │   │   │   │   ├── core_cm1.h
│   │   │   │   │   ├── core_cm23.h
│   │   │   │   │   ├── core_cm3.h
│   │   │   │   │   ├── core_cm33.h
│   │   │   │   │   ├── core_cm35p.h
│   │   │   │   │   ├── core_cm4.h
│   │   │   │   │   ├── core_cm55.h
│   │   │   │   │   ├── core_cm7.h
│   │   │   │   │   ├── core_cm85.h
│   │   │   │   │   ├── core_sc000.h
│   │   │   │   │   ├── core_sc300.h
│   │   │   │   │   ├── core_starmc1.h
│   │   │   │   │   ├── mpu_armv7.h
│   │   │   │   │   ├── mpu_armv8.h
│   │   │   │   │   ├── pac_armv81.h
│   │   │   │   │   ├── pmu_armv8.h
│   │   │   │   │   └── tz_context.h
│   │   │   │   ├── LICENSE.txt
│   │   │   │   ├── NN/
│   │   │   │   │   ├── CMakeLists.txt
│   │   │   │   │   ├── Include/
│   │   │   │   │   │   ├── arm_nn_math_types.h
│   │   │   │   │   │   ├── arm_nn_tables.h
│   │   │   │   │   │   ├── arm_nn_types.h
│   │   │   │   │   │   ├── arm_nnfunctions.h
│   │   │   │   │   │   └── arm_nnsupportfunctions.h
│   │   │   │   │   └── Source/
│   │   │   │   │       ├── ActivationFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── arm_nn_activations_q15.c
│   │   │   │   │       │   ├── arm_nn_activations_q7.c
│   │   │   │   │       │   ├── arm_relu6_s8.c
│   │   │   │   │       │   ├── arm_relu_q15.c
│   │   │   │   │       │   └── arm_relu_q7.c
│   │   │   │   │       ├── BasicMathFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── arm_elementwise_add_s16.c
│   │   │   │   │       │   ├── arm_elementwise_add_s8.c
│   │   │   │   │       │   ├── arm_elementwise_mul_s16.c
│   │   │   │   │       │   └── arm_elementwise_mul_s8.c
│   │   │   │   │       ├── CMakeLists.txt
│   │   │   │   │       ├── ConcatenationFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── arm_concatenation_s8_w.c
│   │   │   │   │       │   ├── arm_concatenation_s8_x.c
│   │   │   │   │       │   ├── arm_concatenation_s8_y.c
│   │   │   │   │       │   └── arm_concatenation_s8_z.c
│   │   │   │   │       ├── ConvolutionFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── arm_convolve_1_x_n_s8.c
│   │   │   │   │       │   ├── arm_convolve_1x1_HWC_q7_fast_nonsquare.c
│   │   │   │   │       │   ├── arm_convolve_1x1_s8_fast.c
│   │   │   │   │       │   ├── arm_convolve_HWC_q15_basic.c
│   │   │   │   │       │   ├── arm_convolve_HWC_q15_fast.c
│   │   │   │   │       │   ├── arm_convolve_HWC_q15_fast_nonsquare.c
│   │   │   │   │       │   ├── arm_convolve_HWC_q7_RGB.c
│   │   │   │   │       │   ├── arm_convolve_HWC_q7_basic.c
│   │   │   │   │       │   ├── arm_convolve_HWC_q7_basic_nonsquare.c
│   │   │   │   │       │   ├── arm_convolve_HWC_q7_fast.c
│   │   │   │   │       │   ├── arm_convolve_HWC_q7_fast_nonsquare.c
│   │   │   │   │       │   ├── arm_convolve_fast_s16.c
│   │   │   │   │       │   ├── arm_convolve_s16.c
│   │   │   │   │       │   ├── arm_convolve_s8.c
│   │   │   │   │       │   ├── arm_convolve_wrapper_s16.c
│   │   │   │   │       │   ├── arm_convolve_wrapper_s8.c
│   │   │   │   │       │   ├── arm_depthwise_conv_3x3_s8.c
│   │   │   │   │       │   ├── arm_depthwise_conv_s16.c
│   │   │   │   │       │   ├── arm_depthwise_conv_s8.c
│   │   │   │   │       │   ├── arm_depthwise_conv_s8_opt.c
│   │   │   │   │       │   ├── arm_depthwise_conv_u8_basic_ver1.c
│   │   │   │   │       │   ├── arm_depthwise_conv_wrapper_s8.c
│   │   │   │   │       │   ├── arm_depthwise_separable_conv_HWC_q7.c
│   │   │   │   │       │   ├── arm_depthwise_separable_conv_HWC_q7_nonsquare.c
│   │   │   │   │       │   ├── arm_nn_depthwise_conv_s8_core.c
│   │   │   │   │       │   ├── arm_nn_mat_mult_kernel_q7_q15.c
│   │   │   │   │       │   ├── arm_nn_mat_mult_kernel_q7_q15_reordered.c
│   │   │   │   │       │   ├── arm_nn_mat_mult_kernel_s8_s16.c
│   │   │   │   │       │   ├── arm_nn_mat_mult_kernel_s8_s16_reordered.c
│   │   │   │   │       │   └── arm_nn_mat_mult_s8.c
│   │   │   │   │       ├── FullyConnectedFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── arm_fully_connected_mat_q7_vec_q15.c
│   │   │   │   │       │   ├── arm_fully_connected_mat_q7_vec_q15_opt.c
│   │   │   │   │       │   ├── arm_fully_connected_q15.c
│   │   │   │   │       │   ├── arm_fully_connected_q15_opt.c
│   │   │   │   │       │   ├── arm_fully_connected_q7.c
│   │   │   │   │       │   ├── arm_fully_connected_q7_opt.c
│   │   │   │   │       │   ├── arm_fully_connected_s16.c
│   │   │   │   │       │   └── arm_fully_connected_s8.c
│   │   │   │   │       ├── NNSupportFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── arm_nn_accumulate_q7_to_q15.c
│   │   │   │   │       │   ├── arm_nn_add_q7.c
│   │   │   │   │       │   ├── arm_nn_depthwise_conv_nt_t_padded_s8.c
│   │   │   │   │       │   ├── arm_nn_depthwise_conv_nt_t_s8.c
│   │   │   │   │       │   ├── arm_nn_mat_mul_core_1x_s8.c
│   │   │   │   │       │   ├── arm_nn_mat_mul_core_4x_s8.c
│   │   │   │   │       │   ├── arm_nn_mat_mul_kernel_s16.c
│   │   │   │   │       │   ├── arm_nn_mat_mult_nt_t_s8.c
│   │   │   │   │       │   ├── arm_nn_mult_q15.c
│   │   │   │   │       │   ├── arm_nn_mult_q7.c
│   │   │   │   │       │   ├── arm_nn_vec_mat_mult_t_s16.c
│   │   │   │   │       │   ├── arm_nn_vec_mat_mult_t_s8.c
│   │   │   │   │       │   ├── arm_nn_vec_mat_mult_t_svdf_s8.c
│   │   │   │   │       │   ├── arm_nntables.c
│   │   │   │   │       │   ├── arm_q7_to_q15_no_shift.c
│   │   │   │   │       │   ├── arm_q7_to_q15_reordered_no_shift.c
│   │   │   │   │       │   ├── arm_q7_to_q15_reordered_with_offset.c
│   │   │   │   │       │   └── arm_q7_to_q15_with_offset.c
│   │   │   │   │       ├── PoolingFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── arm_avgpool_s16.c
│   │   │   │   │       │   ├── arm_avgpool_s8.c
│   │   │   │   │       │   ├── arm_max_pool_s16.c
│   │   │   │   │       │   ├── arm_max_pool_s8.c
│   │   │   │   │       │   └── arm_pool_q7_HWC.c
│   │   │   │   │       ├── ReshapeFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   └── arm_reshape_s8.c
│   │   │   │   │       ├── SVDFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── arm_svdf_s8.c
│   │   │   │   │       │   └── arm_svdf_state_s16_s8.c
│   │   │   │   │       └── SoftmaxFunctions/
│   │   │   │   │           ├── CMakeLists.txt
│   │   │   │   │           ├── arm_nn_softmax_common_s8.c
│   │   │   │   │           ├── arm_softmax_q15.c
│   │   │   │   │           ├── arm_softmax_q7.c
│   │   │   │   │           ├── arm_softmax_s16.c
│   │   │   │   │           ├── arm_softmax_s8.c
│   │   │   │   │           ├── arm_softmax_s8_s16.c
│   │   │   │   │           ├── arm_softmax_u8.c
│   │   │   │   │           └── arm_softmax_with_batch_q7.c
│   │   │   │   ├── RTOS/
│   │   │   │   │   └── Template/
│   │   │   │   │       └── cmsis_os.h
│   │   │   │   ├── RTOS2/
│   │   │   │   │   ├── Include/
│   │   │   │   │   │   ├── cmsis_os2.h
│   │   │   │   │   │   └── os_tick.h
│   │   │   │   │   ├── Source/
│   │   │   │   │   │   ├── os_systick.c
│   │   │   │   │   │   ├── os_tick_gtim.c
│   │   │   │   │   │   └── os_tick_ptim.c
│   │   │   │   │   └── Template/
│   │   │   │   │       ├── cmsis_os.h
│   │   │   │   │       └── cmsis_os1.c
│   │   │   │   └── st_readme.txt
│   │   │   └── STM32H7xx_HAL_Driver/
│   │   │       ├── Inc/
│   │   │       │   ├── Legacy/
│   │   │       │   │   └── stm32_hal_legacy.h
│   │   │       │   ├── stm32h7xx_hal.h
│   │   │       │   ├── stm32h7xx_hal_cortex.h
│   │   │       │   ├── stm32h7xx_hal_def.h
│   │   │       │   ├── stm32h7xx_hal_dma.h
│   │   │       │   ├── stm32h7xx_hal_dma_ex.h
│   │   │       │   ├── stm32h7xx_hal_eth.h
│   │   │       │   ├── stm32h7xx_hal_eth_ex.h
│   │   │       │   ├── stm32h7xx_hal_exti.h
│   │   │       │   ├── stm32h7xx_hal_flash.h
│   │   │       │   ├── stm32h7xx_hal_flash_ex.h
│   │   │       │   ├── stm32h7xx_hal_gpio.h
│   │   │       │   ├── stm32h7xx_hal_gpio_ex.h
│   │   │       │   ├── stm32h7xx_hal_hsem.h
│   │   │       │   ├── stm32h7xx_hal_i2c.h
│   │   │       │   ├── stm32h7xx_hal_i2c_ex.h
│   │   │       │   ├── stm32h7xx_hal_mdma.h
│   │   │       │   ├── stm32h7xx_hal_pwr.h
│   │   │       │   ├── stm32h7xx_hal_pwr_ex.h
│   │   │       │   ├── stm32h7xx_hal_rcc.h
│   │   │       │   ├── stm32h7xx_hal_rcc_ex.h
│   │   │       │   ├── stm32h7xx_hal_tim.h
│   │   │       │   ├── stm32h7xx_hal_tim_ex.h
│   │   │       │   ├── stm32h7xx_ll_bus.h
│   │   │       │   ├── stm32h7xx_ll_cortex.h
│   │   │       │   ├── stm32h7xx_ll_crs.h
│   │   │       │   ├── stm32h7xx_ll_dma.h
│   │   │       │   ├── stm32h7xx_ll_dmamux.h
│   │   │       │   ├── stm32h7xx_ll_exti.h
│   │   │       │   ├── stm32h7xx_ll_gpio.h
│   │   │       │   ├── stm32h7xx_ll_hsem.h
│   │   │       │   ├── stm32h7xx_ll_pwr.h
│   │   │       │   ├── stm32h7xx_ll_rcc.h
│   │   │       │   ├── stm32h7xx_ll_system.h
│   │   │       │   ├── stm32h7xx_ll_tim.h
│   │   │       │   └── stm32h7xx_ll_utils.h
│   │   │       ├── LICENSE.txt
│   │   │       └── Src/
│   │   │           ├── stm32h7xx_hal.c
│   │   │           ├── stm32h7xx_hal_cortex.c
│   │   │           ├── stm32h7xx_hal_dma.c
│   │   │           ├── stm32h7xx_hal_dma_ex.c
│   │   │           ├── stm32h7xx_hal_eth.c
│   │   │           ├── stm32h7xx_hal_eth_ex.c
│   │   │           ├── stm32h7xx_hal_exti.c
│   │   │           ├── stm32h7xx_hal_flash.c
│   │   │           ├── stm32h7xx_hal_flash_ex.c
│   │   │           ├── stm32h7xx_hal_gpio.c
│   │   │           ├── stm32h7xx_hal_hsem.c
│   │   │           ├── stm32h7xx_hal_i2c.c
│   │   │           ├── stm32h7xx_hal_i2c_ex.c
│   │   │           ├── stm32h7xx_hal_mdma.c
│   │   │           ├── stm32h7xx_hal_pwr.c
│   │   │           ├── stm32h7xx_hal_pwr_ex.c
│   │   │           ├── stm32h7xx_hal_rcc.c
│   │   │           ├── stm32h7xx_hal_rcc_ex.c
│   │   │           ├── stm32h7xx_hal_tim.c
│   │   │           └── stm32h7xx_hal_tim_ex.c
│   │   ├── EWARM/
│   │   │   ├── H7_Ethernet.ewd
│   │   │   ├── H7_Ethernet.ewp
│   │   │   ├── Project.eww
│   │   │   ├── startup_stm32h745xx_CM4.s
│   │   │   ├── startup_stm32h745xx_CM7.s
│   │   │   ├── stm32h745xx_dtcmram_CM7.icf
│   │   │   ├── stm32h745xx_flash_CM4.icf
│   │   │   ├── stm32h745xx_flash_CM7.icf
│   │   │   ├── stm32h745xx_flash_rw_sram1_CM7.icf
│   │   │   ├── stm32h745xx_flash_rw_sram2_CM4.icf
│   │   │   ├── stm32h745xx_sram1_CM7.icf
│   │   │   └── stm32h745xx_sram2_CM4.icf
│   │   ├── H7_Ethernet.ioc
│   │   ├── Middlewares/
│   │   │   └── Third_Party/
│   │   │       └── LwIP/
│   │   │           ├── src/
│   │   │           │   ├── api/
│   │   │           │   │   ├── api_lib.c
│   │   │           │   │   ├── api_msg.c
│   │   │           │   │   ├── err.c
│   │   │           │   │   ├── if_api.c
│   │   │           │   │   ├── netbuf.c
│   │   │           │   │   ├── netdb.c
│   │   │           │   │   ├── netifapi.c
│   │   │           │   │   ├── sockets.c
│   │   │           │   │   └── tcpip.c
│   │   │           │   ├── apps/
│   │   │           │   │   └── mqtt/
│   │   │           │   │       └── mqtt.c
│   │   │           │   ├── core/
│   │   │           │   │   ├── altcp.c
│   │   │           │   │   ├── altcp_alloc.c
│   │   │           │   │   ├── altcp_tcp.c
│   │   │           │   │   ├── def.c
│   │   │           │   │   ├── dns.c
│   │   │           │   │   ├── inet_chksum.c
│   │   │           │   │   ├── init.c
│   │   │           │   │   ├── ip.c
│   │   │           │   │   ├── ipv4/
│   │   │           │   │   │   ├── acd.c
│   │   │           │   │   │   ├── autoip.c
│   │   │           │   │   │   ├── dhcp.c
│   │   │           │   │   │   ├── etharp.c
│   │   │           │   │   │   ├── icmp.c
│   │   │           │   │   │   ├── igmp.c
│   │   │           │   │   │   ├── ip4.c
│   │   │           │   │   │   ├── ip4_addr.c
│   │   │           │   │   │   └── ip4_frag.c
│   │   │           │   │   ├── ipv6/
│   │   │           │   │   │   ├── dhcp6.c
│   │   │           │   │   │   ├── ethip6.c
│   │   │           │   │   │   ├── icmp6.c
│   │   │           │   │   │   ├── inet6.c
│   │   │           │   │   │   ├── ip6.c
│   │   │           │   │   │   ├── ip6_addr.c
│   │   │           │   │   │   ├── ip6_frag.c
│   │   │           │   │   │   ├── mld6.c
│   │   │           │   │   │   └── nd6.c
│   │   │           │   │   ├── mem.c
│   │   │           │   │   ├── memp.c
│   │   │           │   │   ├── netif.c
│   │   │           │   │   ├── pbuf.c
│   │   │           │   │   ├── raw.c
│   │   │           │   │   ├── stats.c
│   │   │           │   │   ├── sys.c
│   │   │           │   │   ├── tcp.c
│   │   │           │   │   ├── tcp_in.c
│   │   │           │   │   ├── tcp_out.c
│   │   │           │   │   ├── timeouts.c
│   │   │           │   │   └── udp.c
│   │   │           │   ├── include/
│   │   │           │   │   ├── compat/
│   │   │           │   │   │   ├── posix/
│   │   │           │   │   │   │   ├── arpa/
│   │   │           │   │   │   │   │   └── inet.h
│   │   │           │   │   │   │   ├── net/
│   │   │           │   │   │   │   │   └── if.h
│   │   │           │   │   │   │   ├── netdb.h
│   │   │           │   │   │   │   └── sys/
│   │   │           │   │   │   │       └── socket.h
│   │   │           │   │   │   └── stdc/
│   │   │           │   │   │       └── errno.h
│   │   │           │   │   ├── lwip/
│   │   │           │   │   │   ├── acd.h
│   │   │           │   │   │   ├── altcp.h
│   │   │           │   │   │   ├── altcp_tcp.h
│   │   │           │   │   │   ├── altcp_tls.h
│   │   │           │   │   │   ├── api.h
│   │   │           │   │   │   ├── apps/
│   │   │           │   │   │   │   ├── altcp_proxyconnect.h
│   │   │           │   │   │   │   ├── altcp_tls_mbedtls_opts.h
│   │   │           │   │   │   │   ├── fs.h
│   │   │           │   │   │   │   ├── http_client.h
│   │   │           │   │   │   │   ├── httpd.h
│   │   │           │   │   │   │   ├── httpd_opts.h
│   │   │           │   │   │   │   ├── lwiperf.h
│   │   │           │   │   │   │   ├── mdns.h
│   │   │           │   │   │   │   ├── mdns_domain.h
│   │   │           │   │   │   │   ├── mdns_opts.h
│   │   │           │   │   │   │   ├── mdns_out.h
│   │   │           │   │   │   │   ├── mdns_priv.h
│   │   │           │   │   │   │   ├── mqtt.h
│   │   │           │   │   │   │   ├── mqtt_opts.h
│   │   │           │   │   │   │   ├── mqtt_priv.h
│   │   │           │   │   │   │   ├── netbiosns.h
│   │   │           │   │   │   │   ├── netbiosns_opts.h
│   │   │           │   │   │   │   ├── smtp.h
│   │   │           │   │   │   │   ├── smtp_opts.h
│   │   │           │   │   │   │   ├── snmp.h
│   │   │           │   │   │   │   ├── snmp_core.h
│   │   │           │   │   │   │   ├── snmp_mib2.h
│   │   │           │   │   │   │   ├── snmp_opts.h
│   │   │           │   │   │   │   ├── snmp_scalar.h
│   │   │           │   │   │   │   ├── snmp_snmpv2_framework.h
│   │   │           │   │   │   │   ├── snmp_snmpv2_usm.h
│   │   │           │   │   │   │   ├── snmp_table.h
│   │   │           │   │   │   │   ├── snmp_threadsync.h
│   │   │           │   │   │   │   ├── snmpv3.h
│   │   │           │   │   │   │   ├── sntp.h
│   │   │           │   │   │   │   ├── sntp_opts.h
│   │   │           │   │   │   │   ├── tftp_client.h
│   │   │           │   │   │   │   ├── tftp_common.h
│   │   │           │   │   │   │   ├── tftp_opts.h
│   │   │           │   │   │   │   └── tftp_server.h
│   │   │           │   │   │   ├── arch.h
│   │   │           │   │   │   ├── autoip.h
│   │   │           │   │   │   ├── debug.h
│   │   │           │   │   │   ├── def.h
│   │   │           │   │   │   ├── dhcp.h
│   │   │           │   │   │   ├── dhcp6.h
│   │   │           │   │   │   ├── dns.h
│   │   │           │   │   │   ├── err.h
│   │   │           │   │   │   ├── errno.h
│   │   │           │   │   │   ├── etharp.h
│   │   │           │   │   │   ├── ethip6.h
│   │   │           │   │   │   ├── icmp.h
│   │   │           │   │   │   ├── icmp6.h
│   │   │           │   │   │   ├── if_api.h
│   │   │           │   │   │   ├── igmp.h
│   │   │           │   │   │   ├── inet.h
│   │   │           │   │   │   ├── inet_chksum.h
│   │   │           │   │   │   ├── init.h
│   │   │           │   │   │   ├── ip.h
│   │   │           │   │   │   ├── ip4.h
│   │   │           │   │   │   ├── ip4_addr.h
│   │   │           │   │   │   ├── ip4_frag.h
│   │   │           │   │   │   ├── ip6.h
│   │   │           │   │   │   ├── ip6_addr.h
│   │   │           │   │   │   ├── ip6_frag.h
│   │   │           │   │   │   ├── ip6_zone.h
│   │   │           │   │   │   ├── ip_addr.h
│   │   │           │   │   │   ├── mem.h
│   │   │           │   │   │   ├── memp.h
│   │   │           │   │   │   ├── mld6.h
│   │   │           │   │   │   ├── nd6.h
│   │   │           │   │   │   ├── netbuf.h
│   │   │           │   │   │   ├── netdb.h
│   │   │           │   │   │   ├── netif.h
│   │   │           │   │   │   ├── netifapi.h
│   │   │           │   │   │   ├── opt.h
│   │   │           │   │   │   ├── pbuf.h
│   │   │           │   │   │   ├── priv/
│   │   │           │   │   │   │   ├── altcp_priv.h
│   │   │           │   │   │   │   ├── api_msg.h
│   │   │           │   │   │   │   ├── mem_priv.h
│   │   │           │   │   │   │   ├── memp_priv.h
│   │   │           │   │   │   │   ├── memp_std.h
│   │   │           │   │   │   │   ├── nd6_priv.h
│   │   │           │   │   │   │   ├── raw_priv.h
│   │   │           │   │   │   │   ├── sockets_priv.h
│   │   │           │   │   │   │   ├── tcp_priv.h
│   │   │           │   │   │   │   └── tcpip_priv.h
│   │   │           │   │   │   ├── prot/
│   │   │           │   │   │   │   ├── acd.h
│   │   │           │   │   │   │   ├── autoip.h
│   │   │           │   │   │   │   ├── dhcp.h
│   │   │           │   │   │   │   ├── dhcp6.h
│   │   │           │   │   │   │   ├── dns.h
│   │   │           │   │   │   │   ├── etharp.h
│   │   │           │   │   │   │   ├── ethernet.h
│   │   │           │   │   │   │   ├── iana.h
│   │   │           │   │   │   │   ├── icmp.h
│   │   │           │   │   │   │   ├── icmp6.h
│   │   │           │   │   │   │   ├── ieee.h
│   │   │           │   │   │   │   ├── igmp.h
│   │   │           │   │   │   │   ├── ip.h
│   │   │           │   │   │   │   ├── ip4.h
│   │   │           │   │   │   │   ├── ip6.h
│   │   │           │   │   │   │   ├── mld6.h
│   │   │           │   │   │   │   ├── nd6.h
│   │   │           │   │   │   │   ├── tcp.h
│   │   │           │   │   │   │   └── udp.h
│   │   │           │   │   │   ├── raw.h
│   │   │           │   │   │   ├── sio.h
│   │   │           │   │   │   ├── snmp.h
│   │   │           │   │   │   ├── sockets.h
│   │   │           │   │   │   ├── stats.h
│   │   │           │   │   │   ├── sys.h
│   │   │           │   │   │   ├── tcp.h
│   │   │           │   │   │   ├── tcpbase.h
│   │   │           │   │   │   ├── tcpip.h
│   │   │           │   │   │   ├── timeouts.h
│   │   │           │   │   │   └── udp.h
│   │   │           │   │   └── netif/
│   │   │           │   │       ├── bridgeif.h
│   │   │           │   │       ├── bridgeif_opts.h
│   │   │           │   │       ├── etharp.h
│   │   │           │   │       ├── ethernet.h
│   │   │           │   │       ├── ieee802154.h
│   │   │           │   │       ├── lowpan6.h
│   │   │           │   │       ├── lowpan6_ble.h
│   │   │           │   │       ├── lowpan6_common.h
│   │   │           │   │       ├── lowpan6_opts.h
│   │   │           │   │       ├── ppp/
│   │   │           │   │       │   ├── ccp.h
│   │   │           │   │       │   ├── chap-md5.h
│   │   │           │   │       │   ├── chap-new.h
│   │   │           │   │       │   ├── chap_ms.h
│   │   │           │   │       │   ├── eap.h
│   │   │           │   │       │   ├── ecp.h
│   │   │           │   │       │   ├── eui64.h
│   │   │           │   │       │   ├── fsm.h
│   │   │           │   │       │   ├── ipcp.h
│   │   │           │   │       │   ├── ipv6cp.h
│   │   │           │   │       │   ├── lcp.h
│   │   │           │   │       │   ├── magic.h
│   │   │           │   │       │   ├── mppe.h
│   │   │           │   │       │   ├── ppp.h
│   │   │           │   │       │   ├── ppp_impl.h
│   │   │           │   │       │   ├── ppp_opts.h
│   │   │           │   │       │   ├── pppapi.h
│   │   │           │   │       │   ├── pppcrypt.h
│   │   │           │   │       │   ├── pppdebug.h
│   │   │           │   │       │   ├── pppoe.h
│   │   │           │   │       │   ├── pppol2tp.h
│   │   │           │   │       │   ├── pppos.h
│   │   │           │   │       │   ├── upap.h
│   │   │           │   │       │   └── vj.h
│   │   │           │   │       ├── slipif.h
│   │   │           │   │       └── zepif.h
│   │   │           │   └── netif/
│   │   │           │       ├── bridgeif.c
│   │   │           │       ├── bridgeif_fdb.c
│   │   │           │       ├── ethernet.c
│   │   │           │       ├── lowpan6.c
│   │   │           │       ├── lowpan6_ble.c
│   │   │           │       ├── lowpan6_common.c
│   │   │           │       ├── ppp/
│   │   │           │       │   ├── auth.c
│   │   │           │       │   ├── ccp.c
│   │   │           │       │   ├── chap-md5.c
│   │   │           │       │   ├── chap-new.c
│   │   │           │       │   ├── chap_ms.c
│   │   │           │       │   ├── demand.c
│   │   │           │       │   ├── eap.c
│   │   │           │       │   ├── ecp.c
│   │   │           │       │   ├── eui64.c
│   │   │           │       │   ├── fsm.c
│   │   │           │       │   ├── ipcp.c
│   │   │           │       │   ├── ipv6cp.c
│   │   │           │       │   ├── lcp.c
│   │   │           │       │   ├── magic.c
│   │   │           │       │   ├── mppe.c
│   │   │           │       │   ├── mul

================================================
FILE CONTENTS
================================================

================================================
FILE: .github/FUNDING.yml
================================================
# These are supported funding model platforms

github: 
patreon: controllerstech
open_collective: # Replace with a single Open Collective username
ko_fi: controllerstech
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
polar: # Replace with a single Polar username
buy_me_a_coffee: # Replace with a single Buy Me a Coffee username
thanks_dev: # Replace with a single thanks.dev username
custom: 'https://paypal.me/controllertech'


================================================
FILE: BME280/I2C/BME280_STM32.c
================================================
/*
  ***************************************************************************************************************
  ***************************************************************************************************************
  ***************************************************************************************************************

  File:		  BME280_STM32.c
  Author:     ControllersTech.com
  Updated:    Dec 14, 2021

  ***************************************************************************************************************
  Copyright (C) 2017 ControllersTech.com

  This is a free software under the GNU license, you can redistribute it and/or modify it under the terms
  of the GNU General Public License version 3 as published by the Free Software Foundation.
  This software library is shared with public for educational purposes, without WARRANTY and Author is not liable for any damages caused directly
  or indirectly by this software, read more about this on the GNU General Public License.

  ***************************************************************************************************************
*/

#include "BME280_STM32.h"

extern I2C_HandleTypeDef hi2c1;
#define BME280_I2C &hi2c1

#define SUPPORT_64BIT 1
//#define SUPPORT_32BIT 1

#define BME280_ADDRESS 0xEC  // SDIO is grounded, the 7 bit address is 0x76 and 8 bit address = 0x76<<1 = 0xEC

extern float Temperature, Pressure, Humidity;

uint8_t chipID;

uint8_t TrimParam[36];
int32_t tRaw, pRaw, hRaw;

uint16_t dig_T1,  \
         dig_P1, \
         dig_H1, dig_H3;

int16_t  dig_T2, dig_T3, \
         dig_P2, dig_P3, dig_P4, dig_P5, dig_P6, dig_P7, dig_P8, dig_P9, \
		 dig_H2,  dig_H4, dig_H5, dig_H6;



// Read the Trimming parameters saved in the NVM ROM of the device
void TrimRead(void)
{
	uint8_t trimdata[32];
	// Read NVM from 0x88 to 0xA1
	HAL_I2C_Mem_Read(BME280_I2C, BME280_ADDRESS, 0x88, 1, trimdata, 25, HAL_MAX_DELAY);

	// Read NVM from 0xE1 to 0xE7
	HAL_I2C_Mem_Read(BME280_I2C, BME280_ADDRESS, 0xE1, 1, (uint8_t *)trimdata+25, 7, HAL_MAX_DELAY);

	// Arrange the data as per the datasheet (page no. 24)
	dig_T1 = (trimdata[1]<<8) | trimdata[0];
	dig_T2 = (trimdata[3]<<8) | trimdata[2];
	dig_T3 = (trimdata[5]<<8) | trimdata[4];
	dig_P1 = (trimdata[7]<<8) | trimdata[5];
	dig_P2 = (trimdata[9]<<8) | trimdata[6];
	dig_P3 = (trimdata[11]<<8) | trimdata[10];
	dig_P4 = (trimdata[13]<<8) | trimdata[12];
	dig_P5 = (trimdata[15]<<8) | trimdata[14];
	dig_P6 = (trimdata[17]<<8) | trimdata[16];
	dig_P7 = (trimdata[19]<<8) | trimdata[18];
	dig_P8 = (trimdata[21]<<8) | trimdata[20];
	dig_P9 = (trimdata[23]<<8) | trimdata[22];
	dig_H1 = trimdata[24];
	dig_H2 = (trimdata[26]<<8) | trimdata[25];
	dig_H3 = (trimdata[27]);
	dig_H4 = (trimdata[28]<<4) | (trimdata[29] & 0x0f);
	dig_H5 = (trimdata[30]<<4) | (trimdata[29]>>4);
	dig_H6 = (trimdata[31]);
}

/* Configuration for the BME280

 * @osrs is the oversampling to improve the accuracy
 *       if osrs is set to OSRS_OFF, the respective measurement will be skipped
 *       It can be set to OSRS_1, OSRS_2, OSRS_4, etc. Check the header file
 *
 * @mode can be used to set the mode for the device
 *       MODE_SLEEP will put the device in sleep
 *       MODE_FORCED device goes back to sleep after one measurement. You need to use the BME280_WakeUP() function before every measurement
 *       MODE_NORMAL device performs measurement in the normal mode. Check datasheet page no 16
 *
 * @t_sb is the standby time. The time sensor waits before performing another measurement
 *       It is used along with the normal mode. Check datasheet page no 16 and page no 30
 *
 * @filter is the IIR filter coefficients
 *         IIR is used to avoid the short term fluctuations
 *         Check datasheet page no 18 and page no 30
 */

int BME280_Config (uint8_t osrs_t, uint8_t osrs_p, uint8_t osrs_h, uint8_t mode, uint8_t t_sb, uint8_t filter)
{
	// Read the Trimming parameters
	TrimRead();


	uint8_t datatowrite = 0;
	uint8_t datacheck = 0;

	// Reset the device
	datatowrite = 0xB6;  // reset sequence
	if (HAL_I2C_Mem_Write(BME280_I2C, BME280_ADDRESS, RESET_REG, 1, &datatowrite, 1, 1000) != HAL_OK)
	{
		return -1;
	}

	HAL_Delay (100);


	// write the humidity oversampling to 0xF2
	datatowrite = osrs_h;
	if (HAL_I2C_Mem_Write(BME280_I2C, BME280_ADDRESS, CTRL_HUM_REG, 1, &datatowrite, 1, 1000) != HAL_OK)
	{
		return -1;
	}
	HAL_Delay (100);
	HAL_I2C_Mem_Read(BME280_I2C, BME280_ADDRESS, CTRL_HUM_REG, 1, &datacheck, 1, 1000);
	if (datacheck != datatowrite)
	{
		return -1;
	}


	// write the standby time and IIR filter coeff to 0xF5
	datatowrite = (t_sb <<5) |(filter << 2);
	if (HAL_I2C_Mem_Write(BME280_I2C, BME280_ADDRESS, CONFIG_REG, 1, &datatowrite, 1, 1000) != HAL_OK)
	{
		return -1;
	}
	HAL_Delay (100);
	HAL_I2C_Mem_Read(BME280_I2C, BME280_ADDRESS, CONFIG_REG, 1, &datacheck, 1, 1000);
	if (datacheck != datatowrite)
	{
		return -1;
	}


	// write the pressure and temp oversampling along with mode to 0xF4
	datatowrite = (osrs_t <<5) |(osrs_p << 2) | mode;
	if (HAL_I2C_Mem_Write(BME280_I2C, BME280_ADDRESS, CTRL_MEAS_REG, 1, &datatowrite, 1, 1000) != HAL_OK)
	{
		return -1;
	}
	HAL_Delay (100);
	HAL_I2C_Mem_Read(BME280_I2C, BME280_ADDRESS, CTRL_MEAS_REG, 1, &datacheck, 1, 1000);
	if (datacheck != datatowrite)
	{
		return -1;
	}

	return 0;
}


int BMEReadRaw(void)
{
	uint8_t RawData[8];

	// Check the chip ID before reading
	HAL_I2C_Mem_Read(&hi2c1, BME280_ADDRESS, ID_REG, 1, &chipID, 1, 1000);

	if (chipID == 0x60)
	{
		// Read the Registers 0xF7 to 0xFE
		HAL_I2C_Mem_Read(BME280_I2C, BME280_ADDRESS, PRESS_MSB_REG, 1, RawData, 8, HAL_MAX_DELAY);

		/* Calculate the Raw data for the parameters
		 * Here the Pressure and Temperature are in 20 bit format and humidity in 16 bit format
		 */
		pRaw = (RawData[0]<<12)|(RawData[1]<<4)|(RawData[2]>>4);
		tRaw = (RawData[3]<<12)|(RawData[4]<<4)|(RawData[5]>>4);
		hRaw = (RawData[6]<<8)|(RawData[7]);

		return 0;
	}

	else return -1;
}

/* To be used when doing the force measurement
 * the Device need to be put in forced mode every time the measurement is needed
 */
void BME280_WakeUP(void)
{
	uint8_t datatowrite = 0;

	// first read the register
	HAL_I2C_Mem_Read(BME280_I2C, BME280_ADDRESS, CTRL_MEAS_REG, 1, &datatowrite, 1, 1000);

	// modify the data with the forced mode
	datatowrite = datatowrite | MODE_FORCED;

	// write the new data to the register
	HAL_I2C_Mem_Write(BME280_I2C, BME280_ADDRESS, CTRL_MEAS_REG, 1, &datatowrite, 1, 1000);

	HAL_Delay (100);
}

/************* COMPENSATION CALCULATION AS PER DATASHEET (page 25) **************************/

/* Returns temperature in DegC, resolution is 0.01 DegC. Output value of “5123” equals 51.23 DegC.
   t_fine carries fine temperature as global value
*/
int32_t t_fine;
int32_t BME280_compensate_T_int32(int32_t adc_T)
{
	int32_t var1, var2, T;
	var1 = ((((adc_T>>3) - ((int32_t)dig_T1<<1))) * ((int32_t)dig_T2)) >> 11;
	var2 = (((((adc_T>>4) - ((int32_t)dig_T1)) * ((adc_T>>4) - ((int32_t)dig_T1)))>> 12) *((int32_t)dig_T3)) >> 14;
	t_fine = var1 + var2;
	T = (t_fine * 5 + 128) >> 8;
	return T;
}


#if SUPPORT_64BIT
/* Returns pressure in Pa as unsigned 32 bit integer in Q24.8 format (24 integer bits and 8 fractional bits).
   Output value of “24674867” represents 24674867/256 = 96386.2 Pa = 963.862 hPa
*/
uint32_t BME280_compensate_P_int64(int32_t adc_P)
{
	int64_t var1, var2, p;
	var1 = ((int64_t)t_fine) - 128000;
	var2 = var1 * var1 * (int64_t)dig_P6;
	var2 = var2 + ((var1*(int64_t)dig_P5)<<17);
	var2 = var2 + (((int64_t)dig_P4)<<35);
	var1 = ((var1 * var1 * (int64_t)dig_P3)>>8) + ((var1 * (int64_t)dig_P2)<<12);
	var1 = (((((int64_t)1)<<47)+var1))*((int64_t)dig_P1)>>33;
	if (var1 == 0)
	{
		return 0; // avoid exception caused by division by zero
	}
	p = 1048576-adc_P;
	p = (((p<<31)-var2)*3125)/var1;
	var1 = (((int64_t)dig_P9) * (p>>13) * (p>>13)) >> 25;
	var2 = (((int64_t)dig_P8) * p) >> 19;
	p = ((p + var1 + var2) >> 8) + (((int64_t)dig_P7)<<4);
	return (uint32_t)p;
}

#elif SUPPORT_32BIT
// Returns pressure in Pa as unsigned 32 bit integer. Output value of “96386” equals 96386 Pa = 963.86 hPa
uint32_t BME280_compensate_P_int32(int32_t adc_P)
{
	int32_t var1, var2;
	uint32_t p;
	var1 = (((int32_t)t_fine)>>1) - (int32_t)64000;
	var2 = (((var1>>2) * (var1>>2)) >> 11 ) * ((int32_t)dig_P6);
	var2 = var2 + ((var1*((int32_t)dig_P5))<<1);
	var2 = (var2>>2)+(((int32_t)dig_P4)<<16);
	var1 = (((dig_P3 * (((var1>>2) * (var1>>2)) >> 13 )) >> 3) + ((((int32_t)dig_P2) *var1)>>1))>>18;
	var1 =((((32768+var1))*((int32_t)dig_P1))>>15);
	if (var1 == 0)
	{
		return 0; // avoid exception caused by division by zero
	}
	p = (((uint32_t)(((int32_t)1048576)-adc_P)-(var2>>12)))*3125;
	if (p < 0x80000000)
	{
		p = (p << 1) / ((uint32_t)var1);
	}
	else
	{
		p = (p / (uint32_t)var1) * 2;
	}
	var1 = (((int32_t)dig_P9) * ((int32_t)(((p>>3) * (p>>3))>>13)))>>12;
	var2 = (((int32_t)(p>>2)) * ((int32_t)dig_P8))>>13;
	p = (uint32_t)((int32_t)p + ((var1 + var2 + dig_P7) >> 4));
	return p;
}
#endif

/* Returns humidity in %RH as unsigned 32 bit integer in Q22.10 format (22 integer and 10 fractional bits).
   Output value of “47445” represents 47445/1024 = 46.333 %RH
*/
uint32_t bme280_compensate_H_int32(int32_t adc_H)
{
	int32_t v_x1_u32r;
	v_x1_u32r = (t_fine - ((int32_t)76800));
	v_x1_u32r = (((((adc_H << 14) - (((int32_t)dig_H4) << 20) - (((int32_t)dig_H5) *\
			v_x1_u32r)) + ((int32_t)16384)) >> 15) * (((((((v_x1_u32r *\
					((int32_t)dig_H6)) >> 10) * (((v_x1_u32r * ((int32_t)dig_H3)) >> 11) +\
							((int32_t)32768))) >> 10) + ((int32_t)2097152)) * ((int32_t)dig_H2) +\
					8192) >> 14));
	v_x1_u32r = (v_x1_u32r - (((((v_x1_u32r >> 15) * (v_x1_u32r >> 15)) >> 7) *\
			((int32_t)dig_H1)) >> 4));
	v_x1_u32r = (v_x1_u32r < 0 ? 0 : v_x1_u32r);
	v_x1_u32r = (v_x1_u32r > 419430400 ? 419430400 : v_x1_u32r);
	return (uint32_t)(v_x1_u32r>>12);
}
/*********************************************************************************************************/


/* measure the temp, pressure and humidity
 * the values will be stored in the parameters passed to the function
 */
void BME280_Measure (void)
{
	if (BMEReadRaw() == 0)
	{
		  if (tRaw == 0x800000) Temperature = 0; // value in case temp measurement was disabled
		  else
		  {
			  Temperature = (BME280_compensate_T_int32 (tRaw))/100.0;  // as per datasheet, the temp is x100
		  }

		  if (pRaw == 0x800000) Pressure = 0; // value in case temp measurement was disabled
		  else
		  {
#if SUPPORT_64BIT
			  Pressure = (BME280_compensate_P_int64 (pRaw))/256.0;  // as per datasheet, the pressure is x256

#elif SUPPORT_32BIT
			  Pressure = (BME280_compensate_P_int32 (pRaw));  // as per datasheet, the pressure is Pa

#endif
		  }

		  if (hRaw == 0x8000) Humidity = 0; // value in case temp measurement was disabled
		  else
		  {
			  Humidity = (bme280_compensate_H_int32 (hRaw))/1024.0;  // as per datasheet, the temp is x1024
		  }
	}


	// if the device is detached
	else
	{
		Temperature = Pressure = Humidity = 0;
	}
}



================================================
FILE: BME280/I2C/BME280_STM32.h
================================================
/*
 ***************************************************************************************************************
 ***************************************************************************************************************
 ***************************************************************************************************************

  File:		  BME280_STM32.h
  Author:     ControllersTech.com
  Updated:    Dec 14, 2021

 ***************************************************************************************************************
  Copyright (C) 2017 ControllersTech.com

  This is a free software under the GNU license, you can redistribute it and/or modify it under the terms
  of the GNU General Public License version 3 as published by the Free Software Foundation.
  This software library is shared with public for educational purposes, without WARRANTY and Author is not liable for any damages caused directly
  or indirectly by this software, read more about this on the GNU General Public License.

 ***************************************************************************************************************
 */


#ifndef INC_BME280_STM32_H_
#define INC_BME280_STM32_H_

#include "stm32f1xx_hal.h"

/* Configuration for the BME280

 * @osrs is the oversampling to improve the accuracy
 *       if osrs is set to OSRS_OFF, the respective measurement will be skipped
 *       It can be set to OSRS_1, OSRS_2, OSRS_4, etc. Check the header file
 *
 * @mode can be used to set the mode for the device
 *       MODE_SLEEP will put the device in sleep
 *       MODE_FORCED device goes back to sleep after one measurement. You need to use the BME280_WakeUP() function before every measurement
 *       MODE_NORMAL device performs measurement in the normal mode. Check datasheet page no 16
 *
 * @t_sb is the standby time. The time sensor waits before performing another measurement
 *       It is used along with the normal mode. Check datasheet page no 16 and page no 30
 *
 * @filter is the IIR filter coefficients
 *         IIR is used to avoid the short term fluctuations
 *         Check datasheet page no 18 and page no 30
 */

int BME280_Config (uint8_t osrs_t, uint8_t osrs_p, uint8_t osrs_h, uint8_t mode, uint8_t t_sb, uint8_t filter);


// Read the Trimming parameters saved in the NVM ROM of the device
void TrimRead(void);

/* To be used when doing the force measurement
 * the Device need to be put in forced mode every time the measurement is needed
 */
void BME280_WakeUP(void);

/* measure the temp, pressure and humidity
 * the values will be stored in the parameters passed to the function
 */
void BME280_Measure (void);


// Oversampling definitions
#define OSRS_OFF    	0x00
#define OSRS_1      	0x01
#define OSRS_2      	0x02
#define OSRS_4      	0x03
#define OSRS_8      	0x04
#define OSRS_16     	0x05

// MODE Definitions
#define MODE_SLEEP      0x00
#define MODE_FORCED     0x01
#define MODE_NORMAL     0x03

// Standby Time
#define T_SB_0p5    	0x00
#define T_SB_62p5   	0x01
#define T_SB_125    	0x02
#define T_SB_250    	0x03
#define T_SB_500    	0x04
#define T_SB_1000   	0x05
#define T_SB_10     	0x06
#define T_SB_20     	0x07

// IIR Filter Coefficients
#define IIR_OFF     	0x00
#define IIR_2       	0x01
#define IIR_4       	0x02
#define IIR_8       	0x03
#define IIR_16      	0x04


// REGISTERS DEFINITIONS
#define ID_REG      	0xD0
#define RESET_REG  		0xE0
#define CTRL_HUM_REG    0xF2
#define STATUS_REG      0xF3
#define CTRL_MEAS_REG   0xF4
#define CONFIG_REG      0xF5
#define PRESS_MSB_REG   0xF7


#endif /* INC_BME280_STM32_H_ */


================================================
FILE: BME280/I2C/README.md
================================================
# Interface BME280 with STM32 using I2C

1. Define the I2C instance in ```BME280_STM32.c``` File
2. Define the ```64 Bit / 32 Bit Support ```

To watch the implementation, or How I manage to write the library using the datasheet, check out the video https://youtu.be/jDhkfe2YG_o

To download the full project for Bluepill, goto [https://controllerstech.com/bme280-with-stm32/](https://controllerstech.com/interface-bme280-with-stm32/)


================================================
FILE: BME280/I2C/TUT_BME280_F103.ioc
================================================
#MicroXplorer Configuration settings - do not modify
File.Version=6
KeepUserPlacement=false
Mcu.Family=STM32F1
Mcu.IP0=I2C1
Mcu.IP1=NVIC
Mcu.IP2=RCC
Mcu.IP3=SYS
Mcu.IPNb=4
Mcu.Name=STM32F103C(8-B)Tx
Mcu.Package=LQFP48
Mcu.Pin0=PD0-OSC_IN
Mcu.Pin1=PD1-OSC_OUT
Mcu.Pin2=PA13
Mcu.Pin3=PA14
Mcu.Pin4=PB6
Mcu.Pin5=PB7
Mcu.Pin6=VP_SYS_VS_Systick
Mcu.PinsNb=7
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32F103C8Tx
MxCube.Version=6.4.0
MxDb.Version=DB.6.0.40
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
PA13.Mode=Serial_Wire
PA13.Signal=SYS_JTMS-SWDIO
PA14.Mode=Serial_Wire
PA14.Signal=SYS_JTCK-SWCLK
PB6.Mode=I2C
PB6.Signal=I2C1_SCL
PB7.Mode=I2C
PB7.Signal=I2C1_SDA
PD0-OSC_IN.Mode=HSE-External-Oscillator
PD0-OSC_IN.Signal=RCC_OSC_IN
PD1-OSC_OUT.Mode=HSE-External-Oscillator
PD1-OSC_OUT.Signal=RCC_OSC_OUT
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=STM32F103C8Tx
ProjectManager.FirmwarePackage=STM32Cube FW_F1 V1.8.4
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=TUT_BME280_F103.ioc
ProjectManager.ProjectName=TUT_BME280_F103
ProjectManager.RegisterCallBack=
ProjectManager.StackSize=0x400
ProjectManager.TargetToolchain=STM32CubeIDE
ProjectManager.ToolChainLocation=
ProjectManager.UnderRoot=true
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false
RCC.ADCFreqValue=36000000
RCC.AHBFreq_Value=72000000
RCC.APB1CLKDivider=RCC_HCLK_DIV2
RCC.APB1Freq_Value=36000000
RCC.APB1TimFreq_Value=72000000
RCC.APB2Freq_Value=72000000
RCC.APB2TimFreq_Value=72000000
RCC.FCLKCortexFreq_Value=72000000
RCC.FamilyName=M
RCC.HCLKFreq_Value=72000000
RCC.IPParameters=ADCFreqValue,AHBFreq_Value,APB1CLKDivider,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,MCOFreq_Value,PLLCLKFreq_Value,PLLMCOFreq_Value,PLLMUL,PLLSourceVirtual,SYSCLKFreq_VALUE,SYSCLKSource,TimSysFreq_Value,USBFreq_Value,VCOOutput2Freq_Value
RCC.MCOFreq_Value=72000000
RCC.PLLCLKFreq_Value=72000000
RCC.PLLMCOFreq_Value=36000000
RCC.PLLMUL=RCC_PLL_MUL9
RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSE
RCC.SYSCLKFreq_VALUE=72000000
RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK
RCC.TimSysFreq_Value=72000000
RCC.USBFreq_Value=72000000
RCC.VCOOutput2Freq_Value=8000000
VP_SYS_VS_Systick.Mode=SysTick
VP_SYS_VS_Systick.Signal=SYS_VS_Systick
board=custom
isbadioc=false


================================================
FILE: BME280/I2C/main.c
================================================
/* USER CODE BEGIN Header */
/**
  ******************************************************************************
  * @file           : main.c
  * @brief          : Main program body
  ******************************************************************************
  * @attention
  *
  * Copyright (c) 2021 STMicroelectronics.
  * All rights reserved.
  *
  * This software is licensed under terms that can be found in the LICENSE file
  * in the root directory of this software component.
  * If no LICENSE file comes with this software, it is provided AS-IS.
  *
  ******************************************************************************
  */
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"

/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include "BME280_STM32.h"
/* USER CODE END Includes */

/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */

/* USER CODE END PTD */

/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
/* USER CODE END PD */

/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */

/* USER CODE END PM */

/* Private variables ---------------------------------------------------------*/
I2C_HandleTypeDef hi2c1;

/* USER CODE BEGIN PV */

/* USER CODE END PV */

/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_I2C1_Init(void);
/* USER CODE BEGIN PFP */

/* USER CODE END PFP */

/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */

float Temperature, Pressure, Humidity;

/* USER CODE END 0 */

/**
  * @brief  The application entry point.
  * @retval int
  */
int main(void)
{
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_I2C1_Init();
  /* USER CODE BEGIN 2 */

  BME280_Config(OSRS_2, OSRS_16, OSRS_1, MODE_NORMAL, T_SB_0p5, IIR_16);

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
	  BME280_Measure();
	  HAL_Delay (500);
  }
  /* USER CODE END 3 */
}

/**
  * @brief System Clock Configuration
  * @retval None
  */
void SystemClock_Config(void)
{
  RCC_OscInitTypeDef RCC_OscInitStruct = {0};
  RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};

  /** 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.HSEPredivValue = RCC_HSE_PREDIV_DIV1;
  RCC_OscInitStruct.HSIState = RCC_HSI_ON;
  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
  RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
  RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9;
  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_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
  RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
  RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
  RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;

  if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
  {
    Error_Handler();
  }
}

/**
  * @brief I2C1 Initialization Function
  * @param None
  * @retval None
  */
static void MX_I2C1_Init(void)
{

  /* USER CODE BEGIN I2C1_Init 0 */

  /* USER CODE END I2C1_Init 0 */

  /* USER CODE BEGIN I2C1_Init 1 */

  /* USER CODE END I2C1_Init 1 */
  hi2c1.Instance = I2C1;
  hi2c1.Init.ClockSpeed = 100000;
  hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2;
  hi2c1.Init.OwnAddress1 = 0;
  hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
  hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
  hi2c1.Init.OwnAddress2 = 0;
  hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE;
  hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE;
  if (HAL_I2C_Init(&hi2c1) != HAL_OK)
  {
    Error_Handler();
  }
  /* USER CODE BEGIN I2C1_Init 2 */

  /* USER CODE END I2C1_Init 2 */

}

/**
  * @brief GPIO Initialization Function
  * @param None
  * @retval None
  */
static void MX_GPIO_Init(void)
{

  /* GPIO Ports Clock Enable */
  __HAL_RCC_GPIOD_CLK_ENABLE();
  __HAL_RCC_GPIOA_CLK_ENABLE();
  __HAL_RCC_GPIOB_CLK_ENABLE();

}

/* USER CODE BEGIN 4 */

/* USER CODE END 4 */

/**
  * @brief  This function is executed in case of error occurrence.
  * @retval None
  */
void Error_Handler(void)
{
  /* USER CODE BEGIN Error_Handler_Debug */
  /* User can add his own implementation to report the HAL error return state */
  __disable_irq();
  while (1)
  {
  }
  /* USER CODE END Error_Handler_Debug */
}

#ifdef  USE_FULL_ASSERT
/**
  * @brief  Reports the name of the source file and the source line number
  *         where the assert_param error has occurred.
  * @param  file: pointer to the source file name
  * @param  line: assert_param error line source number
  * @retval None
  */
void assert_failed(uint8_t *file, uint32_t line)
{
  /* USER CODE BEGIN 6 */
  /* User can add his own implementation to report the file name and line number,
     ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
  /* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */



================================================
FILE: EEPROM_STM32/EEPROM.c
================================================

/**
  ******************************************************************************

  EEPROM.c Using the HAL I2C Functions
  Author:   ControllersTech
  Updated:  Feb 16, 2021

  ******************************************************************************
  Copyright (C) 2017 ControllersTech.com

  This is a free software under the GNU license, you can redistribute it and/or modify it under the terms
  of the GNU General Public License version 3 as published by the Free Software Foundation.
  This software library is shared with public for educational purposes, without WARRANTY and Author is not liable for any damages caused directly
  or indirectly by this software, read more about this on the GNU General Public License.

  ******************************************************************************
*/

#include "EEPROM.h"
#include "math.h"
#include "string.h"

// Define the I2C
extern I2C_HandleTypeDef hi2c1;
#define EEPROM_I2C &hi2c1

// EEPROM ADDRESS (8bits)
#define EEPROM_ADDR 0xA0

// Define the Page Size and number of pages
#define PAGE_SIZE 64     // in Bytes
#define PAGE_NUM  512    // number of pages



/*****************************************************************************************************************************************/
uint8_t bytes_temp[4];

// function to determine the remaining bytes
uint16_t bytestowrite (uint16_t size, uint16_t offset)
{
	if ((size+offset)<PAGE_SIZE) return size;
	else return PAGE_SIZE-offset;
}

/* write the data to the EEPROM
 * @page is the number of the start page. Range from 0 to PAGE_NUM-1
 * @offset is the start byte offset in the page. Range from 0 to PAGE_SIZE-1
 * @data is the pointer to the data to write in bytes
 * @size is the size of the data
 */
void EEPROM_Write (uint16_t page, uint16_t offset, uint8_t *data, uint16_t size)
{

	// Find out the number of bit, where the page addressing starts
	int paddrposition = log(PAGE_SIZE)/log(2);

	// calculate the start page and the end page
	uint16_t startPage = page;
	uint16_t endPage = page + ((size+offset)/PAGE_SIZE);

	// number of pages to be written
	uint16_t numofpages = (endPage-startPage) + 1;
	uint16_t pos=0;

	// write the data
	for (int i=0; i<numofpages; i++)
	{
		/* calculate the address of the memory location
		 * Here we add the page address with the byte address
		 */
		uint16_t MemAddress = startPage<<paddrposition | offset;
		uint16_t bytesremaining = bytestowrite(size, offset);  // calculate the remaining bytes to be written

		HAL_I2C_Mem_Write(EEPROM_I2C, EEPROM_ADDR, MemAddress, 2, &data[pos], bytesremaining, 1000);  // write the data to the EEPROM

		startPage += 1;  // increment the page, so that a new page address can be selected for further write
		offset=0;   // since we will be writing to a new page, so offset will be 0
		size = size-bytesremaining;  // reduce the size of the bytes
		pos += bytesremaining;  // update the position for the data buffer

		HAL_Delay (5);  // Write cycle delay (5ms)
	}
}

void float2Bytes(uint8_t * ftoa_bytes_temp,float float_variable)
{
    union {
      float a;
      uint8_t bytes[4];
    } thing;

    thing.a = float_variable;

    for (uint8_t i = 0; i < 4; i++) {
      ftoa_bytes_temp[i] = thing.bytes[i];
    }

}

float Bytes2float(uint8_t * ftoa_bytes_temp)
{
    union {
      float a;
      uint8_t bytes[4];
    } thing;

    for (uint8_t i = 0; i < 4; i++) {
    	thing.bytes[i] = ftoa_bytes_temp[i];
    }

   float float_variable =  thing.a;
   return float_variable;
}


/*Write the Float/Integer values to the EEPROM
 * @page is the number of the start page. Range from 0 to PAGE_NUM-1
 * @offset is the start byte offset in the page. Range from 0 to PAGE_SIZE-1
 * @data is the float/integer value that you want to write
 */

void EEPROM_Write_NUM (uint16_t page, uint16_t offset, float data)
{

	float2Bytes(bytes_temp, data);

	EEPROM_Write(page, offset, bytes_temp, 4);
}

/* Reads the single Float/Integer values from the EEPROM
 * @page is the number of the start page. Range from 0 to PAGE_NUM-1
 * @offset is the start byte offset in the page. Range from 0 to PAGE_SIZE-1
 * @returns the float/integer value
 */

float EEPROM_Read_NUM (uint16_t page, uint16_t offset)
{
	uint8_t buffer[4];

	EEPROM_Read(page, offset, buffer, 4);

	return (Bytes2float(buffer));
}

/* READ the data from the EEPROM
 * @page is the number of the start page. Range from 0 to PAGE_NUM-1
 * @offset is the start byte offset in the page. Range from 0 to PAGE_SIZE-1
 * @data is the pointer to the data to write in bytes
 * @size is the size of the data
 */
void EEPROM_Read (uint16_t page, uint16_t offset, uint8_t *data, uint16_t size)
{
	int paddrposition = log(PAGE_SIZE)/log(2);

	uint16_t startPage = page;
	uint16_t endPage = page + ((size+offset)/PAGE_SIZE);

	uint16_t numofpages = (endPage-startPage) + 1;
	uint16_t pos=0;

	for (int i=0; i<numofpages; i++)
	{
		uint16_t MemAddress = startPage<<paddrposition | offset;
		uint16_t bytesremaining = bytestowrite(size, offset);
		HAL_I2C_Mem_Read(EEPROM_I2C, EEPROM_ADDR, MemAddress, 2, &data[pos], bytesremaining, 1000);
		startPage += 1;
		offset=0;
		size = size-bytesremaining;
		pos += bytesremaining;
	}
}

/* Erase a page in the EEPROM Memory
 * @page is the number of page to erase
 * In order to erase multiple pages, just use this function in the for loop
 */
void EEPROM_PageErase (uint16_t page)
{
	// calculate the memory address based on the page number
	int paddrposition = log(PAGE_SIZE)/log(2);
	uint16_t MemAddress = page<<paddrposition;

	// create a buffer to store the reset values
	uint8_t data[PAGE_SIZE];
	memset(data,0xff,PAGE_SIZE);

	// write the data to the EEPROM
	HAL_I2C_Mem_Write(EEPROM_I2C, EEPROM_ADDR, MemAddress, 2, data, PAGE_SIZE, 1000);

	HAL_Delay (5);  // write cycle delay 
}


================================================
FILE: EEPROM_STM32/EEPROM.h
================================================
/**
  ******************************************************************************

  EEPROM.h Using the HAL I2C Functions
  Author:   ControllersTech
  Updated:  Feb 16, 2021

  ******************************************************************************
  Copyright (C) 2017 ControllersTech.com

  This is a free software under the GNU license, you can redistribute it and/or modify it under the terms
  of the GNU General Public License version 3 as published by the Free Software Foundation.
  This software library is shared with public for educational purposes, without WARRANTY and Author is not liable for any damages caused directly
  or indirectly by this software, read more about this on the GNU General Public License.

  ******************************************************************************
*/

#ifndef INC_EEPROM_H_
#define INC_EEPROM_H_

#include "stdint.h"
#include "stm32f4xx_hal.h"


void EEPROM_Write (uint16_t page, uint16_t offset, uint8_t *data, uint16_t size);
void EEPROM_Read (uint16_t page, uint16_t offset, uint8_t *data, uint16_t size);
void EEPROM_PageErase (uint16_t page);

void EEPROM_Write_NUM (uint16_t page, uint16_t offset, float  fdata);
float EEPROM_Read_NUM (uint16_t page, uint16_t offset);

#endif /* INC_EEPROM_H_ */


================================================
FILE: EEPROM_STM32/README.md
================================================
# EEPROM Library for STM32 using HAL

This EEPROM Library uses HAL I2C Functions to communnicate with the EEPROM

Typically Written for AT24XXX Series, but others are free to try

To read about the functions, go to https://controllerstech.com/eeprom-and-stm32/

To check out the video go to https://youtu.be/-tV2pPXZ4VM


================================================
FILE: EEPROM_STM32/main.c
================================================
/* USER CODE BEGIN Header */
/**
  ******************************************************************************
  * @file           : main.c
  * @brief          : Main program body
  ******************************************************************************
  * @attention
  *
  * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
  * All rights reserved.</center></h2>
  *
  * 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"

/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include "string.h"
#include "EEPROM.h"
/* USER CODE END Includes */

/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */

/* USER CODE END PTD */

/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
/* USER CODE END PD */

/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */

/* USER CODE END PM */

/* Private variables ---------------------------------------------------------*/
I2C_HandleTypeDef hi2c1;

/* USER CODE BEGIN PV */

/* USER CODE END PV */

/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_I2C1_Init(void);
/* USER CODE BEGIN PFP */

/* USER CODE END PFP */

/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
#define DEV_ADDR 0xa0
uint8_t dataw1[] = "hello world from EEPROM";
uint8_t dataw2[] = "This is the second string from EEPROM";
float dataw3 = 1234.5678;

uint8_t datar1[100];
uint8_t datar2[100];
float datar3;



/* USER CODE END 0 */

/**
  * @brief  The application entry point.
  * @retval int
  */
int main(void)
{
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_I2C1_Init();
  /* USER CODE BEGIN 2 */

  for (int i=0; i<512; i++)
  {
	  EEPROM_PageErase(i);
  }


  EEPROM_Write(3, 0, dataw1, strlen((char *)dataw1));

  EEPROM_Write(5, 20, dataw2, strlen((char *)dataw2));

  EEPROM_Write_NUM (6, 0, dataw3);


  EEPROM_Read(3, 0, datar1, 50);

  EEPROM_Read(5, 15, datar2, 50);

  datar3 = EEPROM_Read_NUM (6, 0);

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

/**
  * @brief System Clock Configuration
  * @retval None
  */
void SystemClock_Config(void)
{
  RCC_OscInitTypeDef RCC_OscInitStruct = {0};
  RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};

  /** Configure the main internal regulator output voltage
  */
  __HAL_RCC_PWR_CLK_ENABLE();
  __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
  /** 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_BYPASS;
  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
  RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
  RCC_OscInitStruct.PLL.PLLM = 4;
  RCC_OscInitStruct.PLL.PLLN = 180;
  RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
  RCC_OscInitStruct.PLL.PLLQ = 2;
  RCC_OscInitStruct.PLL.PLLR = 2;
  if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
  {
    Error_Handler();
  }
  /** Activate the Over-Drive mode
  */
  if (HAL_PWREx_EnableOverDrive() != 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_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
  RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
  RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;
  RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;

  if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5) != HAL_OK)
  {
    Error_Handler();
  }
}

/**
  * @brief I2C1 Initialization Function
  * @param None
  * @retval None
  */
static void MX_I2C1_Init(void)
{

  /* USER CODE BEGIN I2C1_Init 0 */

  /* USER CODE END I2C1_Init 0 */

  /* USER CODE BEGIN I2C1_Init 1 */

  /* USER CODE END I2C1_Init 1 */
  hi2c1.Instance = I2C1;
  hi2c1.Init.ClockSpeed = 400000;
  hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2;
  hi2c1.Init.OwnAddress1 = 0;
  hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
  hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
  hi2c1.Init.OwnAddress2 = 0;
  hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE;
  hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE;
  if (HAL_I2C_Init(&hi2c1) != HAL_OK)
  {
    Error_Handler();
  }
  /* USER CODE BEGIN I2C1_Init 2 */

  /* USER CODE END I2C1_Init 2 */

}

/**
  * @brief GPIO Initialization Function
  * @param None
  * @retval None
  */
static void MX_GPIO_Init(void)
{

  /* GPIO Ports Clock Enable */
  __HAL_RCC_GPIOH_CLK_ENABLE();
  __HAL_RCC_GPIOB_CLK_ENABLE();

}

/* USER CODE BEGIN 4 */

/* USER CODE END 4 */

/**
  * @brief  This function is executed in case of error occurrence.
  * @retval None
  */
void Error_Handler(void)
{
  /* USER CODE BEGIN Error_Handler_Debug */
  /* User can add his own implementation to report the HAL error return state */
  __disable_irq();
  while (1)
  {
  }
  /* USER CODE END Error_Handler_Debug */
}

#ifdef  USE_FULL_ASSERT
/**
  * @brief  Reports the name of the source file and the source line number
  *         where the assert_param error has occurred.
  * @param  file: pointer to the source file name
  * @param  line: assert_param error line source number
  * @retval None
  */
void assert_failed(uint8_t *file, uint32_t line)
{
  /* USER CODE BEGIN 6 */
  /* User can add his own implementation to report the file name and line number,
     ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
  /* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */

/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/


================================================
FILE: F103_RegisterBased/ADC with DMA/Delay_F103.c
================================================
/**
  ******************************************************************************

  Timer2 Setup for Delay in STM32F103C8T6
  Author:   ControllersTech
  Updated:  26th FEB 2021

  ******************************************************************************
  Copyright (C) 2017 ControllersTech.com

  This is a free software under the GNU license, you can redistribute it and/or modify it under the terms
  of the GNU General Public License version 3 as published by the Free Software Foundation.
  This software library is shared with public for educational purposes, without WARRANTY and Author is not liable for any damages caused directly
  or indirectly by this software, read more about this on the GNU General Public License.

  ******************************************************************************
*/

#include "Delay_F103.h"



void TIM2_Config (void)
{
/************** STEPS TO FOLLOW *****************
	1. Enable Timer clock
	2. Set the prescalar and the ARR
	3. Enable the Timer, and wait for the update Flag to set
************************************************/
	
	RCC->APB1ENR |= (1<<0); // enable clock for TIM2 
/*	
	TIM2->CR1 = 0;  				// reset all
	TIM2->CR1 |= (0<<1); 		// UDIS=0; UEV Enabled. The Update event will generate
	TIM2->CR1 |= (0<<4);  	// DIR=1; select UP COUNTER mode
	TIM2->CR1 |= (0<<5);  	// CMS=0;  Edge-aligned mode, up or down count depends on DIR
	TIM2->CR1 |= (0<<8);  	// CKD=0; No clock DIVISION
	TIM2->CR1 |= (0<<7);  	// ARPE=0; ARR Auto Reload Disabled
	TIM2->RCR |= 0;         // Repetition Counter 0
*/	
	TIM2->ARR = 0xffff-1;  	// ARR value
	TIM2->PSC = 72-1;      	// Prescalar value
	
	TIM2->CR1 |= (1<<0);  	// enable timer
	while (!(TIM2->SR & (1<<0)));  // UIF: Update interrupt flag..  This bit is set by hardware when the registers are updated
}

void Delay_us (uint16_t us)
{
	/************** STEPS TO FOLLOW *****************
	1. RESET the Counter
	2. Wait for the Counter to reach the entered value. As each count will take 1 us, 
		 the total waiting time will be the required us delay
	************************************************/
	TIM2->CNT = 0;
	while (TIM2->CNT < us);
}

void Delay_ms (uint16_t ms)
{
	for (uint16_t i=0; i<ms; i++)
	{
		Delay_us (1000); // delay of 1 ms
	}
}

================================================
FILE: F103_RegisterBased/ADC with DMA/Delay_F103.h
================================================
/**
  ******************************************************************************

  Timer2 Setup for Delay in STM32F103C8T6
  Author:   ControllersTech
  Updated:  26th FEB 2021

  ******************************************************************************
  Copyright (C) 2017 ControllersTech.com

  This is a free software under the GNU license, you can redistribute it and/or modify it under the terms
  of the GNU General Public License version 3 as published by the Free Software Foundation.
  This software library is shared with public for educational purposes, without WARRANTY and Author is not liable for any damages caused directly
  or indirectly by this software, read more about this on the GNU General Public License.

  ******************************************************************************
*/


#include "stm32f10x.h"                  // Device header

void TIM2_Config (void);

void Delay_us (uint16_t us);

void Delay_ms (uint16_t ms);


================================================
FILE: F103_RegisterBased/ADC with DMA/README.md
================================================
# How to program F103 ADC with DMA using REGISTERS

It also covers the internal Temperature Sensor

3 channels of the ADC1, channel 1, 4 and the Internal Temp Sensor, are selected.


To watch it in action, goto https://youtu.be/Ysp8hpp8bxI

To Read the content, goto https://controllerstech.com/dma-with-adc-using-registers-in-stm32/


================================================
FILE: F103_RegisterBased/ADC with DMA/main.c
================================================


#include "stm32f10x.h"                  // Device header
#include "Delay_F103.h"
#include "stdio.h"


void ADC_Init (void)
{
	/************** STEPS TO FOLLOW *****************
	1. Enable ADC and GPIO clock
	2. Set the prescalar in the Clock configuration register (RCC_CFGR)
	3. Set the Scan Mode and Resolution in the Control Register 1 (CR1)
	4. Set the Continuous Conversion, EOC, and Data Alignment in Control Reg 2 (CR2)
	5. Set the Sampling Time for the channels in ADC_SMPRx
	6. Set the Regular channel sequence length in ADC_SQR1
	7. Set the Respective GPIO PINs in the Analog Mode
	************************************************/
	
//1. Enable ADC and GPIO clock
	RCC->APB2ENR |= 1<<9;  // enable ADC1 clock
	RCC->APB2ENR |= (1<<2);  // enable GPIOA clock
	
//2. Set the prescalar in the Clock configuration register (RCC_CFGR)	
	RCC->CFGR |= (2<<14);  // Prescaler 6, ADC Clock = 72/6 = 12 MHz  		 
	
//3. Set the Scan Mode and Resolution in the Control Register 1 (CR1)	
	ADC1->CR1 = (1<<8);    // SCAN mode enabled
	// Resolution is 12 bit in F103
	
//4. Set the Continuous Conversion, EOC, and Data Alignment in Control Reg 2 (CR2)
	ADC1->CR2 = (1<<1);     // enable continuous conversion mode
	// EOC after each conversion by default
	ADC1->CR2 |= (7<<17);  // External Event selection pointed to SWSTART bit
	ADC1->CR2 &= ~(1<<11);   // Data Alignment RIGHT
	
//5. Set the Sampling Time for the channels	
	ADC1->SMPR2 &= ~((7<<3) | (7<<12));  // Sampling time of 1.5 cycles for channel 1 and channel 4

//6. Set the Regular channel sequence length in ADC_SQR1
	ADC1->SQR1 |= (2<<20);   // SQR1_L =2 for 3 conversions
	
//7. Set the Respective GPIO PINs in the Analog Mode	
	GPIOA->CRL &= ~(0xf<<4);  // analog mode for PA 1
	GPIOA->CRL &= ~(0xf<<16); // analog mode for PA 4
	
	
	/**************************************************************************************************/
	
	
	// Sampling Freq for Temp Sensor 
	ADC1->SMPR1 |= (7<<18);  // Sampling time (71.5 cycles) of 7 us for channel 16.. It should be <17.1 us
	
	// Set the TSVREFE Bit to wake the sensor
	ADC1->CR2 |= (1<<23);
	
	// Enable DMA for ADC
	ADC1->CR2 |= (1<<8);
	
//	// Enable Continuous Request
//	ADC1->CR2 |= (1<<9);
	
	// Channel Sequence
	ADC1->SQR3 |= (1<<0);  // SEQ1 for Channel 1
	ADC1->SQR3 |= (4<<5);  // SEQ2 for CHannel 4
	ADC1->SQR3 |= (16<<10);  // SEQ3 for CHannel 16
}


void ADC_Enable (void)
{
	/************** STEPS TO FOLLOW *****************
	1. Enable the ADC by setting ADON bit in CR2
	2. Wait for ADC to stabilize (approx 10us) 
	************************************************/
	ADC1->CR2 |= 1<<0;   // ADON =1 enable ADC1
	
	uint32_t delay = 10000;
	while (delay--);
}

void ADC_Start(void)
{	
	/************** STEPS TO FOLLOW *****************
	1. Clear the Status register
	2. Start the Conversion by Setting the SWSTART bit in CR2
	*************************************************/
	ADC1->SR = 0;                      // Clear Status register
	ADC1->CR2 |= (1<<20);              // Conversion on external event enabled
	ADC1->CR2 |= 1<<22;                // Start conversion
}

void DMA_Init (void)
{
	/************** STEPS TO FOLLOW *****************
	1. Enable DMA clock
	2. Set the DATA Direction
	3. Enable/Disable the Circular Mode
	4. Enable/Disable the Memory Increment and Peripheral Increment
	5. Set the Data Size
	6. Select the channel for the Stream
	************************************************/
	
	// 1. Enable DMA1 Clock
	RCC->AHBENR |= 1<<0;
	
	// 2. Set the Data Direction
//	DMA1_Channel7->CCR |= (1<<4);   // Read From Memory
	DMA1_Channel1->CCR &= ~(1<<4);   // Read From Peripheral
	
	// 2. Enable the circular mode (CIRC)
	DMA1_Channel1->CCR |= 1<<5;
	
	// 3. Enable the Memory Increment (MINC)
	DMA1_Channel1->CCR |= 1<<7;
	
	// 4. Set the Peripheral data size (PSIZE)
	DMA1_Channel1->CCR |= (1<<8);  // 01 : 8 Bit Data
	
	// 5. Set the Memory data size (MSIZE)
	DMA1_Channel1->CCR |= (1<<10);  // 01 : 8 Bit Data
}


void DMA_Config (uint32_t srcAdd, uint32_t destAdd, uint16_t size)
{
	
	/************** STEPS TO FOLLOW *****************
	1. Set the Data Size in the CNDTR Register
	2. Set the Peripheral Address and the Memory Address
	3. Enable the DMA Stream
		 
		 Some peripherals don't need a start condition, like UART, So as soon as you enable the DMA, the transfer will begin
		 While Peripherals like ADC needs the Start condition, so Start the ADC later in the program, to enable the transfer
	************************************************/
	
	DMA1_Channel1->CNDTR = size;   // Set the size of the transfer
	
	DMA1_Channel1->CPAR = srcAdd;  // Source address is peripheral address
	
	DMA1_Channel1->CMAR = destAdd;  // Destination Address is memory address
	
	// Enable the DMA Stream
	DMA1_Channel1->CCR |= (1<<0);  // EN =1
}


uint16_t RxData[3];
float Temperature;

int main(void)
{
	SystemInit();
	TIM2_Config();
	
	ADC_Init ();
	ADC_Enable ();
	DMA_Init ();
	
	DMA_Config ((uint32_t ) &ADC1->DR, (uint32_t) RxData, 3);
	
	ADC_Start ();
	
	while (1)
	{
		
		Temperature = ((1.43 - ((float)(3.3*RxData[2]/(float)4095))) / 0.0043) + 25;
		
		Delay_ms (1000);
	}
	
}


================================================
FILE: FLASH_PROGRAM/F1 SERIES/FLASH_PAGE_F1.h
================================================

/**
  ***************************************************************************************************************
  ***************************************************************************************************************
  ***************************************************************************************************************
  File:	      FLASH_PAGE_F1.h
  Modifier:   ControllersTech.com
  Updated:    27th MAY 2021
  ***************************************************************************************************************
  Copyright (C) 2017 ControllersTech.com
  This is a free software under the GNU license, you can redistribute it and/or modify it under the terms
  of the GNU General Public License version 3 as published by the Free Software Foundation.
  This software library is shared with public for educational purposes, without WARRANTY and Author is not liable for any damages caused directly
  or indirectly by this software, read more about this on the GNU General Public License.
  ***************************************************************************************************************
*/

#ifndef INC_FLASH_PAGE_F1_H_
#define INC_FLASH_PAGE_F1_H_

#include "stm32f1xx_hal.h"


uint32_t Flash_Write_Data (uint32_t StartPageAddress, uint32_t *Data, uint16_t numberofwords);

void Flash_Read_Data (uint32_t StartPageAddress, uint32_t *RxBuf, uint16_t numberofwords);

void Convert_To_Str (uint32_t *Data, char *Buf);

void Flash_Write_NUM (uint32_t StartSectorAddress, float Num);

float Flash_Read_NUM (uint32_t StartSectorAddress);



/********************  FLASH_Error_Codes   ***********************//*
HAL_FLASH_ERROR_NONE      0x00U  // No error
HAL_FLASH_ERROR_PROG      0x01U  // Programming error
HAL_FLASH_ERROR_WRP       0x02U  // Write protection error
HAL_FLASH_ERROR_OPTV      0x04U  // Option validity error
*/


#endif /* INC_FLASH_PAGE_F1_H_ */


================================================
FILE: FLASH_PROGRAM/F1 SERIES/FlASH_PAGE_F1.c
================================================

/**
  ***************************************************************************************************************
  ***************************************************************************************************************
  ***************************************************************************************************************
  File:	      FLASH_PAGE_F1.c
  Modifier:   ControllersTech.com
  Updated:    27th MAY 2021
  ***************************************************************************************************************
  Copyright (C) 2017 ControllersTech.com
  This is a free software under the GNU license, you can redistribute it and/or modify it under the terms
  of the GNU General Public License version 3 as published by the Free Software Foundation.
  This software library is shared with public for educational purposes, without WARRANTY and Author is not liable for any damages caused directly
  or indirectly by this software, read more about this on the GNU General Public License.
  ***************************************************************************************************************
*/

#include "FLASH_PAGE_F1.h"
#include "string.h"
#include "stdio.h"


/* STM32F103 have 128 PAGES (Page 0 to Page 127) of 1 KB each. This makes up 128 KB Flash Memory
 * Some STM32F103C8 have 64 KB FLASH Memory, so I guess they have Page 0 to Page 63 only.
 */

/* FLASH_PAGE_SIZE should be able to get the size of the Page according to the controller */
static uint32_t GetPage(uint32_t Address)
{
  for (int indx=0; indx<128; indx++)
  {
	  if((Address < (0x08000000 + (FLASH_PAGE_SIZE *(indx+1))) ) && (Address >= (0x08000000 + FLASH_PAGE_SIZE*indx)))
	  {
		  return (0x08000000 + FLASH_PAGE_SIZE*indx);
	  }
  }

  return 0;
}


uint8_t bytes_temp[4];


void float2Bytes(uint8_t * ftoa_bytes_temp,float float_variable)
{
    union {
      float a;
      uint8_t bytes[4];
    } thing;

    thing.a = float_variable;

    for (uint8_t i = 0; i < 4; i++) {
      ftoa_bytes_temp[i] = thing.bytes[i];
    }

}

float Bytes2float(uint8_t * ftoa_bytes_temp)
{
    union {
      float a;
      uint8_t bytes[4];
    } thing;

    for (uint8_t i = 0; i < 4; i++) {
    	thing.bytes[i] = ftoa_bytes_temp[i];
    }

   float float_variable =  thing.a;
   return float_variable;
}

uint32_t Flash_Write_Data (uint32_t StartPageAddress, uint32_t *Data, uint16_t numberofwords)
{

	static FLASH_EraseInitTypeDef EraseInitStruct;
	uint32_t PAGEError;
	int sofar=0;

	  /* Unlock the Flash to enable the flash control register access *************/
	   HAL_FLASH_Unlock();

	   /* Erase the user Flash area*/

	  uint32_t StartPage = GetPage(StartPageAddress);
	  uint32_t EndPageAdress = StartPageAddress + numberofwords*4;
	  uint32_t EndPage = GetPage(EndPageAdress);

	   /* Fill EraseInit structure*/
	   EraseInitStruct.TypeErase   = FLASH_TYPEERASE_PAGES;
	   EraseInitStruct.PageAddress = StartPage;
	   EraseInitStruct.NbPages     = ((EndPage - StartPage)/FLASH_PAGE_SIZE) +1;

	   if (HAL_FLASHEx_Erase(&EraseInitStruct, &PAGEError) != HAL_OK)
	   {
	     /*Error occurred while page erase.*/
		  return HAL_FLASH_GetError ();
	   }

	   /* Program the user Flash area word by word*/

	   while (sofar<numberofwords)
	   {
	     if (HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, StartPageAddress, Data[sofar]) == HAL_OK)
	     {
	    	 StartPageAddress += 4;  // use StartPageAddress += 2 for half word and 8 for double word
	    	 sofar++;
	     }
	     else
	     {
	       /* Error occurred while writing data in Flash memory*/
	    	 return HAL_FLASH_GetError ();
	     }
	   }

	   /* Lock the Flash to disable the flash control register access (recommended
	      to protect the FLASH memory against possible unwanted operation) *********/
	   HAL_FLASH_Lock();

	   return 0;
}


void Flash_Read_Data (uint32_t StartPageAddress, uint32_t *RxBuf, uint16_t numberofwords)
{
	while (1)
	{

		*RxBuf = *(__IO uint32_t *)StartPageAddress;
		StartPageAddress += 4;
		RxBuf++;
		if (!(numberofwords--)) break;
	}
}
void Convert_To_Str (uint32_t *Data, char *Buf)
{
	int numberofbytes = ((strlen((char *)Data)/4) + ((strlen((char *)Data) % 4) != 0)) *4;

	for (int i=0; i<numberofbytes; i++)
	{
		Buf[i] = Data[i/4]>>(8*(i%4));
	}
}


void Flash_Write_NUM (uint32_t StartSectorAddress, float Num)
{

	float2Bytes(bytes_temp, Num);

	Flash_Write_Data (StartSectorAddress, (uint32_t *)bytes_temp, 1);
}


float Flash_Read_NUM (uint32_t StartSectorAddress)
{
	uint8_t buffer[4];
	float value;

	Flash_Read_Data(StartSectorAddress, (uint32_t *)buffer, 1);
	value = Bytes2float(buffer);
	return value;
}


================================================
FILE: FLASH_PROGRAM/F1 SERIES/README.md
================================================
# How to write data in the FLASH memory of ```F1 Series``` MCU


1. Rewrite the PAGES according to your reference manual
2. Do not program the initial addresses (around 0x08000000). This is where the program is stored.

## Always Refer to the manual, as some sectors are write protected.

To watch the video, goto https://youtu.be/BKgh896Bj8Q

To read the content, goto https://controllerstech.com/flash-programming-in-stm32/


================================================
FILE: FLASH_PROGRAM/F1 SERIES/main.c
================================================
/* USER CODE BEGIN Header */
/**
  ******************************************************************************
  * @file           : main.c
  * @brief          : Main program body
  ******************************************************************************
  * @attention
  *
  * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
  * All rights reserved.</center></h2>
  *
  * 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"

/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */

#include "FLASH_PAGE_F1.h"
#include "string.h"

/* USER CODE END Includes */

/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */

/* USER CODE END PTD */

/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
/* USER CODE END PD */

/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */

/* USER CODE END PM */

/* Private variables ---------------------------------------------------------*/
UART_HandleTypeDef huart1;

/* USER CODE BEGIN PV */

/* USER CODE END PV */

/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_USART1_UART_Init(void);
/* USER CODE BEGIN PFP */

/* USER CODE END PFP */

/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */

char *data = "hello FLASH from ControllerTech\
			  This is a test to see how many words can we work with";

uint32_t data2[] = {0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9};

uint32_t Rx_Data[30];

char string[100];

int number = 123;

float val = 123.456;

float RxVal;

/* USER CODE END 0 */

/**
  * @brief  The application entry point.
  * @retval int
  */
int main(void)
{
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_USART1_UART_Init();
  /* USER CODE BEGIN 2 */

  Flash_Write_Data(0x08004410 , (uint32_t *)data2, 9);
  Flash_Read_Data(0x08004410 , Rx_Data, 10);


  int numofwords = (strlen(data)/4)+((strlen(data)%4)!=0);
  Flash_Write_Data(0x08004810 , (uint32_t *)data, numofwords);
  Flash_Read_Data(0x08004810 , Rx_Data, numofwords);
  Convert_To_Str(Rx_Data, string);


  Flash_Write_NUM(0x08005C10, number);
  RxVal = Flash_Read_NUM(0x08005C10);

  Flash_Write_NUM(0x08012000, val);
  RxVal = Flash_Read_NUM(0x08012000);
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

/**
  * @brief System Clock Configuration
  * @retval None
  */
void SystemClock_Config(void)
{
  RCC_OscInitTypeDef RCC_OscInitStruct = {0};
  RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};

  /** Initializes the CPU, AHB and APB busses clocks 
  */
  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
  RCC_OscInitStruct.HSEState = RCC_HSE_ON;
  RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1;
  RCC_OscInitStruct.HSIState = RCC_HSI_ON;
  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
  RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
  RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9;
  if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
  {
    Error_Handler();
  }
  /** Initializes the CPU, AHB and APB busses clocks 
  */
  RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
                              |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
  RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
  RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
  RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
  RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;

  if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
  {
    Error_Handler();
  }
}

/**
  * @brief USART1 Initialization Function
  * @param None
  * @retval None
  */
static void MX_USART1_UART_Init(void)
{

  /* USER CODE BEGIN USART1_Init 0 */

  /* USER CODE END USART1_Init 0 */

  /* USER CODE BEGIN USART1_Init 1 */

  /* USER CODE END USART1_Init 1 */
  huart1.Instance = USART1;
  huart1.Init.BaudRate = 115200;
  huart1.Init.WordLength = UART_WORDLENGTH_8B;
  huart1.Init.StopBits = UART_STOPBITS_1;
  huart1.Init.Parity = UART_PARITY_NONE;
  huart1.Init.Mode = UART_MODE_TX_RX;
  huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
  huart1.Init.OverSampling = UART_OVERSAMPLING_16;
  if (HAL_UART_Init(&huart1) != HAL_OK)
  {
    Error_Handler();
  }
  /* USER CODE BEGIN USART1_Init 2 */

  /* USER CODE END USART1_Init 2 */

}

/**
  * @brief GPIO Initialization Function
  * @param None
  * @retval None
  */
static void MX_GPIO_Init(void)
{

  /* GPIO Ports Clock Enable */
  __HAL_RCC_GPIOD_CLK_ENABLE();
  __HAL_RCC_GPIOA_CLK_ENABLE();

}

/* USER CODE BEGIN 4 */

/* USER CODE END 4 */

/**
  * @brief  This function is executed in case of error occurrence.
  * @retval None
  */
void Error_Handler(void)
{
  /* USER CODE BEGIN Error_Handler_Debug */
  /* User can add his own implementation to report the HAL error return state */

  /* USER CODE END Error_Handler_Debug */
}

#ifdef  USE_FULL_ASSERT
/**
  * @brief  Reports the name of the source file and the source line number
  *         where the assert_param error has occurred.
  * @param  file: pointer to the source file name
  * @param  line: assert_param error line source number
  * @retval None
  */
void assert_failed(uint8_t *file, uint32_t line)
{ 
  /* USER CODE BEGIN 6 */
  /* User can add his own implementation to report the file name and line number,
     tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
  /* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */

/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/


================================================
FILE: FLASH_PROGRAM/F4 SERIES/FLASH_SECTOR_F4.c
================================================

/**
  ***************************************************************************************************************
  ***************************************************************************************************************
  ***************************************************************************************************************
  File:	      FLASH_SECTOR_F4.c
  Modifier:   ControllersTech.com
  Updated:    27th MAY 2021
  ***************************************************************************************************************
  Copyright (C) 2017 ControllersTech.com
  This is a free software under the GNU license, you can redistribute it and/or modify it under the terms
  of the GNU General Public License version 3 as published by the Free Software Foundation.
  This software library is shared with public for educational purposes, without WARRANTY and Author is not liable for any damages caused directly
  or indirectly by this software, read more about this on the GNU General Public License.
  ***************************************************************************************************************
*/


#include "FLASH_SECTOR_F4.h"
#include "stm32f4xx_hal.h"
#include "string.h"
#include "stdio.h"





/* DEFINE the SECTORS according to your reference manual
 * STM32F446RE have:-
 *  Sector 0 to Sector 3 each 16KB
 *  Sector 4 as 64KB
 *  Sector 5 to Sector 7 each 128KB
 */

static uint32_t GetSector(uint32_t Address)
{
  uint32_t sector = 0;

  if((Address < 0x08003FFF) && (Address >= 0x08000000))
  {
    sector = FLASH_SECTOR_0;
  }
  else if((Address < 0x08007FFF) && (Address >= 0x08004000))
  {
    sector = FLASH_SECTOR_1;
  }
  else if((Address < 0x0800BFFF) && (Address >= 0x08008000))
  {
    sector = FLASH_SECTOR_2;
  }
  else if((Address < 0x0800FFFF) && (Address >= 0x0800C000))
  {
    sector = FLASH_SECTOR_3;
  }
  else if((Address < 0x0801FFFF) && (Address >= 0x08010000))
  {
    sector = FLASH_SECTOR_4;
  }
  else if((Address < 0x0803FFFF) && (Address >= 0x08020000))
  {
    sector = FLASH_SECTOR_5;
  }
  else if((Address < 0x0805FFFF) && (Address >= 0x08040000))
  {
    sector = FLASH_SECTOR_6;
  }
  else if((Address < 0x0807FFFF) && (Address >= 0x08060000))
  {
    sector = FLASH_SECTOR_7;
  }
/*  else if((Address < 0x0809FFFF) && (Address >= 0x08080000))
  {
    sector = FLASH_SECTOR_8;
  }
  else if((Address < 0x080BFFFF) && (Address >= 0x080A0000))
  {
    sector = FLASH_SECTOR_9;
  }
  else if((Address < 0x080DFFFF) && (Address >= 0x080C0000))
  {
    sector = FLASH_SECTOR_10;
  }
  else if((Address < 0x080FFFFF) && (Address >= 0x080E0000))
  {
    sector = FLASH_SECTOR_11;
  }
  else if((Address < 0x08103FFF) && (Address >= 0x08100000))
  {
    sector = FLASH_SECTOR_12;
  }
  else if((Address < 0x08107FFF) && (Address >= 0x08104000))
  {
    sector = FLASH_SECTOR_13;
  }
  else if((Address < 0x0810BFFF) && (Address >= 0x08108000))
  {
    sector = FLASH_SECTOR_14;
  }
  else if((Address < 0x0810FFFF) && (Address >= 0x0810C000))
  {
    sector = FLASH_SECTOR_15;
  }
  else if((Address < 0x0811FFFF) && (Address >= 0x08110000))
  {
    sector = FLASH_SECTOR_16;
  }
  else if((Address < 0x0813FFFF) && (Address >= 0x08120000))
  {
    sector = FLASH_SECTOR_17;
  }
  else if((Address < 0x0815FFFF) && (Address >= 0x08140000))
  {
    sector = FLASH_SECTOR_18;
  }
  else if((Address < 0x0817FFFF) && (Address >= 0x08160000))
  {
    sector = FLASH_SECTOR_19;
  }
  else if((Address < 0x0819FFFF) && (Address >= 0x08180000))
  {
    sector = FLASH_SECTOR_20;
  }
  else if((Address < 0x081BFFFF) && (Address >= 0x081A0000))
  {
    sector = FLASH_SECTOR_21;
  }
  else if((Address < 0x081DFFFF) && (Address >= 0x081C0000))
  {
    sector = FLASH_SECTOR_22;
  }
  else if (Address < 0x081FFFFF) && (Address >= 0x081E0000)
  {
    sector = FLASH_SECTOR_23;
  }*/
  return sector;
}







uint8_t bytes_temp[4];


void float2Bytes(uint8_t * ftoa_bytes_temp,float float_variable)
{
    union {
      float a;
      uint8_t bytes[4];
    } thing;

    thing.a = float_variable;

    for (uint8_t i = 0; i < 4; i++) {
      ftoa_bytes_temp[i] = thing.bytes[i];
    }

}

float Bytes2float(uint8_t * ftoa_bytes_temp)
{
    union {
      float a;
      uint8_t bytes[4];
    } thing;

    for (uint8_t i = 0; i < 4; i++) {
    	thing.bytes[i] = ftoa_bytes_temp[i];
    }

   float float_variable =  thing.a;
   return float_variable;
}


uint32_t Flash_Write_Data (uint32_t StartSectorAddress, uint32_t *Data, uint16_t numberofwords)
{

	static FLASH_EraseInitTypeDef EraseInitStruct;
	uint32_t SECTORError;
	int sofar=0;


	 /* Unlock the Flash to enable the flash control register access *************/
	  HAL_FLASH_Unlock();

	  /* Erase the user Flash area */

	  /* Get the number of sector to erase from 1st sector */

	  uint32_t StartSector = GetSector(StartSectorAddress);
	  uint32_t EndSectorAddress = StartSectorAddress + numberofwords*4;
	  uint32_t EndSector = GetSector(EndSectorAddress);

	  /* Fill EraseInit structure*/
	  EraseInitStruct.TypeErase     = FLASH_TYPEERASE_SECTORS;
	  EraseInitStruct.VoltageRange  = FLASH_VOLTAGE_RANGE_3;
	  EraseInitStruct.Sector        = StartSector;
	  EraseInitStruct.NbSectors     = (EndSector - StartSector) + 1;

	  /* Note: If an erase operation in Flash memory also concerns data in the data or instruction cache,
	     you have to make sure that these data are rewritten before they are accessed during code
	     execution. If this cannot be done safely, it is recommended to flush the caches by setting the
	     DCRST and ICRST bits in the FLASH_CR register. */
	  if (HAL_FLASHEx_Erase(&EraseInitStruct, &SECTORError) != HAL_OK)
	  {
		  return HAL_FLASH_GetError ();
	  }

	  /* Program the user Flash area word by word
	    (area defined by FLASH_USER_START_ADDR and FLASH_USER_END_ADDR) ***********/

	   while (sofar<numberofwords)
	   {
	     if (HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, StartSectorAddress, Data[sofar]) == HAL_OK)
	     {
	    	 StartSectorAddress += 4;  // use StartPageAddress += 2 for half word and 8 for double word
	    	 sofar++;
	     }
	     else
	     {
	       /* Error occurred while writing data in Flash memory*/
	    	 return HAL_FLASH_GetError ();
	     }
	   }

	  /* Lock the Flash to disable the flash control register access (recommended
	     to protect the FLASH memory against possible unwanted operation) *********/
	  HAL_FLASH_Lock();

	   return 0;
}


void Flash_Read_Data (uint32_t StartSectorAddress, uint32_t *RxBuf, uint16_t numberofwords)
{
	while (1)
	{

		*RxBuf = *(__IO uint32_t *)StartSectorAddress;
		StartSectorAddress += 4;
		RxBuf++;
		if (!(numberofwords--)) break;
	}
}

void Convert_To_Str (uint32_t *Data, char *Buf)
{
	int numberofbytes = ((strlen((char *)Data)/4) + ((strlen((char *)Data) % 4) != 0)) *4;

	for (int i=0; i<numberofbytes; i++)
	{
		Buf[i] = Data[i/4]>>(8*(i%4));
	}
}


void Flash_Write_NUM (uint32_t StartSectorAddress, float Num)
{

	float2Bytes(bytes_temp, Num);

	Flash_Write_Data (StartSectorAddress, (uint32_t *)bytes_temp, 1);
}


float Flash_Read_NUM (uint32_t StartSectorAddress)
{
	uint8_t buffer[4];
	float value;

	Flash_Read_Data(StartSectorAddress, (uint32_t *)buffer, 1);
	value = Bytes2float(buffer);
	return value;
}


================================================
FILE: FLASH_PROGRAM/F4 SERIES/FLASH_SECTOR_F4.h
================================================
/**
  ***************************************************************************************************************
  ***************************************************************************************************************
  ***************************************************************************************************************
  File:	      FLASH_SECTOR_H7.c
  Modifier:   ControllersTech.com
  Updated:    27th MAY 2021
  ***************************************************************************************************************
  Copyright (C) 2017 ControllersTech.com
  This is a free software under the GNU license, you can redistribute it and/or modify it under the terms
  of the GNU General Public License version 3 as published by the Free Software Foundation.
  This software library is shared with public for educational purposes, without WARRANTY and Author is not liable for any damages caused directly
  or indirectly by this software, read more about this on the GNU General Public License.
  ***************************************************************************************************************
*/

#ifndef INC_FLASH_SECTOR_F4_H_
#define INC_FLASH_SECTOR_F4_H_

#include "stdint.h"

uint32_t Flash_Write_Data (uint32_t StartSectorAddress, uint32_t *Data, uint16_t numberofwords);

void Flash_Read_Data (uint32_t StartSectorAddress, uint32_t *RxBuf, uint16_t numberofwords);

void Convert_To_Str (uint32_t *Data, char *Buf);

void Flash_Write_NUM (uint32_t StartSectorAddress, float Num);

float Flash_Read_NUM (uint32_t StartSectorAddress);


#endif /* INC_FLASH_SECTOR_F4_H_ */


================================================
FILE: FLASH_PROGRAM/F4 SERIES/README.md
================================================
# How to write data in the FLASH memory of ```F4 Series``` MCU


1. Rewrite the Sectors according to your reference manual
2. Do not program the initial addresses (around 0x08000000). This is where the program is stored.

## Always Refer to the manual, as some sectors are write protected.

To watch the video, goto https://youtu.be/dqfgxS3D1k0

To read the content, goto https://controllerstech.com/flash-programming-in-stm32/


================================================
FILE: FLASH_PROGRAM/F4 SERIES/main.c
================================================
/* USER CODE BEGIN Header */
/**
  ******************************************************************************
  * @file           : main.c
  * @brief          : Main program body
  ******************************************************************************
  * @attention
  *
  * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
  * All rights reserved.</center></h2>
  *
  * 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 <FLASH_SECTOR_F4.h>
#include "main.h"

/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include "string.h"

/* USER CODE END Includes */

/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */

/* USER CODE END PTD */

/* 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 -----------------------------------------------*/
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
/* USER CODE BEGIN PFP */

/* USER CODE END PFP */

/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */

char *data = "hello FLASH from ControllerTech\
			  This is a test to see how many words can we work with";

uint32_t data2[] = {0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9};

uint32_t Rx_Data[30];

char string[100];

int number = 123;

float val = 123.456;

float RxVal;

/* USER CODE END 0 */

/**
  * @brief  The application entry point.
  * @retval int
  */
int main(void)
{
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  /* USER CODE BEGIN 2 */

  /* Make Sure you cross check the protected Sectors in the reference manual of your board */
  Flash_Write_Data(0x08004100 , (uint32_t *)data2, 9);
  Flash_Read_Data(0x0800C400 , Rx_Data, 10);


  int numofwords = (strlen(data)/4)+((strlen(data)%4)!=0);
  Flash_Write_Data(0x08008100 , (uint32_t *)data, numofwords);
  Flash_Read_Data(0x08008100 , Rx_Data, numofwords);
  Convert_To_Str(Rx_Data, string);


  Flash_Write_NUM(0x0800C100, number);
  RxVal = Flash_Read_NUM(0x0800C100);

  Flash_Write_NUM(0x0800D100, val);
  RxVal = Flash_Read_NUM(0x0800D100);

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

/**
  * @brief System Clock Configuration
  * @retval None
  */
void SystemClock_Config(void)
{
  RCC_OscInitTypeDef RCC_OscInitStruct = {0};
  RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};

  /** Configure the main internal regulator output voltage 
  */
  __HAL_RCC_PWR_CLK_ENABLE();
  __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
  /** Initializes the CPU, AHB and APB busses clocks 
  */
  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 = 4;
  RCC_OscInitStruct.PLL.PLLN = 180;
  RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
  RCC_OscInitStruct.PLL.PLLQ = 2;
  RCC_OscInitStruct.PLL.PLLR = 2;
  if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
  {
    Error_Handler();
  }
  /** Activate the Over-Drive mode 
  */
  if (HAL_PWREx_EnableOverDrive() != HAL_OK)
  {
    Error_Handler();
  }
  /** Initializes the CPU, AHB and APB busses clocks 
  */
  RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
                              |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
  RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
  RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
  RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;
  RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;

  if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5) != HAL_OK)
  {
    Error_Handler();
  }
}

/**
  * @brief GPIO Initialization Function
  * @param None
  * @retval None
  */
static void MX_GPIO_Init(void)
{

  /* GPIO Ports Clock Enable */
  __HAL_RCC_GPIOH_CLK_ENABLE();

}

/* USER CODE BEGIN 4 */

/* USER CODE END 4 */

/**
  * @brief  This function is executed in case of error occurrence.
  * @retval None
  */
void Error_Handler(void)
{
  /* USER CODE BEGIN Error_Handler_Debug */
  /* User can add his own implementation to report the HAL error return state */

  /* USER CODE END Error_Handler_Debug */
}

#ifdef  USE_FULL_ASSERT
/**
  * @brief  Reports the name of the source file and the source line number
  *         where the assert_param error has occurred.
  * @param  file: pointer to the source file name
  * @param  line: assert_param error line source number
  * @retval None
  */
void assert_failed(uint8_t *file, uint32_t line)
{ 
  /* USER CODE BEGIN 6 */
  /* User can add his own implementation to report the file name and line number,
     tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
  /* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */

/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/


================================================
FILE: FLASH_PROGRAM/H7 SERIES/FLASH_SECTOR_H7.c
================================================
/**
  ***************************************************************************************************************
  ***************************************************************************************************************
  ***************************************************************************************************************

  File:	      FLASH_SECTOR_H7.c
  Modifier:   ControllersTech.com
  Updated:    27th MAY 2021

  ***************************************************************************************************************
  Copyright (C) 2017 ControllersTech.com

  This is a free software under the GNU license, you can redistribute it and/or modify it under the terms
  of the GNU General Public License version 3 as published by the Free Software Foundation.
  This software library is shared with public for educational purposes, without WARRANTY and Author is not liable for any damages caused directly
  or indirectly by this software, read more about this on the GNU General Public License.

  ***************************************************************************************************************
*/


#include "stm32h7xx_hal.h"
#include "FLASH_SECTOR_H7.h"
#include "string.h"
#include "stdio.h"


// If using STM32H7Ax/BX Series, uncomment the line below
//#define FLASHWORD 		4

// If using any other STM32H7 Series, uncomment the line below
#define FLASHWORD		8




// There are 2 BANKS available for H745, BANK 1 (0x0800 0000 - 0x080F FFFF) and BANK 2 (0x0810 0000 - 0x080F FFFF)
// Both of them have Sectors 0 to 7.
// We will define the sectors in normal way (like Defined below), and later the BANK will be taken care by the HAL

static uint32_t GetSector(uint32_t Address)
{
  uint32_t sector = 0;

  /* BANK 1 */
  if((Address >= 0x08000000) && (Address < 0x08020000))
  {
    sector = FLASH_SECTOR_0;
  }

  else if((Address >= 0x08020000) && (Address < 0x08040000))
  {
    sector = FLASH_SECTOR_1;
  }

  else if((Address >= 0x08040000) && (Address < 0x08060000))
  {
    sector = FLASH_SECTOR_2;
  }

  else if((Address >= 0x08060000) && (Address < 0x08080000))
  {
    sector = FLASH_SECTOR_3;
  }

  else if((Address >= 0x08080000) && (Address < 0x080A0000))
  {
    sector = FLASH_SECTOR_4;
  }

  else if((Address >= 0x080A0000) && (Address < 0x080C0000))
  {
    sector = FLASH_SECTOR_5;
  }

  else if((Address >= 0x080C0000) && (Address < 0x080E0000))
  {
    sector = FLASH_SECTOR_6;
  }

  else if((Address >= 0x080E0000) && (Address < 0x08100000))
  {
    sector = FLASH_SECTOR_7;
  }


  /* BANK 2 */
  if((Address >= 0x08100000) && (Address < 0x08120000))
  {
    sector = FLASH_SECTOR_0;
  }

  else if((Address >= 0x08120000) && (Address < 0x08140000))
  {
    sector = FLASH_SECTOR_1;
  }

  else if((Address >= 0x08140000) && (Address < 0x08160000))
  {
    sector = FLASH_SECTOR_2;
  }

  else if((Address >= 0x08160000) && (Address < 0x08180000))
  {
    sector = FLASH_SECTOR_3;
  }

  else if((Address >= 0x08180000) && (Address < 0x081A0000))
  {
    sector = FLASH_SECTOR_4;
  }

  else if((Address >= 0x081A0000) && (Address < 0x081C0000))
  {
    sector = FLASH_SECTOR_5;
  }

  else if((Address >= 0x081C0000) && (Address < 0x081E0000))
  {
    sector = FLASH_SECTOR_6;
  }

  else if((Address >= 0x081E0000) && (Address < 0x08200000))
  {
    sector = FLASH_SECTOR_7;
  }

  return sector;
}


/* Some Controllers like STM32H7Ax have 128 sectors. It's not possible to write each one of them here.
   You can come up with easier ways to set the sector numbers. FOR EXAMPLE

static uint32_t GetSector(uint32_t Address)
{
  uint16_t address = Address-0x08000000;
  int mentissa = address/8192;  // Each Sector is 8 KB

  return mentissa;
}

*/




uint8_t bytes_temp[4];


void float2Bytes(uint8_t * ftoa_bytes_temp,float float_variable)
{
    union {
      float a;
      uint8_t bytes[4];
    } thing;

    thing.a = float_variable;

    for (uint8_t i = 0; i < 4; i++) {
      ftoa_bytes_temp[i] = thing.bytes[i];
    }

}

float Bytes2float(uint8_t * ftoa_bytes_temp)
{
    union {
      float a;
      uint8_t bytes[4];
    } thing;

    for (uint8_t i = 0; i < 4; i++) {
    	thing.bytes[i] = ftoa_bytes_temp[i];
    }

   float float_variable =  thing.a;
   return float_variable;
}




/* The DATA to be written here MUST be according to the List Shown Below

For EXAMPLE:- For H74x/5x, a single data must be 8 numbers of 32 bits word
If you try to write a single 32 bit word, it will automatically write 0's for the rest 7

*          - 256 bits for STM32H74x/5X devices (8x 32bits words)
*          - 128 bits for STM32H7Ax/BX devices (4x 32bits words)
*          - 256 bits for STM32H72x/3X devices (8x 32bits words)
*
*/

uint32_t Flash_Write_Data (uint32_t StartSectorAddress, uint32_t *data, uint16_t numberofwords)
{

	static FLASH_EraseInitTypeDef EraseInitStruct;
	uint32_t SECTORError;
	int sofar=0;

	 /* Unlock the Flash to enable the flash control register access *************/
	  HAL_FLASH_Unlock();

	  /* Erase the user Flash area */

	  /* Get the number of sector to erase from 1st sector */

	  uint32_t StartSector = GetSector(StartSectorAddress);
	  uint32_t EndSectorAddress = StartSectorAddress + numberofwords*4;
	  uint32_t EndSector = GetSector(EndSectorAddress);

	  /* Fill EraseInit structure*/
	  EraseInitStruct.TypeErase     = FLASH_TYPEERASE_SECTORS;
	  EraseInitStruct.VoltageRange  = FLASH_VOLTAGE_RANGE_3;
	  EraseInitStruct.Sector        = StartSector;

	  // The the proper BANK to erase the Sector
	  if (StartSectorAddress < 0x08100000)
		  EraseInitStruct.Banks     = FLASH_BANK_1;
	  else EraseInitStruct.Banks    = FLASH_BANK_2;

	  EraseInitStruct.NbSectors     = (EndSector - StartSector) + 1;


	  if (HAL_FLASHEx_Erase(&EraseInitStruct, &SECTORError) != HAL_OK)
	  {
		  return HAL_FLASH_GetError ();
	  }

	  /* Program the user Flash area 8 WORDS at a time
	   * (area defined by FLASH_USER_START_ADDR and FLASH_USER_END_ADDR) ***********/

	   while (sofar<numberofwords)
	   {
	     if (HAL_FLASH_Program(FLASH_TYPEPROGRAM_FLASHWORD, StartSectorAddress, (uint32_t ) &data[sofar]) == HAL_OK)
	     {
	    	 StartSectorAddress += 4*FLASHWORD;  //
	    	 sofar+=FLASHWORD;
	     }
	     else
	     {
	       /* Error occurred while writing data in Flash memory*/
	    	 return HAL_FLASH_GetError ();
	     }
	   }

	  /* Lock the Flash to disable the flash control register access (recommended
	     to protect the FLASH memory against possible unwanted operation) *********/
	  HAL_FLASH_Lock();

	   return 0;
}


void Flash_Read_Data (uint32_t StartSectorAddress, uint32_t *data, uint16_t numberofwords)
{
	while (1)
	{

		*data = *(__IO uint32_t *)StartSectorAddress;
		StartSectorAddress += 4;
		data++;
		if (!(numberofwords--)) break;
	}
}

void Convert_To_Str (uint32_t *Data, char *Buf)
{
	int numberofbytes = ((strlen((char *)Data)/4) + ((strlen((char *)Data) % 4) != 0)) *4;

	for (int i=0; i<numberofbytes; i++)
	{
		Buf[i] = Data[i/4]>>(8*(i%4));
	}
}


void Flash_Write_NUM (uint32_t StartSectorAddress, float Num)
{

	float2Bytes(bytes_temp, Num);

	Flash_Write_Data (StartSectorAddress, (uint32_t *)bytes_temp, 1);
}


float Flash_Read_NUM (uint32_t StartSectorAddress)
{
	uint8_t buffer[4];
	float value;

	Flash_Read_Data(StartSectorAddress, (uint32_t *)buffer, 1);
	value = Bytes2float(buffer);
	return value;
}


================================================
FILE: FLASH_PROGRAM/H7 SERIES/FLASH_SECTOR_H7.h
================================================
/**
  ***************************************************************************************************************
  ***************************************************************************************************************
  ***************************************************************************************************************

  File:       FLASH_SECTOR_H7.h
  Modifier:   ControllersTech.com
  Updated:    27th MAY 2021

  ***************************************************************************************************************
  Copyright (C) 2017 ControllersTech.com

  This is a free software under the GNU license, you can redistribute it and/or modify it under the terms
  of the GNU General Public License version 3 as published by the Free Software Foundation.
  This software library is shared with public for educational purposes, without WARRANTY and Author is not liable for any damages caused directly
  or indirectly by this software, read more about this on the GNU General Public License.

  ***************************************************************************************************************
*/

#ifndef INC_FLASH_SECTOR_H7_H_
#define INC_FLASH_SECTOR_H7_H_

#include "stm32h7xx_hal.h"

uint32_t Flash_Write_Data (uint32_t StartSectorAddress, uint32_t *data, uint16_t numberofwords);
void Flash_Read_Data (uint32_t StartSectorAddress, uint32_t *data, uint16_t numberofwords);
void Convert_To_Str (uint32_t *Data, char *Buf);

void Flash_Write_NUM (uint32_t StartSectorAddress, float Num);
float Flash_Read_NUM (uint32_t StartSectorAddress);


#endif /* INC_FLASH_SECTOR_H7_H_ */


================================================
FILE: FLASH_PROGRAM/H7 SERIES/README.md
================================================
# How to write data in the FLASH memory of ```H7 Series``` MCU


1. Choose the MCU in ```FLASH_SECTOR_H7.c``` file
2. Rewrite the Sectors according to your reference manual
3. If VOLTAGE RANGE throws error, just comment it out

## Always Refer to the manual, as some sectors are write protected.


================================================
FILE: FLASH_PROGRAM/H7 SERIES/main.c
================================================
/* USER CODE BEGIN Header */
/**
  ******************************************************************************
  * @file           : main.c
  * @brief          : Main program body
  ******************************************************************************
  * @attention
  *
  * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
  * All rights reserved.</center></h2>
  *
  * 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"

/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
/* USER CODE END Includes */
#include"string.h"
#include "FLASH_SECTOR_H7.h"
/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */

/* USER CODE END PTD */

/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */

#ifndef HSEM_ID_0
#define HSEM_ID_0 (0U) /* HW semaphore 0*/
#endif
/* 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 -----------------------------------------------*/
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
/* USER CODE BEGIN PFP */

/* USER CODE END PFP */

/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */

char *data = "hello FLASH from ControllerTech\
			  This is a test to see how many words can we work with";

uint32_t data2[] = {0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9};

uint32_t Rx_Data[30];

char string[100];

int number = 123;

float val = 123.456;

float RxVal;

/* USER CODE END 0 */

/**
  * @brief  The application entry point.
  * @retval int
  */
int main(void)
{
  HAL_Init();

  SystemClock_Config();

  MX_GPIO_Init();

  /* Make Sure you cross check the protected Sectors in the reference manula of your board */
  Flash_Write_Data(0x080A0000 , (uint32_t *)data2, 9);
  Flash_Read_Data(0x080A0000 , Rx_Data, 10);


  int numofwords = (strlen(data)/4)+((strlen(data)%4)!=0);
  Flash_Write_Data(0x080A0000 , (uint32_t *)data, numofwords);
  Flash_Read_Data(0x080A0000 , Rx_Data, numofwords);
  Convert_To_Str(Rx_Data, string);


  Flash_Write_NUM(0x080A0000, number);
  RxVal = Flash_Read_NUM(0x080A0000);

  Flash_Write_NUM(0x080A0000, val);
  RxVal = Flash_Read_NUM(0x080A0000);

  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

/**
  * @brief System Clock Configuration
  * @retval None
  */
void SystemClock_Config(void)
{
  RCC_OscInitTypeDef RCC_OscInitStruct = {0};
  RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};

  /** Supply configuration update enable
  */
  HAL_PWREx_ConfigSupply(PWR_DIRECT_SMPS_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_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 = 192;
  RCC_OscInitStruct.PLL.PLLP = 2;
  RCC_OscInitStruct.PLL.PLLQ = 4;
  RCC_OscInitStruct.PLL.PLLR = 4;
  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();
  }
}

/**
  * @brief  This function is executed in case of error occurrence.
  * @retval None
  */
void Error_Handler(void)
{
  /* USER CODE BEGIN Error_Handler_Debug */
  /* User can add his own implementation to report the HAL error return state */
  __disable_irq();
  while (1)
  {
  }
  /* USER CODE END Error_Handler_Debug */
}

#ifdef  USE_FULL_ASSERT
/**
  * @brief  Reports the name of the source file and the source line number
  *         where the assert_param error has occurred.
  * @param  file: pointer to the source file name
  * @param  line: assert_param error line source number
  * @retval None
  */
void assert_failed(uint8_t *file, uint32_t line)
{
  /* USER CODE BEGIN 6 */
  /* User can add his own implementation to report the file name and line number,
     ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
  /* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */

/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/


================================================
FILE: LCD1602_I2C_NOHAL/Delay.c
================================================

/**
  ******************************************************************************

  Timer Setup for Delay in STM32F446RE
  Author:   ControllersTech
  Updated:  2nd Aug 2020

  ******************************************************************************
  Copyright (C) 2017 ControllersTech.com

  This is a free software under the GNU license, you can redistribute it and/or modify it under the terms
  of the GNU General Public License version 3 as published by the Free Software Foundation.
  This software library is shared with public for educational purposes, without WARRANTY and Author is not liable for any damages caused directly
  or indirectly by this software, read more about this on the GNU General Public License.

  ******************************************************************************
*/

#include "Delay.h"
#include "RccConfig.h"

void TIM6Config (void)
{
	/************** STEPS TO FOLLOW *****************
	1. Enable Timer clock
	2. Set the prescalar and the ARR
	3. Enable the Timer, and wait for the update Flag to set
	************************************************/

// 1. Enable Timer clock
	RCC->APB1ENR |= (1<<4);  // Enable the timer6 clock
	
// 2. Set the prescalar and the ARR
	TIM6->PSC = 90-1;  // 90MHz/90 = 1 MHz ~~ 1 uS delay
	TIM6->ARR = 0xffff;  // MAX ARR value
	
// 3. Enable the Timer, and wait for the update Flag to set
	TIM6->CR1 |= (1<<0); // Enable the Counter
	while (!(TIM6->SR & (1<<0)));  // UIF: Update interrupt flag..  This bit is set by hardware when the registers are updated
}

void Delay_us (uint16_t us)
{
	/************** STEPS TO FOLLOW *****************
	1. RESET the Counter
	2. Wait for the Counter to reach the entered value. As each count will take 1 us, 
		 the total waiting time will be the required us delay
	************************************************/
	TIM6->CNT = 0;
	while (TIM6->CNT < us);
}

void Delay_ms (uint16_t ms)
{
	for (uint16_t i=0; i<ms; i++)
	{
		Delay_us (1000); // delay of 1 ms
	}
}



================================================
FILE: LCD1602_I2C_NOHAL/Delay.h
================================================


/**
  ******************************************************************************

  Timer Setup for Delay in STM32F446RE
  Author:   ControllersTech
  Updated:  2nd Aug 2020

  ******************************************************************************
  Copyright (C) 2017 ControllersTech.com

  This is a free software under the GNU license, you can redistribute it and/or modify it under the terms
  of the GNU General Public License version 3 as published by the Free Software Foundation.
  This software library is shared with public for educational purposes, without WARRANTY and Author is not liable for any damages caused directly
  or indirectly by this software, read more about this on the GNU General Public License.

  ******************************************************************************
*/

#include <stdint.h>

void TIM6Config (void);

void Delay_us (uint16_t us);

void Delay_ms (uint16_t ms);



================================================
FILE: LCD1602_I2C_NOHAL/I2C.c
================================================


/**
  ******************************************************************************

  I2C Setup For STM32F446RE
  Author:   ControllersTech
  Updated:  31st Jan 2020

  ******************************************************************************
  Copyright (C) 2017 ControllersTech.com

  This is a free software under the GNU license, you can redistribute it and/or modify it under the terms
  of the GNU General Public License version 3 as published by the Free Software Foundation.
  This software library is shared with public for educational purposes, without WARRANTY and Author is not liable for any damages caused directly
  or indirectly by this software, read more about this on the GNU General Public License.

  ******************************************************************************
*/


#include "I2C.h"
#include "RccConfig.h"

void I2C_Config (void)
{
/**** STEPS FOLLOWED  ************
1. Enable the I2C CLOCK and GPIO CLOCK
2. Configure the I2C PINs for ALternate Functions
	a) Select Alternate Function in MODER Register
	b) Select Open Drain Output 
	c) Select High SPEED for the PINs
	d) Select Pull-up for both the Pins
	e) Configure the Alternate Function in AFR Register
3. Reset the I2C 	
4. Program the peripheral input clock in I2C_CR2 Register in order to generate correct timings
5. Configure the clock control registers
6. Configure the rise time register
7. Program the I2C_CR1 register to enable the peripheral
*/
	
	// Enable the I2C CLOCK and GPIO CLOCK
	RCC->APB1ENR |= (1<<21);  // enable I2C CLOCK
	RCC->AHB1ENR |= (1<<1);  // Enable GPIOB CLOCK
	
	
	// Configure the I2C PINs for ALternate Functions
	GPIOB->MODER |= (2<<16) | (2<<18);  // Bits (17:16)= 1:0 --> Alternate Function for Pin PB8; Bits (19:18)= 1:0 --> Alternate Function for Pin PB9
	GPIOB->OTYPER |= (1<<8) | (1<<9);  //  Bit8=1, Bit9=1  output open drain
	GPIOB->OSPEEDR |= (3<<16) | (3<<18);  // Bits (17:16)= 1:1 --> High Speed for PIN PB8; Bits (19:18)= 1:1 --> High Speed for PIN PB9
	GPIOB->PUPDR |= (1<<16) | (1<<18);  // Bits (17:16)= 0:1 --> Pull up for PIN PB8; Bits (19:18)= 0:1 --> pull up for PIN PB9
	GPIOB->AFR[1] |= (4<<0) | (4<<4);  // Bits (3:2:1:0) = 0:1:0:0 --> AF4 for pin PB8;  Bits (7:6:5:4) = 0:1:0:0 --> AF4 for pin PB9
	
	
	// Reset the I2C 
	I2C1->CR1 |= (1<<15);
	I2C1->CR1 &= ~(1<<15);
	
	// Program the peripheral input clock in I2C_CR2 Register in order to generate correct timings
	I2C1->CR2 |= (45<<0);  // PCLK1 FREQUENCY in MHz
	
	// Configure the clock control registers
	I2C1->CCR = 225<<0;  // check calculation in PDF
	
	// Configure the rise time register
	I2C1->TRISE = 46;  // check PDF again
	
	// Program the I2C_CR1 register to enable the peripheral
	I2C1->CR1 |= (1<<0);  // Enable I2C
}

void I2C_Start (void)
{
/**** STEPS FOLLOWED  ************
1. Send the START condition 
2. Wait for the SB ( Bit 0 in SR1) to set. This indicates that the start condition is generated
*/	

	I2C1->CR1 |= (1<<10);  // Enable the ACK
	I2C1->CR1 |= (1<<8);  // Generate START
	while (!(I2C1->SR1 & (1<<0)));  // Wait fror SB bit to set
}


void I2C_Write (uint8_t data)
{
/**** STEPS FOLLOWED  ************
1. Wait for the TXE (bit 7 in SR1) to set. This indicates that the DR is empty
2. Send the DATA to the DR Register
3. Wait for the BTF (bit 2 in SR1) to set. This indicates the end of LAST DATA transmission
*/	
	while (!(I2C1->SR1 & (1<<7)));  // wait for TXE bit to set
	I2C1->DR = data;
	while (!(I2C1->SR1 & (1<<2)));  // wait for BTF bit to set
}

void I2C_Address (uint8_t Address)
{
/**** STEPS FOLLOWED  ************
1. Send the Slave Address to the DR Register
2. Wait for the ADDR (bit 1 in SR1) to set. This indicates the end of address transmission
3. clear the ADDR by reading the SR1 and SR2
*/	
	I2C1->DR = Address;  //  send the address
	while (!(I2C1->SR1 & (1<<1)));  // wait for ADDR bit to set
	uint8_t temp = I2C1->SR1 | I2C1->SR2;  // read SR1 and SR2 to clear the ADDR bit
}
	
void I2C_Stop (void)
{
	I2C1->CR1 |= (1<<9);  // Stop I2C
}

void I2C_WriteMulti (uint8_t *data, uint8_t size)
{
/**** STEPS FOLLOWED  ************
1. Wait for the TXE (bit 7 in SR1) to set. This indicates that the DR is empty
2. Keep Sending DATA to the DR Register after performing the check if the TXE bit is set
3. Once the DATA transfer is complete, Wait for the BTF (bit 2 in SR1) to set. This indicates the end of LAST DATA transmission
*/	
	while (!(I2C1->SR1 & (1<<7)));  // wait for TXE bit to set 
	while (size)
	{
		while (!(I2C1->SR1 & (1<<7)));  // wait for TXE bit to set 
		I2C1->DR = (uint32_t )*data++;  // send data
		size--;
	}
	
	while (!(I2C1->SR1 & (1<<2)));  // wait for BTF to set
}

void I2C_Read (uint8_t Address, uint8_t *buffer, uint8_t size)
{
/**** STEPS FOLLOWED  ************
1. If only 1 BYTE needs to be Read
	a) Write the slave Address, and wait for the ADDR bit (bit 1 in SR1) to be set
	b) the Acknowledge disable is made during EV6 (before ADDR flag is cleared) and the STOP condition generation is made after EV6
	c) Wait for the RXNE (Receive Buffer not Empty) bit to set
	d) Read the data from the DR

2. If Multiple BYTES needs to be read
  a) Write the slave Address, and wait for the ADDR bit (bit 1 in SR1) to be set
	b) Clear the ADDR bit by reading the SR1 and SR2 Registers
	c) Wait for the RXNE (Receive buffer not empty) bit to set
	d) Read the data from the DR 
	e) Generate the Acknowlegment by settint the ACK (bit 10 in SR1)
	f) To generate the nonacknowledge pulse after the last received data byte, the ACK bit must be cleared just after reading the 
		 second last data byte (after second last RxNE event)
	g) In order to generate the Stop/Restart condition, software must set the STOP/START bit 
	   after reading the second last data byte (after the second last RxNE event)
*/		
	
	int remaining = size;
	
/**** STEP 1 ****/	
	if (size == 1)
	{
		/**** STEP 1-a ****/	
		I2C1->DR = Address;  //  send the address
		while (!(I2C1->SR1 & (1<<1)));  // wait for ADDR bit to set
		
		/**** STEP 1-b ****/	
		I2C1->CR1 &= ~(1<<10);  // clear the ACK bit 
		uint8_t temp = I2C1->SR1 | I2C1->SR2;  // read SR1 and SR2 to clear the ADDR bit.... EV6 condition
		I2C1->CR1 |= (1<<9);  // Stop I2C

		/**** STEP 1-c ****/	
		while (!(I2C1->SR1 & (1<<6)));  // wait for RxNE to set
		
		/**** STEP 1-d ****/	
		buffer[size-remaining] = I2C1->DR;  // Read the data from the DATA REGISTER
		
	}

/**** STEP 2 ****/		
	else 
	{
		/**** STEP 2-a ****/
		I2C1->DR = Address;  //  send the address
		while (!(I2C1->SR1 & (1<<1)));  // wait for ADDR bit to set
		
		/**** STEP 2-b ****/
		uint8_t temp = I2C1->SR1 | I2C1->SR2;  // read SR1 and SR2 to clear the ADDR bit
		
		while (remaining>2)
		{
			/**** STEP 2-c ****/
			while (!(I2C1->SR1 & (1<<6)));  // wait for RxNE to set
			
			/**** STEP 2-d ****/
			buffer[size-remaining] = I2C1->DR;  // copy the data into the buffer			
			
			/**** STEP 2-e ****/
			I2C1->CR1 |= 1<<10;  // Set the ACK bit to Acknowledge the data received
			
			remaining--;
		}
		
		// Read the SECOND LAST BYTE
		while (!(I2C1->SR1 & (1<<6)));  // wait for RxNE to set
		buffer[size-remaining] = I2C1->DR;
		
		/**** STEP 2-f ****/
		I2C1->CR1 &= ~(1<<10);  // clear the ACK bit 
		
		/**** STEP 2-g ****/
		I2C1->CR1 |= (1<<9);  // Stop I2C
		
		remaining--;
		
		// Read the Last BYTE
		while (!(I2C1->SR1 & (1<<6)));  // wait for RxNE to set
		buffer[size-remaining] = I2C1->DR;  // copy the data into the buffer
	}	
	
}


================================================
FILE: LCD1602_I2C_NOHAL/I2C.h
================================================


/**
  ******************************************************************************

  I2C Setup For STM32F446RE
  Author:   ControllersTech
  Updated:  31st Jan 2020

  ******************************************************************************
  Copyright (C) 2017 ControllersTech.com

  This is a free software under the GNU license, you can redistribute it and/or modify it under the terms
  of the GNU General Public License version 3 as published by the Free Software Foundation.
  This software library is shared with public for educational purposes, without WARRANTY and Author is not liable for any damages caused directly
  or indirectly by this software, read more about this on the GNU General Public License.

  ******************************************************************************
*/

#include <stdint.h>

void I2C_Config (void);

void I2C_Start (void);

void I2C_Write (uint8_t data);

void I2C_Address (uint8_t Address);

void I2C_Stop (void);

void I2C_WriteMulti (uint8_t *data, uint8_t size);

void I2C_Read (uint8_t Address, uint8_t *buffer, uint8_t size);


================================================
FILE: LCD1602_I2C_NOHAL/README.md
================================================
# LCD1602 using I2C and REGISTERS only



## USE THIS ONLY IF YOU KNOW HOW TO WORK WITH REGISTERS.


The code here works with F446RE, But you can change the configuration according to your MCU

All the files need to be modified except the ``` i2c-lcd.c ``` and ``` i2c-lcd.h ```




## Check out the Register Based Programming Series for STM32 

https://www.youtube.com/playlist?list=PLfIJKC1ud8ghc4eFhI84z_3p3Ap2MCMV-


================================================
FILE: LCD1602_I2C_NOHAL/RccConfig.c
================================================


/**
  ******************************************************************************

  CLOCK Setup For STM32F446RE
  Author:   ControllersTech
  Updated:  2nd Aug 2020

  ******************************************************************************
  Copyright (C) 2017 ControllersTech.com

  This is a free software under the GNU license, you can redistribute it and/or modify it under the terms
  of the GNU General Public License version 3 as published by the Free Software Foundation.
  This software library is shared with public for educational purposes, without WARRANTY and Author is not liable for any damages caused directly
  or indirectly by this software, read more about this on the GNU General Public License.

  ******************************************************************************
*/

/**
  * @brief  System Clock Configuration
  *         The system Clock is configured as follow : 
  *            System Clock source            = PLL (HSE)
  *            SYSCLK(Hz)                     = 180000000
  *            HCLK(Hz)                       = 180000000
  *            AHB Prescaler                  = 1
  *            APB1 Prescaler                 = 4
  *            APB2 Prescaler                 = 2
  *            HSE Frequency(Hz)              = 8000000
  *            PLL_M                          = 4
  *            PLL_N                          = 180
  *            PLL_P                          = 2
  *            VDD(V)                         = 3.3
  *            Main regulator output voltage  = Scale1 mode
  *            Flash Latency(WS)              = 5
  * @param  None
  * @retval None
  */

#include "RccConfig.h"

void SysClockConfig (void)
{
		/*************>>>>>>> STEPS FOLLOWED <<<<<<<<************
	
	1. ENABLE HSE and wait for the HSE to become Ready
	2. Set the POWER ENABLE CLOCK and VOLTAGE REGULATOR
	3. Configure the FLASH PREFETCH and the LATENCY Related Settings
	4. Configure the PRESCALARS HCLK, PCLK1, PCLK2
	5. Configure the MAIN PLL
	6. Enable the PLL and wait for it to become ready
	7. Select the Clock Source and wait for it to be set
	
	********************************************************/
	
	
	#define PLL_M 	4
	#define PLL_N 	180
	#define PLL_P 	0  // PLLP = 2

	// 1. ENABLE HSE and wait for the HSE to become Ready
	RCC->CR |= RCC_CR_HSEON;  
	while (!(RCC->CR & RCC_CR_HSERDY));
	
	// 2. Set the POWER ENABLE CLOCK and VOLTAGE REGULATOR
	RCC->APB1ENR |= RCC_APB1ENR_PWREN;
	PWR->CR |= PWR_CR_VOS; 
	
	
	// 3. Configure the FLASH PREFETCH and the LATENCY Related Settings
	FLASH->ACR = FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_PRFTEN | FLASH_ACR_LATENCY_5WS;
	
	// 4. Configure the PRESCALARS HCLK, PCLK1, PCLK2
	// AHB PR
	RCC->CFGR |= RCC_CFGR_HPRE_DIV1;
	
	// APB1 PR
	RCC->CFGR |= RCC_CFGR_PPRE1_DIV4;
	
	// APB2 PR
	RCC->CFGR |= RCC_CFGR_PPRE2_DIV2;
	
	
	// 5. Configure the MAIN PLL
	RCC->PLLCFGR = (PLL_M <<0) | (PLL_N << 6) | (PLL_P <<16) | (RCC_PLLCFGR_PLLSRC_HSE);

	// 6. Enable the PLL and wait for it to become ready
	RCC->CR |= RCC_CR_PLLON;
	while (!(RCC->CR & RCC_CR_PLLRDY));
	
	// 7. Select the Clock Source and wait for it to be set
	RCC->CFGR |= RCC_CFGR_SW_PLL;
	while ((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_PLL);
}



================================================
FILE: LCD1602_I2C_NOHAL/RccConfig.h
================================================
/**
  ******************************************************************************

  CLOCK Setup For STM32F446RE
  Author:   ControllersTech
  Updated:  2nd Aug 2020

  ******************************************************************************
  Copyright (C) 2017 ControllersTech.com

  This is a free software under the GNU license, you can redistribute it and/or modify it under the terms
  of the GNU General Public License version 3 as published by the Free Software Foundation.
  This software library is shared with public for educational purposes, without WARRANTY and Author is not liable for any damages caused directly
  or indirectly by this software, read more about this on the GNU General Public License.

  ******************************************************************************
*/

#include "stm32f4xx.h"                  // Device header
#include "stm32f446xx.h"

void SysClockConfig (void);



================================================
FILE: LCD1602_I2C_NOHAL/i2c-lcd.c
================================================

/**
  ******************************************************************************

  LCD1602.c For STM32F446RE
  Author:   ControllersTech
  Updated:  31st Jan 2020

  ******************************************************************************
  Copyright (C) 2017 ControllersTech.com

  This is a free software under the GNU license, you can redistribute it and/or modify it under the terms
  of the GNU General Public License version 3 as published by the Free Software Foundation.
  This software library is shared with public for educational purposes, without WARRANTY and Author is not liable for any damages caused directly
  or indirectly by this software, read more about this on the GNU General Public License.

  ******************************************************************************
*/

#include "i2c-lcd.h"
#include "i2c.h"
#include "delay.h"

#define SLAVE_ADDRESS_LCD 0x4E // change this according to ur setup


void LCD_Write (uint8_t Address, uint8_t *Data, int size)
{
	I2C_Start ();
	I2C_Address (Address);
	for (int i=0; i<size; i++) I2C_Write (*Data++);
	I2C_Stop ();
}

void lcd_send_cmd (char cmd)
{
  char data_u, data_l;
	uint8_t data_t[4];
	data_u = (cmd&0xf0);
	data_l = ((cmd<<4)&0xf0);
	data_t[0] = data_u|0x0C;  //en=1, rs=0
	data_t[1] = data_u|0x08;  //en=0, rs=0
	data_t[2] = data_l|0x0C;  //en=1, rs=0
	data_t[3] = data_l|0x08;  //en=0, rs=0
	LCD_Write (SLAVE_ADDRESS_LCD,(uint8_t *) data_t, 4);
}

void lcd_send_data (char data)
{
	char data_u, data_l;
	uint8_t data_t[4];
	data_u = (data&0xf0);
	data_l = ((data<<4)&0xf0);
	data_t[0] = data_u|0x0D;  //en=1, rs=0
	data_t[1] = data_u|0x09;  //en=0, rs=0
	data_t[2] = data_l|0x0D;  //en=1, rs=0
	data_t[3] = data_l|0x09;  //en=0, rs=0
	LCD_Write (SLAVE_ADDRESS_LCD,(uint8_t *) data_t, 4);
}

void lcd_clear (void)
{
	lcd_send_cmd (0x80);
	for (int i=0; i<70; i++)
	{
		lcd_send_data (' ');
	}
}

void lcd_put_cur(int row, int col)
{
    switch (row)
    {
        case 0:
            col |= 0x80;
            break;
        case 1:
            col |= 0xC0;
            break;
    }

    lcd_send_cmd (col);
}


void lcd_init (void)
{
	// 4 bit initialisation
	Delay_ms(50);  // wait for >40ms
	lcd_send_cmd (0x30);
	Delay_ms(5);  // wait for >4.1ms
	lcd_send_cmd (0x30);
	Delay_us(150);  // wait for >100us
	lcd_send_cmd (0x30);
	Delay_ms(10);
	lcd_send_cmd (0x20);  // 4bit mode
	Delay_ms(10);

  // dislay initialisation
	lcd_send_cmd (0x28); // Function set --> DL=0 (4 bit mode), N = 1 (2 line display) F = 0 (5x8 characters)
	Delay_ms(1);
	lcd_send_cmd (0x08); //Display on/off control --> D=0,C=0, B=0  ---> display off
	Delay_ms(1);
	lcd_send_cmd (0x01);  // clear display
	Delay_ms(1);
	Delay_ms(1);
	lcd_send_cmd (0x06); //Entry mode set --> I/D = 1 (increment cursor) & S = 0 (no shift)
	Delay_ms(1);
	lcd_send_cmd (0x0C); //Display on/off control --> D = 1, C and B = 0. (Cursor and blink, last two bits)
}

void lcd_send_string (char *str)
{
	while (*str) lcd_send_data (*str++);
}


================================================
FILE: LCD1602_I2C_NOHAL/i2c-lcd.h
================================================

/**
  ******************************************************************************

  LCD1602.h For STM32F446RE
  Author:   ControllersTech
  Updated:  31st Jan 2020

  ******************************************************************************
  Copyright (C) 2017 ControllersTech.com

  This is a free software under the GNU license, you can redistribute it and/or modify it under the terms
  of the GNU General Public License version 3 as published by the Free Software Foundation.
  This software library is shared with public for educational purposes, without WARRANTY and Author is not liable for any damages caused directly
  or indirectly by this software, read more about this on the GNU General Public License.

  ******************************************************************************
*/

#include "RccConfig.h"

void lcd_init (void);   // initialize lcd

void lcd_send_cmd (char cmd);  // send command to the lcd

void lcd_send_data (char data);  // send data to the lcd

void lcd_send_string (char *str);  // send string to the lcd

void lcd_put_cur(int row, int col);  // put cursor at the entered position row (0 or 1), col (0-15);

void lcd_clear (void);


================================================
FILE: LCD1602_I2C_NOHAL/main.c
================================================


#include "RccConfig.h"
#include "Delay.h"
#include "I2C.h"
#include "i2c-lcd.h"


int main ()
{
	SysClockConfig ();
	TIM6Config ();
	I2C_Config ();	
	
	lcd_init ();
	lcd_put_cur (0,0);
	lcd_send_string ("hello");
	while (1)
	{
		
	}
}



================================================
FILE: LVGL/Simple_F446/Core/Inc/lcd_lvgl.h
================================================


#ifndef INC_LCD_LVGL_H_
#define INC_LCD_LVGL_H_

/*********************
 *      INCLUDES
 *********************/
#include <stdint.h>
#include "../../lvgl/lvgl.h"

/*********************
 *      DEFINES
 *********************/
#define DISP_HOR_RES 240
#define DISP_VER_RES 320


/**********************
 * GLOBAL PROTOTYPES
 **********************/
void Display_init(int rotation);

void DMA_Handler (void);
#endif /* INC_LCD_LVGL_H_ */


================================================
FILE: LVGL/Simple_F446/Core/Inc/main.h
================================================
/* 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) 2022 STMicroelectronics.
  * All rights reserved.
  *
  * This software is licensed under terms that can be found in the LICENSE file
  * in the root directory of this software component.
  * If no LICENSE file comes with this software, it is provided AS-IS.
  *
  ******************************************************************************
  */
/* USER CODE END Header */

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __MAIN_H
#define __MAIN_H

#ifdef __cplusplus
extern "C" {
#endif

/* Includes ------------------------------------------------------------------*/
#include "stm32f4xx_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 -----------------------------------------------------------*/
#define RESET_Pin GPIO_PIN_1
#define RESET_GPIO_Port GPIOC
#define RD_Pin GPIO_PIN_0
#define RD_GPIO_Port GPIOA
#define WR_Pin GPIO_PIN_1
#define WR_GPIO_Port GPIOA
#define CD_Pin GPIO_PIN_4
#define CD_GPIO_Port GPIOA
#define CS_Pin GPIO_PIN_0
#define CS_GPIO_Port GPIOB
#define D6_Pin GPIO_PIN_10
#define D6_GPIO_Port GPIOB
#define D1_Pin GPIO_PIN_7
#define D1_GPIO_Port GPIOC
#define D7_Pin GPIO_PIN_8
#define D7_GPIO_Port GPIOA
#define D0_Pin GPIO_PIN_9
#define D0_GPIO_Port GPIOA
#define D2_Pin GPIO_PIN_10
#define D2_GPIO_Port GPIOA
#define D3_Pin GPIO_PIN_3
#define D3_GPIO_Port GPIOB
#define D5_Pin GPIO_PIN_4
#define D5_GPIO_Port GPIOB
#define D4_Pin GPIO_PIN_5
#define D4_GPIO_Port GPIOB
/* USER CODE BEGIN Private defines */

/* USER CODE END Private defines */

#ifdef __cplusplus
}
#endif

#endif /* __MAIN_H */


================================================
FILE: LVGL/Simple_F446/Core/Inc/stm32f4xx_hal_conf.h
================================================
/* USER CODE BEGIN Header */
/**
  ******************************************************************************
  * @file    stm32f4xx_hal_conf_template.h
  * @author  MCD Application Team
  * @brief   HAL configuration template file.
  *          This file should be copied to the application folder and renamed
  *          to stm32f4xx_hal_conf.h.
  ******************************************************************************
  * @attention
  *
  * Copyright (c) 2017 STMicroelectronics.
  * All rights reserved.
  *
  * This software is licensed under terms that can be found in the LICENSE file
  * in the root directory of this software component.
  * If no LICENSE file comes with this software, it is provided AS-IS.
  *
  ******************************************************************************
  */
/* USER CODE END Header */

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32F4xx_HAL_CONF_H
#define __STM32F4xx_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_CRYP_MODULE_ENABLED   */
/* #define HAL_CAN_MODULE_ENABLED   */
/* #define HAL_CRC_MODULE_ENABLED   */
/* #define HAL_CAN_LEGACY_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_PCCARD_MODULE_ENABLED   */
/* #define HAL_SRAM_MODULE_ENABLED   */
/* #define HAL_SDRAM_MODULE_ENABLED   */
/* #define HAL_HASH_MODULE_ENABLED   */
/* #define HAL_I2C_MODULE_ENABLED   */
/* #define HAL_I2S_MODULE_ENABLED   */
/* #define HAL_IWDG_MODULE_ENABLED   */
/* #define HAL_LTDC_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_SPI_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_SMBUS_MODULE_ENABLED   */
/* #define HAL_WWDG_MODULE_ENABLED   */
/* #define HAL_PCD_MODULE_ENABLED   */
/* #define HAL_HCD_MODULE_ENABLED   */
/* #define HAL_DSI_MODULE_ENABLED   */
/* #define HAL_QSPI_MODULE_ENABLED   */
/* #define HAL_QSPI_MODULE_ENABLED   */
/* #define HAL_CEC_MODULE_ENABLED   */
/* #define HAL_FMPI2C_MODULE_ENABLED   */
/* #define HAL_FMPSMBUS_MODULE_ENABLED   */
/* #define HAL_SPDIFRX_MODULE_ENABLED   */
/* #define HAL_DFSDM_MODULE_ENABLED   */
/* #define HAL_LPTIM_MODULE_ENABLED   */
#define HAL_GPIO_MODULE_ENABLED
#define HAL_EXTI_MODULE_ENABLED
#define HAL_DMA_MODULE_ENABLED
#define HAL_RCC_MODULE_ENABLED
#define HAL_FLASH_MODULE_ENABLED
#define HAL_PWR_MODULE_ENABLED
#define HAL_CORTEX_MODULE_ENABLED

/* ########################## HSE/HSI 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    8000000U /*!< Value of the External oscillator in Hz */
#endif /* HSE_VALUE */

#if !defined  (HSE_STARTUP_TIMEOUT)
  #define HSE_STARTUP_TIMEOUT    100U   /*!< Time out for HSE start up, in ms */
#endif /* HSE_STARTUP_TIMEOUT */

/**
  * @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)16000000U) /*!< Value of the Internal oscillator in Hz*/
#endif /* HSI_VALUE */

/**
  * @brief Internal Low Speed oscillator (LSI) value.
  */
#if !defined  (LSI_VALUE)
 #define LSI_VALUE  32000U       /*!< 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 Low Speed oscillator (LSE) value.
  */
#if !defined  (LSE_VALUE)
 #define LSE_VALUE  32768U    /*!< Value of the External Low Speed oscillator in Hz */
#endif /* LSE_VALUE */

#if !defined  (LSE_STARTUP_TIMEOUT)
  #define LSE_STARTUP_TIMEOUT    5000U   /*!< Time out for LSE start up, in ms */
#endif /* LSE_STARTUP_TIMEOUT */

/**
  * @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 audio frequency 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		      3300U /*!< Value of VDD in mv */
#define  TICK_INT_PRIORITY            15U   /*!< tick interrupt priority */
#define  USE_RTOS                     0U
#define  PREFETCH_ENABLE              1U
#define  INSTRUCTION_CACHE_ENABLE     1U
#define  DATA_CACHE_ENABLE            1U

#define  USE_HAL_ADC_REGISTER_CALLBACKS         0U /* ADC register callback disabled       */
#define  USE_HAL_CAN_REGISTER_CALLBACKS         0U /* CAN register callback disabled       */
#define  USE_HAL_CEC_REGISTER_CALLBACKS         0U /* CEC 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_ETH_REGISTER_CALLBACKS         0U /* ETH 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_I2C_REGISTER_CALLBACKS         0U /* I2C register callback disabled       */
#define  USE_HAL_FMPI2C_REGISTER_CALLBACKS      0U /* FMPI2C register callback disabled    */
#define  USE_HAL_FMPSMBUS_REGISTER_CALLBACKS    0U /* FMPSMBUS 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_LPTIM_REGISTER_CALLBACKS       0U /* LPTIM register callback disabled     */
#define  USE_HAL_LTDC_REGISTER_CALLBACKS        0U /* LTDC register callback disabled      */
#define  USE_HAL_MMC_REGISTER_CALLBACKS         0U /* MMC 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_PCCARD_REGISTER_CALLBACKS      0U /* PCCARD 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_SDRAM_REGISTER_CALLBACKS       0U /* SDRAM register callback disabled     */
#define  USE_HAL_SRAM_REGISTER_CALLBACKS        0U /* SRAM 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_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      */

/* ########################## Assert Selection ############################## */
/**
  * @brief Uncomment the line below to expanse the "assert_param" macro in the
  *        HAL drivers code
  */
/* #define USE_FULL_ASSERT    1U */

/* ################## Ethernet peripheral configuration ##################### */

/* Section 1 : Ethernet peripheral configuration */

/* MAC ADDRESS: MAC_ADDR0:MAC_ADDR1:MAC_ADDR2:MAC_ADDR3:MAC_ADDR4:MAC_ADDR5 */
#define MAC_ADDR0   2U
#define MAC_ADDR1   0U
#define MAC_ADDR2   0U
#define MAC_ADDR3   0U
#define MAC_ADDR4   0U
#define MAC_ADDR5   0U

/* Definition of the Ethernet driver buffers size and count */
#define ETH_RX_BUF_SIZE                ETH_MAX_PACKET_SIZE /* buffer size for receive               */
#define ETH_TX_BUF_SIZE                ETH_MAX_PACKET_SIZE /* buffer size for transmit              */
#define ETH_RXBUFNB                    4U       /* 4 Rx buffers of size ETH_RX_BUF_SIZE  */
#define ETH_TXBUFNB                    4U       /* 4 Tx buffers of size ETH_TX_BUF_SIZE  */

/* Section 2: PHY configuration section */

/* DP83848_PHY_ADDRESS Address*/
#define DP83848_PHY_ADDRESS           0x01U
/* PHY Reset delay these values are based on a 1 ms Systick interrupt*/
#define PHY_RESET_DELAY                 0x000000FFU
/* PHY Configuration delay */
#define PHY_CONFIG_DELAY                0x00000FFFU

#define PHY_READ_TO                     0x0000FFFFU
#define PHY_WRITE_TO                    0x0000FFFFU

/* Section 3: Common PHY Registers */

#define PHY_BCR                         ((uint16_t)0x0000U)    /*!< Transceiver Basic Control Register   */
#define PHY_BSR                         ((uint16_t)0x0001U)    /*!< Transceiver Basic Status Register    */

#define PHY_RESET                       ((uint16_t)0x8000U)  /*!< PHY Reset */
#define PHY_LOOPBACK                    ((uint16_t)0x4000U)  /*!< Select loop-back mode */
#define PHY_FULLDUPLEX_100M             ((uint16_t)0x2100U)  /*!< Set the full-duplex mode at 100 Mb/s */
#define PHY_HALFDUPLEX_100M             ((uint16_t)0x2000U)  /*!< Set the half-duplex mode at 100 Mb/s */
#define PHY_FULLDUPLEX_10M              ((uint16_t)0x0100U)  /*!< Set the full-duplex mode at 10 Mb/s  */
#define PHY_HALFDUPLEX_10M              ((uint16_t)0x0000U)  /*!< Set the half-duplex mode at 10 Mb/s  */
#define PHY_AUTONEGOTIATION             ((uint16_t)0x1000U)  /*!< Enable auto-negotiation function     */
#define PHY_RESTART_AUTONEGOTIATION     ((uint16_t)0x0200U)  /*!< Restart auto-negotiation function    */
#define PHY_POWERDOWN                   ((uint16_t)0x0800U)  /*!< Select the power down mode           */
#define PHY_ISOLATE                     ((uint16_t)0x0400U)  /*!< Isolate PHY from MII                 */

#define PHY_AUTONEGO_COMPLETE           ((uint16_t)0x0020U)  /*!< Auto-Negotiation process completed   */
#define PHY_LINKED_STATUS               ((uint16_t)0x0004U)  /*!< Valid link established               */
#define PHY_JABBER_DETECTION            ((uint16_t)0x0002U)  /*!< Jabber condition detected            */

/* Section 4: Extended PHY Registers */
#define PHY_SR                          ((uint16_t)0x10U)    /*!< PHY status register Offset                      */

#define PHY_SPEED_STATUS                ((uint16_t)0x0002U)  /*!< PHY Speed mask                                  */
#define PHY_DUPLEX_STATUS               ((uint16_t)0x0004U)  /*!< PHY Duplex mask                                 */

/* ################## SPI peripheral configuration ########################## */

/* CRC FEATURE: Use to activate CRC feature inside HAL SPI Driver
* Activated: CRC code is present inside driver
* Deactivated: CRC code cleaned from driver
*/

#define USE_SPI_CRC                     0U

/* Includes ------------------------------------------------------------------*/
/**
  * @brief Include module's header file
  */

#ifdef HAL_RCC_MODULE_ENABLED
  #include "stm32f4xx_hal_rcc.h"
#endif /* HAL_RCC_MODULE_ENABLED */

#ifdef HAL_GPIO_MODULE_ENABLED
  #include "stm32f4xx_hal_gpio.h"
#endif /* HAL_GPIO_MODULE_ENABLED */

#ifdef HAL_EXTI_MODULE_ENABLED
  #include "stm32f4xx_hal_exti.h"
#endif /* HAL_EXTI_MODULE_ENABLED */

#ifdef HAL_DMA_MODULE_ENABLED
  #include "stm32f4xx_hal_dma.h"
#endif /* HAL_DMA_MODULE_ENABLED */

#ifdef HAL_CORTEX_MODULE_ENABLED
  #include "stm32f4xx_hal_cortex.h"
#endif /* HAL_CORTEX_MODULE_ENABLED */

#ifdef HAL_ADC_MODULE_ENABLED
  #include "stm32f4xx_hal_adc.h"
#endif /* HAL_ADC_MODULE_ENABLED */

#ifdef HAL_CAN_MODULE_ENABLED
  #include "stm32f4xx_hal_can.h"
#endif /* HAL_CAN_MODULE_ENABLED */

#ifdef HAL_CAN_LEGACY_MODULE_ENABLED
  #include "stm32f4xx_hal_can_legacy.h"
#endif /* HAL_CAN_LEGACY_MODULE_ENABLED */

#ifdef HAL_CRC_MODULE_ENABLED
  #include "stm32f4xx_hal_crc.h"
#endif /* HAL_CRC_MODULE_ENABLED */

#ifdef HAL_CRYP_MODULE_ENABLED
  #include "stm32f4xx_hal_cryp.h"
#endif /* HAL_CRYP_MODULE_ENABLED */

#ifdef HAL_DMA2D_MODULE_ENABLED
  #include "stm32f4xx_hal_dma2d.h"
#endif /* HAL_DMA2D_MODULE_ENABLED */

#ifdef HAL_DAC_MODULE_ENABLED
  #include "stm32f4xx_hal_dac.h"
#endif /* HAL_DAC_MODULE_ENABLED */

#ifdef HAL_DCMI_MODULE_ENABLED
  #include "stm32f4xx_hal_dcmi.h"
#endif /* HAL_DCMI_MODULE_ENABLED */

#ifdef HAL_ETH_MODULE_ENABLED
  #include "stm32f4xx_hal_eth.h"
#endif /* HAL_ETH_MODULE_ENABLED */

#ifdef HAL_FLASH_MODULE_ENABLED
  #include "stm32f4xx_hal_flash.h"
#endif /* HAL_FLASH_MODULE_ENABLED */

#ifdef HAL_SRAM_MODULE_ENABLED
  #include "stm32f4xx_hal_sram.h"
#endif /* HAL_SRAM_MODULE_ENABLED */

#ifdef HAL_NOR_MODULE_ENABLED
  #include "stm32f4xx_hal_nor.h"
#endif /* HAL_NOR_MODULE_ENABLED */

#ifdef HAL_NAND_MODULE_ENABLED
  #include "stm32f4xx_hal_nand.h"
#endif /* HAL_NAND_MODULE_ENABLED */

#ifdef HAL_PCCARD_MODULE_ENABLED
  #include "stm32f4xx_hal_pccard.h"
#endif /* HAL_PCCARD_MODULE_ENABLED */

#ifdef HAL_SDRAM_MODULE_ENABLED
  #include "stm32f4xx_hal_sdram.h"
#endif /* HAL_SDRAM_MODULE_ENABLED */

#ifdef HAL_HASH_MODULE_ENABLED
 #include "stm32f4xx_hal_hash.h"
#endif /* HAL_HASH_MODULE_ENABLED */

#ifdef HAL_I2C_MODULE_ENABLED
 #include "stm32f4xx_hal_i2c.h"
#endif /* HAL_I2C_MODULE_ENABLED */

#ifdef HAL_SMBUS_MODULE_ENABLED
 #include "stm32f4xx_hal_smbus.h"
#endif /* HAL_SMBUS_MODULE_ENABLED */

#ifdef HAL_I2S_MODULE_ENABLED
 #include "stm32f4xx_hal_i2s.h"
#endif /* HAL_I2S_MODULE_ENABLED */

#ifdef HAL_IWDG_MODULE_ENABLED
 #include "stm32f4xx_hal_iwdg.h"
#endif /* HAL_IWDG_MODULE_ENABLED */

#ifdef HAL_LTDC_MODULE_ENABLED
 #include "stm32f4xx_hal_ltdc.h"
#endif /* HAL_LTDC_MODULE_ENABLED */

#ifdef HAL_PWR_MODULE_ENABLED
 #include "stm32f4xx_hal_pwr.h"
#endif /* HAL_PWR_MODULE_ENABLED */

#ifdef HAL_RNG_MODULE_ENABLED
 #include "stm32f4xx_hal_rng.h"
#endif /* HAL_RNG_MODULE_ENABLED */

#ifdef HAL_RTC_MODULE_ENABLED
 #include "stm32f4xx_hal_rtc.h"
#endif /* HAL_RTC_MODULE_ENABLED */

#ifdef HAL_SAI_MODULE_ENABLED
 #include "stm32f4xx_hal_sai.h"
#endif /* HAL_SAI_MODULE_ENABLED */

#ifdef HAL_SD_MODULE_ENABLED
 #include "stm32f4xx_hal_sd.h"
#endif /* HAL_SD_MODULE_ENABLED */

#ifdef HAL_SPI_MODULE_ENABLED
 #include "stm32f4xx_hal_spi.h"
#endif /* HAL_SPI_MODULE_ENABLED */

#ifdef HAL_TIM_MODULE_ENABLED
 #include "stm32f4xx_hal_tim.h"
#endif /* HAL_TIM_MODULE_ENABLED */

#ifdef HAL_UART_MODULE_ENABLED
 #include "stm32f4xx_hal_uart.h"
#endif /* HAL_UART_MODULE_ENABLED */

#ifdef HAL_USART_MODULE_ENABLED
 #include "stm32f4xx_hal_usart.h"
#endif /* HAL_USART_MODULE_ENABLED */

#ifdef HAL_IRDA_MODULE_ENABLED
 #include "stm32f4xx_hal_irda.h"
#endif /* HAL_IRDA_MODULE_ENABLED */

#ifdef HAL_SMARTCARD_MODULE_ENABLED
 #include "stm32f4xx_hal_smartcard.h"
#endif /* HAL_SMARTCARD_MODULE_ENABLED */

#ifdef HAL_WWDG_MODULE_ENABLED
 #include "stm32f4xx_hal_wwdg.h"
#endif /* HAL_WWDG_MODULE_ENABLED */

#ifdef HAL_PCD_MODULE_ENABLED
 #include "stm32f4xx_hal_pcd.h"
#endif /* HAL_PCD_MODULE_ENABLED */

#ifdef HAL_HCD_MODULE_ENABLED
 #include "stm32f4xx_hal_hcd.h"
#endif /* HAL_HCD_MODULE_ENABLED */

#ifdef HAL_DSI_MODULE_ENABLED
 #include "stm32f4xx_hal_dsi.h"
#endif /* HAL_DSI_MODULE_ENABLED */

#ifdef HAL_QSPI_MODULE_ENABLED
 #include "stm32f4xx_hal_qspi.h"
#endif /* HAL_QSPI_MODULE_ENABLED */

#ifdef HAL_CEC_MODULE_ENABLED
 #include "stm32f4xx_hal_cec.h"
#endif /* HAL_CEC_MODULE_ENABLED */

#ifdef HAL_FMPI2C_MODULE_ENABLED
 #include "stm32f4xx_hal_fmpi2c.h"
#endif /* HAL_FMPI2C_MODULE_ENABLED */

#ifdef HAL_FMPSMBUS_MODULE_ENABLED
 #include "stm32f4xx_hal_fmpsmbus.h"
#endif /* HAL_FMPSMBUS_MODULE_ENABLED */

#ifdef HAL_SPDIFRX_MODULE_ENABLED
 #include "stm32f4xx_hal_spdifrx.h"
#endif /* HAL_SPDIFRX_MODULE_ENABLED */

#ifdef HAL_DFSDM_MODULE_ENABLED
 #include "stm32f4xx_hal_dfsdm.h"
#endif /* HAL_DFSDM_MODULE_ENABLED */

#ifdef HAL_LPTIM_MODULE_ENABLED
 #include "stm32f4xx_hal_lptim.h"
#endif /* HAL_LPTIM_MODULE_ENABLED */

#ifdef HAL_MMC_MODULE_ENABLED
 #include "stm32f4xx_hal_mmc.h"
#endif /* HAL_MMC_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 /* __STM32F4xx_HAL_CONF_H */


================================================
FILE: LVGL/Simple_F446/Core/Inc/stm32f4xx_it.h
================================================
/* USER CODE BEGIN Header */
/**
  ******************************************************************************
  * @file    stm32f4xx_it.h
  * @brief   This file contains the headers of the interrupt handlers.
  ******************************************************************************
  * @attention
  *
  * Copyright (c) 2022 STMicroelectronics.
  * All rights reserved.
  *
  * This software is licensed under terms that can be found in the LICENSE file
  * in the root directory of this software component.
  * If no LICENSE file comes with this software, it is provided AS-IS.
  *
 ******************************************************************************
  */
/* USER CODE END Header */

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32F4xx_IT_H
#define __STM32F4xx_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 /* __STM32F4xx_IT_H */


================================================
FILE: LVGL/Simple_F446/Core/Inc/tft.h
================================================

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __TFT_H
#define __TFT_H

#ifdef __cplusplus
 extern "C" {
#endif 

/* Includes ------------------------------------------------------------------*/
#include "stdint.h"

#define  WIDTH    ((uint16_t)240)
#define  HEIGHT   ((uint16_t)320)
   
#define true	1
#define false	0

#define	BLACK   0x0000
#define	BLUE    0x001F
#define	RED     0xF800
#define	GREEN   0x07E0
#define CYAN    0x07FF
#define MAGENTA 0xF81F
#define YELLOW  0xFFE0
#define WHITE   0xFFFF


#define MIPI_DCS_REV1   (1<<0)
#define AUTO_READINC    (1<<1)
#define READ_BGR        (1<<2)
#define READ_LOWHIGH    (1<<3)
#define READ_24BITS     (1<<4)
#define XSA_XEA_16BIT   (1<<5)
#define READ_NODUMMY    (1<<6)
#define INVERT_GS       (1<<8)
#define INVERT_SS       (1<<9)
#define MV_AXIS         (1<<10)
#define INVERT_RGB      (1<<11)
#define REV_SCREEN      (1<<12)
#define FLIP_VERT       (1<<13)
#define FLIP_HORIZ      (1<<14)




void tft_init(uint16_t ID);

void reset(void);

uint16_t readID(void);

void setRotation(uint8_t r);
void invertDisplay(uint8_t i);

void setAddrWindow(int16_t x, int16_t y, int16_t x1, int16_t y1);

void pushColors16b(uint16_t * block, int16_t n, uint8_t first);

void fillFB(int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint16_t *color);

void fillScreen(uint16_t color);

#ifdef __cplusplus
}
#endif

#endif /* __HX8347G_H */



================================================
FILE: LVGL/Simple_F446/Core/Inc/user_setting.h
================================================


#ifndef USER_SETTING_H_
#define USER_SETTING_H_

#include "stm32f4xx_hal.h"


#define RD_PORT GPIOA
#define RD_PIN  GPIO_PIN_0

#define WR_PORT GPIOA
#define WR_PIN  GPIO_PIN_1

#define CD_PORT GPIOA
#define CD_PIN  GPIO_PIN_4

#define CS_PORT GPIOB
#define CS_PIN  GPIO_PIN_0

#define RESET_PORT GPIOC
#define RESET_PIN  GPIO_PIN_1

#define D0_PORT GPIOA
#define D0_PIN GPIO_PIN_9

#define D1_PORT GPIOC
#define D1_PIN GPIO_PIN_7

#define D2_PORT GPIOA
#define D2_PIN GPIO_PIN_10

#define D3_PORT GPIOB
#define D3_PIN GPIO_PIN_3

#define D4_PORT GPIOB
#define D4_PIN GPIO_PIN_5

#define D5_PORT GPIOB
#define D5_PIN GPIO_PIN_4

#define D6_PORT GPIOB
#define D6_PIN GPIO_PIN_10

#define D7_PORT GPIOA
#define D7_PIN GPIO_PIN_8


void lcd_delay (uint16_t t);



// configure macros for the data pins.

#define write_8(d) { \
 GPIOA->BSRR = 0x0700 << 16; \
 GPIOB->BSRR = 0x0438 << 16; \
 GPIOC->BSRR = 0x0080 << 16; \
 GPIOA->BSRR = (((d) & (1<<0)) << 9) \
             | (((d) & (1<<2)) << 8) \
             | (((d) & (1<<7)) << 1); \
 GPIOB->BSRR = (((d) & (1<<3)) << 0) \
             | (((d) & (1<<4)) << 1) \
             | (((d) & (1<<5)) >> 1) \
             | (((d) & (1<<6)) << 4); \
 GPIOC->BSRR = (((d) & (1<<1)) << 6); \
}


#define read_8() (          (((GPIOA->IDR & (1<<9)) >> 9) \
                           | ((GPIOC->IDR & (1<<7)) >> 6) \
                           | ((GPIOA->IDR & (1<<10)) >> 8) \
                           | ((GPIOB->IDR & (1<<3)) >> 0) \
                           | ((GPIOB->IDR & (1<<5)) >> 1) \
                           | ((GPIOB->IDR & (1<<4)) << 1) \
                           | ((GPIOB->IDR & (1<<10)) >> 4) \
                           | ((GPIOA->IDR & (1<<8))  >> 1))\
				 )



/********************* For 180 MHz *****************************/
//#define WRITE_DELAY { WR_ACTIVE8; }
//#define READ_DELAY  { RD_ACTIVE16;}


/************************** For 72 MHZ ****************************/
#define WRITE_DELAY { }
#define READ_DELAY  { RD_ACTIVE;  }


/************************** For 100 MHZ ****************************/
//#define WRITE_DELAY { WR_ACTIVE2; }
//#define READ_DELAY  { RD_ACTIVE4; }


/************************** For 216 MHZ ****************************/
//#define WRITE_DELAY { WR_ACTIVE8; WR_ACTIVE8; } //216MHz
//#define IDLE_DELAY  { WR_IDLE4;WR_IDLE4; }
//#define READ_DELAY  { RD_ACTIVE16;RD_ACTIVE16;RD_ACTIVE16;}


/************************** For 48 MHZ ****************************/
//#define WRITE_DELAY { }
//#define READ_DELAY  { }


/*****************************  DEFINES FOR DIFFERENT TFTs   ****************************************************/

//#define SUPPORT_0139              //S6D0139 +280 bytes
//#define SUPPORT_0154              //S6D0154 +320 bytes
//#define SUPPORT_05A1              //for S6D05A1
//#define SUPPORT_1289              //SSD1289,SSD1297 (ID=0x9797) +626 bytes, 0.03s
//#define SUPPORT_1580              //R61580 Untested
//#define SUPPORT_1963              //only works with 16BIT bus anyway
//#define SUPPORT_4532              //LGDP4532 +120 bytes.  thanks Leodino
//#define SUPPORT_4535              //LGDP4535 +180 bytes
//#define SUPPORT_68140             //RM68140 +52 bytes defaults to PIXFMT=0x55
//#define SUPPORT_7735
//#define SUPPORT_7781              //ST7781 +172 bytes
//#define SUPPORT_8230              //UC8230 +118 bytes
#define SUPPORT_8347D             //HX8347-D, HX8347-G, HX8347-I, HX8367-A +520 bytes, 0.27s
//#define SUPPORT_8347A             //HX8347-A +500 bytes, 0.27s
//#define SUPPORT_8352A             //HX8352A +486 bytes, 0.27s
//#define SUPPORT_8352B             //HX8352B
//#define SUPPORT_8357D_GAMMA       //monster 34 byte
//#define SUPPORT_9163              //
//#define SUPPORT_9225              //ILI9225-B, ILI9225-G ID=0x9225, ID=0x9226, ID=0x6813 +380 bytes
//#define SUPPORT_9320              //ID=0x0001, R61505, SPFD5408, ILI9320
//#define SUPPORT_9325              //RM68090, ILI9325, ILI9328, ILI9331, ILI9335
//#define SUPPORT_9326_5420         //ILI9326, SPFD5420 +246 bytes
//#define SUPPORT_9342              //costs +114 bytes
//#define SUPPORT_9806              //UNTESTED
#define SUPPORT_9488_555          //costs +230 bytes, 0.03s / 0.19s
//#define SUPPORT_B509_7793         //R61509, ST7793 +244 bytes
#define OFFSET_9327 32            //costs about 103 bytes, 0.08s


#if (defined(USES_16BIT_BUS))   //only comes from SPECIALs
#define USING_16BIT_BUS 1
#else
#define USING_16BIT_BUS 0
#endif


#endif /* USER_SETTING_H_ */


================================================
FILE: LVGL/Simple_F446/Core/Src/lcd_lvgl.c
================================================

#include "../../lv_conf.h"
#include "../../lvgl/lvgl.h"

#include "lcd_lvgl.h"

#include "tft.h"
#include "user_setting.h"
#include "string.h"
//#include "functions.h"

#define MAX(a,b) ((a)>(b) ? (a):(b))

uint16_t DISP_fb[(MAX(DISP_VER_RES,DISP_HOR_RES))]; // LCD FRAME Buffer for 1 ROW



static lv_disp_drv_t disp_drv;
//static int32_t x1_flush;
//static int32_t y1_flush;
//static int32_t x2_flush;
//static int32_t y2_fill;
//static int32_t y_fill_act;
//static const lv_color_t * buf_to_flush;

static lv_color_t disp_buf1[DISP_HOR_RES * 10];
static lv_color_t disp_buf2[DISP_HOR_RES * 10];

static volatile uint32_t t_saved = 0;
void monitor_cb(lv_disp_drv_t * d, uint32_t t, uint32_t p)
{
	t_saved = t;
}


/*These 3 functions are needed by LittlevGL*/
static void tft_flush(lv_disp_drv_t * drv, const lv_area_t * area, lv_color_t * color_p);


void Display_init(int rotation)
{

	static lv_disp_draw_buf_t buf;

	lv_disp_draw_buf_init(&buf, disp_buf1, disp_buf2, DISP_HOR_RES * 10);

	lv_disp_drv_init(&disp_drv);

	uint16_t ID = readID();
	tft_init(ID);
	setRotation(rotation);

	fillScreen(BLACK);

	disp_drv.draw_buf = &buf;
	disp_drv.flush_cb = tft_flush;
	disp_drv.monitor_cb = monitor_cb;
	disp_drv.hor_res = DISP_HOR_RES;
	disp_drv.ver_res = DISP_VER_RES;
	disp_drv.rotated = rotation;
	lv_disp_drv_register(&disp_drv);
}



/**********************
 *   STATIC FUNCTIONS
 **********************/

/**
 * Flush a color buffer
 * @param x1 left coordinate of the rectangle
 * @param x2 right coordinate of the rectangle
 * @param y1 top coordinate of the rectangle
 * @param y2 bottom coordinate of the rectangle
 * @param color_p pointer to an array of colors
 */
static void tft_flush(lv_disp_drv_t * drv, const lv_area_t * area, lv_color_t * color_p)
{
	/*Return if the area is out the screen*/

	if(area->x2 < 0) return;
	if(area->y2 < 0) return;
	if(area->x1 > DISP_HOR_RES - 1) return;
	if(area->y1 > DISP_VER_RES - 1) return;


	int indx = 0;
//	setAddrWindow(area->x1, area->y1, area->x2, area->y2);
    for(int y=area->y1;y<=area->y2;y++)
    {
        for(int x=area->x1;x<=area->x2;x++)
        {
//        	drawPixel(x, y, color_p->full);
            DISP_fb[indx] = color_p->full;
            color_p++;
            indx++;
        }

        indx = 0;
        fillFB(area->x1, y, area->x2, y, DISP_fb);

    }

    lv_disp_flush_ready(drv);
}


================================================
FILE: LVGL/Simple_F446/Core/Src/main.c
================================================
/* USER CODE BEGIN Header */
/**
  ******************************************************************************
  * @file           : main.c
  * @brief          : Main program body
  ******************************************************************************
  * @attention
  *
  * Copyright (c) 2022 STMicroelectronics.
  * All rights reserved.
  *
  * This software is licensed under terms that can be found in the LICENSE file
  * in the root directory of this software component.
  * If no LICENSE file comes with this software, it is provided AS-IS.
  *
  ******************************************************************************
  */
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"

/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */

#include "../../lvgl/lvgl.h"
#include "../../lvgl/examples/lv_examples.h"
#include "lcd_lvgl.h"
#include "stdio.h"

/* USER CODE END Includes */

/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */

/* USER CODE END PTD */

/* 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 -----------------------------------------------*/
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
/* USER CODE BEGIN PFP */

/* USER CODE END PFP */

/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */

int indx = 0;
lv_obj_t * ta;
char text[50];

void lv_textarea_1(void)
{
    ta = lv_textarea_create(lv_scr_act());
    lv_textarea_set_one_line(ta, true);
    lv_obj_align(ta, LV_ALIGN_CENTER, 0, 10);
//    lv_obj_add_state(ta, LV_STATE_FOCUSED); /*To be sure the cursor is visible*/
    lv_textarea_set_text(ta, "Hello world");
}

void update_text (void)
{
	sprintf (text, "value = %d", indx);
	indx++;
	lv_textarea_set_text(ta, text);
}

/* USER CODE END 0 */

/**
  * @brief  The application entry point.
  * @retval int
  */
int main(void)
{
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  /* USER CODE BEGIN 2 */

  lv_init();

  Display_init(3);
  HAL_Delay (500);

//  lv_example_anim_2();

  lv_textarea_1();

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
	  HAL_Delay (100);
	  update_text();
	  lv_task_handler();
  }
  /* USER CODE END 3 */
}

/**
  * @brief System Clock Configuration
  * @retval None
  */
void SystemClock_Config(void)
{
  RCC_OscInitTypeDef RCC_OscInitStruct = {0};
  RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};

  /** Configure the main internal regulator output voltage
  */
  __HAL_RCC_PWR_CLK_ENABLE();
  __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
  /** 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_BYPASS;
  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
  RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
  RCC_OscInitStruct.PLL.PLLM = 4;
  RCC_OscInitStruct.PLL.PLLN = 180;
  RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
  RCC_OscInitStruct.PLL.PLLQ = 2;
  RCC_OscInitStruct.PLL.PLLR = 2;
  if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
  {
    Error_Handler();
  }
  /** Activate the Over-Drive mode
  */
  if (HAL_PWREx_EnableOverDrive() != 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_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
  RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
  RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;
  RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;

  if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5) != HAL_OK)
  {
    Error_Handler();
  }
}

/**
  * @brief GPIO Initialization Function
  * @param None
  * @retval None
  */
static void MX_GPIO_Init(void)
{
  GPIO_InitTypeDef GPIO_InitStruct = {0};

  /* GPIO Ports Clock Enable */
  __HAL_RCC_GPIOH_CLK_ENABLE();
  __HAL_RCC_GPIOC_CLK_ENABLE();
  __HAL_RCC_GPIOA_CLK_ENABLE();
  __HAL_RCC_GPIOB_CLK_ENABLE();

  /*Configure GPIO pin Output Level */
  HAL_GPIO_WritePin(GPIOC, RESET_Pin|D1_Pin, GPIO_PIN_RESET);

  /*Configure GPIO pin Output Level */
  HAL_GPIO_WritePin(GPIOA, WR_Pin|CD_Pin|D7_Pin|D0_Pin
                          |D2_Pin, GPIO_PIN_RESET);

  /*Configure GPIO pin Output Level */
  HAL_GPIO_WritePin(GPIOB, CS_Pin|D6_Pin|D3_Pin|D5_Pin
                          |D4_Pin, GPIO_PIN_RESET);

  /*Configure GPIO pins : RESET_Pin D1_Pin */
  GPIO_InitStruct.Pin = RESET_Pin|D1_Pin;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);

  /*Configure GPIO pin : RD_Pin */
  GPIO_InitStruct.Pin = RD_Pin;
  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  HAL_GPIO_Init(RD_GPIO_Port, &GPIO_InitStruct);

  /*Configure GPIO pins : WR_Pin CD_Pin D7_Pin D0_Pin
                           D2_Pin */
  GPIO_InitStruct.Pin = WR_Pin|CD_Pin|D7_Pin|D0_Pin
                          |D2_Pin;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

  /*Configure GPIO pins : CS_Pin D6_Pin D3_Pin D5_Pin
                           D4_Pin */
  GPIO_InitStruct.Pin = CS_Pin|D6_Pin|D3_Pin|D5_Pin
                          |D4_Pin;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);

}

/* USER CODE BEGIN 4 */

/* USER CODE END 4 */

/**
  * @brief  This function is executed in case of error occurrence.
  * @retval None
  */
void Error_Handler(void)
{
  /* USER CODE BEGIN Error_Handler_Debug */
  /* User can add his own implementation to report the HAL error return state */
  __disable_irq();
  while (1)
  {
  }
  /* USER CODE END Error_Handler_Debug */
}

#ifdef  USE_FULL_ASSERT
/**
  * @brief  Reports the name of the source file and the source line number
  *         where the assert_param error has occurred.
  * @param  file: pointer to the source file name
  * @param  line: assert_param error line source number
  * @retval None
  */
void assert_failed(uint8_t *file, uint32_t line)
{
  /* USER CODE BEGIN 6 */
  /* User can add his own implementation to report the file name and line number,
     ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
  /* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */



================================================
FILE: LVGL/Simple_F446/Core/Src/stm32f4xx_hal_msp.c
================================================
/* USER CODE BEGIN Header */
/**
  ******************************************************************************
  * @file         stm32f4xx_hal_msp.c
  * @brief        This file provides code for the MSP Initialization
  *               and de-Initialization codes.
  ******************************************************************************
  * @attention
  *
  * Copyright (c) 2022 STMicroelectronics.
  * All rights reserved.
  *
  * This software is licensed under terms that can be found in the LICENSE file
  * in the root directory of this software component.
  * If no LICENSE file comes with this software, it is provided AS-IS.
  *
  ******************************************************************************
  */
/* 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 */
/**
  * Initializes the Global MSP.
  */
void HAL_MspInit(void)
{
  /* USER CODE BEGIN MspInit 0 */

  /* USER CODE END MspInit 0 */

  __HAL_RCC_SYSCFG_CLK_ENABLE();
  __HAL_RCC_PWR_CLK_ENABLE();

  /* System interrupt init*/

  /* USER CODE BEGIN MspInit 1 */

  /* USER CODE END MspInit 1 */
}

/* USER CODE BEGIN 1 */

/* USER CODE END 1 */



================================================
FILE: LVGL/Simple_F446/Core/Src/stm32f4xx_it.c
================================================
/* USER CODE BEGIN Header */
/**
  ******************************************************************************
  * @file    stm32f4xx_it.c
  * @brief   Interrupt Service Routines.
  ******************************************************************************
  * @attention
  *
  * Copyright (c) 2022 STMicroelectronics.
  * All rights reserved.
  *
  * This software is licensed under terms that can be found in the LICENSE file
  * in the root directory of this software component.
  * If no LICENSE file comes with this software, it is provided AS-IS.
  *
  ******************************************************************************
  */
/* USER CODE END Header */

/* Includes ------------------------------------------------------------------*/
#include "main.h"
#include "stm32f4xx_it.h"
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
/* USER CODE END Includes */
#include "../../lvgl/lvgl.h"
#include "lcd_lvgl.h"

/* 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-M4 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 */
  lv_tick_inc(1);
  /* USER CODE END SysTick_IRQn 1 */
}

/******************************************************************************/
/* STM32F4xx 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_stm32f4xx.s).                    */
/******************************************************************************/

/* USER CODE BEGIN 1 */

/* USER CODE END 1 */



================================================
FILE: LVGL/Simple_F446/Core/Src/syscalls.c
================================================
/**
 ******************************************************************************
 * @file      syscalls.c
 * @author    Auto-generated by STM32CubeIDE
 * @brief     STM32CubeIDE Minimal System calls file
 *
 *            For more information about which c-functions
 *            need which of these lowlevel functions
 *            please consult the Newlib libc-manual
 ******************************************************************************
 * @attention
 *
 * Copyright (c) 2021 STMicroelectronics.
 * All rights reserved.
 *
 * This software is licensed under terms that can be found in the LICENSE file
 * in the root directory of this software component.
 * If no LICENSE file comes with this software, it is provided AS-IS.
 *
 ******************************************************************************
 */

/* Includes */
#include <sys/stat.h>
#include <stdlib.h>
#include <errno.h>
#include <stdio.h>
#include <signal.h>
#include <time.h>
#include <sys/time.h>
#include <sys/times.h>


/* Variables */
extern int __io_putchar(int ch) __attribute__((weak));
extern int __io_getchar(void) __attribute__((weak));


char *__env[1] = { 0 };
char **environ = __env;


/* Functions */
void initialise_monitor_handles()
{
}

int _getpid(void)
{
	return 1;
}

int _kill(int pid, int sig)
{
	errno = EINVAL;
	return -1;
}

void _exit (int status)
{
	_kill(status, -1);
	while (1) {}		/* Make sure we hang here */
}

__attribute__((weak)) int _read(int file, char *ptr, int len)
{
	int DataIdx;

	for (DataIdx = 0; DataIdx < len; DataIdx++)
	{
		*ptr++ = __io_getchar();
	}

return len;
}

__attribute__((weak)) int _write(int file, char *ptr, int len)
{
	int DataIdx;

	for (DataIdx = 0; DataIdx < len; DataIdx++)
	{
		__io_putchar(*ptr++);
	}
	return len;
}

int _close(int file)
{
	return -1;
}


int _fstat(int file, struct stat *st)
{
	st->st_mode = S_IFCHR;
	return 0;
}

int _isatty(int file)
{
	return 1;
}

int _lseek(int file, int ptr, int dir)
{
	return 0;
}

int _open(char *path, int flags, ...)
{
	/* Pretend like we always fail */
	return -1;
}

int _wait(int *status)
{
	errno = ECHILD;
	return -1;
}

int _unlink(char *name)
{
	errno = ENOENT;
	return -1;
}

int _times(struct tms *buf)
{
	return -1;
}

int _stat(char *file, struct stat *st)
{
	st->st_mode = S_IFCHR;
	return 0;
}

int _link(char *old, char *new)
{
	errno = EMLINK;
	return -1;
}

int _fork(void)
{
	errno = EAGAIN;
	return -1;
}

int _execve(char *name, char **argv, char **env)
{
	errno = ENOMEM;
	return -1;
}


================================================
FILE: LVGL/Simple_F446/Core/Src/sysmem.c
================================================
/**
 ******************************************************************************
 * @file      sysmem.c
 * @author    Generated by STM32CubeIDE
 * @brief     STM32CubeIDE System Memory calls file
 *
 *            For more information about which C functions
 *            need which of these lowlevel functions
 *            please consult the newlib libc manual
 ******************************************************************************
 * @attention
 *
 * Copyright (c) 2021 STMicroelectronics.
 * All rights reserved.
 *
 * This software is licensed under terms that can be found in the LICENSE file
 * in the root directory of this software component.
 * If no LICENSE file comes with this software, it is provided AS-IS.
 *
 ******************************************************************************
 */

/* Includes */
#include <errno.h>
#include <stdint.h>

/**
 * Pointer to the current high watermark of the heap usage
 */
static uint8_t *__sbrk_heap_end = NULL;

/**
 * @brief _sbrk() allocates memory to the newlib heap and is used by malloc
 *        and others from the C library
 *
 * @verbatim
 * ############################################################################
 * #  .data  #  .bss  #       newlib heap       #          MSP stack          #
 * #         #        #                         # Reserved by _Min_Stack_Size #
 * ############################################################################
 * ^-- RAM start      ^-- _end                             _estack, RAM end --^
 * @endverbatim
 *
 * This implementation starts allocating at the '_end' linker symbol
 * The '_Min_Stack_Size' linker symbol reserves a memory for the MSP stack
 * The implementation considers '_estack' linker symbol to be RAM end
 * NOTE: If the MSP stack, at any point during execution, grows larger than the
 * reserved size, please increase the '_Min_Stack_Size'.
 *
 * @param incr Memory size
 * @return Pointer to allocated memory
 */
void *_sbrk(ptrdiff_t incr)
{
  extern uint8_t _end; /* Symbol defined in the linker script */
  extern uint8_t _estack; /* Symbol defined in the linker script */
  extern uint32_t _Min_Stack_Size; /* Symbol defined in the linker script */
  const uint32_t stack_limit = (uint32_t)&_estack - (uint32_t)&_Min_Stack_Size;
  const uint8_t *max_heap = (uint8_t *)stack_limit;
  uint8_t *prev_heap_end;

  /* Initialize heap end at first call */
  if (NULL == __sbrk_heap_end)
  {
    __sbrk_heap_end = &_end;
  }

  /* Protect heap from growing into the reserved MSP stack */
  if (__sbrk_heap_end + incr > max_heap)
  {
    errno = ENOMEM;
    return (void *)-1;
  }

  prev_heap_end = __sbrk_heap_end;
  __sbrk_heap_end += incr;

  return (void *)prev_heap_end;
}


================================================
FILE: LVGL/Simple_F446/Core/Src/system_stm32f4xx.c
================================================
/**
  ******************************************************************************
  * @file    system_stm32f4xx.c
  * @author  MCD Application Team
  * @brief   CMSIS Cortex-M4 Device Peripheral Access Layer System Source File.
  *
  *   This file provides two functions and one global variable to be called from 
  *   user application:
  *      - SystemInit(): This function is called at startup just after reset and 
  *                      before branch to main program. This call is made inside
  *                      the "startup_stm32f4xx.s" file.
  *
  *      - SystemCoreClock variable: Contains the core clock (HCLK), it can be used
  *                                  by the user application to setup the SysTick 
  *                                  timer or configure other parameters.
  *                                     
  *      - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must
  *                                 be called whenever the core clock is changed
  *                                 during program execution.
  *
  *
  ******************************************************************************
  * @attention
  *
  * <h2><center>&copy; Copyright (c) 2017 STMicroelectronics.
  * All rights reserved.</center></h2>
  *
  * 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
  *
  ******************************************************************************
  */

/** @addtogroup CMSIS
  * @{
  */

/** @addtogroup stm32f4xx_system
  * @{
  */  
  
/** @addtogroup STM32F4xx_System_Private_Includes
  * @{
  */


#include "stm32f4xx.h"

#if !defined  (HSE_VALUE) 
  #define HSE_VALUE    ((uint32_t)25000000) /*!< Default value of the External oscillator in Hz */
#endif /* HSE_VALUE */

#if !defined  (HSI_VALUE)
  #define HSI_VALUE    ((uint32_t)16000000) /*!< Value of the Internal oscillator in Hz*/
#endif /* HSI_VALUE */

/**
  * @}
  */

/** @addtogroup STM32F4xx_System_Private_TypesDefinitions
  * @{
  */

/**
  * @}
  */

/** @addtogroup STM32F4xx_System_Private_Defines
  * @{
  */

/************************* Miscellaneous Configuration ************************/
/*!< Uncomment the following line if you need to use external SRAM or SDRAM as data memory  */
#if defined(STM32F405xx) || defined(STM32F415xx) || defined(STM32F407xx) || defined(STM32F417xx)\
 || defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx)\
 || defined(STM32F469xx) || defined(STM32F479xx) || defined(STM32F412Zx) || defined(STM32F412Vx)
/* #define DATA_IN_ExtSRAM */
#endif /* STM32F40xxx || STM32F41xxx || STM32F42xxx || STM32F43xxx || STM32F469xx || STM32F479xx ||\
          STM32F412Zx || STM32F412Vx */
 
#if defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx)\
 || defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx)
/* #define DATA_IN_ExtSDRAM */
#endif /* STM32F427xx || STM32F437xx || STM32F429xx || STM32F439xx || STM32F446xx || STM32F469xx ||\
          STM32F479xx */

/* Note: Following vector table addresses must be defined in line with linker
         configuration. */
/*!< Uncomment the following line if you need to relocate the vector table
     anywhere in Flash or Sram, else the vector table is kept at the automatic
     remap of boot address selected */
/* #define USER_VECT_TAB_ADDRESS */

#if defined(USER_VECT_TAB_ADDRESS)
/*!< Uncomment the following line if you need to relocate your vector Table
     in Sram else user remap will be done in Flash. */
/* #define VECT_TAB_SRAM */
#if defined(VECT_TAB_SRAM)
#define VECT_TAB_BASE_ADDRESS   SRAM_BASE       /*!< Vector Table base address field.
                                                     This value must be a multiple of 0x200. */
#define VECT_TAB_OFFSET         0x00000000U     /*!< Vector Table base offset field.
                                                     This value must be a multiple of 0x200. */
#else
#define VECT_TAB_BASE_ADDRESS   FLASH_BASE      /*!< Vector Table base address field.
                                                     This value must be a multiple of 0x200. */
#define VECT_TAB_OFFSET         0x00000000U     /*!< Vector Table base offset field.
                                                     This value must be a multiple of 0x200. */
#endif /* VECT_TAB_SRAM */
#endif /* USER_VECT_TAB_ADDRESS */
/******************************************************************************/

/**
  * @}
  */

/** @addtogroup STM32F4xx_System_Private_Macros
  * @{
  */

/**
  * @}
  */

/** @addtogroup STM32F4xx_System_Private_Variables
  * @{
  */
  /* This variable is updated in three ways:
      1) by calling CMSIS function SystemCoreClockUpdate()
      2) by calling HAL API function HAL_RCC_GetHCLKFreq()
      3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency 
         Note: If you use this function to configure the system clock; then there
               is no need to call the 2 first functions listed above, since SystemCoreClock
               variable is updated automatically.
  */
uint32_t SystemCoreClock = 16000000;
const uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9};
const uint8_t APBPrescTable[8]  = {0, 0, 0, 0, 1, 2, 3, 4};
/**
  * @}
  */

/** @addtogroup STM32F4xx_System_Private_FunctionPrototypes
  * @{
  */

#if defined (DATA_IN_ExtSRAM) || defined (DATA_IN_ExtSDRAM)
  static void SystemInit_ExtMemCtl(void); 
#endif /* DATA_IN_ExtSRAM || DATA_IN_ExtSDRAM */

/**
  * @}
  */

/** @addtogroup STM32F4xx_System_Private_Functions
  * @{
  */

/**
  * @brief  Setup the microcontroller system
  *         Initialize the FPU setting, vector table location and External memory 
  *         configuration.
  * @param  None
  * @retval None
  */
void SystemInit(void)
{
  /* FPU settings ------------------------------------------------------------*/
  #if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
    SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2));  /* set CP10 and CP11 Full Access */
  #endif

#if defined (DATA_IN_ExtSRAM) || defined (DATA_IN_ExtSDRAM)
  SystemInit_ExtMemCtl(); 
#endif /* DATA_IN_ExtSRAM || DATA_IN_ExtSDRAM */

  /* Configure the Vector Table location -------------------------------------*/
#if defined(USER_VECT_TAB_ADDRESS)
  SCB->VTOR = VECT_TAB_BASE_ADDRESS | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */
#endif /* USER_VECT_TAB_ADDRESS */
}

/**
   * @brief  Update SystemCoreClock variable according to Clock Register Values.
  *         The SystemCoreClock variable contains the core clock (HCLK), it can
  *         be used by the user application to setup the SysTick timer or configure
  *         other parameters.
  *           
  * @note   Each time the core clock (HCLK) changes, this function must be called
  *         to update SystemCoreClock variable value. Otherwise, any configuration
  *         based on this variable will be incorrect.         
  *     
  * @note   - The system frequency computed by this function is not the real 
  *           frequency in the chip. It is calculated based on the predefined 
  *           constant and the selected clock source:
  *             
  *           - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*)
  *                                              
  *           - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**)
  *                          
  *           - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) 
  *             or HSI_VALUE(*) multiplied/divided by the PLL factors.
  *         
  *         (*) HSI_VALUE is a constant defined in stm32f4xx_hal_conf.h file (default value
  *             16 MHz) but the real value may vary depending on the variations
  *             in voltage and temperature.   
  *    
  *         (**) HSE_VALUE is a constant defined in stm32f4xx_hal_conf.h file (its value
  *              depends on the application requirements), user has to ensure that HSE_VALUE
  *              is same as the real frequency of the crystal used. Otherwise, this function
  *              may have wrong result.
  *                
  *         - The result of this function could be not correct when using fractional
  *           value for HSE crystal.
  *     
  * @param  None
  * @retval None
  */
void SystemCoreClockUpdate(void)
{
  uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2;
  
  /* Get SYSCLK source -------------------------------------------------------*/
  tmp = RCC->CFGR & RCC_CFGR_SWS;

  switch (tmp)
  {
    case 0x00:  /* HSI used as system clock source */
      SystemCoreClock = HSI_VALUE;
      break;
    case 0x04:  /* HSE used as system clock source */
      SystemCoreClock = HSE_VALUE;
      break;
    case 0x08:  /* PLL used as system clock source */

      /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N
         SYSCLK = PLL_VCO / PLL_P
         */    
      pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22;
      pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM;
      
      if (pllsource != 0)
      {
        /* HSE used as PLL clock source */
        pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6);
      }
      else
      {
        /* HSI used as PLL clock source */
        pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6);
      }

      pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2;
      SystemCoreClock = pllvco/pllp;
      break;
    default:
      SystemCoreClock = HSI_VALUE;
      break;
  }
  /* Compute HCLK frequency --------------------------------------------------*/
  /* Get HCLK prescaler */
  tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)];
  /* HCLK frequency */
  SystemCoreClock >>= tmp;
}

#if defined (DATA_IN_ExtSRAM) && defined (DATA_IN_ExtSDRAM)
#if defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx)\
 || defined(STM32F469xx) || defined(STM32F479xx)
/**
  * @brief  Setup the external memory controller.
  *         Called in startup_stm32f4xx.s before jump to main.
  *         This function configures the external memories (SRAM/SDRAM)
  *         This SRAM/SDRAM will be used as program data memory (including heap and stack).
  * @param  None
  * @retval None
  */
void SystemInit_ExtMemCtl(void)
{
  __IO uint32_t tmp = 0x00;

  register uint32_t tmpreg = 0, timeout = 0xFFFF;
  register __IO uint32_t index;

  /* Enable GPIOC, GPIOD, GPIOE, GPIOF, GPIOG, GPIOH and GPIOI interface clock */
  RCC->AHB1ENR |= 0x000001F8;

  /* Delay after an RCC peripheral clock enabling */
  tmp = READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_GPIOCEN);
  
  /* Connect PDx pins to FMC Alternate function */
  GPIOD->AFR[0]  = 0x00CCC0CC;
  GPIOD->AFR[1]  = 0xCCCCCCCC;
  /* Configure PDx pins in Alternate function mode */  
  GPIOD->MODER   = 0xAAAA0A8A;
  /* Configure PDx pins speed to 100 MHz */  
  GPIOD->OSPEEDR = 0xFFFF0FCF;
  /* Configure PDx pins Output type to push-pull */  
  GPIOD->OTYPER  = 0x00000000;
  /* No pull-up, pull-down for PDx pins */ 
  GPIOD->PUPDR   = 0x00000000;

  /* Connect PEx pins to FMC Alternate function */
  GPIOE->AFR[0]  = 0xC00CC0CC;
  GPIOE->AFR[1]  = 0xCCCCCCCC;
  /* Configure PEx pins in Alternate function mode */ 
  GPIOE->MODER   = 0xAAAA828A;
  /* Configure PEx pins speed to 100 MHz */ 
  GPIOE->OSPEEDR = 0xFFFFC3CF;
  /* Configure PEx pins Output type to push-pull */  
  GPIOE->OTYPER  = 0x00000000;
  /* No pull-up, pull-down for PEx pins */ 
  GPIOE->PUPDR   = 0x00000000;
  
  /* Connect PFx pins to FMC Alternate function */
  GPIOF->AFR[0]  = 0xCCCCCCCC;
  GPIOF->AFR[1]  = 0xCCCCCCCC;
  /* Configure PFx pins in Alternate function mode */   
  GPIOF->MODER   = 0xAA800AAA;
  /* Configure PFx pins speed to 50 MHz */ 
  GPIOF->OSPEEDR = 0xAA800AAA;
  /* Configure PFx pins Output type to push-pull */  
  GPIOF->OTYPER  = 0x00000000;
  /* No pull-up, pull-down for PFx pins */ 
  GPIOF->PUPDR   = 0x00000000;

  /* Connect PGx pins to FMC Alternate function */
  GPIOG->AFR[0]  = 0xCCCCCCCC;
  GPIOG->AFR[1]  = 0xCCCCCCCC;
  /* Configure PGx pins in Alternate function mode */ 
  GPIOG->MODER   = 0xAAAAAAAA;
  /* Configure PGx pins speed to 50 MHz */ 
  GPIOG->OSPEEDR = 0xAAAAAAAA;
  /* Configure PGx pins Output type to push-pull */  
  GPIOG->OTYPER  = 0x00000000;
  /* No pull-up, pull-down for PGx pins */ 
  GPIOG->PUPDR   = 0x00000000;
  
  /* Connect PHx pins to FMC Alternate function */
  GPIOH->AFR[0]  = 0x00C0CC00;
  GPIOH->AFR[1]  = 0xCCCCCCCC;
  /* Configure PHx pins in Alternate function mode */ 
  GPIOH->MODER   = 0xAAAA08A0;
  /* Configure PHx pins speed to 50 MHz */ 
  GPIOH->OSPEEDR = 0xAAAA08A0;
  /* Configure PHx pins Output type to push-pull */  
  GPIOH->OTYPER  = 0x00000000;
  /* No pull-up, pull-down for PHx pins */ 
  GPIOH->PUPDR   = 0x00000000;
  
  /* Connect PIx pins to FMC Alternate function */
  GPIOI->AFR[0]  = 0xCCCCCCCC;
  GPIOI->AFR[1]  = 0x00000CC0;
  /* Configure PIx pins in Alternate function mode */ 
  GPIOI->MODER   = 0x0028AAAA;
  /* Configure PIx pins speed to 50 MHz */ 
  GPIOI->OSPEEDR = 0x0028AAAA;
  /* Configure PIx pins Output type to push-pull */  
  GPIOI->OTYPER  = 0x00000000;
  /* No pull-up, pull-down for PIx pins */ 
  GPIOI->PUPDR   = 0x00000000;
  
/*-- FMC Configuration -------------------------------------------------------*/
  /* Enable the FMC interface clock */
  RCC->AHB3ENR |= 0x00000001;
  /* Delay after an RCC peripheral clock enabling */
  tmp = READ_BIT(RCC->AHB3ENR, RCC_AHB3ENR_FMCEN);

  FMC_Bank5_6->SDCR[0] = 0x000019E4;
  FMC_Bank5_6->SDTR[0] = 0x01115351;      
  
  /* SDRAM initialization sequence */
  /* Clock enable command */
  FMC_Bank5_6->SDCMR = 0x00000011; 
  tmpreg = FMC_Bank5_6->SDSR & 0x00000020; 
  while((tmpreg != 0) && (timeout-- > 0))
  {
    tmpreg = FMC_Bank5_6->SDSR & 0x00000020; 
  }

  /* Delay */
  for (index = 0; index<1000; index++);
  
  /* PALL command */
  FMC_Bank5_6->SDCMR = 0x00000012;           
  tmpreg = FMC_Bank5_6->SDSR & 0x00000020;
  timeout = 0xFFFF;
  while((tmpreg != 0) && (timeout-- > 0))
  {
    tmpreg = FMC_Bank5_6->SDSR & 0x00000020; 
  }
  
  /* Auto refresh command */
  FMC_Bank5_6->SDCMR = 0x00000073;
  tmpreg = FMC_Bank5_6->SDSR & 0x00000020;
  timeout = 0xFFFF;
  while((tmpreg != 0) && (timeout-- > 0))
  {
    tmpreg = FMC_Bank5_6->SDSR & 0x00000020; 
  }
 
  /* MRD register program */
  FMC_Bank5_6->SDCMR = 0x00046014;
  tmpreg = FMC_Bank5_6->SDSR & 0x00000020;
  timeout = 0xFFFF;
  while((tmpreg != 0) && (timeout-- > 0))
  {
    tmpreg = FMC_Bank5_6->SDSR & 0x00000020; 
  } 
  
  /* Set refresh count */
  tmpreg = FMC_Bank5_6->SDRTR;
  FMC_Bank5_6->SDRTR = (tmpreg | (0x0000027C<<1));
  
  /* Disable write protection */
  tmpreg = FMC_Bank5_6->SDCR[0]; 
  FMC_Bank5_6->SDCR[0] = (tmpreg & 0xFFFFFDFF);

#if defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx)
  /* Configure and enable Bank1_SRAM2 */
  FMC_Bank1->BTCR[2]  = 0x00001011;
  FMC_Bank1->BTCR[3]  = 0x00000201;
  FMC_Bank1E->BWTR[2] = 0x0fffffff;
#endif /* STM32F427xx || STM32F437xx || STM32F429xx || STM32F439xx */ 
#if defined(STM32F469xx) || defined(STM32F479xx)
  /* Configure and enable Bank1_SRAM2 */
  FMC_Bank1->BTCR[2]  = 0x00001091;
  FMC_Bank1->BTCR[3]  = 0x00110212;
  FMC_Bank1E->BWTR[2] = 0x0fffffff;
#endif /* STM32F469xx || STM32F479xx */

  (void)(tmp); 
}
#endif /* STM32F427xx || STM32F437xx || STM32F429xx || STM32F439xx || STM32F469xx || STM32F479xx */
#elif defined (DATA_IN_ExtSRAM) || defined (DATA_IN_ExtSDRAM)
/**
  * @brief  Setup the external memory controller.
  *         Called in startup_stm32f4xx.s before jump to main.
  *         This function configures the external memories (SRAM/SDRAM)
  *         This SRAM/SDRAM will be used as program data memory (including heap and stack).
  * @param  None
  * @retval None
  */
void SystemInit_ExtMemCtl(void)
{
  __IO uint32_t tmp = 0x00;
#if defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx)\
 || defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx)
#if defined (DATA_IN_ExtSDRAM)
  register uint32_t tmpreg = 0, timeout = 0xFFFF;
  register __IO uint32_t index;

#if defined(STM32F446xx)
  /* Enable GPIOA, GPIOC, GPIOD, GPIOE, GPIOF, GPIOG interface
      clock */
  RCC->AHB1ENR |= 0x0000007D;
#else
  /* Enable GPIOC, GPIOD, GPIOE, GPIOF, GPIOG, GPIOH and GPIOI interface 
      clock */
  RCC->AHB1ENR |= 0x000001F8;
#endif /* STM32F446xx */  
  /* Delay after an RCC peripheral clock enabling */
  tmp = READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_GPIOCEN);
  
#if defined(STM32F446xx)
  /* Connect PAx pins to FMC Alternate function */
  GPIOA->AFR[0]  |= 0xC0000000;
  GPIOA->AFR[1]  |= 0x00000000;
  /* Configure PDx pins in Alternate function mode */
  GPIOA->MODER   |= 0x00008000;
  /* Configure PDx pins speed to 50 MHz */
  GPIOA->OSPEEDR |= 0x00008000;
  /* Configure PDx pins Output type to push-pull */
  GPIOA->OTYPER  |= 0x00000000;
  /* No pull-up, pull-down for PDx pins */
  GPIOA->PUPDR   |= 0x00000000;

  /* Connect PCx pins to FMC Alternate function */
  GPIOC->AFR[0]  |= 0x00CC0000;
  GPIOC->AFR[1]  |= 0x00000000;
  /* Configure PDx pins in Alternate function mode */
  GPIOC->MODER   |= 0x00000A00;
  /* Configure PDx pins speed to 50 MHz */
  GPIOC->OSPEEDR |= 0x00000A00;
  /* Configure PDx pins Output type to push-pull */
  GPIOC->OTYPER  |= 0x00000000;
  /* No pull-up, pull-down for PDx pins */
  GPIOC->PUPDR   |= 0x00000000;
#endif /* STM32F446xx */

  /* Connect PDx pins to FMC Alternate function */
  GPIOD->AFR[0]  = 0x000000CC;
  GPIOD->AFR[1]  = 0xCC000CCC;
  /* Configure PDx pins in Alternate function mode */  
  GPIOD->MODER   = 0xA02A000A;
  /* Configure PDx pins speed to 50 MHz */  
  GPIOD->OSPEEDR = 0xA02A000A;
  /* Configure PDx pins Output type to push-pull */  
  GPIOD->OTYPER  = 0x00000000;
  /* No pull-up, pull-down for PDx pins */ 
  GPIOD->PUPDR   = 0x00000000;

  /* Connect PEx pins to FMC Alternate function */
  GPIOE->AFR[0]  = 0xC00000CC;
  GPIOE->AFR[1]  = 0xCCCCCCCC;
  /* Configure PEx pins in Alternate function mode */ 
  GPIOE->MODER   = 0xAAAA800A;
  /* Configure PEx pins speed to 50 MHz */ 
  GPIOE->OSPEEDR = 0xAAAA800A;
  /* Configure PEx pins Output type to push-pull */  
  GPIOE->OTYPER  = 0x00000000;
  /* No pull-up, pull-down for PEx pins */ 
  GPIOE->PUPDR   = 0x00000000;

  /* Connect PFx pins to FMC Alternate function */
  GPIOF->AFR[0]  = 0xCCCCCCCC;
  GPIOF->AFR[1]  = 0xCCCCCCCC;
  /* Configure PFx pins in Alternate function mode */   
  GPIOF->MODER   = 0xAA800AAA;
  /* Configure PFx pins speed to 50 MHz */ 
  GPIOF->OSPEEDR = 0xAA800AAA;
  /* Configure PFx pins Output type to push-pull */  
  GPIOF->OTYPER  = 0x00000000;
  /* No pull-up, pull-down for PFx pins */ 
  GPIOF->PUPDR   = 0x00000000;

  /* Connect PGx pins to FMC Alternate function */
  GPIOG->AFR[0]  = 0xCCCCCCCC;
  GPIOG->AFR[1]  = 0xCCCCCCCC;
  /* Configure PGx pins in Alternate function mode */ 
  GPIOG->MODER   = 0xAAAAAAAA;
  /* Configure PGx pins speed to 50 MHz */ 
  GPIOG->OSPEEDR = 0xAAAAAAAA;
  /* Configure PGx pins Output type to push-pull */  
  GPIOG->OTYPER  = 0x00000000;
  /* No pull-up, pull-down for PGx pins */ 
  GPIOG->PUPDR   = 0x00000000;

#if defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx)\
 || defined(STM32F469xx) || defined(STM32F479xx)  
  /* Connect PHx pins to FMC Alternate function */
  GPIOH->AFR[0]  = 0x00C0CC00;
  GPIOH->AFR[1]  = 0xCCCCCCCC;
  /* Configure PHx pins in Alternate function mode */ 
  GPIOH->MODER   = 0xAAAA08A0;
  /* Configure PHx pins speed to 50 MHz */ 
  GPIOH->OSPEEDR = 0xAAAA08A0;
  /* Configure PHx pins Output type to push-pull */  
  GPIOH->OTYPER  = 0x00000000;
  /* No pull-up, pull-down for PHx pins */ 
  GPIOH->PUPDR   = 0x00000000;
  
  /* Connect PIx pins to FMC Alternate function */
  GPIOI->AFR[0]  = 0xCCCCCCCC;
  GPIOI->AFR[1]  = 0x00000CC0;
  /* Configure PIx pins in Alternate function mode */ 
  GPIOI->MODER   = 0x0028AAAA;
  /* Configure PIx pins speed to 50 MHz */ 
  GPIOI->OSPEEDR = 0x0028AAAA;
  /* Configure PIx pins Output type to push-pull */  
  GPIOI->OTYPER  = 0x00000000;
  /* No pull-up, pull-down for PIx pins */ 
  GPIOI->PUPDR   = 0x00000000;
#endif /* STM32F427xx || STM32F437xx || STM32F429xx || STM32F439xx || STM32F469xx || STM32F479xx */
  
/*-- FMC Configuration -------------------------------------------------------*/
  /* Enable the FMC interface clock */
  RCC->AHB3ENR |= 0x00000001;
  /* Delay after an RCC peripheral clock enabling */
  tmp = READ_BIT(RCC->AHB3ENR, RCC_AHB3ENR_FMCEN);

  /* Configure and enable SDRAM bank1 */
#if defined(STM32F446xx)
  FMC_Bank5_6->SDCR[0] = 0x00001954;
#else  
  FMC_Bank5_6->SDCR[0] = 0x000019E4;
#endif /* STM32F446xx */
  FMC_Bank5_6->SDTR[0] = 0x01115351;      
  
  /* SDRAM initialization sequence */
  /* Clock enable command */
  FMC_Bank5_6->SDCMR = 0x00000011; 
  tmpreg = FMC_Bank5_6->SDSR & 0x00000020; 
  while((tmpreg != 0) && (timeout-- > 0))
  {
    tmpreg = FMC_Bank5_6->SDSR & 0x00000020; 
  }

  /* Delay */
  for (index = 0; index<1000; index++);
  
  /* PALL command */
  FMC_Bank5_6->SDCMR = 0x00000012;           
  tmpreg = FMC_Bank5_6->SDSR & 0x00000020;
  timeout = 0xFFFF;
  while((tmpreg != 0) && (timeout-- > 0))
  {
    tmpre
Download .txt
Showing preview only (637K chars total). Download the full file or copy to clipboard to get everything.
gitextract_otci_o_l/

├── .github/
│   └── FUNDING.yml
├── BME280/
│   └── I2C/
│       ├── BME280_STM32.c
│       ├── BME280_STM32.h
│       ├── README.md
│       ├── TUT_BME280_F103.ioc
│       └── main.c
├── EEPROM_STM32/
│   ├── EEPROM.c
│   ├── EEPROM.h
│   ├── README.md
│   └── main.c
├── F103_RegisterBased/
│   └── ADC with DMA/
│       ├── Delay_F103.c
│       ├── Delay_F103.h
│       ├── README.md
│       └── main.c
├── FLASH_PROGRAM/
│   ├── F1 SERIES/
│   │   ├── FLASH_PAGE_F1.h
│   │   ├── FlASH_PAGE_F1.c
│   │   ├── README.md
│   │   └── main.c
│   ├── F4 SERIES/
│   │   ├── FLASH_SECTOR_F4.c
│   │   ├── FLASH_SECTOR_F4.h
│   │   ├── README.md
│   │   └── main.c
│   └── H7 SERIES/
│       ├── FLASH_SECTOR_H7.c
│       ├── FLASH_SECTOR_H7.h
│       ├── README.md
│       └── main.c
├── LCD1602_I2C_NOHAL/
│   ├── Delay.c
│   ├── Delay.h
│   ├── I2C.c
│   ├── I2C.h
│   ├── README.md
│   ├── RccConfig.c
│   ├── RccConfig.h
│   ├── i2c-lcd.c
│   ├── i2c-lcd.h
│   └── main.c
├── LVGL/
│   └── Simple_F446/
│       ├── Core/
│       │   ├── Inc/
│       │   │   ├── lcd_lvgl.h
│       │   │   ├── main.h
│       │   │   ├── stm32f4xx_hal_conf.h
│       │   │   ├── stm32f4xx_it.h
│       │   │   ├── tft.h
│       │   │   └── user_setting.h
│       │   ├── Src/
│       │   │   ├── lcd_lvgl.c
│       │   │   ├── main.c
│       │   │   ├── stm32f4xx_hal_msp.c
│       │   │   ├── stm32f4xx_it.c
│       │   │   ├── syscalls.c
│       │   │   ├── sysmem.c
│       │   │   ├── system_stm32f4xx.c
│       │   │   └── tft.c
│       │   └── Startup/
│       │       └── startup_stm32f446retx.s
│       ├── Drivers/
│       │   ├── CMSIS/
│       │   │   ├── Device/
│       │   │   │   └── ST/
│       │   │   │       └── STM32F4xx/
│       │   │   │           ├── Include/
│       │   │   │           │   ├── stm32f446xx.h
│       │   │   │           │   ├── stm32f4xx.h
│       │   │   │           │   └── system_stm32f4xx.h
│       │   │   │           └── License.md
│       │   │   ├── Include/
│       │   │   │   ├── cmsis_armcc.h
│       │   │   │   ├── cmsis_armclang.h
│       │   │   │   ├── cmsis_compiler.h
│       │   │   │   ├── cmsis_gcc.h
│       │   │   │   ├── cmsis_iccarm.h
│       │   │   │   ├── cmsis_version.h
│       │   │   │   ├── core_armv8mbl.h
│       │   │   │   ├── core_armv8mml.h
│       │   │   │   ├── core_cm0.h
│       │   │   │   ├── core_cm0plus.h
│       │   │   │   ├── core_cm1.h
│       │   │   │   ├── core_cm23.h
│       │   │   │   ├── core_cm3.h
│       │   │   │   ├── core_cm33.h
│       │   │   │   ├── core_cm4.h
│       │   │   │   ├── core_cm7.h
│       │   │   │   ├── core_sc000.h
│       │   │   │   ├── core_sc300.h
│       │   │   │   ├── mpu_armv7.h
│       │   │   │   ├── mpu_armv8.h
│       │   │   │   └── tz_context.h
│       │   │   └── LICENSE.txt
│       │   └── STM32F4xx_HAL_Driver/
│       │       ├── Inc/
│       │       │   ├── Legacy/
│       │       │   │   └── stm32_hal_legacy.h
│       │       │   ├── stm32f4xx_hal.h
│       │       │   ├── stm32f4xx_hal_cortex.h
│       │       │   ├── stm32f4xx_hal_def.h
│       │       │   ├── stm32f4xx_hal_dma.h
│       │       │   ├── stm32f4xx_hal_dma_ex.h
│       │       │   ├── stm32f4xx_hal_exti.h
│       │       │   ├── stm32f4xx_hal_flash.h
│       │       │   ├── stm32f4xx_hal_flash_ex.h
│       │       │   ├── stm32f4xx_hal_flash_ramfunc.h
│       │       │   ├── stm32f4xx_hal_gpio.h
│       │       │   ├── stm32f4xx_hal_gpio_ex.h
│       │       │   ├── stm32f4xx_hal_pwr.h
│       │       │   ├── stm32f4xx_hal_pwr_ex.h
│       │       │   ├── stm32f4xx_hal_rcc.h
│       │       │   ├── stm32f4xx_hal_rcc_ex.h
│       │       │   ├── stm32f4xx_hal_tim.h
│       │       │   └── stm32f4xx_hal_tim_ex.h
│       │       ├── License.md
│       │       └── Src/
│       │           ├── stm32f4xx_hal.c
│       │           ├── stm32f4xx_hal_cortex.c
│       │           ├── stm32f4xx_hal_dma.c
│       │           ├── stm32f4xx_hal_dma_ex.c
│       │           ├── stm32f4xx_hal_exti.c
│       │           ├── stm32f4xx_hal_flash.c
│       │           ├── stm32f4xx_hal_flash_ex.c
│       │           ├── stm32f4xx_hal_flash_ramfunc.c
│       │           ├── stm32f4xx_hal_gpio.c
│       │           ├── stm32f4xx_hal_pwr.c
│       │           ├── stm32f4xx_hal_pwr_ex.c
│       │           ├── stm32f4xx_hal_rcc.c
│       │           ├── stm32f4xx_hal_rcc_ex.c
│       │           ├── stm32f4xx_hal_tim.c
│       │           └── stm32f4xx_hal_tim_ex.c
│       ├── README.md
│       ├── STM32F446RETX_FLASH.ld
│       ├── STM32F446RETX_RAM.ld
│       ├── TUT_LVGL_F446 Debug.launch
│       ├── TUT_LVGL_F446.ioc
│       └── lv_conf.h
├── QSPI/
│   ├── MT25TLxxx/
│   │   ├── EXT_MEM_BOOT/
│   │   │   ├── QSPI_XIP_H745.ioc
│   │   │   ├── README.md
│   │   │   ├── STM32H745XIHX_FLASH.ld
│   │   │   ├── main.c
│   │   │   └── system_stm32h7xx_dualcore_boot_cm4_cm7.c
│   │   ├── README.md
│   │   ├── main.c
│   │   ├── mt25tl01g.c
│   │   ├── mt25tl01g.h
│   │   ├── quadspi.c
│   │   └── quadspi.h
│   └── N25Qxxx/
│       ├── EXT_MEM_BOOT/
│       │   ├── QSPI_XIP__N25Q_F750.ioc
│       │   ├── README.md
│       │   ├── STM32F750N8HX_FLASH.ld
│       │   ├── main.c
│       │   └── system_stm32f7xx.c
│       ├── README.md
│       ├── main.c
│       ├── n25q128a.h
│       ├── quadspi.c
│       └── quadspi.h
├── README.md
├── TOUCH GFX/
│   └── ILI9341 SPI/
│       ├── README.md
│       ├── STM32TouchController.cpp
│       ├── TouchGFX_DataTransfer.c
│       ├── TouchGFX_DataTransfer.h
│       ├── ili9341.c
│       ├── ili9341.h
│       ├── main.c
│       ├── xpt2046.c
│       └── xpt2046.h
├── UART CIRCULAR BUFFER/
│   ├── README.md
│   ├── UART_F4_Multi_Test.ioc
│   ├── main.c
│   ├── stm32f4xx_it.c
│   ├── uartRingBufDMA.c
│   └── uartRingBufDMA.h
├── ethernet-lwip/
│   ├── hardware-ping/
│   │   ├── F750-RMII/
│   │   │   ├── .cproject
│   │   │   ├── .mxproject
│   │   │   ├── .project
│   │   │   ├── .settings/
│   │   │   │   ├── com.st.stm32cube.ide.mcu.sfrview.prefs
│   │   │   │   ├── language.settings.xml
│   │   │   │   ├── org.eclipse.core.resources.prefs
│   │   │   │   └── stm32cubeide.project.prefs
│   │   │   ├── Core/
│   │   │   │   ├── Inc/
│   │   │   │   │   ├── main.h
│   │   │   │   │   ├── stm32f7xx_hal_conf.h
│   │   │   │   │   └── stm32f7xx_it.h
│   │   │   │   ├── Src/
│   │   │   │   │   ├── main.c
│   │   │   │   │   ├── stm32f7xx_hal_msp.c
│   │   │   │   │   ├── stm32f7xx_it.c
│   │   │   │   │   ├── syscalls.c
│   │   │   │   │   ├── sysmem.c
│   │   │   │   │   └── system_stm32f7xx.c
│   │   │   │   └── Startup/
│   │   │   │       └── startup_stm32f750n8hx.s
│   │   │   ├── Drivers/
│   │   │   │   ├── BSP/
│   │   │   │   │   └── Components/
│   │   │   │   │       └── lan8742/
│   │   │   │   │           ├── lan8742.c
│   │   │   │   │           └── lan8742.h
│   │   │   │   ├── CMSIS/
│   │   │   │   │   ├── Device/
│   │   │   │   │   │   └── ST/
│   │   │   │   │   │       └── STM32F7xx/
│   │   │   │   │   │           ├── Include/
│   │   │   │   │   │           │   ├── stm32f750xx.h
│   │   │   │   │   │           │   ├── stm32f7xx.h
│   │   │   │   │   │           │   └── system_stm32f7xx.h
│   │   │   │   │   │           └── LICENSE.txt
│   │   │   │   │   ├── Include/
│   │   │   │   │   │   ├── cmsis_armcc.h
│   │   │   │   │   │   ├── cmsis_armclang.h
│   │   │   │   │   │   ├── cmsis_compiler.h
│   │   │   │   │   │   ├── cmsis_gcc.h
│   │   │   │   │   │   ├── cmsis_iccarm.h
│   │   │   │   │   │   ├── cmsis_version.h
│   │   │   │   │   │   ├── core_armv8mbl.h
│   │   │   │   │   │   ├── core_armv8mml.h
│   │   │   │   │   │   ├── core_cm0.h
│   │   │   │   │   │   ├── core_cm0plus.h
│   │   │   │   │   │   ├── core_cm1.h
│   │   │   │   │   │   ├── core_cm23.h
│   │   │   │   │   │   ├── core_cm3.h
│   │   │   │   │   │   ├── core_cm33.h
│   │   │   │   │   │   ├── core_cm4.h
│   │   │   │   │   │   ├── core_cm7.h
│   │   │   │   │   │   ├── core_sc000.h
│   │   │   │   │   │   ├── core_sc300.h
│   │   │   │   │   │   ├── mpu_armv7.h
│   │   │   │   │   │   ├── mpu_armv8.h
│   │   │   │   │   │   └── tz_context.h
│   │   │   │   │   └── LICENSE.txt
│   │   │   │   └── STM32F7xx_HAL_Driver/
│   │   │   │       ├── Inc/
│   │   │   │       │   ├── Legacy/
│   │   │   │       │   │   └── stm32_hal_legacy.h
│   │   │   │       │   ├── stm32f7xx_hal.h
│   │   │   │       │   ├── stm32f7xx_hal_cortex.h
│   │   │   │       │   ├── stm32f7xx_hal_def.h
│   │   │   │       │   ├── stm32f7xx_hal_dma.h
│   │   │   │       │   ├── stm32f7xx_hal_dma_ex.h
│   │   │   │       │   ├── stm32f7xx_hal_eth.h
│   │   │   │       │   ├── stm32f7xx_hal_exti.h
│   │   │   │       │   ├── stm32f7xx_hal_flash.h
│   │   │   │       │   ├── stm32f7xx_hal_flash_ex.h
│   │   │   │       │   ├── stm32f7xx_hal_gpio.h
│   │   │   │       │   ├── stm32f7xx_hal_gpio_ex.h
│   │   │   │       │   ├── stm32f7xx_hal_i2c.h
│   │   │   │       │   ├── stm32f7xx_hal_i2c_ex.h
│   │   │   │       │   ├── stm32f7xx_hal_pwr.h
│   │   │   │       │   ├── stm32f7xx_hal_pwr_ex.h
│   │   │   │       │   ├── stm32f7xx_hal_rcc.h
│   │   │   │       │   ├── stm32f7xx_hal_rcc_ex.h
│   │   │   │       │   ├── stm32f7xx_ll_bus.h
│   │   │   │       │   ├── stm32f7xx_ll_cortex.h
│   │   │   │       │   ├── stm32f7xx_ll_dma.h
│   │   │   │       │   ├── stm32f7xx_ll_exti.h
│   │   │   │       │   ├── stm32f7xx_ll_gpio.h
│   │   │   │       │   ├── stm32f7xx_ll_pwr.h
│   │   │   │       │   ├── stm32f7xx_ll_rcc.h
│   │   │   │       │   ├── stm32f7xx_ll_system.h
│   │   │   │       │   └── stm32f7xx_ll_utils.h
│   │   │   │       ├── LICENSE.txt
│   │   │   │       └── Src/
│   │   │   │           ├── stm32f7xx_hal.c
│   │   │   │           ├── stm32f7xx_hal_cortex.c
│   │   │   │           ├── stm32f7xx_hal_dma.c
│   │   │   │           ├── stm32f7xx_hal_dma_ex.c
│   │   │   │           ├── stm32f7xx_hal_eth.c
│   │   │   │           ├── stm32f7xx_hal_exti.c
│   │   │   │           ├── stm32f7xx_hal_flash.c
│   │   │   │           ├── stm32f7xx_hal_flash_ex.c
│   │   │   │           ├── stm32f7xx_hal_gpio.c
│   │   │   │           ├── stm32f7xx_hal_i2c.c
│   │   │   │           ├── stm32f7xx_hal_i2c_ex.c
│   │   │   │           ├── stm32f7xx_hal_pwr.c
│   │   │   │           ├── stm32f7xx_hal_pwr_ex.c
│   │   │   │           ├── stm32f7xx_hal_rcc.c
│   │   │   │           └── stm32f7xx_hal_rcc_ex.c
│   │   │   ├── F750_Etherent Debug.launch
│   │   │   ├── F750_Etherent.ioc
│   │   │   ├── LWIP/
│   │   │   │   ├── App/
│   │   │   │   │   ├── lwip.c
│   │   │   │   │   └── lwip.h
│   │   │   │   └── Target/
│   │   │   │       ├── ethernetif.c
│   │   │   │       ├── ethernetif.h
│   │   │   │       └── lwipopts.h
│   │   │   ├── Middlewares/
│   │   │   │   └── Third_Party/
│   │   │   │       └── LwIP/
│   │   │   │           ├── src/
│   │   │   │           │   ├── api/
│   │   │   │           │   │   ├── api_lib.c
│   │   │   │           │   │   ├── api_msg.c
│   │   │   │           │   │   ├── err.c
│   │   │   │           │   │   ├── if_api.c
│   │   │   │           │   │   ├── netbuf.c
│   │   │   │           │   │   ├── netdb.c
│   │   │   │           │   │   ├── netifapi.c
│   │   │   │           │   │   ├── sockets.c
│   │   │   │           │   │   └── tcpip.c
│   │   │   │           │   ├── apps/
│   │   │   │           │   │   └── mqtt/
│   │   │   │           │   │       └── mqtt.c
│   │   │   │           │   ├── core/
│   │   │   │           │   │   ├── altcp.c
│   │   │   │           │   │   ├── altcp_alloc.c
│   │   │   │           │   │   ├── altcp_tcp.c
│   │   │   │           │   │   ├── def.c
│   │   │   │           │   │   ├── dns.c
│   │   │   │           │   │   ├── inet_chksum.c
│   │   │   │           │   │   ├── init.c
│   │   │   │           │   │   ├── ip.c
│   │   │   │           │   │   ├── ipv4/
│   │   │   │           │   │   │   ├── autoip.c
│   │   │   │           │   │   │   ├── dhcp.c
│   │   │   │           │   │   │   ├── etharp.c
│   │   │   │           │   │   │   ├── icmp.c
│   │   │   │           │   │   │   ├── igmp.c
│   │   │   │           │   │   │   ├── ip4.c
│   │   │   │           │   │   │   ├── ip4_addr.c
│   │   │   │           │   │   │   └── ip4_frag.c
│   │   │   │           │   │   ├── ipv6/
│   │   │   │           │   │   │   ├── dhcp6.c
│   │   │   │           │   │   │   ├── ethip6.c
│   │   │   │           │   │   │   ├── icmp6.c
│   │   │   │           │   │   │   ├── inet6.c
│   │   │   │           │   │   │   ├── ip6.c
│   │   │   │           │   │   │   ├── ip6_addr.c
│   │   │   │           │   │   │   ├── ip6_frag.c
│   │   │   │           │   │   │   ├── mld6.c
│   │   │   │           │   │   │   └── nd6.c
│   │   │   │           │   │   ├── mem.c
│   │   │   │           │   │   ├── memp.c
│   │   │   │           │   │   ├── netif.c
│   │   │   │           │   │   ├── pbuf.c
│   │   │   │           │   │   ├── raw.c
│   │   │   │           │   │   ├── stats.c
│   │   │   │           │   │   ├── sys.c
│   │   │   │           │   │   ├── tcp.c
│   │   │   │           │   │   ├── tcp_in.c
│   │   │   │           │   │   ├── tcp_out.c
│   │   │   │           │   │   ├── timeouts.c
│   │   │   │           │   │   └── udp.c
│   │   │   │           │   ├── include/
│   │   │   │           │   │   ├── compat/
│   │   │   │           │   │   │   ├── posix/
│   │   │   │           │   │   │   │   ├── arpa/
│   │   │   │           │   │   │   │   │   └── inet.h
│   │   │   │           │   │   │   │   ├── net/
│   │   │   │           │   │   │   │   │   └── if.h
│   │   │   │           │   │   │   │   ├── netdb.h
│   │   │   │           │   │   │   │   └── sys/
│   │   │   │           │   │   │   │       └── socket.h
│   │   │   │           │   │   │   └── stdc/
│   │   │   │           │   │   │       └── errno.h
│   │   │   │           │   │   ├── lwip/
│   │   │   │           │   │   │   ├── altcp.h
│   │   │   │           │   │   │   ├── altcp_tcp.h
│   │   │   │           │   │   │   ├── altcp_tls.h
│   │   │   │           │   │   │   ├── api.h
│   │   │   │           │   │   │   ├── apps/
│   │   │   │           │   │   │   │   ├── altcp_proxyconnect.h
│   │   │   │           │   │   │   │   ├── altcp_tls_mbedtls_opts.h
│   │   │   │           │   │   │   │   ├── fs.h
│   │   │   │           │   │   │   │   ├── http_client.h
│   │   │   │           │   │   │   │   ├── httpd.h
│   │   │   │           │   │   │   │   ├── httpd_opts.h
│   │   │   │           │   │   │   │   ├── lwiperf.h
│   │   │   │           │   │   │   │   ├── mdns.h
│   │   │   │           │   │   │   │   ├── mdns_opts.h
│   │   │   │           │   │   │   │   ├── mdns_priv.h
│   │   │   │           │   │   │   │   ├── mqtt.h
│   │   │   │           │   │   │   │   ├── mqtt_opts.h
│   │   │   │           │   │   │   │   ├── mqtt_priv.h
│   │   │   │           │   │   │   │   ├── netbiosns.h
│   │   │   │           │   │   │   │   ├── netbiosns_opts.h
│   │   │   │           │   │   │   │   ├── smtp.h
│   │   │   │           │   │   │   │   ├── smtp_opts.h
│   │   │   │           │   │   │   │   ├── snmp.h
│   │   │   │           │   │   │   │   ├── snmp_core.h
│   │   │   │           │   │   │   │   ├── snmp_mib2.h
│   │   │   │           │   │   │   │   ├── snmp_opts.h
│   │   │   │           │   │   │   │   ├── snmp_scalar.h
│   │   │   │           │   │   │   │   ├── snmp_snmpv2_framework.h
│   │   │   │           │   │   │   │   ├── snmp_snmpv2_usm.h
│   │   │   │           │   │   │   │   ├── snmp_table.h
│   │   │   │           │   │   │   │   ├── snmp_threadsync.h
│   │   │   │           │   │   │   │   ├── snmpv3.h
│   │   │   │           │   │   │   │   ├── sntp.h
│   │   │   │           │   │   │   │   ├── sntp_opts.h
│   │   │   │           │   │   │   │   ├── tftp_opts.h
│   │   │   │           │   │   │   │   └── tftp_server.h
│   │   │   │           │   │   │   ├── arch.h
│   │   │   │           │   │   │   ├── autoip.h
│   │   │   │           │   │   │   ├── debug.h
│   │   │   │           │   │   │   ├── def.h
│   │   │   │           │   │   │   ├── dhcp.h
│   │   │   │           │   │   │   ├── dhcp6.h
│   │   │   │           │   │   │   ├── dns.h
│   │   │   │           │   │   │   ├── err.h
│   │   │   │           │   │   │   ├── errno.h
│   │   │   │           │   │   │   ├── etharp.h
│   │   │   │           │   │   │   ├── ethip6.h
│   │   │   │           │   │   │   ├── icmp.h
│   │   │   │           │   │   │   ├── icmp6.h
│   │   │   │           │   │   │   ├── if_api.h
│   │   │   │           │   │   │   ├── igmp.h
│   │   │   │           │   │   │   ├── inet.h
│   │   │   │           │   │   │   ├── inet_chksum.h
│   │   │   │           │   │   │   ├── init.h
│   │   │   │           │   │   │   ├── ip.h
│   │   │   │           │   │   │   ├── ip4.h
│   │   │   │           │   │   │   ├── ip4_addr.h
│   │   │   │           │   │   │   ├── ip4_frag.h
│   │   │   │           │   │   │   ├── ip6.h
│   │   │   │           │   │   │   ├── ip6_addr.h
│   │   │   │           │   │   │   ├── ip6_frag.h
│   │   │   │           │   │   │   ├── ip6_zone.h
│   │   │   │           │   │   │   ├── ip_addr.h
│   │   │   │           │   │   │   ├── mem.h
│   │   │   │           │   │   │   ├── memp.h
│   │   │   │           │   │   │   ├── mld6.h
│   │   │   │           │   │   │   ├── nd6.h
│   │   │   │           │   │   │   ├── netbuf.h
│   │   │   │           │   │   │   ├── netdb.h
│   │   │   │           │   │   │   ├── netif.h
│   │   │   │           │   │   │   ├── netifapi.h
│   │   │   │           │   │   │   ├── opt.h
│   │   │   │           │   │   │   ├── pbuf.h
│   │   │   │           │   │   │   ├── priv/
│   │   │   │           │   │   │   │   ├── altcp_priv.h
│   │   │   │           │   │   │   │   ├── api_msg.h
│   │   │   │           │   │   │   │   ├── mem_priv.h
│   │   │   │           │   │   │   │   ├── memp_priv.h
│   │   │   │           │   │   │   │   ├── memp_std.h
│   │   │   │           │   │   │   │   ├── nd6_priv.h
│   │   │   │           │   │   │   │   ├── raw_priv.h
│   │   │   │           │   │   │   │   ├── sockets_priv.h
│   │   │   │           │   │   │   │   ├── tcp_priv.h
│   │   │   │           │   │   │   │   └── tcpip_priv.h
│   │   │   │           │   │   │   ├── prot/
│   │   │   │           │   │   │   │   ├── autoip.h
│   │   │   │           │   │   │   │   ├── dhcp.h
│   │   │   │           │   │   │   │   ├── dhcp6.h
│   │   │   │           │   │   │   │   ├── dns.h
│   │   │   │           │   │   │   │   ├── etharp.h
│   │   │   │           │   │   │   │   ├── ethernet.h
│   │   │   │           │   │   │   │   ├── iana.h
│   │   │   │           │   │   │   │   ├── icmp.h
│   │   │   │           │   │   │   │   ├── icmp6.h
│   │   │   │           │   │   │   │   ├── ieee.h
│   │   │   │           │   │   │   │   ├── igmp.h
│   │   │   │           │   │   │   │   ├── ip.h
│   │   │   │           │   │   │   │   ├── ip4.h
│   │   │   │           │   │   │   │   ├── ip6.h
│   │   │   │           │   │   │   │   ├── mld6.h
│   │   │   │           │   │   │   │   ├── nd6.h
│   │   │   │           │   │   │   │   ├── tcp.h
│   │   │   │           │   │   │   │   └── udp.h
│   │   │   │           │   │   │   ├── raw.h
│   │   │   │           │   │   │   ├── sio.h
│   │   │   │           │   │   │   ├── snmp.h
│   │   │   │           │   │   │   ├── sockets.h
│   │   │   │           │   │   │   ├── stats.h
│   │   │   │           │   │   │   ├── sys.h
│   │   │   │           │   │   │   ├── tcp.h
│   │   │   │           │   │   │   ├── tcpbase.h
│   │   │   │           │   │   │   ├── tcpip.h
│   │   │   │           │   │   │   ├── timeouts.h
│   │   │   │           │   │   │   └── udp.h
│   │   │   │           │   │   └── netif/
│   │   │   │           │   │       ├── bridgeif.h
│   │   │   │           │   │       ├── bridgeif_opts.h
│   │   │   │           │   │       ├── etharp.h
│   │   │   │           │   │       ├── ethernet.h
│   │   │   │           │   │       ├── ieee802154.h
│   │   │   │           │   │       ├── lowpan6.h
│   │   │   │           │   │       ├── lowpan6_ble.h
│   │   │   │           │   │       ├── lowpan6_common.h
│   │   │   │           │   │       ├── lowpan6_opts.h
│   │   │   │           │   │       ├── ppp/
│   │   │   │           │   │       │   ├── ccp.h
│   │   │   │           │   │       │   ├── chap-md5.h
│   │   │   │           │   │       │   ├── chap-new.h
│   │   │   │           │   │       │   ├── chap_ms.h
│   │   │   │           │   │       │   ├── eap.h
│   │   │   │           │   │       │   ├── ecp.h
│   │   │   │           │   │       │   ├── eui64.h
│   │   │   │           │   │       │   ├── fsm.h
│   │   │   │           │   │       │   ├── ipcp.h
│   │   │   │           │   │       │   ├── ipv6cp.h
│   │   │   │           │   │       │   ├── lcp.h
│   │   │   │           │   │       │   ├── magic.h
│   │   │   │           │   │       │   ├── mppe.h
│   │   │   │           │   │       │   ├── ppp.h
│   │   │   │           │   │       │   ├── ppp_impl.h
│   │   │   │           │   │       │   ├── ppp_opts.h
│   │   │   │           │   │       │   ├── pppapi.h
│   │   │   │           │   │       │   ├── pppcrypt.h
│   │   │   │           │   │       │   ├── pppdebug.h
│   │   │   │           │   │       │   ├── pppoe.h
│   │   │   │           │   │       │   ├── pppol2tp.h
│   │   │   │           │   │       │   ├── pppos.h
│   │   │   │           │   │       │   ├── upap.h
│   │   │   │           │   │       │   └── vj.h
│   │   │   │           │   │       ├── slipif.h
│   │   │   │           │   │       └── zepif.h
│   │   │   │           │   └── netif/
│   │   │   │           │       ├── bridgeif.c
│   │   │   │           │       ├── bridgeif_fdb.c
│   │   │   │           │       ├── ethernet.c
│   │   │   │           │       ├── lowpan6.c
│   │   │   │           │       ├── lowpan6_ble.c
│   │   │   │           │       ├── lowpan6_common.c
│   │   │   │           │       ├── ppp/
│   │   │   │           │       │   ├── auth.c
│   │   │   │           │       │   ├── ccp.c
│   │   │   │           │       │   ├── chap-md5.c
│   │   │   │           │       │   ├── chap-new.c
│   │   │   │           │       │   ├── chap_ms.c
│   │   │   │           │       │   ├── demand.c
│   │   │   │           │       │   ├── eap.c
│   │   │   │           │       │   ├── ecp.c
│   │   │   │           │       │   ├── eui64.c
│   │   │   │           │       │   ├── fsm.c
│   │   │   │           │       │   ├── ipcp.c
│   │   │   │           │       │   ├── ipv6cp.c
│   │   │   │           │       │   ├── lcp.c
│   │   │   │           │       │   ├── magic.c
│   │   │   │           │       │   ├── mppe.c
│   │   │   │           │       │   ├── multilink.c
│   │   │   │           │       │   ├── ppp.c
│   │   │   │           │       │   ├── pppapi.c
│   │   │   │           │       │   ├── pppcrypt.c
│   │   │   │           │       │   ├── pppoe.c
│   │   │   │           │       │   ├── pppol2tp.c
│   │   │   │           │       │   ├── pppos.c
│   │   │   │           │       │   ├── upap.c
│   │   │   │           │       │   ├── utils.c
│   │   │   │           │       │   └── vj.c
│   │   │   │           │       ├── slipif.c
│   │   │   │           │       └── zepif.c
│   │   │   │           └── system/
│   │   │   │               └── arch/
│   │   │   │                   ├── bpstruct.h
│   │   │   │                   ├── cc.h
│   │   │   │                   ├── cpu.h
│   │   │   │                   ├── epstruct.h
│   │   │   │                   ├── init.h
│   │   │   │                   ├── lib.h
│   │   │   │                   ├── perf.h
│   │   │   │                   └── sys_arch.h
│   │   │   ├── STM32F750N8HX_FLASH.ld
│   │   │   └── STM32F750N8HX_RAM.ld
│   │   ├── H745-Discovery-MII/
│   │   │   ├── .mxproject
│   │   │   ├── .project
│   │   │   ├── .settings/
│   │   │   │   ├── org.eclipse.core.resources.prefs
│   │   │   │   └── stm32cubeide.project.prefs
│   │   │   ├── CM4/
│   │   │   │   ├── .cproject
│   │   │   │   ├── .project
│   │   │   │   ├── .settings/
│   │   │   │   │   ├── language.settings.xml
│   │   │   │   │   └── org.eclipse.core.resources.prefs
│   │   │   │   ├── Core/
│   │   │   │   │   ├── Inc/
│   │   │   │   │   │   ├── main.h
│   │   │   │   │   │   ├── stm32h7xx_hal_conf.h
│   │   │   │   │   │   └── stm32h7xx_it.h
│   │   │   │   │   ├── Src/
│   │   │   │   │   │   ├── main.c
│   │   │   │   │   │   ├── stm32h7xx_hal_msp.c
│   │   │   │   │   │   ├── stm32h7xx_it.c
│   │   │   │   │   │   ├── syscalls.c
│   │   │   │   │   │   └── sysmem.c
│   │   │   │   │   └── Startup/
│   │   │   │   │       └── startup_stm32h745xihx.s
│   │   │   │   ├── STM32H745XIHX_FLASH.ld
│   │   │   │   └── STM32H745XIHX_RAM.ld
│   │   │   ├── CM7/
│   │   │   │   ├── .cproject
│   │   │   │   ├── .project
│   │   │   │   ├── .settings/
│   │   │   │   │   ├── language.settings.xml
│   │   │   │   │   ├── org.eclipse.core.resources.prefs
│   │   │   │   │   └── stm32cubeide.project.prefs
│   │   │   │   ├── Core/
│   │   │   │   │   ├── Inc/
│   │   │   │   │   │   ├── main.h
│   │   │   │   │   │   ├── stm32h7xx_hal_conf.h
│   │   │   │   │   │   └── stm32h7xx_it.h
│   │   │   │   │   ├── Src/
│   │   │   │   │   │   ├── main.c
│   │   │   │   │   │   ├── stm32h7xx_hal_msp.c
│   │   │   │   │   │   ├── stm32h7xx_it.c
│   │   │   │   │   │   ├── syscalls.c
│   │   │   │   │   │   └── sysmem.c
│   │   │   │   │   └── Startup/
│   │   │   │   │       └── startup_stm32h745xihx.s
│   │   │   │   ├── H7_Ethernet_CM7 Debug.launch
│   │   │   │   ├── LWIP/
│   │   │   │   │   ├── App/
│   │   │   │   │   │   ├── lwip.c
│   │   │   │   │   │   └── lwip.h
│   │   │   │   │   └── Target/
│   │   │   │   │       ├── ethernetif.c
│   │   │   │   │       ├── ethernetif.h
│   │   │   │   │       └── lwipopts.h
│   │   │   │   ├── STM32H745XIHX_FLASH.ld
│   │   │   │   └── STM32H745XIHX_RAM.ld
│   │   │   ├── Common/
│   │   │   │   └── Src/
│   │   │   │       └── system_stm32h7xx_dualcore_boot_cm4_cm7.c
│   │   │   ├── Drivers/
│   │   │   │   ├── BSP/
│   │   │   │   │   └── Components/
│   │   │   │   │       └── lan8742/
│   │   │   │   │           ├── lan8742.c
│   │   │   │   │           └── lan8742.h
│   │   │   │   ├── CMSIS/
│   │   │   │   │   ├── Core/
│   │   │   │   │   │   ├── Include/
│   │   │   │   │   │   │   ├── cachel1_armv7.h
│   │   │   │   │   │   │   ├── cmsis_armcc.h
│   │   │   │   │   │   │   ├── cmsis_armclang.h
│   │   │   │   │   │   │   ├── cmsis_armclang_ltm.h
│   │   │   │   │   │   │   ├── cmsis_compiler.h
│   │   │   │   │   │   │   ├── cmsis_gcc.h
│   │   │   │   │   │   │   ├── cmsis_iccarm.h
│   │   │   │   │   │   │   ├── cmsis_version.h
│   │   │   │   │   │   │   ├── core_armv81mml.h
│   │   │   │   │   │   │   ├── core_armv8mbl.h
│   │   │   │   │   │   │   ├── core_armv8mml.h
│   │   │   │   │   │   │   ├── core_cm0.h
│   │   │   │   │   │   │   ├── core_cm0plus.h
│   │   │   │   │   │   │   ├── core_cm1.h
│   │   │   │   │   │   │   ├── core_cm23.h
│   │   │   │   │   │   │   ├── core_cm3.h
│   │   │   │   │   │   │   ├── core_cm33.h
│   │   │   │   │   │   │   ├── core_cm35p.h
│   │   │   │   │   │   │   ├── core_cm4.h
│   │   │   │   │   │   │   ├── core_cm55.h
│   │   │   │   │   │   │   ├── core_cm7.h
│   │   │   │   │   │   │   ├── core_cm85.h
│   │   │   │   │   │   │   ├── core_sc000.h
│   │   │   │   │   │   │   ├── core_sc300.h
│   │   │   │   │   │   │   ├── core_starmc1.h
│   │   │   │   │   │   │   ├── mpu_armv7.h
│   │   │   │   │   │   │   ├── mpu_armv8.h
│   │   │   │   │   │   │   ├── pac_armv81.h
│   │   │   │   │   │   │   ├── pmu_armv8.h
│   │   │   │   │   │   │   └── tz_context.h
│   │   │   │   │   │   └── Template/
│   │   │   │   │   │       └── ARMv8-M/
│   │   │   │   │   │           ├── main_s.c
│   │   │   │   │   │           └── tz_context.c
│   │   │   │   │   ├── Core_A/
│   │   │   │   │   │   ├── Include/
│   │   │   │   │   │   │   ├── cmsis_armcc.h
│   │   │   │   │   │   │   ├── cmsis_armclang.h
│   │   │   │   │   │   │   ├── cmsis_compiler.h
│   │   │   │   │   │   │   ├── cmsis_cp15.h
│   │   │   │   │   │   │   ├── cmsis_gcc.h
│   │   │   │   │   │   │   ├── cmsis_iccarm.h
│   │   │   │   │   │   │   ├── core_ca.h
│   │   │   │   │   │   │   └── irq_ctrl.h
│   │   │   │   │   │   └── Source/
│   │   │   │   │   │       └── irq_ctrl_gic.c
│   │   │   │   │   ├── DAP/
│   │   │   │   │   │   └── Firmware/
│   │   │   │   │   │       ├── Config/
│   │   │   │   │   │       │   └── DAP_config.h
│   │   │   │   │   │       ├── Include/
│   │   │   │   │   │       │   └── DAP.h
│   │   │   │   │   │       └── Source/
│   │   │   │   │   │           ├── DAP.c
│   │   │   │   │   │           ├── DAP_vendor.c
│   │   │   │   │   │           ├── JTAG_DP.c
│   │   │   │   │   │           ├── SWO.c
│   │   │   │   │   │           ├── SW_DP.c
│   │   │   │   │   │           └── UART.c
│   │   │   │   │   ├── DSP/
│   │   │   │   │   │   ├── ComputeLibrary/
│   │   │   │   │   │   │   ├── Include/
│   │   │   │   │   │   │   │   └── NEMath.h
│   │   │   │   │   │   │   ├── LICENSE.txt
│   │   │   │   │   │   │   └── Source/
│   │   │   │   │   │   │       └── arm_cl_tables.c
│   │   │   │   │   │   ├── Examples/
│   │   │   │   │   │   │   └── ARM/
│   │   │   │   │   │   │       ├── arm_bayes_example/
│   │   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │   │       │   └── arm_bayes_example_f32.c
│   │   │   │   │   │   │       ├── arm_class_marks_example/
│   │   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │   │       │   └── arm_class_marks_example_f32.c
│   │   │   │   │   │   │       ├── arm_convolution_example/
│   │   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │   │       │   ├── arm_convolution_example_f32.c
│   │   │   │   │   │   │       │   ├── math_helper.c
│   │   │   │   │   │   │       │   └── math_helper.h
│   │   │   │   │   │   │       ├── arm_dotproduct_example/
│   │   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │   │       │   └── arm_dotproduct_example_f32.c
│   │   │   │   │   │   │       ├── arm_fft_bin_example/
│   │   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │   │       │   ├── arm_fft_bin_data.c
│   │   │   │   │   │   │       │   └── arm_fft_bin_example_f32.c
│   │   │   │   │   │   │       ├── arm_fir_example/
│   │   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │   │       │   ├── arm_fir_data.c
│   │   │   │   │   │   │       │   ├── arm_fir_example_f32.c
│   │   │   │   │   │   │       │   ├── math_helper.c
│   │   │   │   │   │   │       │   └── math_helper.h
│   │   │   │   │   │   │       ├── arm_graphic_equalizer_example/
│   │   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │   │       │   ├── arm_graphic_equalizer_data.c
│   │   │   │   │   │   │       │   ├── arm_graphic_equalizer_example_q31.c
│   │   │   │   │   │   │       │   ├── math_helper.c
│   │   │   │   │   │   │       │   └── math_helper.h
│   │   │   │   │   │   │       ├── arm_linear_interp_example/
│   │   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │   │       │   ├── arm_linear_interp_data.c
│   │   │   │   │   │   │       │   ├── arm_linear_interp_example_f32.c
│   │   │   │   │   │   │       │   ├── math_helper.c
│   │   │   │   │   │   │       │   └── math_helper.h
│   │   │   │   │   │   │       ├── arm_matrix_example/
│   │   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │   │       │   ├── arm_matrix_example_f32.c
│   │   │   │   │   │   │       │   ├── math_helper.c
│   │   │   │   │   │   │       │   └── math_helper.h
│   │   │   │   │   │   │       ├── arm_signal_converge_example/
│   │   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │   │       │   ├── arm_signal_converge_data.c
│   │   │   │   │   │   │       │   ├── arm_signal_converge_example_f32.c
│   │   │   │   │   │   │       │   ├── math_helper.c
│   │   │   │   │   │   │       │   └── math_helper.h
│   │   │   │   │   │   │       ├── arm_sin_cos_example/
│   │   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │   │       │   └── arm_sin_cos_example_f32.c
│   │   │   │   │   │   │       ├── arm_svm_example/
│   │   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │   │       │   └── arm_svm_example_f32.c
│   │   │   │   │   │   │       └── arm_variance_example/
│   │   │   │   │   │   │           ├── ARMCM0_config.txt
│   │   │   │   │   │   │           ├── ARMCM3_config.txt
│   │   │   │   │   │   │           ├── ARMCM4_FP_config.txt
│   │   │   │   │   │   │           ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │   │           ├── ARMCM7_SP_config.txt
│   │   │   │   │   │   │           ├── Abstract.txt
│   │   │   │   │   │   │           ├── CMakeLists.txt
│   │   │   │   │   │   │           ├── RTE/
│   │   │   │   │   │   │           │   └── Device/
│   │   │   │   │   │   │           │       ├── ARMCM0/
│   │   │   │   │   │   │           │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │   │           │       │   └── system_ARMCM0.c
│   │   │   │   │   │   │           │       ├── ARMCM3/
│   │   │   │   │   │   │           │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │   │           │       │   └── system_ARMCM3.c
│   │   │   │   │   │   │           │       ├── ARMCM4_FP/
│   │   │   │   │   │   │           │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │   │           │       │   └── system_ARMCM4.c
│   │   │   │   │   │   │           │       ├── ARMCM55/
│   │   │   │   │   │   │           │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │   │           │       │   └── system_ARMCM55.c
│   │   │   │   │   │   │           │       └── ARMCM7_SP/
│   │   │   │   │   │   │           │           ├── startup_ARMCM7.c
│   │   │   │   │   │   │           │           └── system_ARMCM7.c
│   │   │   │   │   │   │           └── arm_variance_example_f32.c
│   │   │   │   │   │   ├── Include/
│   │   │   │   │   │   │   ├── arm_common_tables.h
│   │   │   │   │   │   │   ├── arm_common_tables_f16.h
│   │   │   │   │   │   │   ├── arm_const_structs.h
│   │   │   │   │   │   │   ├── arm_const_structs_f16.h
│   │   │   │   │   │   │   ├── arm_helium_utils.h
│   │   │   │   │   │   │   ├── arm_math.h
│   │   │   │   │   │   │   ├── arm_math_f16.h
│   │   │   │   │   │   │   ├── arm_math_memory.h
│   │   │   │   │   │   │   ├── arm_math_types.h
│   │   │   │   │   │   │   ├── arm_math_types_f16.h
│   │   │   │   │   │   │   ├── arm_mve_tables.h
│   │   │   │   │   │   │   ├── arm_mve_tables_f16.h
│   │   │   │   │   │   │   ├── arm_vec_math.h
│   │   │   │   │   │   │   ├── arm_vec_math_f16.h
│   │   │   │   │   │   │   └── dsp/
│   │   │   │   │   │   │       ├── basic_math_functions.h
│   │   │   │   │   │   │       ├── basic_math_functions_f16.h
│   │   │   │   │   │   │       ├── bayes_functions.h
│   │   │   │   │   │   │       ├── bayes_functions_f16.h
│   │   │   │   │   │   │       ├── complex_math_functions.h
│   │   │   │   │   │   │       ├── complex_math_functions_f16.h
│   │   │   │   │   │   │       ├── controller_functions.h
│   │   │   │   │   │   │       ├── controller_functions_f16.h
│   │   │   │   │   │   │       ├── distance_functions.h
│   │   │   │   │   │   │       ├── distance_functions_f16.h
│   │   │   │   │   │   │       ├── fast_math_functions.h
│   │   │   │   │   │   │       ├── fast_math_functions_f16.h
│   │   │   │   │   │   │       ├── filtering_functions.h
│   │   │   │   │   │   │       ├── filtering_functions_f16.h
│   │   │   │   │   │   │       ├── interpolation_functions.h
│   │   │   │   │   │   │       ├── interpolation_functions_f16.h
│   │   │   │   │   │   │       ├── matrix_functions.h
│   │   │   │   │   │   │       ├── matrix_functions_f16.h
│   │   │   │   │   │   │       ├── none.h
│   │   │   │   │   │   │       ├── quaternion_math_functions.h
│   │   │   │   │   │   │       ├── statistics_functions.h
│   │   │   │   │   │   │       ├── statistics_functions_f16.h
│   │   │   │   │   │   │       ├── support_functions.h
│   │   │   │   │   │   │       ├── support_functions_f16.h
│   │   │   │   │   │   │       ├── svm_defines.h
│   │   │   │   │   │   │       ├── svm_functions.h
│   │   │   │   │   │   │       ├── svm_functions_f16.h
│   │   │   │   │   │   │       ├── transform_functions.h
│   │   │   │   │   │   │       ├── transform_functions_f16.h
│   │   │   │   │   │   │       └── utils.h
│   │   │   │   │   │   ├── PrivateInclude/
│   │   │   │   │   │   │   ├── arm_sorting.h
│   │   │   │   │   │   │   ├── arm_vec_fft.h
│   │   │   │   │   │   │   └── arm_vec_filtering.h
│   │   │   │   │   │   └── Source/
│   │   │   │   │   │       ├── BasicMathFunctions/
│   │   │   │   │   │       │   ├── BasicMathFunctions.c
│   │   │   │   │   │       │   ├── BasicMathFunctionsF16.c
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── arm_abs_f16.c
│   │   │   │   │   │       │   ├── arm_abs_f32.c
│   │   │   │   │   │       │   ├── arm_abs_f64.c
│   │   │   │   │   │       │   ├── arm_abs_q15.c
│   │   │   │   │   │       │   ├── arm_abs_q31.c
│   │   │   │   │   │       │   ├── arm_abs_q7.c
│   │   │   │   │   │       │   ├── arm_add_f16.c
│   │   │   │   │   │       │   ├── arm_add_f32.c
│   │   │   │   │   │       │   ├── arm_add_f64.c
│   │   │   │   │   │       │   ├── arm_add_q15.c
│   │   │   │   │   │       │   ├── arm_add_q31.c
│   │   │   │   │   │       │   ├── arm_add_q7.c
│   │   │   │   │   │       │   ├── arm_and_u16.c
│   │   │   │   │   │       │   ├── arm_and_u32.c
│   │   │   │   │   │       │   ├── arm_and_u8.c
│   │   │   │   │   │       │   ├── arm_clip_f16.c
│   │   │   │   │   │       │   ├── arm_clip_f32.c
│   │   │   │   │   │       │   ├── arm_clip_q15.c
│   │   │   │   │   │       │   ├── arm_clip_q31.c
│   │   │   │   │   │       │   ├── arm_clip_q7.c
│   │   │   │   │   │       │   ├── arm_dot_prod_f16.c
│   │   │   │   │   │       │   ├── arm_dot_prod_f32.c
│   │   │   │   │   │       │   ├── arm_dot_prod_f64.c
│   │   │   │   │   │       │   ├── arm_dot_prod_q15.c
│   │   │   │   │   │       │   ├── arm_dot_prod_q31.c
│   │   │   │   │   │       │   ├── arm_dot_prod_q7.c
│   │   │   │   │   │       │   ├── arm_mult_f16.c
│   │   │   │   │   │       │   ├── arm_mult_f32.c
│   │   │   │   │   │       │   ├── arm_mult_f64.c
│   │   │   │   │   │       │   ├── arm_mult_q15.c
│   │   │   │   │   │       │   ├── arm_mult_q31.c
│   │   │   │   │   │       │   ├── arm_mult_q7.c
│   │   │   │   │   │       │   ├── arm_negate_f16.c
│   │   │   │   │   │       │   ├── arm_negate_f32.c
│   │   │   │   │   │       │   ├── arm_negate_f64.c
│   │   │   │   │   │       │   ├── arm_negate_q15.c
│   │   │   │   │   │       │   ├── arm_negate_q31.c
│   │   │   │   │   │       │   ├── arm_negate_q7.c
│   │   │   │   │   │       │   ├── arm_not_u16.c
│   │   │   │   │   │       │   ├── arm_not_u32.c
│   │   │   │   │   │       │   ├── arm_not_u8.c
│   │   │   │   │   │       │   ├── arm_offset_f16.c
│   │   │   │   │   │       │   ├── arm_offset_f32.c
│   │   │   │   │   │       │   ├── arm_offset_f64.c
│   │   │   │   │   │       │   ├── arm_offset_q15.c
│   │   │   │   │   │       │   ├── arm_offset_q31.c
│   │   │   │   │   │       │   ├── arm_offset_q7.c
│   │   │   │   │   │       │   ├── arm_or_u16.c
│   │   │   │   │   │       │   ├── arm_or_u32.c
│   │   │   │   │   │       │   ├── arm_or_u8.c
│   │   │   │   │   │       │   ├── arm_scale_f16.c
│   │   │   │   │   │       │   ├── arm_scale_f32.c
│   │   │   │   │   │       │   ├── arm_scale_f64.c
│   │   │   │   │   │       │   ├── arm_scale_q15.c
│   │   │   │   │   │       │   ├── arm_scale_q31.c
│   │   │   │   │   │       │   ├── arm_scale_q7.c
│   │   │   │   │   │       │   ├── arm_shift_q15.c
│   │   │   │   │   │       │   ├── arm_shift_q31.c
│   │   │   │   │   │       │   ├── arm_shift_q7.c
│   │   │   │   │   │       │   ├── arm_sub_f16.c
│   │   │   │   │   │       │   ├── arm_sub_f32.c
│   │   │   │   │   │       │   ├── arm_sub_f64.c
│   │   │   │   │   │       │   ├── arm_sub_q15.c
│   │   │   │   │   │       │   ├── arm_sub_q31.c
│   │   │   │   │   │       │   ├── arm_sub_q7.c
│   │   │   │   │   │       │   ├── arm_xor_u16.c
│   │   │   │   │   │       │   ├── arm_xor_u32.c
│   │   │   │   │   │       │   └── arm_xor_u8.c
│   │   │   │   │   │       ├── BayesFunctions/
│   │   │   │   │   │       │   ├── BayesFunctions.c
│   │   │   │   │   │       │   ├── BayesFunctionsF16.c
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── arm_gaussian_naive_bayes_predict_f16.c
│   │   │   │   │   │       │   └── arm_gaussian_naive_bayes_predict_f32.c
│   │   │   │   │   │       ├── CMakeLists.txt
│   │   │   │   │   │       ├── CommonTables/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── CommonTables.c
│   │   │   │   │   │       │   ├── CommonTablesF16.c
│   │   │   │   │   │       │   ├── arm_common_tables.c
│   │   │   │   │   │       │   ├── arm_common_tables_f16.c
│   │   │   │   │   │       │   ├── arm_const_structs.c
│   │   │   │   │   │       │   ├── arm_const_structs_f16.c
│   │   │   │   │   │       │   ├── arm_mve_tables.c
│   │   │   │   │   │       │   └── arm_mve_tables_f16.c
│   │   │   │   │   │       ├── ComplexMathFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── ComplexMathFunctions.c
│   │   │   │   │   │       │   ├── ComplexMathFunctionsF16.c
│   │   │   │   │   │       │   ├── arm_cmplx_conj_f16.c
│   │   │   │   │   │       │   ├── arm_cmplx_conj_f32.c
│   │   │   │   │   │       │   ├── arm_cmplx_conj_q15.c
│   │   │   │   │   │       │   ├── arm_cmplx_conj_q31.c
│   │   │   │   │   │       │   ├── arm_cmplx_dot_prod_f16.c
│   │   │   │   │   │       │   ├── arm_cmplx_dot_prod_f32.c
│   │   │   │   │   │       │   ├── arm_cmplx_dot_prod_q15.c
│   │   │   │   │   │       │   ├── arm_cmplx_dot_prod_q31.c
│   │   │   │   │   │       │   ├── arm_cmplx_mag_f16.c
│   │   │   │   │   │       │   ├── arm_cmplx_mag_f32.c
│   │   │   │   │   │       │   ├── arm_cmplx_mag_f64.c
│   │   │   │   │   │       │   ├── arm_cmplx_mag_fast_q15.c
│   │   │   │   │   │       │   ├── arm_cmplx_mag_q15.c
│   │   │   │   │   │       │   ├── arm_cmplx_mag_q31.c
│   │   │   │   │   │       │   ├── arm_cmplx_mag_squared_f16.c
│   │   │   │   │   │       │   ├── arm_cmplx_mag_squared_f32.c
│   │   │   │   │   │       │   ├── arm_cmplx_mag_squared_f64.c
│   │   │   │   │   │       │   ├── arm_cmplx_mag_squared_q15.c
│   │   │   │   │   │       │   ├── arm_cmplx_mag_squared_q31.c
│   │   │   │   │   │       │   ├── arm_cmplx_mult_cmplx_f16.c
│   │   │   │   │   │       │   ├── arm_cmplx_mult_cmplx_f32.c
│   │   │   │   │   │       │   ├── arm_cmplx_mult_cmplx_f64.c
│   │   │   │   │   │       │   ├── arm_cmplx_mult_cmplx_q15.c
│   │   │   │   │   │       │   ├── arm_cmplx_mult_cmplx_q31.c
│   │   │   │   │   │       │   ├── arm_cmplx_mult_real_f16.c
│   │   │   │   │   │       │   ├── arm_cmplx_mult_real_f32.c
│   │   │   │   │   │       │   ├── arm_cmplx_mult_real_q15.c
│   │   │   │   │   │       │   └── arm_cmplx_mult_real_q31.c
│   │   │   │   │   │       ├── ControllerFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── ControllerFunctions.c
│   │   │   │   │   │       │   ├── arm_pid_init_f32.c
│   │   │   │   │   │       │   ├── arm_pid_init_q15.c
│   │   │   │   │   │       │   ├── arm_pid_init_q31.c
│   │   │   │   │   │       │   ├── arm_pid_reset_f32.c
│   │   │   │   │   │       │   ├── arm_pid_reset_q15.c
│   │   │   │   │   │       │   ├── arm_pid_reset_q31.c
│   │   │   │   │   │       │   ├── arm_sin_cos_f32.c
│   │   │   │   │   │       │   └── arm_sin_cos_q31.c
│   │   │   │   │   │       ├── DistanceFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── DistanceFunctions.c
│   │   │   │   │   │       │   ├── DistanceFunctionsF16.c
│   │   │   │   │   │       │   ├── arm_boolean_distance.c
│   │   │   │   │   │       │   ├── arm_boolean_distance_template.h
│   │   │   │   │   │       │   ├── arm_braycurtis_distance_f16.c
│   │   │   │   │   │       │   ├── arm_braycurtis_distance_f32.c
│   │   │   │   │   │       │   ├── arm_canberra_distance_f16.c
│   │   │   │   │   │       │   ├── arm_canberra_distance_f32.c
│   │   │   │   │   │       │   ├── arm_chebyshev_distance_f16.c
│   │   │   │   │   │       │   ├── arm_chebyshev_distance_f32.c
│   │   │   │   │   │       │   ├── arm_chebyshev_distance_f64.c
│   │   │   │   │   │       │   ├── arm_cityblock_distance_f16.c
│   │   │   │   │   │       │   ├── arm_cityblock_distance_f32.c
│   │   │   │   │   │       │   ├── arm_cityblock_distance_f64.c
│   │   │   │   │   │       │   ├── arm_correlation_distance_f16.c
│   │   │   │   │   │       │   ├── arm_correlation_distance_f32.c
│   │   │   │   │   │       │   ├── arm_cosine_distance_f16.c
│   │   │   │   │   │       │   ├── arm_cosine_distance_f32.c
│   │   │   │   │   │       │   ├── arm_cosine_distance_f64.c
│   │   │   │   │   │       │   ├── arm_dice_distance.c
│   │   │   │   │   │       │   ├── arm_euclidean_distance_f16.c
│   │   │   │   │   │       │   ├── arm_euclidean_distance_f32.c
│   │   │   │   │   │       │   ├── arm_euclidean_distance_f64.c
│   │   │   │   │   │       │   ├── arm_hamming_distance.c
│   │   │   │   │   │       │   ├── arm_jaccard_distance.c
│   │   │   │   │   │       │   ├── arm_jensenshannon_distance_f16.c
│   │   │   │   │   │       │   ├── arm_jensenshannon_distance_f32.c
│   │   │   │   │   │       │   ├── arm_kulsinski_distance.c
│   │   │   │   │   │       │   ├── arm_minkowski_distance_f16.c
│   │   │   │   │   │       │   ├── arm_minkowski_distance_f32.c
│   │   │   │   │   │       │   ├── arm_rogerstanimoto_distance.c
│   │   │   │   │   │       │   ├── arm_russellrao_distance.c
│   │   │   │   │   │       │   ├── arm_sokalmichener_distance.c
│   │   │   │   │   │       │   ├── arm_sokalsneath_distance.c
│   │   │   │   │   │       │   └── arm_yule_distance.c
│   │   │   │   │   │       ├── FastMathFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── FastMathFunctions.c
│   │   │   │   │   │       │   ├── FastMathFunctionsF16.c
│   │   │   │   │   │       │   ├── arm_atan2_f16.c
│   │   │   │   │   │       │   ├── arm_atan2_f32.c
│   │   │   │   │   │       │   ├── arm_atan2_q15.c
│   │   │   │   │   │       │   ├── arm_atan2_q31.c
│   │   │   │   │   │       │   ├── arm_cos_f32.c
│   │   │   │   │   │       │   ├── arm_cos_q15.c
│   │   │   │   │   │       │   ├── arm_cos_q31.c
│   │   │   │   │   │       │   ├── arm_divide_q15.c
│   │   │   │   │   │       │   ├── arm_divide_q31.c
│   │   │   │   │   │       │   ├── arm_sin_f32.c
│   │   │   │   │   │       │   ├── arm_sin_q15.c
│   │   │   │   │   │       │   ├── arm_sin_q31.c
│   │   │   │   │   │       │   ├── arm_sqrt_q15.c
│   │   │   │   │   │       │   ├── arm_sqrt_q31.c
│   │   │   │   │   │       │   ├── arm_vexp_f16.c
│   │   │   │   │   │       │   ├── arm_vexp_f32.c
│   │   │   │   │   │       │   ├── arm_vexp_f64.c
│   │   │   │   │   │       │   ├── arm_vinverse_f16.c
│   │   │   │   │   │       │   ├── arm_vlog_f16.c
│   │   │   │   │   │       │   ├── arm_vlog_f32.c
│   │   │   │   │   │       │   ├── arm_vlog_f64.c
│   │   │   │   │   │       │   ├── arm_vlog_q15.c
│   │   │   │   │   │       │   └── arm_vlog_q31.c
│   │   │   │   │   │       ├── FilteringFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── FilteringFunctions.c
│   │   │   │   │   │       │   ├── FilteringFunctionsF16.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df1_32x64_init_q31.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df1_32x64_q31.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df1_f16.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df1_f32.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df1_fast_q15.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df1_fast_q31.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df1_init_f16.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df1_init_f32.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df1_init_q15.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df1_init_q31.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df1_q15.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df1_q31.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df2T_f16.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df2T_f32.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df2T_f64.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df2T_init_f16.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df2T_init_f32.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_df2T_init_f64.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_stereo_df2T_f16.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_stereo_df2T_f32.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_stereo_df2T_init_f16.c
│   │   │   │   │   │       │   ├── arm_biquad_cascade_stereo_df2T_init_f32.c
│   │   │   │   │   │       │   ├── arm_conv_f32.c
│   │   │   │   │   │       │   ├── arm_conv_fast_opt_q15.c
│   │   │   │   │   │       │   ├── arm_conv_fast_q15.c
│   │   │   │   │   │       │   ├── arm_conv_fast_q31.c
│   │   │   │   │   │       │   ├── arm_conv_opt_q15.c
│   │   │   │   │   │       │   ├── arm_conv_opt_q7.c
│   │   │   │   │   │       │   ├── arm_conv_partial_f32.c
│   │   │   │   │   │       │   ├── arm_conv_partial_fast_opt_q15.c
│   │   │   │   │   │       │   ├── arm_conv_partial_fast_q15.c
│   │   │   │   │   │       │   ├── arm_conv_partial_fast_q31.c
│   │   │   │   │   │       │   ├── arm_conv_partial_opt_q15.c
│   │   │   │   │   │       │   ├── arm_conv_partial_opt_q7.c
│   │   │   │   │   │       │   ├── arm_conv_partial_q15.c
│   │   │   │   │   │       │   ├── arm_conv_partial_q31.c
│   │   │   │   │   │       │   ├── arm_conv_partial_q7.c
│   │   │   │   │   │       │   ├── arm_conv_q15.c
│   │   │   │   │   │       │   ├── arm_conv_q31.c
│   │   │   │   │   │       │   ├── arm_conv_q7.c
│   │   │   │   │   │       │   ├── arm_correlate_f16.c
│   │   │   │   │   │       │   ├── arm_correlate_f32.c
│   │   │   │   │   │       │   ├── arm_correlate_f64.c
│   │   │   │   │   │       │   ├── arm_correlate_fast_opt_q15.c
│   │   │   │   │   │       │   ├── arm_correlate_fast_q15.c
│   │   │   │   │   │       │   ├── arm_correlate_fast_q31.c
│   │   │   │   │   │       │   ├── arm_correlate_opt_q15.c
│   │   │   │   │   │       │   ├── arm_correlate_opt_q7.c
│   │   │   │   │   │       │   ├── arm_correlate_q15.c
│   │   │   │   │   │       │   ├── arm_correlate_q31.c
│   │   │   │   │   │       │   ├── arm_correlate_q7.c
│   │   │   │   │   │       │   ├── arm_fir_decimate_f32.c
│   │   │   │   │   │       │   ├── arm_fir_decimate_fast_q15.c
│   │   │   │   │   │       │   ├── arm_fir_decimate_fast_q31.c
│   │   │   │   │   │       │   ├── arm_fir_decimate_init_f32.c
│   │   │   │   │   │       │   ├── arm_fir_decimate_init_q15.c
│   │   │   │   │   │       │   ├── arm_fir_decimate_init_q31.c
│   │   │   │   │   │       │   ├── arm_fir_decimate_q15.c
│   │   │   │   │   │       │   ├── arm_fir_decimate_q31.c
│   │   │   │   │   │       │   ├── arm_fir_f16.c
│   │   │   │   │   │       │   ├── arm_fir_f32.c
│   │   │   │   │   │       │   ├── arm_fir_f64.c
│   │   │   │   │   │       │   ├── arm_fir_fast_q15.c
│   │   │   │   │   │       │   ├── arm_fir_fast_q31.c
│   │   │   │   │   │       │   ├── arm_fir_init_f16.c
│   │   │   │   │   │       │   ├── arm_fir_init_f32.c
│   │   │   │   │   │       │   ├── arm_fir_init_f64.c
│   │   │   │   │   │       │   ├── arm_fir_init_q15.c
│   │   │   │   │   │       │   ├── arm_fir_init_q31.c
│   │   │   │   │   │       │   ├── arm_fir_init_q7.c
│   │   │   │   │   │       │   ├── arm_fir_interpolate_f32.c
│   │   │   │   │   │       │   ├── arm_fir_interpolate_init_f32.c
│   │   │   │   │   │       │   ├── arm_fir_interpolate_init_q15.c
│   │   │   │   │   │       │   ├── arm_fir_interpolate_init_q31.c
│   │   │   │   │   │       │   ├── arm_fir_interpolate_q15.c
│   │   │   │   │   │       │   ├── arm_fir_interpolate_q31.c
│   │   │   │   │   │       │   ├── arm_fir_lattice_f32.c
│   │   │   │   │   │       │   ├── arm_fir_lattice_init_f32.c
│   │   │   │   │   │       │   ├── arm_fir_lattice_init_q15.c
│   │   │   │   │   │       │   ├── arm_fir_lattice_init_q31.c
│   │   │   │   │   │       │   ├── arm_fir_lattice_q15.c
│   │   │   │   │   │       │   ├── arm_fir_lattice_q31.c
│   │   │   │   │   │       │   ├── arm_fir_q15.c
│   │   │   │   │   │       │   ├── arm_fir_q31.c
│   │   │   │   │   │       │   ├── arm_fir_q7.c
│   │   │   │   │   │       │   ├── arm_fir_sparse_f32.c
│   │   │   │   │   │       │   ├── arm_fir_sparse_init_f32.c
│   │   │   │   │   │       │   ├── arm_fir_sparse_init_q15.c
│   │   │   │   │   │       │   ├── arm_fir_sparse_init_q31.c
│   │   │   │   │   │       │   ├── arm_fir_sparse_init_q7.c
│   │   │   │   │   │       │   ├── arm_fir_sparse_q15.c
│   │   │   │   │   │       │   ├── arm_fir_sparse_q31.c
│   │   │   │   │   │       │   ├── arm_fir_sparse_q7.c
│   │   │   │   │   │       │   ├── arm_iir_lattice_f32.c
│   │   │   │   │   │       │   ├── arm_iir_lattice_init_f32.c
│   │   │   │   │   │       │   ├── arm_iir_lattice_init_q15.c
│   │   │   │   │   │       │   ├── arm_iir_lattice_init_q31.c
│   │   │   │   │   │       │   ├── arm_iir_lattice_q15.c
│   │   │   │   │   │       │   ├── arm_iir_lattice_q31.c
│   │   │   │   │   │       │   ├── arm_levinson_durbin_f16.c
│   │   │   │   │   │       │   ├── arm_levinson_durbin_f32.c
│   │   │   │   │   │       │   ├── arm_levinson_durbin_q31.c
│   │   │   │   │   │       │   ├── arm_lms_f32.c
│   │   │   │   │   │       │   ├── arm_lms_init_f32.c
│   │   │   │   │   │       │   ├── arm_lms_init_q15.c
│   │   │   │   │   │       │   ├── arm_lms_init_q31.c
│   │   │   │   │   │       │   ├── arm_lms_norm_f32.c
│   │   │   │   │   │       │   ├── arm_lms_norm_init_f32.c
│   │   │   │   │   │       │   ├── arm_lms_norm_init_q15.c
│   │   │   │   │   │       │   ├── arm_lms_norm_init_q31.c
│   │   │   │   │   │       │   ├── arm_lms_norm_q15.c
│   │   │   │   │   │       │   ├── arm_lms_norm_q31.c
│   │   │   │   │   │       │   ├── arm_lms_q15.c
│   │   │   │   │   │       │   └── arm_lms_q31.c
│   │   │   │   │   │       ├── InterpolationFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── InterpolationFunctions.c
│   │   │   │   │   │       │   ├── InterpolationFunctionsF16.c
│   │   │   │   │   │       │   ├── arm_bilinear_interp_f16.c
│   │   │   │   │   │       │   ├── arm_bilinear_interp_f32.c
│   │   │   │   │   │       │   ├── arm_bilinear_interp_q15.c
│   │   │   │   │   │       │   ├── arm_bilinear_interp_q31.c
│   │   │   │   │   │       │   ├── arm_bilinear_interp_q7.c
│   │   │   │   │   │       │   ├── arm_linear_interp_f16.c
│   │   │   │   │   │       │   ├── arm_linear_interp_f32.c
│   │   │   │   │   │       │   ├── arm_linear_interp_q15.c
│   │   │   │   │   │       │   ├── arm_linear_interp_q31.c
│   │   │   │   │   │       │   ├── arm_linear_interp_q7.c
│   │   │   │   │   │       │   ├── arm_spline_interp_f32.c
│   │   │   │   │   │       │   └── arm_spline_interp_init_f32.c
│   │   │   │   │   │       ├── MatrixFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── MatrixFunctions.c
│   │   │   │   │   │       │   ├── MatrixFunctionsF16.c
│   │   │   │   │   │       │   ├── arm_mat_add_f16.c
│   │   │   │   │   │       │   ├── arm_mat_add_f32.c
│   │   │   │   │   │       │   ├── arm_mat_add_q15.c
│   │   │   │   │   │       │   ├── arm_mat_add_q31.c
│   │   │   │   │   │       │   ├── arm_mat_cholesky_f16.c
│   │   │   │   │   │       │   ├── arm_mat_cholesky_f32.c
│   │   │   │   │   │       │   ├── arm_mat_cholesky_f64.c
│   │   │   │   │   │       │   ├── arm_mat_cmplx_mult_f16.c
│   │   │   │   │   │       │   ├── arm_mat_cmplx_mult_f32.c
│   │   │   │   │   │       │   ├── arm_mat_cmplx_mult_q15.c
│   │   │   │   │   │       │   ├── arm_mat_cmplx_mult_q31.c
│   │   │   │   │   │       │   ├── arm_mat_cmplx_trans_f16.c
│   │   │   │   │   │       │   ├── arm_mat_cmplx_trans_f32.c
│   │   │   │   │   │       │   ├── arm_mat_cmplx_trans_q15.c
│   │   │   │   │   │       │   ├── arm_mat_cmplx_trans_q31.c
│   │   │   │   │   │       │   ├── arm_mat_init_f16.c
│   │   │   │   │   │       │   ├── arm_mat_init_f32.c
│   │   │   │   │   │       │   ├── arm_mat_init_q15.c
│   │   │   │   │   │       │   ├── arm_mat_init_q31.c
│   │   │   │   │   │       │   ├── arm_mat_inverse_f16.c
│   │   │   │   │   │       │   ├── arm_mat_inverse_f32.c
│   │   │   │   │   │       │   ├── arm_mat_inverse_f64.c
│   │   │   │   │   │       │   ├── arm_mat_ldlt_f32.c
│   │   │   │   │   │       │   ├── arm_mat_ldlt_f64.c
│   │   │   │   │   │       │   ├── arm_mat_mult_f16.c
│   │   │   │   │   │       │   ├── arm_mat_mult_f32.c
│   │   │   │   │   │       │   ├── arm_mat_mult_f64.c
│   │   │   │   │   │       │   ├── arm_mat_mult_fast_q15.c
│   │   │   │   │   │       │   ├── arm_mat_mult_fast_q31.c
│   │   │   │   │   │       │   ├── arm_mat_mult_opt_q31.c
│   │   │   │   │   │       │   ├── arm_mat_mult_q15.c
│   │   │   │   │   │       │   ├── arm_mat_mult_q31.c
│   │   │   │   │   │       │   ├── arm_mat_mult_q7.c
│   │   │   │   │   │       │   ├── arm_mat_scale_f16.c
│   │   │   │   │   │       │   ├── arm_mat_scale_f32.c
│   │   │   │   │   │       │   ├── arm_mat_scale_q15.c
│   │   │   │   │   │       │   ├── arm_mat_scale_q31.c
│   │   │   │   │   │       │   ├── arm_mat_solve_lower_triangular_f16.c
│   │   │   │   │   │       │   ├── arm_mat_solve_lower_triangular_f32.c
│   │   │   │   │   │       │   ├── arm_mat_solve_lower_triangular_f64.c
│   │   │   │   │   │       │   ├── arm_mat_solve_upper_triangular_f16.c
│   │   │   │   │   │       │   ├── arm_mat_solve_upper_triangular_f32.c
│   │   │   │   │   │       │   ├── arm_mat_solve_upper_triangular_f64.c
│   │   │   │   │   │       │   ├── arm_mat_sub_f16.c
│   │   │   │   │   │       │   ├── arm_mat_sub_f32.c
│   │   │   │   │   │       │   ├── arm_mat_sub_f64.c
│   │   │   │   │   │       │   ├── arm_mat_sub_q15.c
│   │   │   │   │   │       │   ├── arm_mat_sub_q31.c
│   │   │   │   │   │       │   ├── arm_mat_trans_f16.c
│   │   │   │   │   │       │   ├── arm_mat_trans_f32.c
│   │   │   │   │   │       │   ├── arm_mat_trans_f64.c
│   │   │   │   │   │       │   ├── arm_mat_trans_q15.c
│   │   │   │   │   │       │   ├── arm_mat_trans_q31.c
│   │   │   │   │   │       │   ├── arm_mat_trans_q7.c
│   │   │   │   │   │       │   ├── arm_mat_vec_mult_f16.c
│   │   │   │   │   │       │   ├── arm_mat_vec_mult_f32.c
│   │   │   │   │   │       │   ├── arm_mat_vec_mult_q15.c
│   │   │   │   │   │       │   ├── arm_mat_vec_mult_q31.c
│   │   │   │   │   │       │   └── arm_mat_vec_mult_q7.c
│   │   │   │   │   │       ├── QuaternionMathFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── QuaternionMathFunctions.c
│   │   │   │   │   │       │   ├── arm_quaternion2rotation_f32.c
│   │   │   │   │   │       │   ├── arm_quaternion_conjugate_f32.c
│   │   │   │   │   │       │   ├── arm_quaternion_inverse_f32.c
│   │   │   │   │   │       │   ├── arm_quaternion_norm_f32.c
│   │   │   │   │   │       │   ├── arm_quaternion_normalize_f32.c
│   │   │   │   │   │       │   ├── arm_quaternion_product_f32.c
│   │   │   │   │   │       │   ├── arm_quaternion_product_single_f32.c
│   │   │   │   │   │       │   └── arm_rotation2quaternion_f32.c
│   │   │   │   │   │       ├── SVMFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── SVMFunctions.c
│   │   │   │   │   │       │   ├── SVMFunctionsF16.c
│   │   │   │   │   │       │   ├── arm_svm_linear_init_f16.c
│   │   │   │   │   │       │   ├── arm_svm_linear_init_f32.c
│   │   │   │   │   │       │   ├── arm_svm_linear_predict_f16.c
│   │   │   │   │   │       │   ├── arm_svm_linear_predict_f32.c
│   │   │   │   │   │       │   ├── arm_svm_polynomial_init_f16.c
│   │   │   │   │   │       │   ├── arm_svm_polynomial_init_f32.c
│   │   │   │   │   │       │   ├── arm_svm_polynomial_predict_f16.c
│   │   │   │   │   │       │   ├── arm_svm_polynomial_predict_f32.c
│   │   │   │   │   │       │   ├── arm_svm_rbf_init_f16.c
│   │   │   │   │   │       │   ├── arm_svm_rbf_init_f32.c
│   │   │   │   │   │       │   ├── arm_svm_rbf_predict_f16.c
│   │   │   │   │   │       │   ├── arm_svm_rbf_predict_f32.c
│   │   │   │   │   │       │   ├── arm_svm_sigmoid_init_f16.c
│   │   │   │   │   │       │   ├── arm_svm_sigmoid_init_f32.c
│   │   │   │   │   │       │   ├── arm_svm_sigmoid_predict_f16.c
│   │   │   │   │   │       │   └── arm_svm_sigmoid_predict_f32.c
│   │   │   │   │   │       ├── StatisticsFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── StatisticsFunctions.c
│   │   │   │   │   │       │   ├── StatisticsFunctionsF16.c
│   │   │   │   │   │       │   ├── arm_absmax_f16.c
│   │   │   │   │   │       │   ├── arm_absmax_f32.c
│   │   │   │   │   │       │   ├── arm_absmax_f64.c
│   │   │   │   │   │       │   ├── arm_absmax_no_idx_f16.c
│   │   │   │   │   │       │   ├── arm_absmax_no_idx_f32.c
│   │   │   │   │   │       │   ├── arm_absmax_no_idx_f64.c
│   │   │   │   │   │       │   ├── arm_absmax_no_idx_q15.c
│   │   │   │   │   │       │   ├── arm_absmax_no_idx_q31.c
│   │   │   │   │   │       │   ├── arm_absmax_no_idx_q7.c
│   │   │   │   │   │       │   ├── arm_absmax_q15.c
│   │   │   │   │   │       │   ├── arm_absmax_q31.c
│   │   │   │   │   │       │   ├── arm_absmax_q7.c
│   │   │   │   │   │       │   ├── arm_absmin_f16.c
│   │   │   │   │   │       │   ├── arm_absmin_f32.c
│   │   │   │   │   │       │   ├── arm_absmin_f64.c
│   │   │   │   │   │       │   ├── arm_absmin_no_idx_f16.c
│   │   │   │   │   │       │   ├── arm_absmin_no_idx_f32.c
│   │   │   │   │   │       │   ├── arm_absmin_no_idx_f64.c
│   │   │   │   │   │       │   ├── arm_absmin_no_idx_q15.c
│   │   │   │   │   │       │   ├── arm_absmin_no_idx_q31.c
│   │   │   │   │   │       │   ├── arm_absmin_no_idx_q7.c
│   │   │   │   │   │       │   ├── arm_absmin_q15.c
│   │   │   │   │   │       │   ├── arm_absmin_q31.c
│   │   │   │   │   │       │   ├── arm_absmin_q7.c
│   │   │   │   │   │       │   ├── arm_entropy_f16.c
│   │   │   │   │   │       │   ├── arm_entropy_f32.c
│   │   │   │   │   │       │   ├── arm_entropy_f64.c
│   │   │   │   │   │       │   ├── arm_kullback_leibler_f16.c
│   │   │   │   │   │       │   ├── arm_kullback_leibler_f32.c
│   │   │   │   │   │       │   ├── arm_kullback_leibler_f64.c
│   │   │   │   │   │       │   ├── arm_logsumexp_dot_prod_f16.c
│   │   │   │   │   │       │   ├── arm_logsumexp_dot_prod_f32.c
│   │   │   │   │   │       │   ├── arm_logsumexp_f16.c
│   │   │   │   │   │       │   ├── arm_logsumexp_f32.c
│   │   │   │   │   │       │   ├── arm_max_f16.c
│   │   │   │   │   │       │   ├── arm_max_f32.c
│   │   │   │   │   │       │   ├── arm_max_f64.c
│   │   │   │   │   │       │   ├── arm_max_no_idx_f16.c
│   │   │   │   │   │       │   ├── arm_max_no_idx_f32.c
│   │   │   │   │   │       │   ├── arm_max_no_idx_f64.c
│   │   │   │   │   │       │   ├── arm_max_no_idx_q15.c
│   │   │   │   │   │       │   ├── arm_max_no_idx_q31.c
│   │   │   │   │   │       │   ├── arm_max_no_idx_q7.c
│   │   │   │   │   │       │   ├── arm_max_q15.c
│   │   │   │   │   │       │   ├── arm_max_q31.c
│   │   │   │   │   │       │   ├── arm_max_q7.c
│   │   │   │   │   │       │   ├── arm_mean_f16.c
│   │   │   │   │   │       │   ├── arm_mean_f32.c
│   │   │   │   │   │       │   ├── arm_mean_f64.c
│   │   │   │   │   │       │   ├── arm_mean_q15.c
│   │   │   │   │   │       │   ├── arm_mean_q31.c
│   │   │   │   │   │       │   ├── arm_mean_q7.c
│   │   │   │   │   │       │   ├── arm_min_f16.c
│   │   │   │   │   │       │   ├── arm_min_f32.c
│   │   │   │   │   │       │   ├── arm_min_f64.c
│   │   │   │   │   │       │   ├── arm_min_no_idx_f16.c
│   │   │   │   │   │       │   ├── arm_min_no_idx_f32.c
│   │   │   │   │   │       │   ├── arm_min_no_idx_f64.c
│   │   │   │   │   │       │   ├── arm_min_no_idx_q15.c
│   │   │   │   │   │       │   ├── arm_min_no_idx_q31.c
│   │   │   │   │   │       │   ├── arm_min_no_idx_q7.c
│   │   │   │   │   │       │   ├── arm_min_q15.c
│   │   │   │   │   │       │   ├── arm_min_q31.c
│   │   │   │   │   │       │   ├── arm_min_q7.c
│   │   │   │   │   │       │   ├── arm_mse_f16.c
│   │   │   │   │   │       │   ├── arm_mse_f32.c
│   │   │   │   │   │       │   ├── arm_mse_f64.c
│   │   │   │   │   │       │   ├── arm_mse_q15.c
│   │   │   │   │   │       │   ├── arm_mse_q31.c
│   │   │   │   │   │       │   ├── arm_mse_q7.c
│   │   │   │   │   │       │   ├── arm_power_f16.c
│   │   │   │   │   │       │   ├── arm_power_f32.c
│   │   │   │   │   │       │   ├── arm_power_f64.c
│   │   │   │   │   │       │   ├── arm_power_q15.c
│   │   │   │   │   │       │   ├── arm_power_q31.c
│   │   │   │   │   │       │   ├── arm_power_q7.c
│   │   │   │   │   │       │   ├── arm_rms_f16.c
│   │   │   │   │   │       │   ├── arm_rms_f32.c
│   │   │   │   │   │       │   ├── arm_rms_q15.c
│   │   │   │   │   │       │   ├── arm_rms_q31.c
│   │   │   │   │   │       │   ├── arm_std_f16.c
│   │   │   │   │   │       │   ├── arm_std_f32.c
│   │   │   │   │   │       │   ├── arm_std_f64.c
│   │   │   │   │   │       │   ├── arm_std_q15.c
│   │   │   │   │   │       │   ├── arm_std_q31.c
│   │   │   │   │   │       │   ├── arm_var_f16.c
│   │   │   │   │   │       │   ├── arm_var_f32.c
│   │   │   │   │   │       │   ├── arm_var_f64.c
│   │   │   │   │   │       │   ├── arm_var_q15.c
│   │   │   │   │   │       │   └── arm_var_q31.c
│   │   │   │   │   │       ├── SupportFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── SupportFunctions.c
│   │   │   │   │   │       │   ├── SupportFunctionsF16.c
│   │   │   │   │   │       │   ├── arm_barycenter_f16.c
│   │   │   │   │   │       │   ├── arm_barycenter_f32.c
│   │   │   │   │   │       │   ├── arm_bitonic_sort_f32.c
│   │   │   │   │   │       │   ├── arm_bubble_sort_f32.c
│   │   │   │   │   │       │   ├── arm_copy_f16.c
│   │   │   │   │   │       │   ├── arm_copy_f32.c
│   │   │   │   │   │       │   ├── arm_copy_f64.c
│   │   │   │   │   │       │   ├── arm_copy_q15.c
│   │   │   │   │   │       │   ├── arm_copy_q31.c
│   │   │   │   │   │       │   ├── arm_copy_q7.c
│   │   │   │   │   │       │   ├── arm_f16_to_float.c
│   │   │   │   │   │       │   ├── arm_f16_to_q15.c
│   │   │   │   │   │       │   ├── arm_fill_f16.c
│   │   │   │   │   │       │   ├── arm_fill_f32.c
│   │   │   │   │   │       │   ├── arm_fill_f64.c
│   │   │   │   │   │       │   ├── arm_fill_q15.c
│   │   │   │   │   │       │   ├── arm_fill_q31.c
│   │   │   │   │   │       │   ├── arm_fill_q7.c
│   │   │   │   │   │       │   ├── arm_float_to_f16.c
│   │   │   │   │   │       │   ├── arm_float_to_q15.c
│   │   │   │   │   │       │   ├── arm_float_to_q31.c
│   │   │   │   │   │       │   ├── arm_float_to_q7.c
│   │   │   │   │   │       │   ├── arm_heap_sort_f32.c
│   │   │   │   │   │       │   ├── arm_insertion_sort_f32.c
│   │   │   │   │   │       │   ├── arm_merge_sort_f32.c
│   │   │   │   │   │       │   ├── arm_merge_sort_init_f32.c
│   │   │   │   │   │       │   ├── arm_q15_to_f16.c
│   │   │   │   │   │       │   ├── arm_q15_to_float.c
│   │   │   │   │   │       │   ├── arm_q15_to_q31.c
│   │   │   │   │   │       │   ├── arm_q15_to_q7.c
│   │   │   │   │   │       │   ├── arm_q31_to_float.c
│   │   │   │   │   │       │   ├── arm_q31_to_q15.c
│   │   │   │   │   │       │   ├── arm_q31_to_q7.c
│   │   │   │   │   │       │   ├── arm_q7_to_float.c
│   │   │   │   │   │       │   ├── arm_q7_to_q15.c
│   │   │   │   │   │       │   ├── arm_q7_to_q31.c
│   │   │   │   │   │       │   ├── arm_quick_sort_f32.c
│   │   │   │   │   │       │   ├── arm_selection_sort_f32.c
│   │   │   │   │   │       │   ├── arm_sort_f32.c
│   │   │   │   │   │       │   ├── arm_sort_init_f32.c
│   │   │   │   │   │       │   ├── arm_weighted_sum_f16.c
│   │   │   │   │   │       │   └── arm_weighted_sum_f32.c
│   │   │   │   │   │       └── TransformFunctions/
│   │   │   │   │   │           ├── CMakeLists.txt
│   │   │   │   │   │           ├── TransformFunctions.c
│   │   │   │   │   │           ├── TransformFunctionsF16.c
│   │   │   │   │   │           ├── arm_bitreversal.c
│   │   │   │   │   │           ├── arm_bitreversal2.S
│   │   │   │   │   │           ├── arm_bitreversal2.c
│   │   │   │   │   │           ├── arm_bitreversal_f16.c
│   │   │   │   │   │           ├── arm_cfft_f16.c
│   │   │   │   │   │           ├── arm_cfft_f32.c
│   │   │   │   │   │           ├── arm_cfft_f64.c
│   │   │   │   │   │           ├── arm_cfft_init_f16.c
│   │   │   │   │   │           ├── arm_cfft_init_f32.c
│   │   │   │   │   │           ├── arm_cfft_init_f64.c
│   │   │   │   │   │           ├── arm_cfft_init_q15.c
│   │   │   │   │   │           ├── arm_cfft_init_q31.c
│   │   │   │   │   │           ├── arm_cfft_q15.c
│   │   │   │   │   │           ├── arm_cfft_q31.c
│   │   │   │   │   │           ├── arm_cfft_radix2_f16.c
│   │   │   │   │   │           ├── arm_cfft_radix2_f32.c
│   │   │   │   │   │           ├── arm_cfft_radix2_init_f16.c
│   │   │   │   │   │           ├── arm_cfft_radix2_init_f32.c
│   │   │   │   │   │           ├── arm_cfft_radix2_init_q15.c
│   │   │   │   │   │           ├── arm_cfft_radix2_init_q31.c
│   │   │   │   │   │           ├── arm_cfft_radix2_q15.c
│   │   │   │   │   │           ├── arm_cfft_radix2_q31.c
│   │   │   │   │   │           ├── arm_cfft_radix4_f16.c
│   │   │   │   │   │           ├── arm_cfft_radix4_f32.c
│   │   │   │   │   │           ├── arm_cfft_radix4_init_f16.c
│   │   │   │   │   │           ├── arm_cfft_radix4_init_f32.c
│   │   │   │   │   │           ├── arm_cfft_radix4_init_q15.c
│   │   │   │   │   │           ├── arm_cfft_radix4_init_q31.c
│   │   │   │   │   │           ├── arm_cfft_radix4_q15.c
│   │   │   │   │   │           ├── arm_cfft_radix4_q31.c
│   │   │   │   │   │           ├── arm_cfft_radix8_f16.c
│   │   │   │   │   │           ├── arm_cfft_radix8_f32.c
│   │   │   │   │   │           ├── arm_dct4_f32.c
│   │   │   │   │   │           ├── arm_dct4_init_f32.c
│   │   │   │   │   │           ├── arm_dct4_init_q15.c
│   │   │   │   │   │           ├── arm_dct4_init_q31.c
│   │   │   │   │   │           ├── arm_dct4_q15.c
│   │   │   │   │   │           ├── arm_dct4_q31.c
│   │   │   │   │   │           ├── arm_mfcc_f16.c
│   │   │   │   │   │           ├── arm_mfcc_f32.c
│   │   │   │   │   │           ├── arm_mfcc_init_f16.c
│   │   │   │   │   │           ├── arm_mfcc_init_f32.c
│   │   │   │   │   │           ├── arm_mfcc_init_q15.c
│   │   │   │   │   │           ├── arm_mfcc_init_q31.c
│   │   │   │   │   │           ├── arm_mfcc_q15.c
│   │   │   │   │   │           ├── arm_mfcc_q31.c
│   │   │   │   │   │           ├── arm_rfft_f32.c
│   │   │   │   │   │           ├── arm_rfft_fast_f16.c
│   │   │   │   │   │           ├── arm_rfft_fast_f32.c
│   │   │   │   │   │           ├── arm_rfft_fast_f64.c
│   │   │   │   │   │           ├── arm_rfft_fast_init_f16.c
│   │   │   │   │   │           ├── arm_rfft_fast_init_f32.c
│   │   │   │   │   │           ├── arm_rfft_fast_init_f64.c
│   │   │   │   │   │           ├── arm_rfft_init_f32.c
│   │   │   │   │   │           ├── arm_rfft_init_q15.c
│   │   │   │   │   │           ├── arm_rfft_init_q31.c
│   │   │   │   │   │           ├── arm_rfft_q15.c
│   │   │   │   │   │           └── arm_rfft_q31.c
│   │   │   │   │   ├── Device/
│   │   │   │   │   │   └── ST/
│   │   │   │   │   │       └── STM32H7xx/
│   │   │   │   │   │           ├── Include/
│   │   │   │   │   │           │   ├── stm32h745xx.h
│   │   │   │   │   │           │   ├── stm32h7xx.h
│   │   │   │   │   │           │   └── system_stm32h7xx.h
│   │   │   │   │   │           └── LICENSE.txt
│   │   │   │   │   ├── Include/
│   │   │   │   │   │   ├── cachel1_armv7.h
│   │   │   │   │   │   ├── cmsis_armcc.h
│   │   │   │   │   │   ├── cmsis_armclang.h
│   │   │   │   │   │   ├── cmsis_armclang_ltm.h
│   │   │   │   │   │   ├── cmsis_compiler.h
│   │   │   │   │   │   ├── cmsis_gcc.h
│   │   │   │   │   │   ├── cmsis_iccarm.h
│   │   │   │   │   │   ├── cmsis_version.h
│   │   │   │   │   │   ├── core_armv81mml.h
│   │   │   │   │   │   ├── core_armv8mbl.h
│   │   │   │   │   │   ├── core_armv8mml.h
│   │   │   │   │   │   ├── core_cm0.h
│   │   │   │   │   │   ├── core_cm0plus.h
│   │   │   │   │   │   ├── core_cm1.h
│   │   │   │   │   │   ├── core_cm23.h
│   │   │   │   │   │   ├── core_cm3.h
│   │   │   │   │   │   ├── core_cm33.h
│   │   │   │   │   │   ├── core_cm35p.h
│   │   │   │   │   │   ├── core_cm4.h
│   │   │   │   │   │   ├── core_cm55.h
│   │   │   │   │   │   ├── core_cm7.h
│   │   │   │   │   │   ├── core_cm85.h
│   │   │   │   │   │   ├── core_sc000.h
│   │   │   │   │   │   ├── core_sc300.h
│   │   │   │   │   │   ├── core_starmc1.h
│   │   │   │   │   │   ├── mpu_armv7.h
│   │   │   │   │   │   ├── mpu_armv8.h
│   │   │   │   │   │   ├── pac_armv81.h
│   │   │   │   │   │   ├── pmu_armv8.h
│   │   │   │   │   │   └── tz_context.h
│   │   │   │   │   ├── LICENSE.txt
│   │   │   │   │   ├── NN/
│   │   │   │   │   │   ├── CMakeLists.txt
│   │   │   │   │   │   ├── Include/
│   │   │   │   │   │   │   ├── arm_nn_math_types.h
│   │   │   │   │   │   │   ├── arm_nn_tables.h
│   │   │   │   │   │   │   ├── arm_nn_types.h
│   │   │   │   │   │   │   ├── arm_nnfunctions.h
│   │   │   │   │   │   │   └── arm_nnsupportfunctions.h
│   │   │   │   │   │   └── Source/
│   │   │   │   │   │       ├── ActivationFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── arm_nn_activations_q15.c
│   │   │   │   │   │       │   ├── arm_nn_activations_q7.c
│   │   │   │   │   │       │   ├── arm_relu6_s8.c
│   │   │   │   │   │       │   ├── arm_relu_q15.c
│   │   │   │   │   │       │   └── arm_relu_q7.c
│   │   │   │   │   │       ├── BasicMathFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── arm_elementwise_add_s16.c
│   │   │   │   │   │       │   ├── arm_elementwise_add_s8.c
│   │   │   │   │   │       │   ├── arm_elementwise_mul_s16.c
│   │   │   │   │   │       │   └── arm_elementwise_mul_s8.c
│   │   │   │   │   │       ├── CMakeLists.txt
│   │   │   │   │   │       ├── ConcatenationFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── arm_concatenation_s8_w.c
│   │   │   │   │   │       │   ├── arm_concatenation_s8_x.c
│   │   │   │   │   │       │   ├── arm_concatenation_s8_y.c
│   │   │   │   │   │       │   └── arm_concatenation_s8_z.c
│   │   │   │   │   │       ├── ConvolutionFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── arm_convolve_1_x_n_s8.c
│   │   │   │   │   │       │   ├── arm_convolve_1x1_HWC_q7_fast_nonsquare.c
│   │   │   │   │   │       │   ├── arm_convolve_1x1_s8_fast.c
│   │   │   │   │   │       │   ├── arm_convolve_HWC_q15_basic.c
│   │   │   │   │   │       │   ├── arm_convolve_HWC_q15_fast.c
│   │   │   │   │   │       │   ├── arm_convolve_HWC_q15_fast_nonsquare.c
│   │   │   │   │   │       │   ├── arm_convolve_HWC_q7_RGB.c
│   │   │   │   │   │       │   ├── arm_convolve_HWC_q7_basic.c
│   │   │   │   │   │       │   ├── arm_convolve_HWC_q7_basic_nonsquare.c
│   │   │   │   │   │       │   ├── arm_convolve_HWC_q7_fast.c
│   │   │   │   │   │       │   ├── arm_convolve_HWC_q7_fast_nonsquare.c
│   │   │   │   │   │       │   ├── arm_convolve_fast_s16.c
│   │   │   │   │   │       │   ├── arm_convolve_s16.c
│   │   │   │   │   │       │   ├── arm_convolve_s8.c
│   │   │   │   │   │       │   ├── arm_convolve_wrapper_s16.c
│   │   │   │   │   │       │   ├── arm_convolve_wrapper_s8.c
│   │   │   │   │   │       │   ├── arm_depthwise_conv_3x3_s8.c
│   │   │   │   │   │       │   ├── arm_depthwise_conv_s16.c
│   │   │   │   │   │       │   ├── arm_depthwise_conv_s8.c
│   │   │   │   │   │       │   ├── arm_depthwise_conv_s8_opt.c
│   │   │   │   │   │       │   ├── arm_depthwise_conv_u8_basic_ver1.c
│   │   │   │   │   │       │   ├── arm_depthwise_conv_wrapper_s8.c
│   │   │   │   │   │       │   ├── arm_depthwise_separable_conv_HWC_q7.c
│   │   │   │   │   │       │   ├── arm_depthwise_separable_conv_HWC_q7_nonsquare.c
│   │   │   │   │   │       │   ├── arm_nn_depthwise_conv_s8_core.c
│   │   │   │   │   │       │   ├── arm_nn_mat_mult_kernel_q7_q15.c
│   │   │   │   │   │       │   ├── arm_nn_mat_mult_kernel_q7_q15_reordered.c
│   │   │   │   │   │       │   ├── arm_nn_mat_mult_kernel_s8_s16.c
│   │   │   │   │   │       │   ├── arm_nn_mat_mult_kernel_s8_s16_reordered.c
│   │   │   │   │   │       │   └── arm_nn_mat_mult_s8.c
│   │   │   │   │   │       ├── FullyConnectedFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── arm_fully_connected_mat_q7_vec_q15.c
│   │   │   │   │   │       │   ├── arm_fully_connected_mat_q7_vec_q15_opt.c
│   │   │   │   │   │       │   ├── arm_fully_connected_q15.c
│   │   │   │   │   │       │   ├── arm_fully_connected_q15_opt.c
│   │   │   │   │   │       │   ├── arm_fully_connected_q7.c
│   │   │   │   │   │       │   ├── arm_fully_connected_q7_opt.c
│   │   │   │   │   │       │   ├── arm_fully_connected_s16.c
│   │   │   │   │   │       │   └── arm_fully_connected_s8.c
│   │   │   │   │   │       ├── NNSupportFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── arm_nn_accumulate_q7_to_q15.c
│   │   │   │   │   │       │   ├── arm_nn_add_q7.c
│   │   │   │   │   │       │   ├── arm_nn_depthwise_conv_nt_t_padded_s8.c
│   │   │   │   │   │       │   ├── arm_nn_depthwise_conv_nt_t_s8.c
│   │   │   │   │   │       │   ├── arm_nn_mat_mul_core_1x_s8.c
│   │   │   │   │   │       │   ├── arm_nn_mat_mul_core_4x_s8.c
│   │   │   │   │   │       │   ├── arm_nn_mat_mul_kernel_s16.c
│   │   │   │   │   │       │   ├── arm_nn_mat_mult_nt_t_s8.c
│   │   │   │   │   │       │   ├── arm_nn_mult_q15.c
│   │   │   │   │   │       │   ├── arm_nn_mult_q7.c
│   │   │   │   │   │       │   ├── arm_nn_vec_mat_mult_t_s16.c
│   │   │   │   │   │       │   ├── arm_nn_vec_mat_mult_t_s8.c
│   │   │   │   │   │       │   ├── arm_nn_vec_mat_mult_t_svdf_s8.c
│   │   │   │   │   │       │   ├── arm_nntables.c
│   │   │   │   │   │       │   ├── arm_q7_to_q15_no_shift.c
│   │   │   │   │   │       │   ├── arm_q7_to_q15_reordered_no_shift.c
│   │   │   │   │   │       │   ├── arm_q7_to_q15_reordered_with_offset.c
│   │   │   │   │   │       │   └── arm_q7_to_q15_with_offset.c
│   │   │   │   │   │       ├── PoolingFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── arm_avgpool_s16.c
│   │   │   │   │   │       │   ├── arm_avgpool_s8.c
│   │   │   │   │   │       │   ├── arm_max_pool_s16.c
│   │   │   │   │   │       │   ├── arm_max_pool_s8.c
│   │   │   │   │   │       │   └── arm_pool_q7_HWC.c
│   │   │   │   │   │       ├── ReshapeFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   └── arm_reshape_s8.c
│   │   │   │   │   │       ├── SVDFunctions/
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── arm_svdf_s8.c
│   │   │   │   │   │       │   └── arm_svdf_state_s16_s8.c
│   │   │   │   │   │       └── SoftmaxFunctions/
│   │   │   │   │   │           ├── CMakeLists.txt
│   │   │   │   │   │           ├── arm_nn_softmax_common_s8.c
│   │   │   │   │   │           ├── arm_softmax_q15.c
│   │   │   │   │   │           ├── arm_softmax_q7.c
│   │   │   │   │   │           ├── arm_softmax_s16.c
│   │   │   │   │   │           ├── arm_softmax_s8.c
│   │   │   │   │   │           ├── arm_softmax_s8_s16.c
│   │   │   │   │   │           ├── arm_softmax_u8.c
│   │   │   │   │   │           └── arm_softmax_with_batch_q7.c
│   │   │   │   │   ├── RTOS/
│   │   │   │   │   │   └── Template/
│   │   │   │   │   │       └── cmsis_os.h
│   │   │   │   │   ├── RTOS2/
│   │   │   │   │   │   ├── Include/
│   │   │   │   │   │   │   ├── cmsis_os2.h
│   │   │   │   │   │   │   └── os_tick.h
│   │   │   │   │   │   ├── Source/
│   │   │   │   │   │   │   ├── os_systick.c
│   │   │   │   │   │   │   ├── os_tick_gtim.c
│   │   │   │   │   │   │   └── os_tick_ptim.c
│   │   │   │   │   │   └── Template/
│   │   │   │   │   │       ├── cmsis_os.h
│   │   │   │   │   │       └── cmsis_os1.c
│   │   │   │   │   └── st_readme.txt
│   │   │   │   └── STM32H7xx_HAL_Driver/
│   │   │   │       ├── Inc/
│   │   │   │       │   ├── Legacy/
│   │   │   │       │   │   └── stm32_hal_legacy.h
│   │   │   │       │   ├── stm32h7xx_hal.h
│   │   │   │       │   ├── stm32h7xx_hal_cortex.h
│   │   │   │       │   ├── stm32h7xx_hal_def.h
│   │   │   │       │   ├── stm32h7xx_hal_dma.h
│   │   │   │       │   ├── stm32h7xx_hal_dma_ex.h
│   │   │   │       │   ├── stm32h7xx_hal_eth.h
│   │   │   │       │   ├── stm32h7xx_hal_eth_ex.h
│   │   │   │       │   ├── stm32h7xx_hal_exti.h
│   │   │   │       │   ├── stm32h7xx_hal_flash.h
│   │   │   │       │   ├── stm32h7xx_hal_flash_ex.h
│   │   │   │       │   ├── stm32h7xx_hal_gpio.h
│   │   │   │       │   ├── stm32h7xx_hal_gpio_ex.h
│   │   │   │       │   ├── stm32h7xx_hal_hsem.h
│   │   │   │       │   ├── stm32h7xx_hal_i2c.h
│   │   │   │       │   ├── stm32h7xx_hal_i2c_ex.h
│   │   │   │       │   ├── stm32h7xx_hal_mdma.h
│   │   │   │       │   ├── stm32h7xx_hal_pwr.h
│   │   │   │       │   ├── stm32h7xx_hal_pwr_ex.h
│   │   │   │       │   ├── stm32h7xx_hal_rcc.h
│   │   │   │       │   ├── stm32h7xx_hal_rcc_ex.h
│   │   │   │       │   ├── stm32h7xx_hal_tim.h
│   │   │   │       │   ├── stm32h7xx_hal_tim_ex.h
│   │   │   │       │   ├── stm32h7xx_ll_bus.h
│   │   │   │       │   ├── stm32h7xx_ll_cortex.h
│   │   │   │       │   ├── stm32h7xx_ll_crs.h
│   │   │   │       │   ├── stm32h7xx_ll_dma.h
│   │   │   │       │   ├── stm32h7xx_ll_dmamux.h
│   │   │   │       │   ├── stm32h7xx_ll_exti.h
│   │   │   │       │   ├── stm32h7xx_ll_gpio.h
│   │   │   │       │   ├── stm32h7xx_ll_hsem.h
│   │   │   │       │   ├── stm32h7xx_ll_pwr.h
│   │   │   │       │   ├── stm32h7xx_ll_rcc.h
│   │   │   │       │   ├── stm32h7xx_ll_system.h
│   │   │   │       │   └── stm32h7xx_ll_utils.h
│   │   │   │       ├── LICENSE.txt
│   │   │   │       └── Src/
│   │   │   │           ├── stm32h7xx_hal.c
│   │   │   │           ├── stm32h7xx_hal_cortex.c
│   │   │   │           ├── stm32h7xx_hal_dma.c
│   │   │   │           ├── stm32h7xx_hal_dma_ex.c
│   │   │   │           ├── stm32h7xx_hal_eth.c
│   │   │   │           ├── stm32h7xx_hal_eth_ex.c
│   │   │   │           ├── stm32h7xx_hal_exti.c
│   │   │   │           ├── stm32h7xx_hal_flash.c
│   │   │   │           ├── stm32h7xx_hal_flash_ex.c
│   │   │   │           ├── stm32h7xx_hal_gpio.c
│   │   │   │           ├── stm32h7xx_hal_hsem.c
│   │   │   │           ├── stm32h7xx_hal_i2c.c
│   │   │   │           ├── stm32h7xx_hal_i2c_ex.c
│   │   │   │           ├── stm32h7xx_hal_mdma.c
│   │   │   │           ├── stm32h7xx_hal_pwr.c
│   │   │   │           ├── stm32h7xx_hal_pwr_ex.c
│   │   │   │           ├── stm32h7xx_hal_rcc.c
│   │   │   │           ├── stm32h7xx_hal_rcc_ex.c
│   │   │   │           ├── stm32h7xx_hal_tim.c
│   │   │   │           └── stm32h7xx_hal_tim_ex.c
│   │   │   ├── EWARM/
│   │   │   │   ├── H7_Ethernet.ewd
│   │   │   │   ├── H7_Ethernet.ewp
│   │   │   │   ├── Project.eww
│   │   │   │   ├── startup_stm32h745xx_CM4.s
│   │   │   │   ├── startup_stm32h745xx_CM7.s
│   │   │   │   ├── stm32h745xx_dtcmram_CM7.icf
│   │   │   │   ├── stm32h745xx_flash_CM4.icf
│   │   │   │   ├── stm32h745xx_flash_CM7.icf
│   │   │   │   ├── stm32h745xx_flash_rw_sram1_CM7.icf
│   │   │   │   ├── stm32h745xx_flash_rw_sram2_CM4.icf
│   │   │   │   ├── stm32h745xx_sram1_CM7.icf
│   │   │   │   └── stm32h745xx_sram2_CM4.icf
│   │   │   ├── H7_Ethernet.ioc
│   │   │   └── Middlewares/
│   │   │       └── Third_Party/
│   │   │           └── LwIP/
│   │   │               ├── src/
│   │   │               │   ├── api/
│   │   │               │   │   ├── api_lib.c
│   │   │               │   │   ├── api_msg.c
│   │   │               │   │   ├── err.c
│   │   │               │   │   ├── if_api.c
│   │   │               │   │   ├── netbuf.c
│   │   │               │   │   ├── netdb.c
│   │   │               │   │   ├── netifapi.c
│   │   │               │   │   ├── sockets.c
│   │   │               │   │   └── tcpip.c
│   │   │               │   ├── apps/
│   │   │               │   │   └── mqtt/
│   │   │               │   │       └── mqtt.c
│   │   │               │   ├── core/
│   │   │               │   │   ├── altcp.c
│   │   │               │   │   ├── altcp_alloc.c
│   │   │               │   │   ├── altcp_tcp.c
│   │   │               │   │   ├── def.c
│   │   │               │   │   ├── dns.c
│   │   │               │   │   ├── inet_chksum.c
│   │   │               │   │   ├── init.c
│   │   │               │   │   ├── ip.c
│   │   │               │   │   ├── ipv4/
│   │   │               │   │   │   ├── acd.c
│   │   │               │   │   │   ├── autoip.c
│   │   │               │   │   │   ├── dhcp.c
│   │   │               │   │   │   ├── etharp.c
│   │   │               │   │   │   ├── icmp.c
│   │   │               │   │   │   ├── igmp.c
│   │   │               │   │   │   ├── ip4.c
│   │   │               │   │   │   ├── ip4_addr.c
│   │   │               │   │   │   └── ip4_frag.c
│   │   │               │   │   ├── ipv6/
│   │   │               │   │   │   ├── dhcp6.c
│   │   │               │   │   │   ├── ethip6.c
│   │   │               │   │   │   ├── icmp6.c
│   │   │               │   │   │   ├── inet6.c
│   │   │               │   │   │   ├── ip6.c
│   │   │               │   │   │   ├── ip6_addr.c
│   │   │               │   │   │   ├── ip6_frag.c
│   │   │               │   │   │   ├── mld6.c
│   │   │               │   │   │   └── nd6.c
│   │   │               │   │   ├── mem.c
│   │   │               │   │   ├── memp.c
│   │   │               │   │   ├── netif.c
│   │   │               │   │   ├── pbuf.c
│   │   │               │   │   ├── raw.c
│   │   │               │   │   ├── stats.c
│   │   │               │   │   ├── sys.c
│   │   │               │   │   ├── tcp.c
│   │   │               │   │   ├── tcp_in.c
│   │   │               │   │   ├── tcp_out.c
│   │   │               │   │   ├── timeouts.c
│   │   │               │   │   └── udp.c
│   │   │               │   ├── include/
│   │   │               │   │   ├── compat/
│   │   │               │   │   │   ├── posix/
│   │   │               │   │   │   │   ├── arpa/
│   │   │               │   │   │   │   │   └── inet.h
│   │   │               │   │   │   │   ├── net/
│   │   │               │   │   │   │   │   └── if.h
│   │   │               │   │   │   │   ├── netdb.h
│   │   │               │   │   │   │   └── sys/
│   │   │               │   │   │   │       └── socket.h
│   │   │               │   │   │   └── stdc/
│   │   │               │   │   │       └── errno.h
│   │   │               │   │   ├── lwip/
│   │   │               │   │   │   ├── acd.h
│   │   │               │   │   │   ├── altcp.h
│   │   │               │   │   │   ├── altcp_tcp.h
│   │   │               │   │   │   ├── altcp_tls.h
│   │   │               │   │   │   ├── api.h
│   │   │               │   │   │   ├── apps/
│   │   │               │   │   │   │   ├── altcp_proxyconnect.h
│   │   │               │   │   │   │   ├── altcp_tls_mbedtls_opts.h
│   │   │               │   │   │   │   ├── fs.h
│   │   │               │   │   │   │   ├── http_client.h
│   │   │               │   │   │   │   ├── httpd.h
│   │   │               │   │   │   │   ├── httpd_opts.h
│   │   │               │   │   │   │   ├── lwiperf.h
│   │   │               │   │   │   │   ├── mdns.h
│   │   │               │   │   │   │   ├── mdns_domain.h
│   │   │               │   │   │   │   ├── mdns_opts.h
│   │   │               │   │   │   │   ├── mdns_out.h
│   │   │               │   │   │   │   ├── mdns_priv.h
│   │   │               │   │   │   │   ├── mqtt.h
│   │   │               │   │   │   │   ├── mqtt_opts.h
│   │   │               │   │   │   │   ├── mqtt_priv.h
│   │   │               │   │   │   │   ├── netbiosns.h
│   │   │               │   │   │   │   ├── netbiosns_opts.h
│   │   │               │   │   │   │   ├── smtp.h
│   │   │               │   │   │   │   ├── smtp_opts.h
│   │   │               │   │   │   │   ├── snmp.h
│   │   │               │   │   │   │   ├── snmp_core.h
│   │   │               │   │   │   │   ├── snmp_mib2.h
│   │   │               │   │   │   │   ├── snmp_opts.h
│   │   │               │   │   │   │   ├── snmp_scalar.h
│   │   │               │   │   │   │   ├── snmp_snmpv2_framework.h
│   │   │               │   │   │   │   ├── snmp_snmpv2_usm.h
│   │   │               │   │   │   │   ├── snmp_table.h
│   │   │               │   │   │   │   ├── snmp_threadsync.h
│   │   │               │   │   │   │   ├── snmpv3.h
│   │   │               │   │   │   │   ├── sntp.h
│   │   │               │   │   │   │   ├── sntp_opts.h
│   │   │               │   │   │   │   ├── tftp_client.h
│   │   │               │   │   │   │   ├── tftp_common.h
│   │   │               │   │   │   │   ├── tftp_opts.h
│   │   │               │   │   │   │   └── tftp_server.h
│   │   │               │   │   │   ├── arch.h
│   │   │               │   │   │   ├── autoip.h
│   │   │               │   │   │   ├── debug.h
│   │   │               │   │   │   ├── def.h
│   │   │               │   │   │   ├── dhcp.h
│   │   │               │   │   │   ├── dhcp6.h
│   │   │               │   │   │   ├── dns.h
│   │   │               │   │   │   ├── err.h
│   │   │               │   │   │   ├── errno.h
│   │   │               │   │   │   ├── etharp.h
│   │   │               │   │   │   ├── ethip6.h
│   │   │               │   │   │   ├── icmp.h
│   │   │               │   │   │   ├── icmp6.h
│   │   │               │   │   │   ├── if_api.h
│   │   │               │   │   │   ├── igmp.h
│   │   │               │   │   │   ├── inet.h
│   │   │               │   │   │   ├── inet_chksum.h
│   │   │               │   │   │   ├── init.h
│   │   │               │   │   │   ├── ip.h
│   │   │               │   │   │   ├── ip4.h
│   │   │               │   │   │   ├── ip4_addr.h
│   │   │               │   │   │   ├── ip4_frag.h
│   │   │               │   │   │   ├── ip6.h
│   │   │               │   │   │   ├── ip6_addr.h
│   │   │               │   │   │   ├── ip6_frag.h
│   │   │               │   │   │   ├── ip6_zone.h
│   │   │               │   │   │   ├── ip_addr.h
│   │   │               │   │   │   ├── mem.h
│   │   │               │   │   │   ├── memp.h
│   │   │               │   │   │   ├── mld6.h
│   │   │               │   │   │   ├── nd6.h
│   │   │               │   │   │   ├── netbuf.h
│   │   │               │   │   │   ├── netdb.h
│   │   │               │   │   │   ├── netif.h
│   │   │               │   │   │   ├── netifapi.h
│   │   │               │   │   │   ├── opt.h
│   │   │               │   │   │   ├── pbuf.h
│   │   │               │   │   │   ├── priv/
│   │   │               │   │   │   │   ├── altcp_priv.h
│   │   │               │   │   │   │   ├── api_msg.h
│   │   │               │   │   │   │   ├── mem_priv.h
│   │   │               │   │   │   │   ├── memp_priv.h
│   │   │               │   │   │   │   ├── memp_std.h
│   │   │               │   │   │   │   ├── nd6_priv.h
│   │   │               │   │   │   │   ├── raw_priv.h
│   │   │               │   │   │   │   ├── sockets_priv.h
│   │   │               │   │   │   │   ├── tcp_priv.h
│   │   │               │   │   │   │   └── tcpip_priv.h
│   │   │               │   │   │   ├── prot/
│   │   │               │   │   │   │   ├── acd.h
│   │   │               │   │   │   │   ├── autoip.h
│   │   │               │   │   │   │   ├── dhcp.h
│   │   │               │   │   │   │   ├── dhcp6.h
│   │   │               │   │   │   │   ├── dns.h
│   │   │               │   │   │   │   ├── etharp.h
│   │   │               │   │   │   │   ├── ethernet.h
│   │   │               │   │   │   │   ├── iana.h
│   │   │               │   │   │   │   ├── icmp.h
│   │   │               │   │   │   │   ├── icmp6.h
│   │   │               │   │   │   │   ├── ieee.h
│   │   │               │   │   │   │   ├── igmp.h
│   │   │               │   │   │   │   ├── ip.h
│   │   │               │   │   │   │   ├── ip4.h
│   │   │               │   │   │   │   ├── ip6.h
│   │   │               │   │   │   │   ├── mld6.h
│   │   │               │   │   │   │   ├── nd6.h
│   │   │               │   │   │   │   ├── tcp.h
│   │   │               │   │   │   │   └── udp.h
│   │   │               │   │   │   ├── raw.h
│   │   │               │   │   │   ├── sio.h
│   │   │               │   │   │   ├── snmp.h
│   │   │               │   │   │   ├── sockets.h
│   │   │               │   │   │   ├── stats.h
│   │   │               │   │   │   ├── sys.h
│   │   │               │   │   │   ├── tcp.h
│   │   │               │   │   │   ├── tcpbase.h
│   │   │               │   │   │   ├── tcpip.h
│   │   │               │   │   │   ├── timeouts.h
│   │   │               │   │   │   └── udp.h
│   │   │               │   │   └── netif/
│   │   │               │   │       ├── bridgeif.h
│   │   │               │   │       ├── bridgeif_opts.h
│   │   │               │   │       ├── etharp.h
│   │   │               │   │       ├── ethernet.h
│   │   │               │   │       ├── ieee802154.h
│   │   │               │   │       ├── lowpan6.h
│   │   │               │   │       ├── lowpan6_ble.h
│   │   │               │   │       ├── lowpan6_common.h
│   │   │               │   │       ├── lowpan6_opts.h
│   │   │               │   │       ├── ppp/
│   │   │               │   │       │   ├── ccp.h
│   │   │               │   │       │   ├── chap-md5.h
│   │   │               │   │       │   ├── chap-new.h
│   │   │               │   │       │   ├── chap_ms.h
│   │   │               │   │       │   ├── eap.h
│   │   │               │   │       │   ├── ecp.h
│   │   │               │   │       │   ├── eui64.h
│   │   │               │   │       │   ├── fsm.h
│   │   │               │   │       │   ├── ipcp.h
│   │   │               │   │       │   ├── ipv6cp.h
│   │   │               │   │       │   ├── lcp.h
│   │   │               │   │       │   ├── magic.h
│   │   │               │   │       │   ├── mppe.h
│   │   │               │   │       │   ├── ppp.h
│   │   │               │   │       │   ├── ppp_impl.h
│   │   │               │   │       │   ├── ppp_opts.h
│   │   │               │   │       │   ├── pppapi.h
│   │   │               │   │       │   ├── pppcrypt.h
│   │   │               │   │       │   ├── pppdebug.h
│   │   │               │   │       │   ├── pppoe.h
│   │   │               │   │       │   ├── pppol2tp.h
│   │   │               │   │       │   ├── pppos.h
│   │   │               │   │       │   ├── upap.h
│   │   │               │   │       │   └── vj.h
│   │   │               │   │       ├── slipif.h
│   │   │               │   │       └── zepif.h
│   │   │               │   └── netif/
│   │   │               │       ├── bridgeif.c
│   │   │               │       ├── bridgeif_fdb.c
│   │   │               │       ├── ethernet.c
│   │   │               │       ├── lowpan6.c
│   │   │               │       ├── lowpan6_ble.c
│   │   │               │       ├── lowpan6_common.c
│   │   │               │       ├── ppp/
│   │   │               │       │   ├── auth.c
│   │   │               │       │   ├── ccp.c
│   │   │               │       │   ├── chap-md5.c
│   │   │               │       │   ├── chap-new.c
│   │   │               │       │   ├── chap_ms.c
│   │   │               │       │   ├── demand.c
│   │   │               │       │   ├── eap.c
│   │   │               │       │   ├── ecp.c
│   │   │               │       │   ├── eui64.c
│   │   │               │       │   ├── fsm.c
│   │   │               │       │   ├── ipcp.c
│   │   │               │       │   ├── ipv6cp.c
│   │   │               │       │   ├── lcp.c
│   │   │               │       │   ├── magic.c
│   │   │               │       │   ├── mppe.c
│   │   │               │       │   ├── multilink.c
│   │   │               │       │   ├── ppp.c
│   │   │               │       │   ├── pppapi.c
│   │   │               │       │   ├── pppcrypt.c
│   │   │               │       │   ├── pppoe.c
│   │   │               │       │   ├── pppol2tp.c
│   │   │               │       │   ├── pppos.c
│   │   │               │       │   ├── upap.c
│   │   │               │       │   ├── utils.c
│   │   │               │       │   └── vj.c
│   │   │               │       ├── slipif.c
│   │   │               │       └── zepif.c
│   │   │               └── system/
│   │   │                   └── arch/
│   │   │                       ├── bpstruct.h
│   │   │                       ├── cc.h
│   │   │                       ├── cpu.h
│   │   │                       ├── epstruct.h
│   │   │                       ├── init.h
│   │   │                       ├── lib.h
│   │   │                       ├── perf.h
│   │   │                       └── sys_arch.h
│   │   └── README.md
│   ├── tcp-client/
│   │   ├── .mxproject
│   │   ├── .project
│   │   ├── .settings/
│   │   │   └── org.eclipse.core.resources.prefs
│   │   ├── CM4/
│   │   │   ├── .cproject
│   │   │   ├── .project
│   │   │   ├── .settings/
│   │   │   │   ├── language.settings.xml
│   │   │   │   └── org.eclipse.core.resources.prefs
│   │   │   ├── Core/
│   │   │   │   ├── Inc/
│   │   │   │   │   ├── main.h
│   │   │   │   │   ├── stm32h7xx_hal_conf.h
│   │   │   │   │   └── stm32h7xx_it.h
│   │   │   │   ├── Src/
│   │   │   │   │   ├── main.c
│   │   │   │   │   ├── stm32h7xx_hal_msp.c
│   │   │   │   │   ├── stm32h7xx_it.c
│   │   │   │   │   ├── syscalls.c
│   │   │   │   │   └── sysmem.c
│   │   │   │   └── Startup/
│   │   │   │       └── startup_stm32h745xihx.s
│   │   │   ├── STM32H745XIHX_FLASH.ld
│   │   │   └── STM32H745XIHX_RAM.ld
│   │   ├── CM7/
│   │   │   ├── .cproject
│   │   │   ├── .project
│   │   │   ├── .settings/
│   │   │   │   ├── language.settings.xml
│   │   │   │   ├── org.eclipse.core.resources.prefs
│   │   │   │   └── stm32cubeide.project.prefs
│   │   │   ├── Core/
│   │   │   │   ├── Inc/
│   │   │   │   │   ├── main.h
│   │   │   │   │   ├── stm32h7xx_hal_conf.h
│   │   │   │   │   ├── stm32h7xx_it.h
│   │   │   │   │   └── tcpClientRAW.h
│   │   │   │   ├── Src/
│   │   │   │   │   ├── main.c
│   │   │   │   │   ├── stm32h7xx_hal_msp.c
│   │   │   │   │   ├── stm32h7xx_it.c
│   │   │   │   │   ├── syscalls.c
│   │   │   │   │   ├── sysmem.c
│   │   │   │   │   └── tcpClientRAW.c
│   │   │   │   └── Startup/
│   │   │   │       └── startup_stm32h745xihx.s
│   │   │   ├── H7_Ethernet_CM7 Debug.launch
│   │   │   ├── LWIP/
│   │   │   │   ├── App/
│   │   │   │   │   ├── lwip.c
│   │   │   │   │   └── lwip.h
│   │   │   │   └── Target/
│   │   │   │       ├── ethernetif.c
│   │   │   │       ├── ethernetif.h
│   │   │   │       └── lwipopts.h
│   │   │   ├── STM32H745XIHX_FLASH.ld
│   │   │   └── STM32H745XIHX_RAM.ld
│   │   ├── Common/
│   │   │   └── Src/
│   │   │       └── system_stm32h7xx_dualcore_boot_cm4_cm7.c
│   │   ├── Drivers/
│   │   │   ├── BSP/
│   │   │   │   └── Components/
│   │   │   │       └── lan8742/
│   │   │   │           ├── lan8742.c
│   │   │   │           └── lan8742.h
│   │   │   ├── CMSIS/
│   │   │   │   ├── Core/
│   │   │   │   │   ├── Include/
│   │   │   │   │   │   ├── cachel1_armv7.h
│   │   │   │   │   │   ├── cmsis_armcc.h
│   │   │   │   │   │   ├── cmsis_armclang.h
│   │   │   │   │   │   ├── cmsis_armclang_ltm.h
│   │   │   │   │   │   ├── cmsis_compiler.h
│   │   │   │   │   │   ├── cmsis_gcc.h
│   │   │   │   │   │   ├── cmsis_iccarm.h
│   │   │   │   │   │   ├── cmsis_version.h
│   │   │   │   │   │   ├── core_armv81mml.h
│   │   │   │   │   │   ├── core_armv8mbl.h
│   │   │   │   │   │   ├── core_armv8mml.h
│   │   │   │   │   │   ├── core_cm0.h
│   │   │   │   │   │   ├── core_cm0plus.h
│   │   │   │   │   │   ├── core_cm1.h
│   │   │   │   │   │   ├── core_cm23.h
│   │   │   │   │   │   ├── core_cm3.h
│   │   │   │   │   │   ├── core_cm33.h
│   │   │   │   │   │   ├── core_cm35p.h
│   │   │   │   │   │   ├── core_cm4.h
│   │   │   │   │   │   ├── core_cm55.h
│   │   │   │   │   │   ├── core_cm7.h
│   │   │   │   │   │   ├── core_cm85.h
│   │   │   │   │   │   ├── core_sc000.h
│   │   │   │   │   │   ├── core_sc300.h
│   │   │   │   │   │   ├── core_starmc1.h
│   │   │   │   │   │   ├── mpu_armv7.h
│   │   │   │   │   │   ├── mpu_armv8.h
│   │   │   │   │   │   ├── pac_armv81.h
│   │   │   │   │   │   ├── pmu_armv8.h
│   │   │   │   │   │   └── tz_context.h
│   │   │   │   │   └── Template/
│   │   │   │   │       └── ARMv8-M/
│   │   │   │   │           ├── main_s.c
│   │   │   │   │           └── tz_context.c
│   │   │   │   ├── Core_A/
│   │   │   │   │   ├── Include/
│   │   │   │   │   │   ├── cmsis_armcc.h
│   │   │   │   │   │   ├── cmsis_armclang.h
│   │   │   │   │   │   ├── cmsis_compiler.h
│   │   │   │   │   │   ├── cmsis_cp15.h
│   │   │   │   │   │   ├── cmsis_gcc.h
│   │   │   │   │   │   ├── cmsis_iccarm.h
│   │   │   │   │   │   ├── core_ca.h
│   │   │   │   │   │   └── irq_ctrl.h
│   │   │   │   │   └── Source/
│   │   │   │   │       └── irq_ctrl_gic.c
│   │   │   │   ├── DAP/
│   │   │   │   │   └── Firmware/
│   │   │   │   │       ├── Config/
│   │   │   │   │       │   └── DAP_config.h
│   │   │   │   │       ├── Include/
│   │   │   │   │       │   └── DAP.h
│   │   │   │   │       └── Source/
│   │   │   │   │           ├── DAP.c
│   │   │   │   │           ├── DAP_vendor.c
│   │   │   │   │           ├── JTAG_DP.c
│   │   │   │   │           ├── SWO.c
│   │   │   │   │           ├── SW_DP.c
│   │   │   │   │           └── UART.c
│   │   │   │   ├── DSP/
│   │   │   │   │   ├── ComputeLibrary/
│   │   │   │   │   │   ├── Include/
│   │   │   │   │   │   │   └── NEMath.h
│   │   │   │   │   │   ├── LICENSE.txt
│   │   │   │   │   │   └── Source/
│   │   │   │   │   │       └── arm_cl_tables.c
│   │   │   │   │   ├── Examples/
│   │   │   │   │   │   └── ARM/
│   │   │   │   │   │       ├── arm_bayes_example/
│   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │       │   └── arm_bayes_example_f32.c
│   │   │   │   │   │       ├── arm_class_marks_example/
│   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │       │   └── arm_class_marks_example_f32.c
│   │   │   │   │   │       ├── arm_convolution_example/
│   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │       │   ├── arm_convolution_example_f32.c
│   │   │   │   │   │       │   ├── math_helper.c
│   │   │   │   │   │       │   └── math_helper.h
│   │   │   │   │   │       ├── arm_dotproduct_example/
│   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │       │   └── arm_dotproduct_example_f32.c
│   │   │   │   │   │       ├── arm_fft_bin_example/
│   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │       │   ├── arm_fft_bin_data.c
│   │   │   │   │   │       │   └── arm_fft_bin_example_f32.c
│   │   │   │   │   │       ├── arm_fir_example/
│   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │       │   ├── arm_fir_data.c
│   │   │   │   │   │       │   ├── arm_fir_example_f32.c
│   │   │   │   │   │       │   ├── math_helper.c
│   │   │   │   │   │       │   └── math_helper.h
│   │   │   │   │   │       ├── arm_graphic_equalizer_example/
│   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │       │   ├── arm_graphic_equalizer_data.c
│   │   │   │   │   │       │   ├── arm_graphic_equalizer_example_q31.c
│   │   │   │   │   │       │   ├── math_helper.c
│   │   │   │   │   │       │   └── math_helper.h
│   │   │   │   │   │       ├── arm_linear_interp_example/
│   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │       │   ├── arm_linear_interp_data.c
│   │   │   │   │   │       │   ├── arm_linear_interp_example_f32.c
│   │   │   │   │   │       │   ├── math_helper.c
│   │   │   │   │   │       │   └── math_helper.h
│   │   │   │   │   │       ├── arm_matrix_example/
│   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │       │   ├── arm_matrix_example_f32.c
│   │   │   │   │   │       │   ├── math_helper.c
│   │   │   │   │   │       │   └── math_helper.h
│   │   │   │   │   │       ├── arm_signal_converge_example/
│   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │       │   ├── arm_signal_converge_data.c
│   │   │   │   │   │       │   ├── arm_signal_converge_example_f32.c
│   │   │   │   │   │       │   ├── math_helper.c
│   │   │   │   │   │       │   └── math_helper.h
│   │   │   │   │   │       ├── arm_sin_cos_example/
│   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │       │   └── arm_sin_cos_example_f32.c
│   │   │   │   │   │       ├── arm_svm_example/
│   │   │   │   │   │       │   ├── ARMCM0_config.txt
│   │   │   │   │   │       │   ├── ARMCM3_config.txt
│   │   │   │   │   │       │   ├── ARMCM4_FP_config.txt
│   │   │   │   │   │       │   ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │       │   ├── ARMCM7_SP_config.txt
│   │   │   │   │   │       │   ├── Abstract.txt
│   │   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │   │       │   ├── RTE/
│   │   │   │   │   │       │   │   └── Device/
│   │   │   │   │   │       │   │       ├── ARMCM0/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM0.c
│   │   │   │   │   │       │   │       ├── ARMCM3/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM3.c
│   │   │   │   │   │       │   │       ├── ARMCM4_FP/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM4.c
│   │   │   │   │   │       │   │       ├── ARMCM55/
│   │   │   │   │   │       │   │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │       │   │       │   └── system_ARMCM55.c
│   │   │   │   │   │       │   │       └── ARMCM7_SP/
│   │   │   │   │   │       │   │           ├── startup_ARMCM7.c
│   │   │   │   │   │       │   │           └── system_ARMCM7.c
│   │   │   │   │   │       │   └── arm_svm_example_f32.c
│   │   │   │   │   │       └── arm_variance_example/
│   │   │   │   │   │           ├── ARMCM0_config.txt
│   │   │   │   │   │           ├── ARMCM3_config.txt
│   │   │   │   │   │           ├── ARMCM4_FP_config.txt
│   │   │   │   │   │           ├── ARMCM55_FP_MVE_config.txt
│   │   │   │   │   │           ├── ARMCM7_SP_config.txt
│   │   │   │   │   │           ├── Abstract.txt
│   │   │   │   │   │           ├── CMakeLists.txt
│   │   │   │   │   │           ├── RTE/
│   │   │   │   │   │           │   └── Device/
│   │   │   │   │   │           │       ├── ARMCM0/
│   │   │   │   │   │           │       │   ├── startup_ARMCM0.c
│   │   │   │   │   │           │       │   └── system_ARMCM0.c
│   │   │   │   │   │           │       ├── ARMCM3/
│   │   │   │   │   │           │       │   ├── startup_ARMCM3.c
│   │   │   │   │   │           │       │   └── system_ARMCM3.c
│   │   │   │   │   │           │       ├── ARMCM4_FP/
│   │   │   │   │   │           │       │   ├── startup_ARMCM4.c
│   │   │   │   │   │           │       │   └── system_ARMCM4.c
│   │   │   │   │   │           │       ├── ARMCM55/
│   │   │   │   │   │           │       │   ├── startup_ARMCM55.c
│   │   │   │   │   │           │       │   └── system_ARMCM55.c
│   │   │   │   │   │           │       └── ARMCM7_SP/
│   │   │   │   │   │           │           ├── startup_ARMCM7.c
│   │   │   │   │   │           │           └── system_ARMCM7.c
│   │   │   │   │   │           └── arm_variance_example_f32.c
│   │   │   │   │   ├── Include/
│   │   │   │   │   │   ├── arm_common_tables.h
│   │   │   │   │   │   ├── arm_common_tables_f16.h
│   │   │   │   │   │   ├── arm_const_structs.h
│   │   │   │   │   │   ├── arm_const_structs_f16.h
│   │   │   │   │   │   ├── arm_helium_utils.h
│   │   │   │   │   │   ├── arm_math.h
│   │   │   │   │   │   ├── arm_math_f16.h
│   │   │   │   │   │   ├── arm_math_memory.h
│   │   │   │   │   │   ├── arm_math_types.h
│   │   │   │   │   │   ├── arm_math_types_f16.h
│   │   │   │   │   │   ├── arm_mve_tables.h
│   │   │   │   │   │   ├── arm_mve_tables_f16.h
│   │   │   │   │   │   ├── arm_vec_math.h
│   │   │   │   │   │   ├── arm_vec_math_f16.h
│   │   │   │   │   │   └── dsp/
│   │   │   │   │   │       ├── basic_math_functions.h
│   │   │   │   │   │       ├── basic_math_functions_f16.h
│   │   │   │   │   │       ├── bayes_functions.h
│   │   │   │   │   │       ├── bayes_functions_f16.h
│   │   │   │   │   │       ├── complex_math_functions.h
│   │   │   │   │   │       ├── complex_math_functions_f16.h
│   │   │   │   │   │       ├── controller_functions.h
│   │   │   │   │   │       ├── controller_functions_f16.h
│   │   │   │   │   │       ├── distance_functions.h
│   │   │   │   │   │       ├── distance_functions_f16.h
│   │   │   │   │   │       ├── fast_math_functions.h
│   │   │   │   │   │       ├── fast_math_functions_f16.h
│   │   │   │   │   │       ├── filtering_functions.h
│   │   │   │   │   │       ├── filtering_functions_f16.h
│   │   │   │   │   │       ├── interpolation_functions.h
│   │   │   │   │   │       ├── interpolation_functions_f16.h
│   │   │   │   │   │       ├── matrix_functions.h
│   │   │   │   │   │       ├── matrix_functions_f16.h
│   │   │   │   │   │       ├── none.h
│   │   │   │   │   │       ├── quaternion_math_functions.h
│   │   │   │   │   │       ├── statistics_functions.h
│   │   │   │   │   │       ├── statistics_functions_f16.h
│   │   │   │   │   │       ├── support_functions.h
│   │   │   │   │   │       ├── support_functions_f16.h
│   │   │   │   │   │       ├── svm_defines.h
│   │   │   │   │   │       ├── svm_functions.h
│   │   │   │   │   │       ├── svm_functions_f16.h
│   │   │   │   │   │       ├── transform_functions.h
│   │   │   │   │   │       ├── transform_functions_f16.h
│   │   │   │   │   │       └── utils.h
│   │   │   │   │   ├── PrivateInclude/
│   │   │   │   │   │   ├── arm_sorting.h
│   │   │   │   │   │   ├── arm_vec_fft.h
│   │   │   │   │   │   └── arm_vec_filtering.h
│   │   │   │   │   └── Source/
│   │   │   │   │       ├── BasicMathFunctions/
│   │   │   │   │       │   ├── BasicMathFunctions.c
│   │   │   │   │       │   ├── BasicMathFunctionsF16.c
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── arm_abs_f16.c
│   │   │   │   │       │   ├── arm_abs_f32.c
│   │   │   │   │       │   ├── arm_abs_f64.c
│   │   │   │   │       │   ├── arm_abs_q15.c
│   │   │   │   │       │   ├── arm_abs_q31.c
│   │   │   │   │       │   ├── arm_abs_q7.c
│   │   │   │   │       │   ├── arm_add_f16.c
│   │   │   │   │       │   ├── arm_add_f32.c
│   │   │   │   │       │   ├── arm_add_f64.c
│   │   │   │   │       │   ├── arm_add_q15.c
│   │   │   │   │       │   ├── arm_add_q31.c
│   │   │   │   │       │   ├── arm_add_q7.c
│   │   │   │   │       │   ├── arm_and_u16.c
│   │   │   │   │       │   ├── arm_and_u32.c
│   │   │   │   │       │   ├── arm_and_u8.c
│   │   │   │   │       │   ├── arm_clip_f16.c
│   │   │   │   │       │   ├── arm_clip_f32.c
│   │   │   │   │       │   ├── arm_clip_q15.c
│   │   │   │   │       │   ├── arm_clip_q31.c
│   │   │   │   │       │   ├── arm_clip_q7.c
│   │   │   │   │       │   ├── arm_dot_prod_f16.c
│   │   │   │   │       │   ├── arm_dot_prod_f32.c
│   │   │   │   │       │   ├── arm_dot_prod_f64.c
│   │   │   │   │       │   ├── arm_dot_prod_q15.c
│   │   │   │   │       │   ├── arm_dot_prod_q31.c
│   │   │   │   │       │   ├── arm_dot_prod_q7.c
│   │   │   │   │       │   ├── arm_mult_f16.c
│   │   │   │   │       │   ├── arm_mult_f32.c
│   │   │   │   │       │   ├── arm_mult_f64.c
│   │   │   │   │       │   ├── arm_mult_q15.c
│   │   │   │   │       │   ├── arm_mult_q31.c
│   │   │   │   │       │   ├── arm_mult_q7.c
│   │   │   │   │       │   ├── arm_negate_f16.c
│   │   │   │   │       │   ├── arm_negate_f32.c
│   │   │   │   │       │   ├── arm_negate_f64.c
│   │   │   │   │       │   ├── arm_negate_q15.c
│   │   │   │   │       │   ├── arm_negate_q31.c
│   │   │   │   │       │   ├── arm_negate_q7.c
│   │   │   │   │       │   ├── arm_not_u16.c
│   │   │   │   │       │   ├── arm_not_u32.c
│   │   │   │   │       │   ├── arm_not_u8.c
│   │   │   │   │       │   ├── arm_offset_f16.c
│   │   │   │   │       │   ├── arm_offset_f32.c
│   │   │   │   │       │   ├── arm_offset_f64.c
│   │   │   │   │       │   ├── arm_offset_q15.c
│   │   │   │   │       │   ├── arm_offset_q31.c
│   │   │   │   │       │   ├── arm_offset_q7.c
│   │   │   │   │       │   ├── arm_or_u16.c
│   │   │   │   │       │   ├── arm_or_u32.c
│   │   │   │   │       │   ├── arm_or_u8.c
│   │   │   │   │       │   ├── arm_scale_f16.c
│   │   │   │   │       │   ├── arm_scale_f32.c
│   │   │   │   │       │   ├── arm_scale_f64.c
│   │   │   │   │       │   ├── arm_scale_q15.c
│   │   │   │   │       │   ├── arm_scale_q31.c
│   │   │   │   │       │   ├── arm_scale_q7.c
│   │   │   │   │       │   ├── arm_shift_q15.c
│   │   │   │   │       │   ├── arm_shift_q31.c
│   │   │   │   │       │   ├── arm_shift_q7.c
│   │   │   │   │       │   ├── arm_sub_f16.c
│   │   │   │   │       │   ├── arm_sub_f32.c
│   │   │   │   │       │   ├── arm_sub_f64.c
│   │   │   │   │       │   ├── arm_sub_q15.c
│   │   │   │   │       │   ├── arm_sub_q31.c
│   │   │   │   │       │   ├── arm_sub_q7.c
│   │   │   │   │       │   ├── arm_xor_u16.c
│   │   │   │   │       │   ├── arm_xor_u32.c
│   │   │   │   │       │   └── arm_xor_u8.c
│   │   │   │   │       ├── BayesFunctions/
│   │   │   │   │       │   ├── BayesFunctions.c
│   │   │   │   │       │   ├── BayesFunctionsF16.c
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── arm_gaussian_naive_bayes_predict_f16.c
│   │   │   │   │       │   └── arm_gaussian_naive_bayes_predict_f32.c
│   │   │   │   │       ├── CMakeLists.txt
│   │   │   │   │       ├── CommonTables/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── CommonTables.c
│   │   │   │   │       │   ├── CommonTablesF16.c
│   │   │   │   │       │   ├── arm_common_tables.c
│   │   │   │   │       │   ├── arm_common_tables_f16.c
│   │   │   │   │       │   ├── arm_const_structs.c
│   │   │   │   │       │   ├── arm_const_structs_f16.c
│   │   │   │   │       │   ├── arm_mve_tables.c
│   │   │   │   │       │   └── arm_mve_tables_f16.c
│   │   │   │   │       ├── ComplexMathFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── ComplexMathFunctions.c
│   │   │   │   │       │   ├── ComplexMathFunctionsF16.c
│   │   │   │   │       │   ├── arm_cmplx_conj_f16.c
│   │   │   │   │       │   ├── arm_cmplx_conj_f32.c
│   │   │   │   │       │   ├── arm_cmplx_conj_q15.c
│   │   │   │   │       │   ├── arm_cmplx_conj_q31.c
│   │   │   │   │       │   ├── arm_cmplx_dot_prod_f16.c
│   │   │   │   │       │   ├── arm_cmplx_dot_prod_f32.c
│   │   │   │   │       │   ├── arm_cmplx_dot_prod_q15.c
│   │   │   │   │       │   ├── arm_cmplx_dot_prod_q31.c
│   │   │   │   │       │   ├── arm_cmplx_mag_f16.c
│   │   │   │   │       │   ├── arm_cmplx_mag_f32.c
│   │   │   │   │       │   ├── arm_cmplx_mag_f64.c
│   │   │   │   │       │   ├── arm_cmplx_mag_fast_q15.c
│   │   │   │   │       │   ├── arm_cmplx_mag_q15.c
│   │   │   │   │       │   ├── arm_cmplx_mag_q31.c
│   │   │   │   │       │   ├── arm_cmplx_mag_squared_f16.c
│   │   │   │   │       │   ├── arm_cmplx_mag_squared_f32.c
│   │   │   │   │       │   ├── arm_cmplx_mag_squared_f64.c
│   │   │   │   │       │   ├── arm_cmplx_mag_squared_q15.c
│   │   │   │   │       │   ├── arm_cmplx_mag_squared_q31.c
│   │   │   │   │       │   ├── arm_cmplx_mult_cmplx_f16.c
│   │   │   │   │       │   ├── arm_cmplx_mult_cmplx_f32.c
│   │   │   │   │       │   ├── arm_cmplx_mult_cmplx_f64.c
│   │   │   │   │       │   ├── arm_cmplx_mult_cmplx_q15.c
│   │   │   │   │       │   ├── arm_cmplx_mult_cmplx_q31.c
│   │   │   │   │       │   ├── arm_cmplx_mult_real_f16.c
│   │   │   │   │       │   ├── arm_cmplx_mult_real_f32.c
│   │   │   │   │       │   ├── arm_cmplx_mult_real_q15.c
│   │   │   │   │       │   └── arm_cmplx_mult_real_q31.c
│   │   │   │   │       ├── ControllerFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── ControllerFunctions.c
│   │   │   │   │       │   ├── arm_pid_init_f32.c
│   │   │   │   │       │   ├── arm_pid_init_q15.c
│   │   │   │   │       │   ├── arm_pid_init_q31.c
│   │   │   │   │       │   ├── arm_pid_reset_f32.c
│   │   │   │   │       │   ├── arm_pid_reset_q15.c
│   │   │   │   │       │   ├── arm_pid_reset_q31.c
│   │   │   │   │       │   ├── arm_sin_cos_f32.c
│   │   │   │   │       │   └── arm_sin_cos_q31.c
│   │   │   │   │       ├── DistanceFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── DistanceFunctions.c
│   │   │   │   │       │   ├── DistanceFunctionsF16.c
│   │   │   │   │       │   ├── arm_boolean_distance.c
│   │   │   │   │       │   ├── arm_boolean_distance_template.h
│   │   │   │   │       │   ├── arm_braycurtis_distance_f16.c
│   │   │   │   │       │   ├── arm_braycurtis_distance_f32.c
│   │   │   │   │       │   ├── arm_canberra_distance_f16.c
│   │   │   │   │       │   ├── arm_canberra_distance_f32.c
│   │   │   │   │       │   ├── arm_chebyshev_distance_f16.c
│   │   │   │   │       │   ├── arm_chebyshev_distance_f32.c
│   │   │   │   │       │   ├── arm_chebyshev_distance_f64.c
│   │   │   │   │       │   ├── arm_cityblock_distance_f16.c
│   │   │   │   │       │   ├── arm_cityblock_distance_f32.c
│   │   │   │   │       │   ├── arm_cityblock_distance_f64.c
│   │   │   │   │       │   ├── arm_correlation_distance_f16.c
│   │   │   │   │       │   ├── arm_correlation_distance_f32.c
│   │   │   │   │       │   ├── arm_cosine_distance_f16.c
│   │   │   │   │       │   ├── arm_cosine_distance_f32.c
│   │   │   │   │       │   ├── arm_cosine_distance_f64.c
│   │   │   │   │       │   ├── arm_dice_distance.c
│   │   │   │   │       │   ├── arm_euclidean_distance_f16.c
│   │   │   │   │       │   ├── arm_euclidean_distance_f32.c
│   │   │   │   │       │   ├── arm_euclidean_distance_f64.c
│   │   │   │   │       │   ├── arm_hamming_distance.c
│   │   │   │   │       │   ├── arm_jaccard_distance.c
│   │   │   │   │       │   ├── arm_jensenshannon_distance_f16.c
│   │   │   │   │       │   ├── arm_jensenshannon_distance_f32.c
│   │   │   │   │       │   ├── arm_kulsinski_distance.c
│   │   │   │   │       │   ├── arm_minkowski_distance_f16.c
│   │   │   │   │       │   ├── arm_minkowski_distance_f32.c
│   │   │   │   │       │   ├── arm_rogerstanimoto_distance.c
│   │   │   │   │       │   ├── arm_russellrao_distance.c
│   │   │   │   │       │   ├── arm_sokalmichener_distance.c
│   │   │   │   │       │   ├── arm_sokalsneath_distance.c
│   │   │   │   │       │   └── arm_yule_distance.c
│   │   │   │   │       ├── FastMathFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── FastMathFunctions.c
│   │   │   │   │       │   ├── FastMathFunctionsF16.c
│   │   │   │   │       │   ├── arm_atan2_f16.c
│   │   │   │   │       │   ├── arm_atan2_f32.c
│   │   │   │   │       │   ├── arm_atan2_q15.c
│   │   │   │   │       │   ├── arm_atan2_q31.c
│   │   │   │   │       │   ├── arm_cos_f32.c
│   │   │   │   │       │   ├── arm_cos_q15.c
│   │   │   │   │       │   ├── arm_cos_q31.c
│   │   │   │   │       │   ├── arm_divide_q15.c
│   │   │   │   │       │   ├── arm_divide_q31.c
│   │   │   │   │       │   ├── arm_sin_f32.c
│   │   │   │   │       │   ├── arm_sin_q15.c
│   │   │   │   │       │   ├── arm_sin_q31.c
│   │   │   │   │       │   ├── arm_sqrt_q15.c
│   │   │   │   │       │   ├── arm_sqrt_q31.c
│   │   │   │   │       │   ├── arm_vexp_f16.c
│   │   │   │   │       │   ├── arm_vexp_f32.c
│   │   │   │   │       │   ├── arm_vexp_f64.c
│   │   │   │   │       │   ├── arm_vinverse_f16.c
│   │   │   │   │       │   ├── arm_vlog_f16.c
│   │   │   │   │       │   ├── arm_vlog_f32.c
│   │   │   │   │       │   ├── arm_vlog_f64.c
│   │   │   │   │       │   ├── arm_vlog_q15.c
│   │   │   │   │       │   └── arm_vlog_q31.c
│   │   │   │   │       ├── FilteringFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── FilteringFunctions.c
│   │   │   │   │       │   ├── FilteringFunctionsF16.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df1_32x64_init_q31.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df1_32x64_q31.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df1_f16.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df1_f32.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df1_fast_q15.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df1_fast_q31.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df1_init_f16.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df1_init_f32.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df1_init_q15.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df1_init_q31.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df1_q15.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df1_q31.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df2T_f16.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df2T_f32.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df2T_f64.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df2T_init_f16.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df2T_init_f32.c
│   │   │   │   │       │   ├── arm_biquad_cascade_df2T_init_f64.c
│   │   │   │   │       │   ├── arm_biquad_cascade_stereo_df2T_f16.c
│   │   │   │   │       │   ├── arm_biquad_cascade_stereo_df2T_f32.c
│   │   │   │   │       │   ├── arm_biquad_cascade_stereo_df2T_init_f16.c
│   │   │   │   │       │   ├── arm_biquad_cascade_stereo_df2T_init_f32.c
│   │   │   │   │       │   ├── arm_conv_f32.c
│   │   │   │   │       │   ├── arm_conv_fast_opt_q15.c
│   │   │   │   │       │   ├── arm_conv_fast_q15.c
│   │   │   │   │       │   ├── arm_conv_fast_q31.c
│   │   │   │   │       │   ├── arm_conv_opt_q15.c
│   │   │   │   │       │   ├── arm_conv_opt_q7.c
│   │   │   │   │       │   ├── arm_conv_partial_f32.c
│   │   │   │   │       │   ├── arm_conv_partial_fast_opt_q15.c
│   │   │   │   │       │   ├── arm_conv_partial_fast_q15.c
│   │   │   │   │       │   ├── arm_conv_partial_fast_q31.c
│   │   │   │   │       │   ├── arm_conv_partial_opt_q15.c
│   │   │   │   │       │   ├── arm_conv_partial_opt_q7.c
│   │   │   │   │       │   ├── arm_conv_partial_q15.c
│   │   │   │   │       │   ├── arm_conv_partial_q31.c
│   │   │   │   │       │   ├── arm_conv_partial_q7.c
│   │   │   │   │       │   ├── arm_conv_q15.c
│   │   │   │   │       │   ├── arm_conv_q31.c
│   │   │   │   │       │   ├── arm_conv_q7.c
│   │   │   │   │       │   ├── arm_correlate_f16.c
│   │   │   │   │       │   ├── arm_correlate_f32.c
│   │   │   │   │       │   ├── arm_correlate_f64.c
│   │   │   │   │       │   ├── arm_correlate_fast_opt_q15.c
│   │   │   │   │       │   ├── arm_correlate_fast_q15.c
│   │   │   │   │       │   ├── arm_correlate_fast_q31.c
│   │   │   │   │       │   ├── arm_correlate_opt_q15.c
│   │   │   │   │       │   ├── arm_correlate_opt_q7.c
│   │   │   │   │       │   ├── arm_correlate_q15.c
│   │   │   │   │       │   ├── arm_correlate_q31.c
│   │   │   │   │       │   ├── arm_correlate_q7.c
│   │   │   │   │       │   ├── arm_fir_decimate_f32.c
│   │   │   │   │       │   ├── arm_fir_decimate_fast_q15.c
│   │   │   │   │       │   ├── arm_fir_decimate_fast_q31.c
│   │   │   │   │       │   ├── arm_fir_decimate_init_f32.c
│   │   │   │   │       │   ├── arm_fir_decimate_init_q15.c
│   │   │   │   │       │   ├── arm_fir_decimate_init_q31.c
│   │   │   │   │       │   ├── arm_fir_decimate_q15.c
│   │   │   │   │       │   ├── arm_fir_decimate_q31.c
│   │   │   │   │       │   ├── arm_fir_f16.c
│   │   │   │   │       │   ├── arm_fir_f32.c
│   │   │   │   │       │   ├── arm_fir_f64.c
│   │   │   │   │       │   ├── arm_fir_fast_q15.c
│   │   │   │   │       │   ├── arm_fir_fast_q31.c
│   │   │   │   │       │   ├── arm_fir_init_f16.c
│   │   │   │   │       │   ├── arm_fir_init_f32.c
│   │   │   │   │       │   ├── arm_fir_init_f64.c
│   │   │   │   │       │   ├── arm_fir_init_q15.c
│   │   │   │   │       │   ├── arm_fir_init_q31.c
│   │   │   │   │       │   ├── arm_fir_init_q7.c
│   │   │   │   │       │   ├── arm_fir_interpolate_f32.c
│   │   │   │   │       │   ├── arm_fir_interpolate_init_f32.c
│   │   │   │   │       │   ├── arm_fir_interpolate_init_q15.c
│   │   │   │   │       │   ├── arm_fir_interpolate_init_q31.c
│   │   │   │   │       │   ├── arm_fir_interpolate_q15.c
│   │   │   │   │       │   ├── arm_fir_interpolate_q31.c
│   │   │   │   │       │   ├── arm_fir_lattice_f32.c
│   │   │   │   │       │   ├── arm_fir_lattice_init_f32.c
│   │   │   │   │       │   ├── arm_fir_lattice_init_q15.c
│   │   │   │   │       │   ├── arm_fir_lattice_init_q31.c
│   │   │   │   │       │   ├── arm_fir_lattice_q15.c
│   │   │   │   │       │   ├── arm_fir_lattice_q31.c
│   │   │   │   │       │   ├── arm_fir_q15.c
│   │   │   │   │       │   ├── arm_fir_q31.c
│   │   │   │   │       │   ├── arm_fir_q7.c
│   │   │   │   │       │   ├── arm_fir_sparse_f32.c
│   │   │   │   │       │   ├── arm_fir_sparse_init_f32.c
│   │   │   │   │       │   ├── arm_fir_sparse_init_q15.c
│   │   │   │   │       │   ├── arm_fir_sparse_init_q31.c
│   │   │   │   │       │   ├── arm_fir_sparse_init_q7.c
│   │   │   │   │       │   ├── arm_fir_sparse_q15.c
│   │   │   │   │       │   ├── arm_fir_sparse_q31.c
│   │   │   │   │       │   ├── arm_fir_sparse_q7.c
│   │   │   │   │       │   ├── arm_iir_lattice_f32.c
│   │   │   │   │       │   ├── arm_iir_lattice_init_f32.c
│   │   │   │   │       │   ├── arm_iir_lattice_init_q15.c
│   │   │   │   │       │   ├── arm_iir_lattice_init_q31.c
│   │   │   │   │       │   ├── arm_iir_lattice_q15.c
│   │   │   │   │       │   ├── arm_iir_lattice_q31.c
│   │   │   │   │       │   ├── arm_levinson_durbin_f16.c
│   │   │   │   │       │   ├── arm_levinson_durbin_f32.c
│   │   │   │   │       │   ├── arm_levinson_durbin_q31.c
│   │   │   │   │       │   ├── arm_lms_f32.c
│   │   │   │   │       │   ├── arm_lms_init_f32.c
│   │   │   │   │       │   ├── arm_lms_init_q15.c
│   │   │   │   │       │   ├── arm_lms_init_q31.c
│   │   │   │   │       │   ├── arm_lms_norm_f32.c
│   │   │   │   │       │   ├── arm_lms_norm_init_f32.c
│   │   │   │   │       │   ├── arm_lms_norm_init_q15.c
│   │   │   │   │       │   ├── arm_lms_norm_init_q31.c
│   │   │   │   │       │   ├── arm_lms_norm_q15.c
│   │   │   │   │       │   ├── arm_lms_norm_q31.c
│   │   │   │   │       │   ├── arm_lms_q15.c
│   │   │   │   │       │   └── arm_lms_q31.c
│   │   │   │   │       ├── InterpolationFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── InterpolationFunctions.c
│   │   │   │   │       │   ├── InterpolationFunctionsF16.c
│   │   │   │   │       │   ├── arm_bilinear_interp_f16.c
│   │   │   │   │       │   ├── arm_bilinear_interp_f32.c
│   │   │   │   │       │   ├── arm_bilinear_interp_q15.c
│   │   │   │   │       │   ├── arm_bilinear_interp_q31.c
│   │   │   │   │       │   ├── arm_bilinear_interp_q7.c
│   │   │   │   │       │   ├── arm_linear_interp_f16.c
│   │   │   │   │       │   ├── arm_linear_interp_f32.c
│   │   │   │   │       │   ├── arm_linear_interp_q15.c
│   │   │   │   │       │   ├── arm_linear_interp_q31.c
│   │   │   │   │       │   ├── arm_linear_interp_q7.c
│   │   │   │   │       │   ├── arm_spline_interp_f32.c
│   │   │   │   │       │   └── arm_spline_interp_init_f32.c
│   │   │   │   │       ├── MatrixFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── MatrixFunctions.c
│   │   │   │   │       │   ├── MatrixFunctionsF16.c
│   │   │   │   │       │   ├── arm_mat_add_f16.c
│   │   │   │   │       │   ├── arm_mat_add_f32.c
│   │   │   │   │       │   ├── arm_mat_add_q15.c
│   │   │   │   │       │   ├── arm_mat_add_q31.c
│   │   │   │   │       │   ├── arm_mat_cholesky_f16.c
│   │   │   │   │       │   ├── arm_mat_cholesky_f32.c
│   │   │   │   │       │   ├── arm_mat_cholesky_f64.c
│   │   │   │   │       │   ├── arm_mat_cmplx_mult_f16.c
│   │   │   │   │       │   ├── arm_mat_cmplx_mult_f32.c
│   │   │   │   │       │   ├── arm_mat_cmplx_mult_q15.c
│   │   │   │   │       │   ├── arm_mat_cmplx_mult_q31.c
│   │   │   │   │       │   ├── arm_mat_cmplx_trans_f16.c
│   │   │   │   │       │   ├── arm_mat_cmplx_trans_f32.c
│   │   │   │   │       │   ├── arm_mat_cmplx_trans_q15.c
│   │   │   │   │       │   ├── arm_mat_cmplx_trans_q31.c
│   │   │   │   │       │   ├── arm_mat_init_f16.c
│   │   │   │   │       │   ├── arm_mat_init_f32.c
│   │   │   │   │       │   ├── arm_mat_init_q15.c
│   │   │   │   │       │   ├── arm_mat_init_q31.c
│   │   │   │   │       │   ├── arm_mat_inverse_f16.c
│   │   │   │   │       │   ├── arm_mat_inverse_f32.c
│   │   │   │   │       │   ├── arm_mat_inverse_f64.c
│   │   │   │   │       │   ├── arm_mat_ldlt_f32.c
│   │   │   │   │       │   ├── arm_mat_ldlt_f64.c
│   │   │   │   │       │   ├── arm_mat_mult_f16.c
│   │   │   │   │       │   ├── arm_mat_mult_f32.c
│   │   │   │   │       │   ├── arm_mat_mult_f64.c
│   │   │   │   │       │   ├── arm_mat_mult_fast_q15.c
│   │   │   │   │       │   ├── arm_mat_mult_fast_q31.c
│   │   │   │   │       │   ├── arm_mat_mult_opt_q31.c
│   │   │   │   │       │   ├── arm_mat_mult_q15.c
│   │   │   │   │       │   ├── arm_mat_mult_q31.c
│   │   │   │   │       │   ├── arm_mat_mult_q7.c
│   │   │   │   │       │   ├── arm_mat_scale_f16.c
│   │   │   │   │       │   ├── arm_mat_scale_f32.c
│   │   │   │   │       │   ├── arm_mat_scale_q15.c
│   │   │   │   │       │   ├── arm_mat_scale_q31.c
│   │   │   │   │       │   ├── arm_mat_solve_lower_triangular_f16.c
│   │   │   │   │       │   ├── arm_mat_solve_lower_triangular_f32.c
│   │   │   │   │       │   ├── arm_mat_solve_lower_triangular_f64.c
│   │   │   │   │       │   ├── arm_mat_solve_upper_triangular_f16.c
│   │   │   │   │       │   ├── arm_mat_solve_upper_triangular_f32.c
│   │   │   │   │       │   ├── arm_mat_solve_upper_triangular_f64.c
│   │   │   │   │       │   ├── arm_mat_sub_f16.c
│   │   │   │   │       │   ├── arm_mat_sub_f32.c
│   │   │   │   │       │   ├── arm_mat_sub_f64.c
│   │   │   │   │       │   ├── arm_mat_sub_q15.c
│   │   │   │   │       │   ├── arm_mat_sub_q31.c
│   │   │   │   │       │   ├── arm_mat_trans_f16.c
│   │   │   │   │       │   ├── arm_mat_trans_f32.c
│   │   │   │   │       │   ├── arm_mat_trans_f64.c
│   │   │   │   │       │   ├── arm_mat_trans_q15.c
│   │   │   │   │       │   ├── arm_mat_trans_q31.c
│   │   │   │   │       │   ├── arm_mat_trans_q7.c
│   │   │   │   │       │   ├── arm_mat_vec_mult_f16.c
│   │   │   │   │       │   ├── arm_mat_vec_mult_f32.c
│   │   │   │   │       │   ├── arm_mat_vec_mult_q15.c
│   │   │   │   │       │   ├── arm_mat_vec_mult_q31.c
│   │   │   │   │       │   └── arm_mat_vec_mult_q7.c
│   │   │   │   │       ├── QuaternionMathFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── QuaternionMathFunctions.c
│   │   │   │   │       │   ├── arm_quaternion2rotation_f32.c
│   │   │   │   │       │   ├── arm_quaternion_conjugate_f32.c
│   │   │   │   │       │   ├── arm_quaternion_inverse_f32.c
│   │   │   │   │       │   ├── arm_quaternion_norm_f32.c
│   │   │   │   │       │   ├── arm_quaternion_normalize_f32.c
│   │   │   │   │       │   ├── arm_quaternion_product_f32.c
│   │   │   │   │       │   ├── arm_quaternion_product_single_f32.c
│   │   │   │   │       │   └── arm_rotation2quaternion_f32.c
│   │   │   │   │       ├── SVMFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── SVMFunctions.c
│   │   │   │   │       │   ├── SVMFunctionsF16.c
│   │   │   │   │       │   ├── arm_svm_linear_init_f16.c
│   │   │   │   │       │   ├── arm_svm_linear_init_f32.c
│   │   │   │   │       │   ├── arm_svm_linear_predict_f16.c
│   │   │   │   │       │   ├── arm_svm_linear_predict_f32.c
│   │   │   │   │       │   ├── arm_svm_polynomial_init_f16.c
│   │   │   │   │       │   ├── arm_svm_polynomial_init_f32.c
│   │   │   │   │       │   ├── arm_svm_polynomial_predict_f16.c
│   │   │   │   │       │   ├── arm_svm_polynomial_predict_f32.c
│   │   │   │   │       │   ├── arm_svm_rbf_init_f16.c
│   │   │   │   │       │   ├── arm_svm_rbf_init_f32.c
│   │   │   │   │       │   ├── arm_svm_rbf_predict_f16.c
│   │   │   │   │       │   ├── arm_svm_rbf_predict_f32.c
│   │   │   │   │       │   ├── arm_svm_sigmoid_init_f16.c
│   │   │   │   │       │   ├── arm_svm_sigmoid_init_f32.c
│   │   │   │   │       │   ├── arm_svm_sigmoid_predict_f16.c
│   │   │   │   │       │   └── arm_svm_sigmoid_predict_f32.c
│   │   │   │   │       ├── StatisticsFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── StatisticsFunctions.c
│   │   │   │   │       │   ├── StatisticsFunctionsF16.c
│   │   │   │   │       │   ├── arm_absmax_f16.c
│   │   │   │   │       │   ├── arm_absmax_f32.c
│   │   │   │   │       │   ├── arm_absmax_f64.c
│   │   │   │   │       │   ├── arm_absmax_no_idx_f16.c
│   │   │   │   │       │   ├── arm_absmax_no_idx_f32.c
│   │   │   │   │       │   ├── arm_absmax_no_idx_f64.c
│   │   │   │   │       │   ├── arm_absmax_no_idx_q15.c
│   │   │   │   │       │   ├── arm_absmax_no_idx_q31.c
│   │   │   │   │       │   ├── arm_absmax_no_idx_q7.c
│   │   │   │   │       │   ├── arm_absmax_q15.c
│   │   │   │   │       │   ├── arm_absmax_q31.c
│   │   │   │   │       │   ├── arm_absmax_q7.c
│   │   │   │   │       │   ├── arm_absmin_f16.c
│   │   │   │   │       │   ├── arm_absmin_f32.c
│   │   │   │   │       │   ├── arm_absmin_f64.c
│   │   │   │   │       │   ├── arm_absmin_no_idx_f16.c
│   │   │   │   │       │   ├── arm_absmin_no_idx_f32.c
│   │   │   │   │       │   ├── arm_absmin_no_idx_f64.c
│   │   │   │   │       │   ├── arm_absmin_no_idx_q15.c
│   │   │   │   │       │   ├── arm_absmin_no_idx_q31.c
│   │   │   │   │       │   ├── arm_absmin_no_idx_q7.c
│   │   │   │   │       │   ├── arm_absmin_q15.c
│   │   │   │   │       │   ├── arm_absmin_q31.c
│   │   │   │   │       │   ├── arm_absmin_q7.c
│   │   │   │   │       │   ├── arm_entropy_f16.c
│   │   │   │   │       │   ├── arm_entropy_f32.c
│   │   │   │   │       │   ├── arm_entropy_f64.c
│   │   │   │   │       │   ├── arm_kullback_leibler_f16.c
│   │   │   │   │       │   ├── arm_kullback_leibler_f32.c
│   │   │   │   │       │   ├── arm_kullback_leibler_f64.c
│   │   │   │   │       │   ├── arm_logsumexp_dot_prod_f16.c
│   │   │   │   │       │   ├── arm_logsumexp_dot_prod_f32.c
│   │   │   │   │       │   ├── arm_logsumexp_f16.c
│   │   │   │   │       │   ├── arm_logsumexp_f32.c
│   │   │   │   │       │   ├── arm_max_f16.c
│   │   │   │   │       │   ├── arm_max_f32.c
│   │   │   │   │       │   ├── arm_max_f64.c
│   │   │   │   │       │   ├── arm_max_no_idx_f16.c
│   │   │   │   │       │   ├── arm_max_no_idx_f32.c
│   │   │   │   │       │   ├── arm_max_no_idx_f64.c
│   │   │   │   │       │   ├── arm_max_no_idx_q15.c
│   │   │   │   │       │   ├── arm_max_no_idx_q31.c
│   │   │   │   │       │   ├── arm_max_no_idx_q7.c
│   │   │   │   │       │   ├── arm_max_q15.c
│   │   │   │   │       │   ├── arm_max_q31.c
│   │   │   │   │       │   ├── arm_max_q7.c
│   │   │   │   │       │   ├── arm_mean_f16.c
│   │   │   │   │       │   ├── arm_mean_f32.c
│   │   │   │   │       │   ├── arm_mean_f64.c
│   │   │   │   │       │   ├── arm_mean_q15.c
│   │   │   │   │       │   ├── arm_mean_q31.c
│   │   │   │   │       │   ├── arm_mean_q7.c
│   │   │   │   │       │   ├── arm_min_f16.c
│   │   │   │   │       │   ├── arm_min_f32.c
│   │   │   │   │       │   ├── arm_min_f64.c
│   │   │   │   │       │   ├── arm_min_no_idx_f16.c
│   │   │   │   │       │   ├── arm_min_no_idx_f32.c
│   │   │   │   │       │   ├── arm_min_no_idx_f64.c
│   │   │   │   │       │   ├── arm_min_no_idx_q15.c
│   │   │   │   │       │   ├── arm_min_no_idx_q31.c
│   │   │   │   │       │   ├── arm_min_no_idx_q7.c
│   │   │   │   │       │   ├── arm_min_q15.c
│   │   │   │   │       │   ├── arm_min_q31.c
│   │   │   │   │       │   ├── arm_min_q7.c
│   │   │   │   │       │   ├── arm_mse_f16.c
│   │   │   │   │       │   ├── arm_mse_f32.c
│   │   │   │   │       │   ├── arm_mse_f64.c
│   │   │   │   │       │   ├── arm_mse_q15.c
│   │   │   │   │       │   ├── arm_mse_q31.c
│   │   │   │   │       │   ├── arm_mse_q7.c
│   │   │   │   │       │   ├── arm_power_f16.c
│   │   │   │   │       │   ├── arm_power_f32.c
│   │   │   │   │       │   ├── arm_power_f64.c
│   │   │   │   │       │   ├── arm_power_q15.c
│   │   │   │   │       │   ├── arm_power_q31.c
│   │   │   │   │       │   ├── arm_power_q7.c
│   │   │   │   │       │   ├── arm_rms_f16.c
│   │   │   │   │       │   ├── arm_rms_f32.c
│   │   │   │   │       │   ├── arm_rms_q15.c
│   │   │   │   │       │   ├── arm_rms_q31.c
│   │   │   │   │       │   ├── arm_std_f16.c
│   │   │   │   │       │   ├── arm_std_f32.c
│   │   │   │   │       │   ├── arm_std_f64.c
│   │   │   │   │       │   ├── arm_std_q15.c
│   │   │   │   │       │   ├── arm_std_q31.c
│   │   │   │   │       │   ├── arm_var_f16.c
│   │   │   │   │       │   ├── arm_var_f32.c
│   │   │   │   │       │   ├── arm_var_f64.c
│   │   │   │   │       │   ├── arm_var_q15.c
│   │   │   │   │       │   └── arm_var_q31.c
│   │   │   │   │       ├── SupportFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── SupportFunctions.c
│   │   │   │   │       │   ├── SupportFunctionsF16.c
│   │   │   │   │       │   ├── arm_barycenter_f16.c
│   │   │   │   │       │   ├── arm_barycenter_f32.c
│   │   │   │   │       │   ├── arm_bitonic_sort_f32.c
│   │   │   │   │       │   ├── arm_bubble_sort_f32.c
│   │   │   │   │       │   ├── arm_copy_f16.c
│   │   │   │   │       │   ├── arm_copy_f32.c
│   │   │   │   │       │   ├── arm_copy_f64.c
│   │   │   │   │       │   ├── arm_copy_q15.c
│   │   │   │   │       │   ├── arm_copy_q31.c
│   │   │   │   │       │   ├── arm_copy_q7.c
│   │   │   │   │       │   ├── arm_f16_to_float.c
│   │   │   │   │       │   ├── arm_f16_to_q15.c
│   │   │   │   │       │   ├── arm_fill_f16.c
│   │   │   │   │       │   ├── arm_fill_f32.c
│   │   │   │   │       │   ├── arm_fill_f64.c
│   │   │   │   │       │   ├── arm_fill_q15.c
│   │   │   │   │       │   ├── arm_fill_q31.c
│   │   │   │   │       │   ├── arm_fill_q7.c
│   │   │   │   │       │   ├── arm_float_to_f16.c
│   │   │   │   │       │   ├── arm_float_to_q15.c
│   │   │   │   │       │   ├── arm_float_to_q31.c
│   │   │   │   │       │   ├── arm_float_to_q7.c
│   │   │   │   │       │   ├── arm_heap_sort_f32.c
│   │   │   │   │       │   ├── arm_insertion_sort_f32.c
│   │   │   │   │       │   ├── arm_merge_sort_f32.c
│   │   │   │   │       │   ├── arm_merge_sort_init_f32.c
│   │   │   │   │       │   ├── arm_q15_to_f16.c
│   │   │   │   │       │   ├── arm_q15_to_float.c
│   │   │   │   │       │   ├── arm_q15_to_q31.c
│   │   │   │   │       │   ├── arm_q15_to_q7.c
│   │   │   │   │       │   ├── arm_q31_to_float.c
│   │   │   │   │       │   ├── arm_q31_to_q15.c
│   │   │   │   │       │   ├── arm_q31_to_q7.c
│   │   │   │   │       │   ├── arm_q7_to_float.c
│   │   │   │   │       │   ├── arm_q7_to_q15.c
│   │   │   │   │       │   ├── arm_q7_to_q31.c
│   │   │   │   │       │   ├── arm_quick_sort_f32.c
│   │   │   │   │       │   ├── arm_selection_sort_f32.c
│   │   │   │   │       │   ├── arm_sort_f32.c
│   │   │   │   │       │   ├── arm_sort_init_f32.c
│   │   │   │   │       │   ├── arm_weighted_sum_f16.c
│   │   │   │   │       │   └── arm_weighted_sum_f32.c
│   │   │   │   │       └── TransformFunctions/
│   │   │   │   │           ├── CMakeLists.txt
│   │   │   │   │           ├── TransformFunctions.c
│   │   │   │   │           ├── TransformFunctionsF16.c
│   │   │   │   │           ├── arm_bitreversal.c
│   │   │   │   │           ├── arm_bitreversal2.S
│   │   │   │   │           ├── arm_bitreversal2.c
│   │   │   │   │           ├── arm_bitreversal_f16.c
│   │   │   │   │           ├── arm_cfft_f16.c
│   │   │   │   │           ├── arm_cfft_f32.c
│   │   │   │   │           ├── arm_cfft_f64.c
│   │   │   │   │           ├── arm_cfft_init_f16.c
│   │   │   │   │           ├── arm_cfft_init_f32.c
│   │   │   │   │           ├── arm_cfft_init_f64.c
│   │   │   │   │           ├── arm_cfft_init_q15.c
│   │   │   │   │           ├── arm_cfft_init_q31.c
│   │   │   │   │           ├── arm_cfft_q15.c
│   │   │   │   │           ├── arm_cfft_q31.c
│   │   │   │   │           ├── arm_cfft_radix2_f16.c
│   │   │   │   │           ├── arm_cfft_radix2_f32.c
│   │   │   │   │           ├── arm_cfft_radix2_init_f16.c
│   │   │   │   │           ├── arm_cfft_radix2_init_f32.c
│   │   │   │   │           ├── arm_cfft_radix2_init_q15.c
│   │   │   │   │           ├── arm_cfft_radix2_init_q31.c
│   │   │   │   │           ├── arm_cfft_radix2_q15.c
│   │   │   │   │           ├── arm_cfft_radix2_q31.c
│   │   │   │   │           ├── arm_cfft_radix4_f16.c
│   │   │   │   │           ├── arm_cfft_radix4_f32.c
│   │   │   │   │           ├── arm_cfft_radix4_init_f16.c
│   │   │   │   │           ├── arm_cfft_radix4_init_f32.c
│   │   │   │   │           ├── arm_cfft_radix4_init_q15.c
│   │   │   │   │           ├── arm_cfft_radix4_init_q31.c
│   │   │   │   │           ├── arm_cfft_radix4_q15.c
│   │   │   │   │           ├── arm_cfft_radix4_q31.c
│   │   │   │   │           ├── arm_cfft_radix8_f16.c
│   │   │   │   │           ├── arm_cfft_radix8_f32.c
│   │   │   │   │           ├── arm_dct4_f32.c
│   │   │   │   │           ├── arm_dct4_init_f32.c
│   │   │   │   │           ├── arm_dct4_init_q15.c
│   │   │   │   │           ├── arm_dct4_init_q31.c
│   │   │   │   │           ├── arm_dct4_q15.c
│   │   │   │   │           ├── arm_dct4_q31.c
│   │   │   │   │           ├── arm_mfcc_f16.c
│   │   │   │   │           ├── arm_mfcc_f32.c
│   │   │   │   │           ├── arm_mfcc_init_f16.c
│   │   │   │   │           ├── arm_mfcc_init_f32.c
│   │   │   │   │           ├── arm_mfcc_init_q15.c
│   │   │   │   │           ├── arm_mfcc_init_q31.c
│   │   │   │   │           ├── arm_mfcc_q15.c
│   │   │   │   │           ├── arm_mfcc_q31.c
│   │   │   │   │           ├── arm_rfft_f32.c
│   │   │   │   │           ├── arm_rfft_fast_f16.c
│   │   │   │   │           ├── arm_rfft_fast_f32.c
│   │   │   │   │           ├── arm_rfft_fast_f64.c
│   │   │   │   │           ├── arm_rfft_fast_init_f16.c
│   │   │   │   │           ├── arm_rfft_fast_init_f32.c
│   │   │   │   │           ├── arm_rfft_fast_init_f64.c
│   │   │   │   │           ├── arm_rfft_init_f32.c
│   │   │   │   │           ├── arm_rfft_init_q15.c
│   │   │   │   │           ├── arm_rfft_init_q31.c
│   │   │   │   │           ├── arm_rfft_q15.c
│   │   │   │   │           └── arm_rfft_q31.c
│   │   │   │   ├── Device/
│   │   │   │   │   └── ST/
│   │   │   │   │       └── STM32H7xx/
│   │   │   │   │           ├── Include/
│   │   │   │   │           │   ├── stm32h745xx.h
│   │   │   │   │           │   ├── stm32h7xx.h
│   │   │   │   │           │   └── system_stm32h7xx.h
│   │   │   │   │           └── LICENSE.txt
│   │   │   │   ├── Include/
│   │   │   │   │   ├── cachel1_armv7.h
│   │   │   │   │   ├── cmsis_armcc.h
│   │   │   │   │   ├── cmsis_armclang.h
│   │   │   │   │   ├── cmsis_armclang_ltm.h
│   │   │   │   │   ├── cmsis_compiler.h
│   │   │   │   │   ├── cmsis_gcc.h
│   │   │   │   │   ├── cmsis_iccarm.h
│   │   │   │   │   ├── cmsis_version.h
│   │   │   │   │   ├── core_armv81mml.h
│   │   │   │   │   ├── core_armv8mbl.h
│   │   │   │   │   ├── core_armv8mml.h
│   │   │   │   │   ├── core_cm0.h
│   │   │   │   │   ├── core_cm0plus.h
│   │   │   │   │   ├── core_cm1.h
│   │   │   │   │   ├── core_cm23.h
│   │   │   │   │   ├── core_cm3.h
│   │   │   │   │   ├── core_cm33.h
│   │   │   │   │   ├── core_cm35p.h
│   │   │   │   │   ├── core_cm4.h
│   │   │   │   │   ├── core_cm55.h
│   │   │   │   │   ├── core_cm7.h
│   │   │   │   │   ├── core_cm85.h
│   │   │   │   │   ├── core_sc000.h
│   │   │   │   │   ├── core_sc300.h
│   │   │   │   │   ├── core_starmc1.h
│   │   │   │   │   ├── mpu_armv7.h
│   │   │   │   │   ├── mpu_armv8.h
│   │   │   │   │   ├── pac_armv81.h
│   │   │   │   │   ├── pmu_armv8.h
│   │   │   │   │   └── tz_context.h
│   │   │   │   ├── LICENSE.txt
│   │   │   │   ├── NN/
│   │   │   │   │   ├── CMakeLists.txt
│   │   │   │   │   ├── Include/
│   │   │   │   │   │   ├── arm_nn_math_types.h
│   │   │   │   │   │   ├── arm_nn_tables.h
│   │   │   │   │   │   ├── arm_nn_types.h
│   │   │   │   │   │   ├── arm_nnfunctions.h
│   │   │   │   │   │   └── arm_nnsupportfunctions.h
│   │   │   │   │   └── Source/
│   │   │   │   │       ├── ActivationFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── arm_nn_activations_q15.c
│   │   │   │   │       │   ├── arm_nn_activations_q7.c
│   │   │   │   │       │   ├── arm_relu6_s8.c
│   │   │   │   │       │   ├── arm_relu_q15.c
│   │   │   │   │       │   └── arm_relu_q7.c
│   │   │   │   │       ├── BasicMathFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── arm_elementwise_add_s16.c
│   │   │   │   │       │   ├── arm_elementwise_add_s8.c
│   │   │   │   │       │   ├── arm_elementwise_mul_s16.c
│   │   │   │   │       │   └── arm_elementwise_mul_s8.c
│   │   │   │   │       ├── CMakeLists.txt
│   │   │   │   │       ├── ConcatenationFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── arm_concatenation_s8_w.c
│   │   │   │   │       │   ├── arm_concatenation_s8_x.c
│   │   │   │   │       │   ├── arm_concatenation_s8_y.c
│   │   │   │   │       │   └── arm_concatenation_s8_z.c
│   │   │   │   │       ├── ConvolutionFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── arm_convolve_1_x_n_s8.c
│   │   │   │   │       │   ├── arm_convolve_1x1_HWC_q7_fast_nonsquare.c
│   │   │   │   │       │   ├── arm_convolve_1x1_s8_fast.c
│   │   │   │   │       │   ├── arm_convolve_HWC_q15_basic.c
│   │   │   │   │       │   ├── arm_convolve_HWC_q15_fast.c
│   │   │   │   │       │   ├── arm_convolve_HWC_q15_fast_nonsquare.c
│   │   │   │   │       │   ├── arm_convolve_HWC_q7_RGB.c
│   │   │   │   │       │   ├── arm_convolve_HWC_q7_basic.c
│   │   │   │   │       │   ├── arm_convolve_HWC_q7_basic_nonsquare.c
│   │   │   │   │       │   ├── arm_convolve_HWC_q7_fast.c
│   │   │   │   │       │   ├── arm_convolve_HWC_q7_fast_nonsquare.c
│   │   │   │   │       │   ├── arm_convolve_fast_s16.c
│   │   │   │   │       │   ├── arm_convolve_s16.c
│   │   │   │   │       │   ├── arm_convolve_s8.c
│   │   │   │   │       │   ├── arm_convolve_wrapper_s16.c
│   │   │   │   │       │   ├── arm_convolve_wrapper_s8.c
│   │   │   │   │       │   ├── arm_depthwise_conv_3x3_s8.c
│   │   │   │   │       │   ├── arm_depthwise_conv_s16.c
│   │   │   │   │       │   ├── arm_depthwise_conv_s8.c
│   │   │   │   │       │   ├── arm_depthwise_conv_s8_opt.c
│   │   │   │   │       │   ├── arm_depthwise_conv_u8_basic_ver1.c
│   │   │   │   │       │   ├── arm_depthwise_conv_wrapper_s8.c
│   │   │   │   │       │   ├── arm_depthwise_separable_conv_HWC_q7.c
│   │   │   │   │       │   ├── arm_depthwise_separable_conv_HWC_q7_nonsquare.c
│   │   │   │   │       │   ├── arm_nn_depthwise_conv_s8_core.c
│   │   │   │   │       │   ├── arm_nn_mat_mult_kernel_q7_q15.c
│   │   │   │   │       │   ├── arm_nn_mat_mult_kernel_q7_q15_reordered.c
│   │   │   │   │       │   ├── arm_nn_mat_mult_kernel_s8_s16.c
│   │   │   │   │       │   ├── arm_nn_mat_mult_kernel_s8_s16_reordered.c
│   │   │   │   │       │   └── arm_nn_mat_mult_s8.c
│   │   │   │   │       ├── FullyConnectedFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── arm_fully_connected_mat_q7_vec_q15.c
│   │   │   │   │       │   ├── arm_fully_connected_mat_q7_vec_q15_opt.c
│   │   │   │   │       │   ├── arm_fully_connected_q15.c
│   │   │   │   │       │   ├── arm_fully_connected_q15_opt.c
│   │   │   │   │       │   ├── arm_fully_connected_q7.c
│   │   │   │   │       │   ├── arm_fully_connected_q7_opt.c
│   │   │   │   │       │   ├── arm_fully_connected_s16.c
│   │   │   │   │       │   └── arm_fully_connected_s8.c
│   │   │   │   │       ├── NNSupportFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── arm_nn_accumulate_q7_to_q15.c
│   │   │   │   │       │   ├── arm_nn_add_q7.c
│   │   │   │   │       │   ├── arm_nn_depthwise_conv_nt_t_padded_s8.c
│   │   │   │   │       │   ├── arm_nn_depthwise_conv_nt_t_s8.c
│   │   │   │   │       │   ├── arm_nn_mat_mul_core_1x_s8.c
│   │   │   │   │       │   ├── arm_nn_mat_mul_core_4x_s8.c
│   │   │   │   │       │   ├── arm_nn_mat_mul_kernel_s16.c
│   │   │   │   │       │   ├── arm_nn_mat_mult_nt_t_s8.c
│   │   │   │   │       │   ├── arm_nn_mult_q15.c
│   │   │   │   │       │   ├── arm_nn_mult_q7.c
│   │   │   │   │       │   ├── arm_nn_vec_mat_mult_t_s16.c
│   │   │   │   │       │   ├── arm_nn_vec_mat_mult_t_s8.c
│   │   │   │   │       │   ├── arm_nn_vec_mat_mult_t_svdf_s8.c
│   │   │   │   │       │   ├── arm_nntables.c
│   │   │   │   │       │   ├── arm_q7_to_q15_no_shift.c
│   │   │   │   │       │   ├── arm_q7_to_q15_reordered_no_shift.c
│   │   │   │   │       │   ├── arm_q7_to_q15_reordered_with_offset.c
│   │   │   │   │       │   └── arm_q7_to_q15_with_offset.c
│   │   │   │   │       ├── PoolingFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── arm_avgpool_s16.c
│   │   │   │   │       │   ├── arm_avgpool_s8.c
│   │   │   │   │       │   ├── arm_max_pool_s16.c
│   │   │   │   │       │   ├── arm_max_pool_s8.c
│   │   │   │   │       │   └── arm_pool_q7_HWC.c
│   │   │   │   │       ├── ReshapeFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   └── arm_reshape_s8.c
│   │   │   │   │       ├── SVDFunctions/
│   │   │   │   │       │   ├── CMakeLists.txt
│   │   │   │   │       │   ├── arm_svdf_s8.c
│   │   │   │   │       │   └── arm_svdf_state_s16_s8.c
│   │   │   │   │       └── SoftmaxFunctions/
│   │   │   │   │           ├── CMakeLists.txt
│   │   │   │   │           ├── arm_nn_softmax_common_s8.c
│   │   │   │   │           ├── arm_softmax_q15.c
│   │   │   │   │           ├── arm_softmax_q7.c
│   │   │   │   │           ├── arm_softmax_s16.c
│   │   │   │   │           ├── arm_softmax_s8.c
│   │   │   │   │           ├── arm_softmax_s8_s16.c
│   │   │   │   │           ├── arm_softmax_u8.c
│   │   │   │   │           └── arm_softmax_with_batch_q7.c
│   │   │   │   ├── RTOS/
│   │   │   │   │   └── Template/
│   │   │   │   │       └── cmsis_os.h
│   │   │   │   ├── RTOS2/
│   │   │   │   │   ├── Include/
│   │   │   │   │   │   ├── cmsis_os2.h
│   │   │   │   │   │   └── os_tick.h
│   │   │   │   │   ├── Source/
│   │   │   │   │   │   ├── os_systick.c
│   │   │   │   │   │   ├── os_tick_gtim.c
│   │   │   │   │   │   └── os_tick_ptim.c
│   │   │   │   │   └── Template/
│   │   │   │   │       ├── cmsis_os.h
│   │   │   │   │       └── cmsis_os1.c
│   │   │   │   └── st_readme.txt
│   │   │   └── STM32H7xx_HAL_Driver/
│   │   │       ├── Inc/
│   │   │       │   ├── Legacy/
│   │   │       │   │   └── stm32_hal_legacy.h
│   │   │       │   ├── stm32h7xx_hal.h
│   │   │       │   ├── stm32h7xx_hal_cortex.h
│   │   │       │   ├── stm32h7xx_hal_def.h
│   │   │       │   ├── stm32h7xx_hal_dma.h
│   │   │       │   ├── stm32h7xx_hal_dma_ex.h
│   │   │       │   ├── stm32h7xx_hal_eth.h
│   │   │       │   ├── stm32h7xx_hal_eth_ex.h
│   │   │       │   ├── stm32h7xx_hal_exti.h
│   │   │       │   ├── stm32h7xx_hal_flash.h
│   │   │       │   ├── stm32h7xx_hal_flash_ex.h
│   │   │       │   ├── stm32h7xx_hal_gpio.h
│   │   │       │   ├── stm32h7xx_hal_gpio_ex.h
│   │   │       │   ├── stm32h7xx_hal_hsem.h
│   │   │       │   ├── stm32h7xx_hal_i2c.h
│   │   │       │   ├── stm32h7xx_hal_i2c_ex.h
│   │   │       │   ├── stm32h7xx_hal_mdma.h
│   │   │       │   ├── stm32h7xx_hal_pwr.h
│   │   │       │   ├── stm32h7xx_hal_pwr_ex.h
│   │   │       │   ├── stm32h7xx_hal_rcc.h
│   │   │       │   ├── stm32h7xx_hal_rcc_ex.h
│   │   │       │   ├── stm32h7xx_hal_tim.h
│   │   │       │   ├── stm32h7xx_hal_tim_ex.h
│   │   │       │   ├── stm32h7xx_ll_bus.h
│   │   │       │   ├── stm32h7xx_ll_cortex.h
│   │   │       │   ├── stm32h7xx_ll_crs.h
│   │   │       │   ├── stm32h7xx_ll_dma.h
│   │   │       │   ├── stm32h7xx_ll_dmamux.h
│   │   │       │   ├── stm32h7xx_ll_exti.h
│   │   │       │   ├── stm32h7xx_ll_gpio.h
│   │   │       │   ├── stm32h7xx_ll_hsem.h
│   │   │       │   ├── stm32h7xx_ll_pwr.h
│   │   │       │   ├── stm32h7xx_ll_rcc.h
│   │   │       │   ├── stm32h7xx_ll_system.h
│   │   │       │   ├── stm32h7xx_ll_tim.h
│   │   │       │   └── stm32h7xx_ll_utils.h
│   │   │       ├── LICENSE.txt
│   │   │       └── Src/
│   │   │           ├── stm32h7xx_hal.c
│   │   │           ├── stm32h7xx_hal_cortex.c
│   │   │           ├── stm32h7xx_hal_dma.c
│   │   │           ├── stm32h7xx_hal_dma_ex.c
│   │   │           ├── stm32h7xx_hal_eth.c
│   │   │           ├── stm32h7xx_hal_eth_ex.c
│   │   │           ├── stm32h7xx_hal_exti.c
│   │   │           ├── stm32h7xx_hal_flash.c
│   │   │           ├── stm32h7xx_hal_flash_ex.c
│   │   │           ├── stm32h7xx_hal_gpio.c
│   │   │           ├── stm32h7xx_hal_hsem.c
│   │   │           ├── stm32h7xx_hal_i2c.c
│   │   │           ├── stm32h7xx_hal_i2c_ex.c
│   │   │           ├── stm32h7xx_hal_mdma.c
│   │   │           ├── stm32h7xx_hal_pwr.c
│   │   │           ├── stm32h7xx_hal_pwr_ex.c
│   │   │           ├── stm32h7xx_hal_rcc.c
│   │   │           ├── stm32h7xx_hal_rcc_ex.c
│   │   │           ├── stm32h7xx_hal_tim.c
│   │   │           └── stm32h7xx_hal_tim_ex.c
│   │   ├── EWARM/
│   │   │   ├── H7_Ethernet.ewd
│   │   │   ├── H7_Ethernet.ewp
│   │   │   ├── Project.eww
│   │   │   ├── startup_stm32h745xx_CM4.s
│   │   │   ├── startup_stm32h745xx_CM7.s
│   │   │   ├── stm32h745xx_dtcmram_CM7.icf
│   │   │   ├── stm32h745xx_flash_CM4.icf
│   │   │   ├── stm32h745xx_flash_CM7.icf
│   │   │   ├── stm32h745xx_flash_rw_sram1_CM7.icf
│   │   │   ├── stm32h745xx_flash_rw_sram2_CM4.icf
│   │   │   ├── stm32h745xx_sram1_CM7.icf
│   │   │   └── stm32h745xx_sram2_CM4.icf
│   │   ├── H7_Ethernet.ioc
│   │   ├── Middlewares/
│   │   │   └── Third_Party/
│   │   │       └── LwIP/
│   │   │           ├── src/
│   │   │           │   ├── api/
│   │   │           │   │   ├── api_lib.c
│   │   │           │   │   ├── api_msg.c
│   │   │           │   │   ├── err.c
│   │   │           │   │   ├── if_api.c
│   │   │           │   │   ├── netbuf.c
│   │   │           │   │   ├── netdb.c
│   │   │           │   │   ├── netifapi.c
│   │   │           │   │   ├── sockets.c
│   │   │           │   │   └── tcpip.c
│   │   │           │   ├── apps/
│   │   │           │   │   └── mqtt/
│   │   │           │   │       └── mqtt.c
│   │   │           │   ├── core/
│   │   │           │   │   ├── altcp.c
│   │   │           │   │   ├── altcp_alloc.c
│   │   │           │   │   ├── altcp_tcp.c
│   │   │           │   │   ├── def.c
│   │   │           │   │   ├── dns.c
│   │   │           │   │   ├── inet_chksum.c
│   │   │           │   │   ├── init.c
│   │   │           │   │   ├── ip.c
│   │   │           │   │   ├── ipv4/
│   │   │           │   │   │   ├── acd.c
│   │   │           │   │   │   ├── autoip.c
│   │   │           │   │   │   ├── dhcp.c
│   │   │           │   │   │   ├── etharp.c
│   │   │           │   │   │   ├── icmp.c
│   │   │           │   │   │   ├── igmp.c
│   │   │           │   │   │   ├── ip4.c
│   │   │           │   │   │   ├── ip4_addr.c
│   │   │           │   │   │   └── ip4_frag.c
│   │   │           │   │   ├── ipv6/
│   │   │           │   │   │   ├── dhcp6.c
│   │   │           │   │   │   ├── ethip6.c
│   │   │           │   │   │   ├── icmp6.c
│   │   │           │   │   │   ├── inet6.c
│   │   │           │   │   │   ├── ip6.c
│   │   │           │   │   │   ├── ip6_addr.c
│   │   │           │   │   │   ├── ip6_frag.c
│   │   │           │   │   │   ├── mld6.c
│   │   │           │   │   │   └── nd6.c
│   │   │           │   │   ├── mem.c
│   │   │           │   │   ├── memp.c
│   │   │           │   │   ├── netif.c
│   │   │           │   │   ├── pbuf.c
│   │   │           │   │   ├── raw.c
│   │   │           │   │   ├── stats.c
│   │   │           │   │   ├── sys.c
│   │   │           │   │   ├── tcp.c
│   │   │           │   │   ├── tcp_in.c
│   │   │           │   │   ├── tcp_out.c
│   │   │           │   │   ├── timeouts.c
│   │   │           │   │   └── udp.c
│   │   │           │   ├── include/
│   │   │           │   │   ├── compat/
│   │   │           │   │   │   ├── posix/
│   │   │           │   │   │   │   ├── arpa/
│   │   │           │   │   │   │   │   └── inet.h
│   │   │           │   │   │   │   ├── net/
│   │   │           │   │   │   │   │   └── if.h
│   │   │           │   │   │   │   ├── netdb.h
│   │   │           │   │   │   │   └── sys/
│   │   │           │   │   │   │       └── socket.h
│   │   │           │   │   │   └── stdc/
│   │   │           │   │   │       └── errno.h
│   │   │           │   │   ├── lwip/
│   │   │           │   │   │   ├── acd.h
│   │   │           │   │   │   ├── altcp.h
│   │   │           │   │   │   ├── altcp_tcp.h
│   │   │           │   │   │   ├── altcp_tls.h
│   │   │           │   │   │   ├── api.h
│   │   │           │   │   │   ├── apps/
│   │   │           │   │   │   │   ├── altcp_proxyconnect.h
│   │   │           │   │   │   │   ├── altcp_tls_mbedtls_opts.h
│   │   │           │   │   │   │   ├── fs.h
│   │   │           │   │   │   │   ├── http_client.h
│   │   │           │   │   │   │   ├── httpd.h
│   │   │           │   │   │   │   ├── httpd_opts.h
│   │   │           │   │   │   │   ├── lwiperf.h
│   │   │           │   │   │   │   ├── mdns.h
│   │   │           │   │   │   │   ├── mdns_domain.h
│   │   │           │   │   │   │   ├── mdns_opts.h
│   │   │           │   │   │   │   ├── mdns_out.h
│   │   │           │   │   │   │   ├── mdns_priv.h
│   │   │           │   │   │   │   ├── mqtt.h
│   │   │           │   │   │   │   ├── mqtt_opts.h
│   │   │           │   │   │   │   ├── mqtt_priv.h
│   │   │           │   │   │   │   ├── netbiosns.h
│   │   │           │   │   │   │   ├── netbiosns_opts.h
│   │   │           │   │   │   │   ├── smtp.h
│   │   │           │   │   │   │   ├── smtp_opts.h
│   │   │           │   │   │   │   ├── snmp.h
│   │   │           │   │   │   │   ├── snmp_core.h
│   │   │           │   │   │   │   ├── snmp_mib2.h
│   │   │           │   │   │   │   ├── snmp_opts.h
│   │   │           │   │   │   │   ├── snmp_scalar.h
│   │   │           │   │   │   │   ├── snmp_snmpv2_framework.h
│   │   │           │   │   │   │   ├── snmp_snmpv2_usm.h
│   │   │           │   │   │   │   ├── snmp_table.h
│   │   │           │   │   │   │   ├── snmp_threadsync.h
│   │   │           │   │   │   │   ├── snmpv3.h
│   │   │           │   │   │   │   ├── sntp.h
│   │   │           │   │   │   │   ├── sntp_opts.h
│   │   │           │   │   │   │   ├── tftp_client.h
│   │   │           │   │   │   │   ├── tftp_common.h
│   │   │           │   │   │   │   ├── tftp_opts.h
│   │   │           │   │   │   │   └── tftp_server.h
│   │   │           │   │   │   ├── arch.h
│   │   │           │   │   │   ├── autoip.h
│   │   │           │   │   │   ├── debug.h
│   │   │           │   │   │   ├── def.h
│   │   │           │   │   │   ├── dhcp.h
│   │   │           │   │   │   ├── dhcp6.h
│   │   │           │   │   │   ├── dns.h
│   │   │           │   │   │   ├── err.h
│   │   │           │   │   │   ├── errno.h
│   │   │           │   │   │   ├── etharp.h
│   │   │           │   │   │   ├── ethip6.h
│   │   │           │   │   │   ├── icmp.h
│   │   │           │   │   │   ├── icmp6.h
│   │   │           │   │   │   ├── if_api.h
│   │   │           │   │   │   ├── igmp.h
│   │   │           │   │   │   ├── inet.h
│   │   │           │   │   │   ├── inet_chksum.h
│   │   │           │   │   │   ├── init.h
│   │   │           │   │   │   ├── ip.h
│   │   │           │   │   │   ├── ip4.h
│   │   │           │   │   │   ├── ip4_addr.h
│   │   │           │   │   │   ├── ip4_frag.h
│   │   │           │   │   │   ├── ip6.h
│   │   │           │   │   │   ├── ip6_addr.h
│   │   │           │   │   │   ├── ip6_frag.h
│   │   │           │   │   │   ├── ip6_zone.h
│   │   │           │   │   │   ├── ip_addr.h
│   │   │           │   │   │   ├── mem.h
│   │   │           │   │   │   ├── memp.h
│   │   │           │   │   │   ├── mld6.h
│   │   │           │   │   │   ├── nd6.h
│   │   │           │   │   │   ├── netbuf.h
│   │   │           │   │   │   ├── netdb.h
│   │   │           │   │   │   ├── netif.h
│   │   │           │   │   │   ├── netifapi.h
│   │   │           │   │   │   ├── opt.h
│   │   │           │   │   │   ├── pbuf.h
│   │   │           │   │   │   ├── priv/
│   │   │           │   │   │   │   ├── altcp_priv.h
│   │   │           │   │   │   │   ├── api_msg.h
│   │   │           │   │   │   │   ├── mem_priv.h
│   │   │           │   │   │   │   ├── memp_priv.h
│   │   │           │   │   │   │   ├── memp_std.h
│   │   │           │   │   │   │   ├── nd6_priv.h
│   │   │           │   │   │   │   ├── raw_priv.h
│   │   │           │   │   │   │   ├── sockets_priv.h
│   │   │           │   │   │   │   ├── tcp_priv.h
│   │   │           │   │   │   │   └── tcpip_priv.h
│   │   │           │   │   │   ├── prot/
│   │   │           │   │   │   │   ├── acd.h
│   │   │           │   │   │   │   ├── autoip.h
│   │   │           │   │   │   │   ├── dhcp.h
│   │   │           │   │   │   │   ├── dhcp6.h
│   │   │           │   │   │   │   ├── dns.h
│   │   │           │   │   │   │   ├── etharp.h
│   │   │           │   │   │   │   ├── ethernet.h
│   │   │           │   │   │   │   ├── iana.h
│   │   │           │   │   │   │   ├── icmp.h
│   │   │           │   │   │   │   ├── icmp6.h
│   │   │           │   │   │   │   ├── ieee.h
│   │   │           │   │   │   │   ├── igmp.h
│   │   │           │   │   │   │   ├── ip.h
│   │   │           │   │   │   │   ├── ip4.h
│   │   │           │   │   │   │   ├── ip6.h
│   │   │           │   │   │   │   ├── mld6.h
│   │   │           │   │   │   │   ├── nd6.h
│   │   │           │   │   │   │   ├── tcp.h
│   │   │           │   │   │   │   └── udp.h
│   │   │           │   │   │   ├── raw.h
│   │   │           │   │   │   ├── sio.h
│   │   │           │   │   │   ├── snmp.h
│   │   │           │   │   │   ├── sockets.h
│   │   │           │   │   │   ├── stats.h
│   │   │           │   │   │   ├── sys.h
│   │   │           │   │   │   ├── tcp.h
│   │   │           │   │   │   ├── tcpbase.h
│   │   │           │   │   │   ├── tcpip.h
│   │   │           │   │   │   ├── timeouts.h
│   │   │           │   │   │   └── udp.h
│   │   │           │   │   └── netif/
│   │   │           │   │       ├── bridgeif.h
│   │   │           │   │       ├── bridgeif_opts.h
│   │   │           │   │       ├── etharp.h
│   │   │           │   │       ├── ethernet.h
│   │   │           │   │       ├── ieee802154.h
│   │   │           │   │       ├── lowpan6.h
│   │   │           │   │       ├── lowpan6_ble.h
│   │   │           │   │       ├── lowpan6_common.h
│   │   │           │   │       ├── lowpan6_opts.h
│   │   │           │   │       ├── ppp/
│   │   │           │   │       │   ├── ccp.h
│   │   │           │   │       │   ├── chap-md5.h
│   │   │           │   │       │   ├── chap-new.h
│   │   │           │   │       │   ├── chap_ms.h
│   │   │           │   │       │   ├── eap.h
│   │   │           │   │       │   ├── ecp.h
│   │   │           │   │       │   ├── eui64.h
│   │   │           │   │       │   ├── fsm.h
│   │   │           │   │       │   ├── ipcp.h
│   │   │           │   │       │   ├── ipv6cp.h
│   │   │           │   │       │   ├── lcp.h
│   │   │           │   │       │   ├── magic.h
│   │   │           │   │       │   ├── mppe.h
│   │   │           │   │       │   ├── ppp.h
│   │   │           │   │       │   ├── ppp_impl.h
│   │   │           │   │       │   ├── ppp_opts.h
│   │   │           │   │       │   ├── pppapi.h
│   │   │           │   │       │   ├── pppcrypt.h
│   │   │           │   │       │   ├── pppdebug.h
│   │   │           │   │       │   ├── pppoe.h
│   │   │           │   │       │   ├── pppol2tp.h
│   │   │           │   │       │   ├── pppos.h
│   │   │           │   │       │   ├── upap.h
│   │   │           │   │       │   └── vj.h
│   │   │           │   │       ├── slipif.h
│   │   │           │   │       └── zepif.h
│   │   │           │   └── netif/
│   │   │           │       ├── bridgeif.c
│   │   │           │       ├── bridgeif_fdb.c
│   │   │           │       ├── ethernet.c
│   │   │           │       ├── lowpan6.c
│   │   │           │       ├── lowpan6_ble.c
│   │   │           │       ├── lowpan6_common.c
│   │   │           │       ├── ppp/
│   │   │           │       │   ├── auth.c
│   │   │           │       │   ├── ccp.c
│   │   │           │       │   ├── chap-md5.c
│   │   │           │       │   ├── chap-new.c
│   │   │           │       │   ├── chap_ms.c
│   │   │           │       │   ├── demand.c
│   │   │           │       │   ├── eap.c
│   │   │           │       │   ├── ecp.c
│   │   │           │       │   ├── eui64.c
│   │   │           │       │   ├── fsm.c
│   │   │           │       │   ├── ipcp.c
│   │   │           │       │   ├── ipv6cp.c
│   │   │           │       │   ├── lcp.c
│   │   │           │       │   ├── magic.c
│   │   │           │       │   ├── mppe.c
│   │   │           │       │   ├── multilink.c
│   │   │           │       │   ├── ppp.c
│   │   │           │       │   ├── pppapi.c
│   │   │           │       │
Download .txt
Showing preview only (3,217K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (36354 symbols across 3792 files)

FILE: BME280/I2C/BME280_STM32.c
  function TrimRead (line 49) | void TrimRead(void)
  function BME280_Config (line 98) | int BME280_Config (uint8_t osrs_t, uint8_t osrs_p, uint8_t osrs_h, uint8...
  function BMEReadRaw (line 162) | int BMEReadRaw(void)
  function BME280_WakeUP (line 190) | void BME280_WakeUP(void)
  function BME280_compensate_T_int32 (line 212) | int32_t BME280_compensate_T_int32(int32_t adc_T)
  function BME280_compensate_P_int64 (line 227) | uint32_t BME280_compensate_P_int64(int32_t adc_P)
  function BME280_compensate_P_int32 (line 250) | uint32_t BME280_compensate_P_int32(int32_t adc_P)
  function bme280_compensate_H_int32 (line 283) | uint32_t bme280_compensate_H_int32(int32_t adc_H)
  function BME280_Measure (line 304) | void BME280_Measure (void)

FILE: BME280/I2C/main.c
  function main (line 67) | int main(void)
  function SystemClock_Config (line 115) | void SystemClock_Config(void)
  function MX_I2C1_Init (line 154) | static void MX_I2C1_Init(void)
  function MX_GPIO_Init (line 188) | static void MX_GPIO_Init(void)
  function Error_Handler (line 206) | void Error_Handler(void)
  function assert_failed (line 225) | void assert_failed(uint8_t *file, uint32_t line)

FILE: EEPROM_STM32/EEPROM.c
  function bytestowrite (line 41) | uint16_t bytestowrite (uint16_t size, uint16_t offset)
  function EEPROM_Write (line 53) | void EEPROM_Write (uint16_t page, uint16_t offset, uint8_t *data, uint16...
  function float2Bytes (line 87) | void float2Bytes(uint8_t * ftoa_bytes_temp,float float_variable)
  function Bytes2float (line 102) | float Bytes2float(uint8_t * ftoa_bytes_temp)
  function EEPROM_Write_NUM (line 124) | void EEPROM_Write_NUM (uint16_t page, uint16_t offset, float data)
  function EEPROM_Read_NUM (line 138) | float EEPROM_Read_NUM (uint16_t page, uint16_t offset)
  function EEPROM_Read (line 153) | void EEPROM_Read (uint16_t page, uint16_t offset, uint8_t *data, uint16_...
  function EEPROM_PageErase (line 179) | void EEPROM_PageErase (uint16_t page)

FILE: EEPROM_STM32/main.c
  function main (line 77) | int main(void)
  function SystemClock_Config (line 140) | void SystemClock_Config(void)
  function MX_I2C1_Init (line 191) | static void MX_I2C1_Init(void)
  function MX_GPIO_Init (line 225) | static void MX_GPIO_Init(void)
  function Error_Handler (line 242) | void Error_Handler(void)
  function assert_failed (line 261) | void assert_failed(uint8_t *file, uint32_t line)

FILE: F103_RegisterBased/ADC with DMA/Delay_F103.c
  function TIM2_Config (line 23) | void TIM2_Config (void)
  function Delay_us (line 48) | void Delay_us (uint16_t us)
  function Delay_ms (line 59) | void Delay_ms (uint16_t ms)

FILE: F103_RegisterBased/ADC with DMA/main.c
  function ADC_Init (line 8) | void ADC_Init (void)
  function ADC_Enable (line 70) | void ADC_Enable (void)
  function ADC_Start (line 82) | void ADC_Start(void)
  function DMA_Init (line 93) | void DMA_Init (void)
  function DMA_Config (line 125) | void DMA_Config (uint32_t srcAdd, uint32_t destAdd, uint16_t size)
  function main (line 151) | int main(void)

FILE: FLASH_PROGRAM/F1 SERIES/FlASH_PAGE_F1.c
  function GetPage (line 28) | static uint32_t GetPage(uint32_t Address)
  function float2Bytes (line 45) | void float2Bytes(uint8_t * ftoa_bytes_temp,float float_variable)
  function Bytes2float (line 60) | float Bytes2float(uint8_t * ftoa_bytes_temp)
  function Flash_Write_Data (line 75) | uint32_t Flash_Write_Data (uint32_t StartPageAddress, uint32_t *Data, ui...
  function Flash_Read_Data (line 126) | void Flash_Read_Data (uint32_t StartPageAddress, uint32_t *RxBuf, uint16...
  function Convert_To_Str (line 137) | void Convert_To_Str (uint32_t *Data, char *Buf)
  function Flash_Write_NUM (line 148) | void Flash_Write_NUM (uint32_t StartSectorAddress, float Num)
  function Flash_Read_NUM (line 157) | float Flash_Read_NUM (uint32_t StartSectorAddress)

FILE: FLASH_PROGRAM/F1 SERIES/main.c
  function main (line 85) | int main(void)
  function SystemClock_Config (line 144) | void SystemClock_Config(void)
  function MX_USART1_UART_Init (line 182) | static void MX_USART1_UART_Init(void)
  function MX_GPIO_Init (line 215) | static void MX_GPIO_Init(void)
  function Error_Handler (line 232) | void Error_Handler(void)
  function assert_failed (line 248) | void assert_failed(uint8_t *file, uint32_t line)

FILE: FLASH_PROGRAM/F4 SERIES/FLASH_SECTOR_F4.c
  function GetSector (line 35) | static uint32_t GetSector(uint32_t Address)
  function float2Bytes (line 147) | void float2Bytes(uint8_t * ftoa_bytes_temp,float float_variable)
  function Bytes2float (line 162) | float Bytes2float(uint8_t * ftoa_bytes_temp)
  function Flash_Write_Data (line 178) | uint32_t Flash_Write_Data (uint32_t StartSectorAddress, uint32_t *Data, ...
  function Flash_Read_Data (line 237) | void Flash_Read_Data (uint32_t StartSectorAddress, uint32_t *RxBuf, uint...
  function Convert_To_Str (line 249) | void Convert_To_Str (uint32_t *Data, char *Buf)
  function Flash_Write_NUM (line 260) | void Flash_Write_NUM (uint32_t StartSectorAddress, float Num)
  function Flash_Read_NUM (line 269) | float Flash_Read_NUM (uint32_t StartSectorAddress)

FILE: FLASH_PROGRAM/F4 SERIES/main.c
  function main (line 82) | int main(void)
  function SystemClock_Config (line 142) | void SystemClock_Config(void)
  function MX_GPIO_Init (line 192) | static void MX_GPIO_Init(void)
  function Error_Handler (line 208) | void Error_Handler(void)
  function assert_failed (line 224) | void assert_failed(uint8_t *file, uint32_t line)

FILE: FLASH_PROGRAM/H7 SERIES/FLASH_SECTOR_H7.c
  function GetSector (line 41) | static uint32_t GetSector(uint32_t Address)
  function float2Bytes (line 151) | void float2Bytes(uint8_t * ftoa_bytes_temp,float float_variable)
  function Bytes2float (line 166) | float Bytes2float(uint8_t * ftoa_bytes_temp)
  function Flash_Write_Data (line 195) | uint32_t Flash_Write_Data (uint32_t StartSectorAddress, uint32_t *data, ...
  function Flash_Read_Data (line 256) | void Flash_Read_Data (uint32_t StartSectorAddress, uint32_t *data, uint1...
  function Convert_To_Str (line 268) | void Convert_To_Str (uint32_t *Data, char *Buf)
  function Flash_Write_NUM (line 279) | void Flash_Write_NUM (uint32_t StartSectorAddress, float Num)
  function Flash_Read_NUM (line 288) | float Flash_Read_NUM (uint32_t StartSectorAddress)

FILE: FLASH_PROGRAM/H7 SERIES/main.c
  function main (line 84) | int main(void)
  function SystemClock_Config (line 122) | void SystemClock_Config(void)
  function Error_Handler (line 177) | void Error_Handler(void)
  function assert_failed (line 196) | void assert_failed(uint8_t *file, uint32_t line)

FILE: LCD1602_I2C_NOHAL/Delay.c
  function TIM6Config (line 23) | void TIM6Config (void)
  function Delay_us (line 43) | void Delay_us (uint16_t us)
  function Delay_ms (line 54) | void Delay_ms (uint16_t ms)

FILE: LCD1602_I2C_NOHAL/I2C.c
  function I2C_Config (line 25) | void I2C_Config (void)
  function I2C_Start (line 72) | void I2C_Start (void)
  function I2C_Write (line 85) | void I2C_Write (uint8_t data)
  function I2C_Address (line 97) | void I2C_Address (uint8_t Address)
  function I2C_Stop (line 109) | void I2C_Stop (void)
  function I2C_WriteMulti (line 114) | void I2C_WriteMulti (uint8_t *data, uint8_t size)
  function I2C_Read (line 132) | void I2C_Read (uint8_t Address, uint8_t *buffer, uint8_t size)

FILE: LCD1602_I2C_NOHAL/RccConfig.c
  function SysClockConfig (line 43) | void SysClockConfig (void)

FILE: LCD1602_I2C_NOHAL/i2c-lcd.c
  function LCD_Write (line 27) | void LCD_Write (uint8_t Address, uint8_t *Data, int size)
  function lcd_send_cmd (line 35) | void lcd_send_cmd (char cmd)
  function lcd_send_data (line 48) | void lcd_send_data (char data)
  function lcd_clear (line 61) | void lcd_clear (void)
  function lcd_put_cur (line 70) | void lcd_put_cur(int row, int col)
  function lcd_init (line 86) | void lcd_init (void)
  function lcd_send_string (line 112) | void lcd_send_string (char *str)

FILE: LCD1602_I2C_NOHAL/main.c
  function main (line 9) | int main ()

FILE: LVGL/Simple_F446/Core/Src/lcd_lvgl.c
  function monitor_cb (line 30) | void monitor_cb(lv_disp_drv_t * d, uint32_t t, uint32_t p)
  function Display_init (line 40) | void Display_init(int rotation)
  function tft_flush (line 78) | static void tft_flush(lv_disp_drv_t * drv, const lv_area_t * area, lv_co...

FILE: LVGL/Simple_F446/Core/Src/main.c
  function lv_textarea_1 (line 66) | void lv_textarea_1(void)
  function update_text (line 75) | void update_text (void)
  function main (line 88) | int main(void)
  function SystemClock_Config (line 143) | void SystemClock_Config(void)
  function MX_GPIO_Init (line 194) | static void MX_GPIO_Init(void)
  function Error_Handler (line 256) | void Error_Handler(void)
  function assert_failed (line 275) | void assert_failed(uint8_t *file, uint32_t line)

FILE: LVGL/Simple_F446/Core/Src/stm32f4xx_hal_msp.c
  function HAL_MspInit (line 63) | void HAL_MspInit(void)

FILE: LVGL/Simple_F446/Core/Src/stm32f4xx_it.c
  function NMI_Handler (line 71) | void NMI_Handler(void)
  function HardFault_Handler (line 86) | void HardFault_Handler(void)
  function MemManage_Handler (line 101) | void MemManage_Handler(void)
  function BusFault_Handler (line 116) | void BusFault_Handler(void)
  function UsageFault_Handler (line 131) | void UsageFault_Handler(void)
  function SVC_Handler (line 146) | void SVC_Handler(void)
  function DebugMon_Handler (line 159) | void DebugMon_Handler(void)
  function PendSV_Handler (line 172) | void PendSV_Handler(void)
  function SysTick_Handler (line 185) | void SysTick_Handler(void)

FILE: LVGL/Simple_F446/Core/Src/syscalls.c
  function initialise_monitor_handles (line 44) | void initialise_monitor_handles()
  function _getpid (line 48) | int _getpid(void)
  function _kill (line 53) | int _kill(int pid, int sig)
  function _exit (line 59) | void _exit (int status)
  function _read (line 65) | __attribute__((weak)) int _read(int file, char *ptr, int len)
  function _write (line 77) | __attribute__((weak)) int _write(int file, char *ptr, int len)
  function _close (line 88) | int _close(int file)
  function _fstat (line 94) | int _fstat(int file, struct stat *st)
  function _isatty (line 100) | int _isatty(int file)
  function _lseek (line 105) | int _lseek(int file, int ptr, int dir)
  function _open (line 110) | int _open(char *path, int flags, ...)
  function _wait (line 116) | int _wait(int *status)
  function _unlink (line 122) | int _unlink(char *name)
  function _times (line 128) | int _times(struct tms *buf)
  function _stat (line 133) | int _stat(char *file, struct stat *st)
  function _link (line 139) | int _link(char *old, char *new)
  function _fork (line 145) | int _fork(void)
  function _execve (line 151) | int _execve(char *name, char **argv, char **env)

FILE: LVGL/Simple_F446/Core/Src/system_stm32f4xx.c
  function SystemInit (line 168) | void SystemInit(void)
  function SystemCoreClockUpdate (line 221) | void SystemCoreClockUpdate(void)
  function SystemInit_ExtMemCtl (line 280) | void SystemInit_ExtMemCtl(void)
  function SystemInit_ExtMemCtl (line 446) | void SystemInit_ExtMemCtl(void)

FILE: LVGL/Simple_F446/Core/Src/tft.c
  function lcd_delay (line 11) | void lcd_delay (uint16_t t)
  function PIN_LOW (line 24) | void PIN_LOW (GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
  function PIN_HIGH (line 29) | void PIN_HIGH (GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
  function PIN_INPUT (line 34) | void PIN_INPUT (GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
  function PIN_OUTPUT (line 44) | void PIN_OUTPUT (GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
  function width (line 112) | uint16_t width(void)
  function height (line 115) | uint16_t height(void)
  function color565_to_555 (line 123) | static uint16_t color565_to_555(uint16_t color) {
  function color555_to_565 (line 126) | static uint16_t color555_to_565(uint16_t color) {
  function color565_to_r (line 129) | static uint8_t color565_to_r(uint16_t color) {
  function color565_to_g (line 132) | static uint8_t color565_to_g(uint16_t color) {
  function color565_to_b (line 135) | static uint8_t color565_to_b(uint16_t color) {
  function color565 (line 139) | uint16_t color565(uint8_t r, uint8_t g, uint8_t b) { return ((r & 0xF8) ...
  function readPixel (line 140) | uint16_t readPixel(int16_t x, int16_t y) { uint16_t color; readGRAM(x, y...
  function WriteCmdData (line 147) | void WriteCmdData(uint16_t cmd, uint16_t dat) { writecmddata(cmd, dat); }
  function pushCommand (line 155) | void pushCommand(uint16_t cmd, uint8_t * block, int8_t N) { WriteCmdPara...
  function setReadDir (line 185) | void setReadDir (void)
  function setWriteDir (line 197) | void setWriteDir (void)
  function write24 (line 212) | static void write24(uint16_t color)
  function writecmddata (line 223) | static void writecmddata(uint16_t cmd, uint16_t dat)
  function WriteCmdParamN (line 233) | static void WriteCmdParamN(uint16_t cmd, int8_t N, uint8_t * block)
  function WriteCmdParam4 (line 248) | static inline void WriteCmdParam4(uint8_t cmd, uint8_t d1, uint8_t d2, u...
  function init_table (line 257) | static void init_table(const void *table, int16_t size)
  function init_table16 (line 282) | static void init_table16(const void *table, int16_t size)
  function reset (line 299) | void reset(void)
  function read16bits (line 316) | static uint16_t read16bits(void)
  function readReg (line 325) | uint16_t readReg(uint16_t reg, int8_t index)
  function readReg32 (line 343) | uint32_t readReg32(uint16_t reg)
  function readReg40 (line 350) | uint32_t readReg40(uint16_t reg)
  function readID (line 358) | uint16_t readID(void)
  function readGRAM (line 459) | int16_t readGRAM(int16_t x, int16_t y, uint16_t * block, int16_t w, int1...
  function setRotation (line 522) | void setRotation(uint8_t r)
  function drawPixel (line 684) | void drawPixel(int16_t x, int16_t y, uint16_t color)
  function setAddrWindow (line 698) | void setAddrWindow(int16_t x, int16_t y, int16_t x1, int16_t y1)
  function fillScreen (line 741) | void fillScreen(uint16_t color)
  function invertDisplay (line 746) | void invertDisplay(uint8_t i)
  function fillRect (line 793) | static void fillRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_...
  function fillFB (line 882) | void fillFB(int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint16_t *co...

FILE: LVGL/Simple_F446/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f446xx.h
  type IRQn_Type (line 66) | typedef enum
  type ADC_TypeDef (line 182) | typedef struct
  type ADC_Common_TypeDef (line 206) | typedef struct
  type CAN_TxMailBox_TypeDef (line 219) | typedef struct
  type CAN_FIFOMailBox_TypeDef (line 231) | typedef struct
  type CAN_FilterRegister_TypeDef (line 243) | typedef struct
  type CAN_TypeDef (line 253) | typedef struct
  type CEC_TypeDef (line 284) | typedef struct
  type CRC_TypeDef (line 297) | typedef struct
  type DAC_TypeDef (line 310) | typedef struct
  type DBGMCU_TypeDef (line 332) | typedef struct
  type DCMI_TypeDef (line 344) | typedef struct
  type DMA_Stream_TypeDef (line 363) | typedef struct
  type DMA_TypeDef (line 373) | typedef struct
  type EXTI_TypeDef (line 385) | typedef struct
  type FLASH_TypeDef (line 399) | typedef struct
  type FMC_Bank1_TypeDef (line 414) | typedef struct
  type FMC_Bank1E_TypeDef (line 423) | typedef struct
  type FMC_Bank3_TypeDef (line 432) | typedef struct
  type FMC_Bank5_6_TypeDef (line 446) | typedef struct
  type GPIO_TypeDef (line 459) | typedef struct
  type SYSCFG_TypeDef (line 476) | typedef struct
  type I2C_TypeDef (line 491) | typedef struct
  type FMPI2C_TypeDef (line 509) | typedef struct
  type IWDG_TypeDef (line 528) | typedef struct
  type PWR_TypeDef (line 541) | typedef struct
  type RCC_TypeDef (line 551) | typedef struct
  type RTC_TypeDef (line 593) | typedef struct
  type SAI_TypeDef (line 641) | typedef struct
  type SAI_Block_TypeDef (line 646) | typedef struct
  type SDIO_TypeDef (line 662) | typedef struct
  type SPI_TypeDef (line 690) | typedef struct
  type QUADSPI_TypeDef (line 707) | typedef struct
  type SPDIFRX_TypeDef (line 728) | typedef struct
  type TIM_TypeDef (line 746) | typedef struct
  type USART_TypeDef (line 775) | typedef struct
  type WWDG_TypeDef (line 790) | typedef struct
  type USB_OTG_GlobalTypeDef (line 799) | typedef struct
  type USB_OTG_DeviceTypeDef (line 830) | typedef struct
  type USB_OTG_INEndpointTypeDef (line 857) | typedef struct
  type USB_OTG_OUTEndpointTypeDef (line 872) | typedef struct
  type USB_OTG_HostTypeDef (line 886) | typedef struct
  type USB_OTG_HostChannelTypeDef (line 900) | typedef struct

FILE: LVGL/Simple_F446/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h
  type FlagStatus (line 185) | typedef enum
  type FunctionalState (line 191) | typedef enum
  type ErrorStatus (line 198) | typedef enum

FILE: LVGL/Simple_F446/Drivers/CMSIS/Include/cmsis_armcc.h
  function __STATIC_INLINE (line 130) | __STATIC_INLINE uint32_t __get_CONTROL(void)
  function __STATIC_INLINE (line 142) | __STATIC_INLINE void __set_CONTROL(uint32_t control)
  function __STATIC_INLINE (line 154) | __STATIC_INLINE uint32_t __get_IPSR(void)
  function __STATIC_INLINE (line 166) | __STATIC_INLINE uint32_t __get_APSR(void)
  function __STATIC_INLINE (line 178) | __STATIC_INLINE uint32_t __get_xPSR(void)
  function __STATIC_INLINE (line 190) | __STATIC_INLINE uint32_t __get_PSP(void)
  function __STATIC_INLINE (line 202) | __STATIC_INLINE void __set_PSP(uint32_t topOfProcStack)
  function __STATIC_INLINE (line 214) | __STATIC_INLINE uint32_t __get_MSP(void)
  function __STATIC_INLINE (line 226) | __STATIC_INLINE void __set_MSP(uint32_t topOfMainStack)
  function __STATIC_INLINE (line 238) | __STATIC_INLINE uint32_t __get_PRIMASK(void)
  function __STATIC_INLINE (line 250) | __STATIC_INLINE void __set_PRIMASK(uint32_t priMask)
  function __STATIC_INLINE (line 281) | __STATIC_INLINE uint32_t  __get_BASEPRI(void)
  function __STATIC_INLINE (line 293) | __STATIC_INLINE void __set_BASEPRI(uint32_t basePri)
  function __STATIC_INLINE (line 306) | __STATIC_INLINE void __set_BASEPRI_MAX(uint32_t basePri)
  function __STATIC_INLINE (line 318) | __STATIC_INLINE uint32_t __get_FAULTMASK(void)
  function __STATIC_INLINE (line 330) | __STATIC_INLINE void __set_FAULTMASK(uint32_t faultMask)
  function __STATIC_INLINE (line 345) | __STATIC_INLINE uint32_t __get_FPSCR(void)
  function __STATIC_INLINE (line 362) | __STATIC_INLINE void __set_FPSCR(uint32_t fpscr)
  function __REV16 (line 463) | uint32_t __REV16(uint32_t value)
  function __REVSH (line 478) | int16_t __REVSH(int16_t value)
  function __STATIC_INLINE (line 516) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __RBIT(uint32_t ...
  function __RRX (line 665) | uint32_t __RRX(uint32_t value)
  function __STATIC_INLINE (line 736) | __attribute__((always_inline)) __STATIC_INLINE int32_t __SSAT(int32_t va...
  function __STATIC_INLINE (line 761) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __USAT(int32_t v...

FILE: LVGL/Simple_F446/Drivers/CMSIS/Include/cmsis_armclang.h
  type T_UINT32 (line 71) | struct __attribute__((packed)) T_UINT32 { uint32_t v; }
  function __PACKED_STRUCT (line 79) | __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }
  function __PACKED_STRUCT (line 87) | __PACKED_STRUCT T_UINT16_READ { uint16_t v; }
  function __PACKED_STRUCT (line 95) | __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }
  function __PACKED_STRUCT (line 103) | __PACKED_STRUCT T_UINT32_READ { uint32_t v; }
  function __STATIC_FORCEINLINE (line 142) | __STATIC_FORCEINLINE uint32_t __get_CONTROL(void)
  function __STATIC_FORCEINLINE (line 157) | __STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void)
  function __STATIC_FORCEINLINE (line 172) | __STATIC_FORCEINLINE void __set_CONTROL(uint32_t control)
  function __STATIC_FORCEINLINE (line 184) | __STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control)
  function __STATIC_FORCEINLINE (line 196) | __STATIC_FORCEINLINE uint32_t __get_IPSR(void)
  function __STATIC_FORCEINLINE (line 210) | __STATIC_FORCEINLINE uint32_t __get_APSR(void)
  function __STATIC_FORCEINLINE (line 224) | __STATIC_FORCEINLINE uint32_t __get_xPSR(void)
  function __STATIC_FORCEINLINE (line 238) | __STATIC_FORCEINLINE uint32_t __get_PSP(void)
  function __STATIC_FORCEINLINE (line 253) | __STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void)
  function __STATIC_FORCEINLINE (line 268) | __STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack)
  function __STATIC_FORCEINLINE (line 280) | __STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack)
  function __STATIC_FORCEINLINE (line 292) | __STATIC_FORCEINLINE uint32_t __get_MSP(void)
  function __STATIC_FORCEINLINE (line 307) | __STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void)
  function __STATIC_FORCEINLINE (line 322) | __STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack)
  function __STATIC_FORCEINLINE (line 334) | __STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack)
  function __STATIC_FORCEINLINE (line 347) | __STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void)
  function __STATIC_FORCEINLINE (line 361) | __STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack)
  function __STATIC_FORCEINLINE (line 373) | __STATIC_FORCEINLINE uint32_t __get_PRIMASK(void)
  function __STATIC_FORCEINLINE (line 388) | __STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void)
  function __STATIC_FORCEINLINE (line 403) | __STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask)
  function __STATIC_FORCEINLINE (line 415) | __STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask)
  function __STATIC_FORCEINLINE (line 446) | __STATIC_FORCEINLINE uint32_t __get_BASEPRI(void)
  function __STATIC_FORCEINLINE (line 461) | __STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void)
  function __STATIC_FORCEINLINE (line 476) | __STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri)
  function __STATIC_FORCEINLINE (line 488) | __STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri)
  function __STATIC_FORCEINLINE (line 501) | __STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri)
  function __STATIC_FORCEINLINE (line 512) | __STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void)
  function __STATIC_FORCEINLINE (line 527) | __STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void)
  function __STATIC_FORCEINLINE (line 542) | __STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask)
  function __STATIC_FORCEINLINE (line 554) | __STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask)
  function __STATIC_FORCEINLINE (line 577) | __STATIC_FORCEINLINE uint32_t __get_PSPLIM(void)
  function __STATIC_FORCEINLINE (line 600) | __STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void)
  function __STATIC_FORCEINLINE (line 623) | __STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit)
  function __STATIC_FORCEINLINE (line 645) | __STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit)
  function __STATIC_FORCEINLINE (line 665) | __STATIC_FORCEINLINE uint32_t __get_MSPLIM(void)
  function __STATIC_FORCEINLINE (line 688) | __STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void)
  function __STATIC_FORCEINLINE (line 710) | __STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit)
  function __STATIC_FORCEINLINE (line 731) | __STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit)
  function __STATIC_FORCEINLINE (line 876) | __STATIC_FORCEINLINE uint32_t __ROR(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1021) | __STATIC_FORCEINLINE uint32_t __RRX(uint32_t value)
  function __STATIC_FORCEINLINE (line 1036) | __STATIC_FORCEINLINE uint8_t __LDRBT(volatile uint8_t *ptr)
  function __STATIC_FORCEINLINE (line 1051) | __STATIC_FORCEINLINE uint16_t __LDRHT(volatile uint16_t *ptr)
  function __STATIC_FORCEINLINE (line 1066) | __STATIC_FORCEINLINE uint32_t __LDRT(volatile uint32_t *ptr)
  function __STATIC_FORCEINLINE (line 1081) | __STATIC_FORCEINLINE void __STRBT(uint8_t value, volatile uint8_t *ptr)
  function __STATIC_FORCEINLINE (line 1093) | __STATIC_FORCEINLINE void __STRHT(uint16_t value, volatile uint16_t *ptr)
  function __STATIC_FORCEINLINE (line 1105) | __STATIC_FORCEINLINE void __STRT(uint32_t value, volatile uint32_t *ptr)
  function __STATIC_FORCEINLINE (line 1121) | __STATIC_FORCEINLINE int32_t __SSAT(int32_t val, uint32_t sat)
  function __STATIC_FORCEINLINE (line 1146) | __STATIC_FORCEINLINE uint32_t __USAT(int32_t val, uint32_t sat)
  function __STATIC_FORCEINLINE (line 1176) | __STATIC_FORCEINLINE uint8_t __LDAB(volatile uint8_t *ptr)
  function __STATIC_FORCEINLINE (line 1191) | __STATIC_FORCEINLINE uint16_t __LDAH(volatile uint16_t *ptr)
  function __STATIC_FORCEINLINE (line 1206) | __STATIC_FORCEINLINE uint32_t __LDA(volatile uint32_t *ptr)
  function __STATIC_FORCEINLINE (line 1221) | __STATIC_FORCEINLINE void __STLB(uint8_t value, volatile uint8_t *ptr)
  function __STATIC_FORCEINLINE (line 1233) | __STATIC_FORCEINLINE void __STLH(uint16_t value, volatile uint16_t *ptr)
  function __STATIC_FORCEINLINE (line 1245) | __STATIC_FORCEINLINE void __STL(uint32_t value, volatile uint32_t *ptr)
  function __STATIC_FORCEINLINE (line 1324) | __STATIC_FORCEINLINE uint32_t __SADD8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1332) | __STATIC_FORCEINLINE uint32_t __QADD8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1340) | __STATIC_FORCEINLINE uint32_t __SHADD8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1348) | __STATIC_FORCEINLINE uint32_t __UADD8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1356) | __STATIC_FORCEINLINE uint32_t __UQADD8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1364) | __STATIC_FORCEINLINE uint32_t __UHADD8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1373) | __STATIC_FORCEINLINE uint32_t __SSUB8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1381) | __STATIC_FORCEINLINE uint32_t __QSUB8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1389) | __STATIC_FORCEINLINE uint32_t __SHSUB8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1397) | __STATIC_FORCEINLINE uint32_t __USUB8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1405) | __STATIC_FORCEINLINE uint32_t __UQSUB8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1413) | __STATIC_FORCEINLINE uint32_t __UHSUB8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1422) | __STATIC_FORCEINLINE uint32_t __SADD16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1430) | __STATIC_FORCEINLINE uint32_t __QADD16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1438) | __STATIC_FORCEINLINE uint32_t __SHADD16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1446) | __STATIC_FORCEINLINE uint32_t __UADD16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1454) | __STATIC_FORCEINLINE uint32_t __UQADD16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1462) | __STATIC_FORCEINLINE uint32_t __UHADD16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1470) | __STATIC_FORCEINLINE uint32_t __SSUB16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1478) | __STATIC_FORCEINLINE uint32_t __QSUB16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1486) | __STATIC_FORCEINLINE uint32_t __SHSUB16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1494) | __STATIC_FORCEINLINE uint32_t __USUB16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1502) | __STATIC_FORCEINLINE uint32_t __UQSUB16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1510) | __STATIC_FORCEINLINE uint32_t __UHSUB16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1518) | __STATIC_FORCEINLINE uint32_t __SASX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1526) | __STATIC_FORCEINLINE uint32_t __QASX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1534) | __STATIC_FORCEINLINE uint32_t __SHASX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1542) | __STATIC_FORCEINLINE uint32_t __UASX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1550) | __STATIC_FORCEINLINE uint32_t __UQASX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1558) | __STATIC_FORCEINLINE uint32_t __UHASX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1566) | __STATIC_FORCEINLINE uint32_t __SSAX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1574) | __STATIC_FORCEINLINE uint32_t __QSAX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1582) | __STATIC_FORCEINLINE uint32_t __SHSAX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1590) | __STATIC_FORCEINLINE uint32_t __USAX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1598) | __STATIC_FORCEINLINE uint32_t __UQSAX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1606) | __STATIC_FORCEINLINE uint32_t __UHSAX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1614) | __STATIC_FORCEINLINE uint32_t __USAD8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1622) | __STATIC_FORCEINLINE uint32_t __USADA8(uint32_t op1, uint32_t op2, uint3...
  function __STATIC_FORCEINLINE (line 1644) | __STATIC_FORCEINLINE uint32_t __UXTB16(uint32_t op1)
  function __STATIC_FORCEINLINE (line 1652) | __STATIC_FORCEINLINE uint32_t __UXTAB16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1660) | __STATIC_FORCEINLINE uint32_t __SXTB16(uint32_t op1)
  function __STATIC_FORCEINLINE (line 1668) | __STATIC_FORCEINLINE uint32_t __SXTAB16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1676) | __STATIC_FORCEINLINE uint32_t __SMUAD  (uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1684) | __STATIC_FORCEINLINE uint32_t __SMUADX (uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1692) | __STATIC_FORCEINLINE uint32_t __SMLAD (uint32_t op1, uint32_t op2, uint3...
  function __STATIC_FORCEINLINE (line 1700) | __STATIC_FORCEINLINE uint32_t __SMLADX (uint32_t op1, uint32_t op2, uint...
  function __STATIC_FORCEINLINE (line 1708) | __STATIC_FORCEINLINE uint64_t __SMLALD (uint32_t op1, uint32_t op2, uint...
  function __STATIC_FORCEINLINE (line 1725) | __STATIC_FORCEINLINE uint64_t __SMLALDX (uint32_t op1, uint32_t op2, uin...
  function __STATIC_FORCEINLINE (line 1742) | __STATIC_FORCEINLINE uint32_t __SMUSD  (uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1750) | __STATIC_FORCEINLINE uint32_t __SMUSDX (uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1758) | __STATIC_FORCEINLINE uint32_t __SMLSD (uint32_t op1, uint32_t op2, uint3...
  function __STATIC_FORCEINLINE (line 1766) | __STATIC_FORCEINLINE uint32_t __SMLSDX (uint32_t op1, uint32_t op2, uint...
  function __STATIC_FORCEINLINE (line 1774) | __STATIC_FORCEINLINE uint64_t __SMLSLD (uint32_t op1, uint32_t op2, uint...
  function __STATIC_FORCEINLINE (line 1791) | __STATIC_FORCEINLINE uint64_t __SMLSLDX (uint32_t op1, uint32_t op2, uin...
  function __STATIC_FORCEINLINE (line 1808) | __STATIC_FORCEINLINE uint32_t __SEL  (uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1816) | __STATIC_FORCEINLINE  int32_t __QADD( int32_t op1,  int32_t op2)
  function __STATIC_FORCEINLINE (line 1824) | __STATIC_FORCEINLINE  int32_t __QSUB( int32_t op1,  int32_t op2)
  function __STATIC_FORCEINLINE (line 1857) | __STATIC_FORCEINLINE int32_t __SMMLA (int32_t op1, int32_t op2, int32_t ...

FILE: LVGL/Simple_F446/Drivers/CMSIS/Include/cmsis_compiler.h
  type T_UINT32 (line 95) | struct __attribute__((packed)) T_UINT32 { uint32_t v; }
  function __PACKED_STRUCT (line 99) | __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }
  function __PACKED_STRUCT (line 103) | __PACKED_STRUCT T_UINT16_READ { uint16_t v; }
  function __PACKED_STRUCT (line 107) | __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }
  function __PACKED_STRUCT (line 111) | __PACKED_STRUCT T_UINT32_READ { uint32_t v; }
  function T_UINT32 (line 164) | struct __packed__ T_UINT32 { uint32_t v; }
  function __PACKED_STRUCT (line 168) | __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }
  function __PACKED_STRUCT (line 172) | __PACKED_STRUCT T_UINT16_READ { uint16_t v; }
  function __PACKED_STRUCT (line 176) | __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }
  function __PACKED_STRUCT (line 180) | __PACKED_STRUCT T_UINT32_READ { uint32_t v; }
  function packed (line 231) | packed struct T_UINT32 { uint32_t v; }
  function __PACKED_STRUCT (line 235) | __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }
  function __PACKED_STRUCT (line 239) | __PACKED_STRUCT T_UINT16_READ { uint16_t v; }
  function __PACKED_STRUCT (line 243) | __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }
  function __PACKED_STRUCT (line 247) | __PACKED_STRUCT T_UINT32_READ { uint32_t v; }

FILE: LVGL/Simple_F446/Drivers/CMSIS/Include/cmsis_gcc.h
  type T_UINT32 (line 74) | struct __attribute__((packed)) T_UINT32 { uint32_t v; }
  function __PACKED_STRUCT (line 82) | __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }
  function __PACKED_STRUCT (line 90) | __PACKED_STRUCT T_UINT16_READ { uint16_t v; }
  function __PACKED_STRUCT (line 98) | __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }
  function __PACKED_STRUCT (line 106) | __PACKED_STRUCT T_UINT32_READ { uint32_t v; }
  function __STATIC_FORCEINLINE (line 166) | __STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void)
  function __STATIC_FORCEINLINE (line 181) | __STATIC_FORCEINLINE void __set_CONTROL(uint32_t control)
  function __STATIC_FORCEINLINE (line 193) | __STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control)
  function __STATIC_FORCEINLINE (line 205) | __STATIC_FORCEINLINE uint32_t __get_IPSR(void)
  function __STATIC_FORCEINLINE (line 219) | __STATIC_FORCEINLINE uint32_t __get_APSR(void)
  function __STATIC_FORCEINLINE (line 233) | __STATIC_FORCEINLINE uint32_t __get_xPSR(void)
  function __STATIC_FORCEINLINE (line 247) | __STATIC_FORCEINLINE uint32_t __get_PSP(void)
  function __STATIC_FORCEINLINE (line 262) | __STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void)
  function __STATIC_FORCEINLINE (line 277) | __STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack)
  function __STATIC_FORCEINLINE (line 289) | __STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack)
  function __STATIC_FORCEINLINE (line 301) | __STATIC_FORCEINLINE uint32_t __get_MSP(void)
  function __STATIC_FORCEINLINE (line 316) | __STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void)
  function __STATIC_FORCEINLINE (line 331) | __STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack)
  function __STATIC_FORCEINLINE (line 343) | __STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack)
  function __STATIC_FORCEINLINE (line 356) | __STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void)
  function __STATIC_FORCEINLINE (line 370) | __STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack)
  function __STATIC_FORCEINLINE (line 382) | __STATIC_FORCEINLINE uint32_t __get_PRIMASK(void)
  function __STATIC_FORCEINLINE (line 397) | __STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void)
  function __STATIC_FORCEINLINE (line 412) | __STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask)
  function __STATIC_FORCEINLINE (line 424) | __STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask)
  function __STATIC_FORCEINLINE (line 476) | __STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void)
  function __STATIC_FORCEINLINE (line 491) | __STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri)
  function __STATIC_FORCEINLINE (line 503) | __STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri)
  function __STATIC_FORCEINLINE (line 516) | __STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri)
  function __STATIC_FORCEINLINE (line 527) | __STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void)
  function __STATIC_FORCEINLINE (line 542) | __STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void)
  function __STATIC_FORCEINLINE (line 557) | __STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask)
  function __STATIC_FORCEINLINE (line 569) | __STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask)
  function __STATIC_FORCEINLINE (line 592) | __STATIC_FORCEINLINE uint32_t __get_PSPLIM(void)
  function __STATIC_FORCEINLINE (line 614) | __STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void)
  function __STATIC_FORCEINLINE (line 637) | __STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit)
  function __STATIC_FORCEINLINE (line 658) | __STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit)
  function __STATIC_FORCEINLINE (line 679) | __STATIC_FORCEINLINE uint32_t __get_MSPLIM(void)
  function __STATIC_FORCEINLINE (line 702) | __STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void)
  function __STATIC_FORCEINLINE (line 725) | __STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit)
  function __STATIC_FORCEINLINE (line 746) | __STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit)
  function __STATIC_FORCEINLINE (line 766) | __STATIC_FORCEINLINE uint32_t __get_FPSCR(void)
  function __STATIC_FORCEINLINE (line 792) | __STATIC_FORCEINLINE void __set_FPSCR(uint32_t fpscr)
  function __STATIC_FORCEINLINE (line 919) | __STATIC_FORCEINLINE uint32_t __REV16(uint32_t value)
  function __STATIC_FORCEINLINE (line 934) | __STATIC_FORCEINLINE int16_t __REVSH(int16_t value)
  function __STATIC_FORCEINLINE (line 954) | __STATIC_FORCEINLINE uint32_t __ROR(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 981) | __STATIC_FORCEINLINE uint32_t __RBIT(uint32_t value)
  function __STATIC_FORCEINLINE (line 1024) | __STATIC_FORCEINLINE uint8_t __LDREXB(volatile uint8_t *addr)
  function __STATIC_FORCEINLINE (line 1046) | __STATIC_FORCEINLINE uint16_t __LDREXH(volatile uint16_t *addr)
  function __STATIC_FORCEINLINE (line 1068) | __STATIC_FORCEINLINE uint32_t __LDREXW(volatile uint32_t *addr)
  function __STATIC_FORCEINLINE (line 1085) | __STATIC_FORCEINLINE uint32_t __STREXB(uint8_t value, volatile uint8_t *...
  function __STATIC_FORCEINLINE (line 1102) | __STATIC_FORCEINLINE uint32_t __STREXH(uint16_t value, volatile uint16_t...
  function __STATIC_FORCEINLINE (line 1119) | __STATIC_FORCEINLINE uint32_t __STREXW(uint32_t value, volatile uint32_t...
  function __STATIC_FORCEINLINE (line 1132) | __STATIC_FORCEINLINE void __CLREX(void)
  function __STATIC_FORCEINLINE (line 1185) | __STATIC_FORCEINLINE uint32_t __RRX(uint32_t value)
  function __STATIC_FORCEINLINE (line 1200) | __STATIC_FORCEINLINE uint8_t __LDRBT(volatile uint8_t *ptr)
  function __STATIC_FORCEINLINE (line 1222) | __STATIC_FORCEINLINE uint16_t __LDRHT(volatile uint16_t *ptr)
  function __STATIC_FORCEINLINE (line 1244) | __STATIC_FORCEINLINE uint32_t __LDRT(volatile uint32_t *ptr)
  function __STATIC_FORCEINLINE (line 1259) | __STATIC_FORCEINLINE void __STRBT(uint8_t value, volatile uint8_t *ptr)
  function __STATIC_FORCEINLINE (line 1271) | __STATIC_FORCEINLINE void __STRHT(uint16_t value, volatile uint16_t *ptr)
  function __STATIC_FORCEINLINE (line 1283) | __STATIC_FORCEINLINE void __STRT(uint32_t value, volatile uint32_t *ptr)
  function __STATIC_FORCEINLINE (line 1299) | __STATIC_FORCEINLINE int32_t __SSAT(int32_t val, uint32_t sat)
  function __STATIC_FORCEINLINE (line 1324) | __STATIC_FORCEINLINE uint32_t __USAT(int32_t val, uint32_t sat)
  function __STATIC_FORCEINLINE (line 1354) | __STATIC_FORCEINLINE uint8_t __LDAB(volatile uint8_t *ptr)
  function __STATIC_FORCEINLINE (line 1369) | __STATIC_FORCEINLINE uint16_t __LDAH(volatile uint16_t *ptr)
  function __STATIC_FORCEINLINE (line 1384) | __STATIC_FORCEINLINE uint32_t __LDA(volatile uint32_t *ptr)
  function __STATIC_FORCEINLINE (line 1399) | __STATIC_FORCEINLINE void __STLB(uint8_t value, volatile uint8_t *ptr)
  function __STATIC_FORCEINLINE (line 1411) | __STATIC_FORCEINLINE void __STLH(uint16_t value, volatile uint16_t *ptr)
  function __STATIC_FORCEINLINE (line 1423) | __STATIC_FORCEINLINE void __STL(uint32_t value, volatile uint32_t *ptr)
  function __STATIC_FORCEINLINE (line 1435) | __STATIC_FORCEINLINE uint8_t __LDAEXB(volatile uint8_t *ptr)
  function __STATIC_FORCEINLINE (line 1450) | __STATIC_FORCEINLINE uint16_t __LDAEXH(volatile uint16_t *ptr)
  function __STATIC_FORCEINLINE (line 1465) | __STATIC_FORCEINLINE uint32_t __LDAEX(volatile uint32_t *ptr)
  function __STATIC_FORCEINLINE (line 1482) | __STATIC_FORCEINLINE uint32_t __STLEXB(uint8_t value, volatile uint8_t *...
  function __STATIC_FORCEINLINE (line 1499) | __STATIC_FORCEINLINE uint32_t __STLEXH(uint16_t value, volatile uint16_t...
  function __STATIC_FORCEINLINE (line 1516) | __STATIC_FORCEINLINE uint32_t __STLEX(uint32_t value, volatile uint32_t ...
  function __STATIC_FORCEINLINE (line 1538) | __STATIC_FORCEINLINE uint32_t __SADD8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1546) | __STATIC_FORCEINLINE uint32_t __QADD8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1554) | __STATIC_FORCEINLINE uint32_t __SHADD8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1562) | __STATIC_FORCEINLINE uint32_t __UADD8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1570) | __STATIC_FORCEINLINE uint32_t __UQADD8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1578) | __STATIC_FORCEINLINE uint32_t __UHADD8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1587) | __STATIC_FORCEINLINE uint32_t __SSUB8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1595) | __STATIC_FORCEINLINE uint32_t __QSUB8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1603) | __STATIC_FORCEINLINE uint32_t __SHSUB8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1611) | __STATIC_FORCEINLINE uint32_t __USUB8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1619) | __STATIC_FORCEINLINE uint32_t __UQSUB8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1627) | __STATIC_FORCEINLINE uint32_t __UHSUB8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1636) | __STATIC_FORCEINLINE uint32_t __SADD16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1644) | __STATIC_FORCEINLINE uint32_t __QADD16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1652) | __STATIC_FORCEINLINE uint32_t __SHADD16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1660) | __STATIC_FORCEINLINE uint32_t __UADD16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1668) | __STATIC_FORCEINLINE uint32_t __UQADD16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1676) | __STATIC_FORCEINLINE uint32_t __UHADD16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1684) | __STATIC_FORCEINLINE uint32_t __SSUB16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1692) | __STATIC_FORCEINLINE uint32_t __QSUB16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1700) | __STATIC_FORCEINLINE uint32_t __SHSUB16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1708) | __STATIC_FORCEINLINE uint32_t __USUB16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1716) | __STATIC_FORCEINLINE uint32_t __UQSUB16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1724) | __STATIC_FORCEINLINE uint32_t __UHSUB16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1732) | __STATIC_FORCEINLINE uint32_t __SASX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1740) | __STATIC_FORCEINLINE uint32_t __QASX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1748) | __STATIC_FORCEINLINE uint32_t __SHASX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1756) | __STATIC_FORCEINLINE uint32_t __UASX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1764) | __STATIC_FORCEINLINE uint32_t __UQASX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1772) | __STATIC_FORCEINLINE uint32_t __UHASX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1780) | __STATIC_FORCEINLINE uint32_t __SSAX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1788) | __STATIC_FORCEINLINE uint32_t __QSAX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1796) | __STATIC_FORCEINLINE uint32_t __SHSAX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1804) | __STATIC_FORCEINLINE uint32_t __USAX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1812) | __STATIC_FORCEINLINE uint32_t __UQSAX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1820) | __STATIC_FORCEINLINE uint32_t __UHSAX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1828) | __STATIC_FORCEINLINE uint32_t __USAD8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1836) | __STATIC_FORCEINLINE uint32_t __USADA8(uint32_t op1, uint32_t op2, uint3...
  function __STATIC_FORCEINLINE (line 1858) | __STATIC_FORCEINLINE uint32_t __UXTB16(uint32_t op1)
  function __STATIC_FORCEINLINE (line 1866) | __STATIC_FORCEINLINE uint32_t __UXTAB16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1874) | __STATIC_FORCEINLINE uint32_t __SXTB16(uint32_t op1)
  function __STATIC_FORCEINLINE (line 1882) | __STATIC_FORCEINLINE uint32_t __SXTAB16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1890) | __STATIC_FORCEINLINE uint32_t __SMUAD  (uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1898) | __STATIC_FORCEINLINE uint32_t __SMUADX (uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1906) | __STATIC_FORCEINLINE uint32_t __SMLAD (uint32_t op1, uint32_t op2, uint3...
  function __STATIC_FORCEINLINE (line 1914) | __STATIC_FORCEINLINE uint32_t __SMLADX (uint32_t op1, uint32_t op2, uint...
  function __STATIC_FORCEINLINE (line 1922) | __STATIC_FORCEINLINE uint64_t __SMLALD (uint32_t op1, uint32_t op2, uint...
  function __STATIC_FORCEINLINE (line 1939) | __STATIC_FORCEINLINE uint64_t __SMLALDX (uint32_t op1, uint32_t op2, uin...
  function __STATIC_FORCEINLINE (line 1956) | __STATIC_FORCEINLINE uint32_t __SMUSD  (uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1964) | __STATIC_FORCEINLINE uint32_t __SMUSDX (uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1972) | __STATIC_FORCEINLINE uint32_t __SMLSD (uint32_t op1, uint32_t op2, uint3...
  function __STATIC_FORCEINLINE (line 1980) | __STATIC_FORCEINLINE uint32_t __SMLSDX (uint32_t op1, uint32_t op2, uint...
  function __STATIC_FORCEINLINE (line 1988) | __STATIC_FORCEINLINE uint64_t __SMLSLD (uint32_t op1, uint32_t op2, uint...
  function __STATIC_FORCEINLINE (line 2005) | __STATIC_FORCEINLINE uint64_t __SMLSLDX (uint32_t op1, uint32_t op2, uin...
  function __STATIC_FORCEINLINE (line 2022) | __STATIC_FORCEINLINE uint32_t __SEL  (uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 2030) | __STATIC_FORCEINLINE  int32_t __QADD( int32_t op1,  int32_t op2)
  function __STATIC_FORCEINLINE (line 2038) | __STATIC_FORCEINLINE  int32_t __QSUB( int32_t op1,  int32_t op2)
  function __STATIC_FORCEINLINE (line 2071) | __STATIC_FORCEINLINE int32_t __SMMLA (int32_t op1, int32_t op2, int32_t ...

FILE: LVGL/Simple_F446/Drivers/CMSIS/Include/cmsis_iccarm.h
  function __IAR_FT (line 171) | __IAR_FT uint16_t __iar_uint16_read(void const *ptr)
  function __IAR_FT (line 183) | __IAR_FT void __iar_uint16_write(void const *ptr, uint16_t val)
  function __IAR_FT (line 194) | __IAR_FT uint32_t __iar_uint32_read(void const *ptr)
  function __IAR_FT (line 205) | __IAR_FT void __iar_uint32_write(void const *ptr, uint32_t val)
  function __packed (line 216) | __packed struct  __iar_u32 { uint32_t v; }
  function __IAR_FT (line 374) | __IAR_FT int16_t __REVSH(int16_t val)
  function __STATIC_INLINE (line 496) | __STATIC_INLINE uint8_t __CLZ(uint32_t data)
  function __STATIC_INLINE (line 511) | __STATIC_INLINE uint32_t __RBIT(uint32_t v)
  function __STATIC_INLINE (line 524) | __STATIC_INLINE  uint32_t __get_APSR(void)
  function __IAR_FT (line 552) | __IAR_FT uint32_t __LDREXW(uint32_t volatile *ptr)
  function __IAR_FT (line 557) | __IAR_FT uint32_t __STREXW(uint32_t value, uint32_t volatile *ptr)
  function __IAR_FT (line 567) | __IAR_FT uint32_t __RRX(uint32_t value)
  function __IAR_FT (line 574) | __IAR_FT void __set_BASEPRI_MAX(uint32_t value)
  function __IAR_FT (line 586) | __IAR_FT uint32_t __ROR(uint32_t op1, uint32_t op2)
  function __IAR_FT (line 594) | __IAR_FT uint32_t __get_MSPLIM(void)
  function __IAR_FT (line 607) | __IAR_FT void   __set_MSPLIM(uint32_t value)
  function __IAR_FT (line 618) | __IAR_FT uint32_t __get_PSPLIM(void)
  function __IAR_FT (line 631) | __IAR_FT void   __set_PSPLIM(uint32_t value)
  function __IAR_FT (line 642) | __IAR_FT uint32_t __TZ_get_CONTROL_NS(void)
  function __IAR_FT (line 649) | __IAR_FT void   __TZ_set_CONTROL_NS(uint32_t value)
  function __IAR_FT (line 654) | __IAR_FT uint32_t   __TZ_get_PSP_NS(void)
  function __IAR_FT (line 661) | __IAR_FT void   __TZ_set_PSP_NS(uint32_t value)
  function __IAR_FT (line 666) | __IAR_FT uint32_t   __TZ_get_MSP_NS(void)
  function __IAR_FT (line 673) | __IAR_FT void   __TZ_set_MSP_NS(uint32_t value)
  function __IAR_FT (line 678) | __IAR_FT uint32_t   __TZ_get_SP_NS(void)
  function __IAR_FT (line 684) | __IAR_FT void   __TZ_set_SP_NS(uint32_t value)
  function __IAR_FT (line 689) | __IAR_FT uint32_t   __TZ_get_PRIMASK_NS(void)
  function __IAR_FT (line 696) | __IAR_FT void   __TZ_set_PRIMASK_NS(uint32_t value)
  function __IAR_FT (line 701) | __IAR_FT uint32_t   __TZ_get_BASEPRI_NS(void)
  function __IAR_FT (line 708) | __IAR_FT void   __TZ_set_BASEPRI_NS(uint32_t value)
  function __IAR_FT (line 713) | __IAR_FT uint32_t   __TZ_get_FAULTMASK_NS(void)
  function __IAR_FT (line 720) | __IAR_FT void   __TZ_set_FAULTMASK_NS(uint32_t value)
  function __IAR_FT (line 725) | __IAR_FT uint32_t   __TZ_get_PSPLIM_NS(void)
  function __IAR_FT (line 738) | __IAR_FT void   __TZ_set_PSPLIM_NS(uint32_t value)
  function __IAR_FT (line 749) | __IAR_FT uint32_t   __TZ_get_MSPLIM_NS(void)
  function __IAR_FT (line 756) | __IAR_FT void   __TZ_set_MSPLIM_NS(uint32_t value)
  function __STATIC_INLINE (line 768) | __STATIC_INLINE int32_t __SSAT(int32_t val, uint32_t sat)
  function __STATIC_INLINE (line 786) | __STATIC_INLINE uint32_t __USAT(int32_t val, uint32_t sat)
  function __IAR_FT (line 806) | __IAR_FT uint8_t __LDRBT(volatile uint8_t *addr)
  function __IAR_FT (line 813) | __IAR_FT uint16_t __LDRHT(volatile uint16_t *addr)
  function __IAR_FT (line 820) | __IAR_FT uint32_t __LDRT(volatile uint32_t *addr)
  function __IAR_FT (line 827) | __IAR_FT void __STRBT(uint8_t value, volatile uint8_t *addr)
  function __IAR_FT (line 832) | __IAR_FT void __STRHT(uint16_t value, volatile uint16_t *addr)
  function __IAR_FT (line 837) | __IAR_FT void __STRT(uint32_t value, volatile uint32_t *addr)
  function __IAR_FT (line 848) | __IAR_FT uint8_t __LDAB(volatile uint8_t *ptr)
  function __IAR_FT (line 855) | __IAR_FT uint16_t __LDAH(volatile uint16_t *ptr)
  function __IAR_FT (line 862) | __IAR_FT uint32_t __LDA(volatile uint32_t *ptr)
  function __IAR_FT (line 869) | __IAR_FT void __STLB(uint8_t value, volatile uint8_t *ptr)
  function __IAR_FT (line 874) | __IAR_FT void __STLH(uint16_t value, volatile uint16_t *ptr)
  function __IAR_FT (line 879) | __IAR_FT void __STL(uint32_t value, volatile uint32_t *ptr)
  function __IAR_FT (line 884) | __IAR_FT uint8_t __LDAEXB(volatile uint8_t *ptr)
  function __IAR_FT (line 891) | __IAR_FT uint16_t __LDAEXH(volatile uint16_t *ptr)
  function __IAR_FT (line 898) | __IAR_FT uint32_t __LDAEX(volatile uint32_t *ptr)
  function __IAR_FT (line 905) | __IAR_FT uint32_t __STLEXB(uint8_t value, volatile uint8_t *ptr)
  function __IAR_FT (line 912) | __IAR_FT uint32_t __STLEXH(uint16_t value, volatile uint16_t *ptr)
  function __IAR_FT (line 919) | __IAR_FT uint32_t __STLEX(uint32_t value, volatile uint32_t *ptr)

FILE: LVGL/Simple_F446/Drivers/CMSIS/Include/core_armv8mbl.h
  type APSR_Type (line 233) | typedef union
  type IPSR_Type (line 263) | typedef union
  type xPSR_Type (line 281) | typedef union
  type CONTROL_Type (line 320) | typedef union
  type NVIC_Type (line 351) | typedef struct
  type SCB_Type (line 381) | typedef struct
  type SysTick_Type (line 558) | typedef struct
  type DWT_Type (line 610) | typedef struct
  type TPI_Type (line 725) | typedef struct
  type MPU_Type (line 824) | typedef struct
  type SAU_Type (line 931) | typedef struct
  type CoreDebug_Type (line 988) | typedef struct
  function __STATIC_INLINE (line 1252) | __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1269) | __STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1288) | __STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1307) | __STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1326) | __STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1341) | __STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1358) | __STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1380) | __STATIC_INLINE uint32_t NVIC_GetTargetState(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1401) | __STATIC_INLINE uint32_t NVIC_SetTargetState(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1423) | __STATIC_INLINE uint32_t NVIC_ClearTargetState(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1447) | __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
  function __STATIC_INLINE (line 1471) | __STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1496) | __STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, ui...
  function __STATIC_INLINE (line 1523) | __STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t Pr...
  function __STATIC_INLINE (line 1547) | __STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
  function __STATIC_INLINE (line 1566) | __STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
  function __NVIC_SystemReset (line 1581) | void __NVIC_SystemReset(void)
  function __STATIC_INLINE (line 1602) | __STATIC_INLINE void TZ_NVIC_EnableIRQ_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1619) | __STATIC_INLINE uint32_t TZ_NVIC_GetEnableIRQ_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1638) | __STATIC_INLINE void TZ_NVIC_DisableIRQ_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1655) | __STATIC_INLINE uint32_t TZ_NVIC_GetPendingIRQ_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1674) | __STATIC_INLINE void TZ_NVIC_SetPendingIRQ_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1689) | __STATIC_INLINE void TZ_NVIC_ClearPendingIRQ_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1706) | __STATIC_INLINE uint32_t TZ_NVIC_GetActive_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1728) | __STATIC_INLINE void TZ_NVIC_SetPriority_NS(IRQn_Type IRQn, uint32_t pri...
  function __STATIC_INLINE (line 1751) | __STATIC_INLINE uint32_t TZ_NVIC_GetPriority_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1791) | __STATIC_INLINE uint32_t SCB_GetFPUType(void)
  function __STATIC_INLINE (line 1815) | __STATIC_INLINE void TZ_SAU_Enable(void)
  function __STATIC_INLINE (line 1826) | __STATIC_INLINE void TZ_SAU_Disable(void)
  function __STATIC_INLINE (line 1859) | __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
  function __STATIC_INLINE (line 1888) | __STATIC_INLINE uint32_t TZ_SysTick_Config_NS(uint32_t ticks)

FILE: LVGL/Simple_F446/Drivers/CMSIS/Include/core_armv8mml.h
  type APSR_Type (line 314) | typedef union
  type IPSR_Type (line 353) | typedef union
  type xPSR_Type (line 371) | typedef union
  type CONTROL_Type (line 422) | typedef union
  type NVIC_Type (line 461) | typedef struct
  type SCB_Type (line 497) | typedef struct
  type SCnSCB_Type (line 1009) | typedef struct
  type SysTick_Type (line 1034) | typedef struct
  type DWT_Type (line 1201) | typedef struct
  type TPI_Type (line 1387) | typedef struct
  type MPU_Type (line 1486) | typedef struct
  type SAU_Type (line 1599) | typedef struct
  type FPU_Type (line 1685) | typedef struct
  type CoreDebug_Type (line 1815) | typedef struct
  function __STATIC_INLINE (line 2116) | __STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
  function __STATIC_INLINE (line 2135) | __STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void)
  function __STATIC_INLINE (line 2147) | __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2164) | __STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2183) | __STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2202) | __STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2221) | __STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2236) | __STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2253) | __STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2275) | __STATIC_INLINE uint32_t NVIC_GetTargetState(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2296) | __STATIC_INLINE uint32_t NVIC_SetTargetState(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2318) | __STATIC_INLINE uint32_t NVIC_ClearTargetState(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2342) | __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
  function __STATIC_INLINE (line 2364) | __STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2389) | __STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, ui...
  function __STATIC_INLINE (line 2416) | __STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t Pr...
  function __STATIC_INLINE (line 2439) | __STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
  function __STATIC_INLINE (line 2454) | __STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
  function __NVIC_SystemReset (line 2465) | void __NVIC_SystemReset(void)
  function __STATIC_INLINE (line 2490) | __STATIC_INLINE void TZ_NVIC_SetPriorityGrouping_NS(uint32_t PriorityGroup)
  function __STATIC_INLINE (line 2509) | __STATIC_INLINE uint32_t TZ_NVIC_GetPriorityGrouping_NS(void)
  function __STATIC_INLINE (line 2521) | __STATIC_INLINE void TZ_NVIC_EnableIRQ_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2538) | __STATIC_INLINE uint32_t TZ_NVIC_GetEnableIRQ_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2557) | __STATIC_INLINE void TZ_NVIC_DisableIRQ_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2574) | __STATIC_INLINE uint32_t TZ_NVIC_GetPendingIRQ_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2593) | __STATIC_INLINE void TZ_NVIC_SetPendingIRQ_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2608) | __STATIC_INLINE void TZ_NVIC_ClearPendingIRQ_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2625) | __STATIC_INLINE uint32_t TZ_NVIC_GetActive_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2647) | __STATIC_INLINE void TZ_NVIC_SetPriority_NS(IRQn_Type IRQn, uint32_t pri...
  function __STATIC_INLINE (line 2668) | __STATIC_INLINE uint32_t TZ_NVIC_GetPriority_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2708) | __STATIC_INLINE uint32_t SCB_GetFPUType(void)
  function __STATIC_INLINE (line 2746) | __STATIC_INLINE void TZ_SAU_Enable(void)
  function __STATIC_INLINE (line 2757) | __STATIC_INLINE void TZ_SAU_Disable(void)
  function __STATIC_INLINE (line 2790) | __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
  function __STATIC_INLINE (line 2819) | __STATIC_INLINE uint32_t TZ_SysTick_Config_NS(uint32_t ticks)
  function __STATIC_INLINE (line 2862) | __STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch)
  function __STATIC_INLINE (line 2883) | __STATIC_INLINE int32_t ITM_ReceiveChar (void)
  function __STATIC_INLINE (line 2903) | __STATIC_INLINE int32_t ITM_CheckChar (void)

FILE: LVGL/Simple_F446/Drivers/CMSIS/Include/core_cm0.h
  type APSR_Type (line 199) | typedef union
  type IPSR_Type (line 229) | typedef union
  type xPSR_Type (line 247) | typedef union
  type CONTROL_Type (line 286) | typedef union
  type NVIC_Type (line 314) | typedef struct
  type SCB_Type (line 341) | typedef struct
  type SysTick_Type (line 448) | typedef struct
  function __STATIC_INLINE (line 623) | __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 640) | __STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 659) | __STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 678) | __STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 697) | __STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 712) | __STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 730) | __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
  function __STATIC_INLINE (line 754) | __STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
  function __STATIC_INLINE (line 779) | __STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, ui...
  function __STATIC_INLINE (line 806) | __STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t Pr...
  function __STATIC_INLINE (line 830) | __STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
  function __STATIC_INLINE (line 845) | __STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
  function __NVIC_SystemReset (line 856) | void __NVIC_SystemReset(void)
  function __STATIC_INLINE (line 889) | __STATIC_INLINE uint32_t SCB_GetFPUType(void)
  function __STATIC_INLINE (line 920) | __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)

FILE: LVGL/Simple_F446/Drivers/CMSIS/Include/core_cm0plus.h
  type APSR_Type (line 210) | typedef union
  type IPSR_Type (line 240) | typedef union
  type xPSR_Type (line 258) | typedef union
  type CONTROL_Type (line 297) | typedef union
  type NVIC_Type (line 328) | typedef struct
  type SCB_Type (line 355) | typedef struct
  type SysTick_Type (line 472) | typedef struct
  type MPU_Type (line 524) | typedef struct
  function __STATIC_INLINE (line 741) | __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 758) | __STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 777) | __STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 796) | __STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 815) | __STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 830) | __STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 848) | __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
  function __STATIC_INLINE (line 872) | __STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
  function __STATIC_INLINE (line 897) | __STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, ui...
  function __STATIC_INLINE (line 924) | __STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t Pr...
  function __STATIC_INLINE (line 948) | __STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
  function __STATIC_INLINE (line 967) | __STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
  function __NVIC_SystemReset (line 983) | void __NVIC_SystemReset(void)
  function __STATIC_INLINE (line 1023) | __STATIC_INLINE uint32_t SCB_GetFPUType(void)
  function __STATIC_INLINE (line 1054) | __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)

FILE: LVGL/Simple_F446/Drivers/CMSIS/Include/core_cm1.h
  type APSR_Type (line 199) | typedef union
  type IPSR_Type (line 229) | typedef union
  type xPSR_Type (line 247) | typedef union
  type CONTROL_Type (line 286) | typedef union
  type NVIC_Type (line 314) | typedef struct
  type SCB_Type (line 341) | typedef struct
  type SCnSCB_Type (line 448) | typedef struct
  type SysTick_Type (line 474) | typedef struct
  function __STATIC_INLINE (line 650) | __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 667) | __STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 686) | __STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 705) | __STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 724) | __STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 739) | __STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 757) | __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
  function __STATIC_INLINE (line 781) | __STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
  function __STATIC_INLINE (line 806) | __STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, ui...
  function __STATIC_INLINE (line 833) | __STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t Pr...
  function __STATIC_INLINE (line 857) | __STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
  function __STATIC_INLINE (line 872) | __STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
  function __NVIC_SystemReset (line 883) | void __NVIC_SystemReset(void)
  function __STATIC_INLINE (line 916) | __STATIC_INLINE uint32_t SCB_GetFPUType(void)
  function __STATIC_INLINE (line 947) | __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)

FILE: LVGL/Simple_F446/Drivers/CMSIS/Include/core_cm23.h
  type APSR_Type (line 233) | typedef union
  type IPSR_Type (line 263) | typedef union
  type xPSR_Type (line 281) | typedef union
  type CONTROL_Type (line 320) | typedef union
  type NVIC_Type (line 351) | typedef struct
  type SCB_Type (line 381) | typedef struct
  type SysTick_Type (line 558) | typedef struct
  type DWT_Type (line 610) | typedef struct
  type TPI_Type (line 725) | typedef struct
  type MPU_Type (line 899) | typedef struct
  type SAU_Type (line 1006) | typedef struct
  type CoreDebug_Type (line 1063) | typedef struct
  function __STATIC_INLINE (line 1327) | __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1344) | __STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1363) | __STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1382) | __STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1401) | __STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1416) | __STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1433) | __STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1455) | __STATIC_INLINE uint32_t NVIC_GetTargetState(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1476) | __STATIC_INLINE uint32_t NVIC_SetTargetState(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1498) | __STATIC_INLINE uint32_t NVIC_ClearTargetState(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1522) | __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
  function __STATIC_INLINE (line 1546) | __STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1571) | __STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, ui...
  function __STATIC_INLINE (line 1598) | __STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t Pr...
  function __STATIC_INLINE (line 1622) | __STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
  function __STATIC_INLINE (line 1641) | __STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
  function __NVIC_SystemReset (line 1656) | void __NVIC_SystemReset(void)
  function __STATIC_INLINE (line 1677) | __STATIC_INLINE void TZ_NVIC_EnableIRQ_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1694) | __STATIC_INLINE uint32_t TZ_NVIC_GetEnableIRQ_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1713) | __STATIC_INLINE void TZ_NVIC_DisableIRQ_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1730) | __STATIC_INLINE uint32_t TZ_NVIC_GetPendingIRQ_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1749) | __STATIC_INLINE void TZ_NVIC_SetPendingIRQ_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1764) | __STATIC_INLINE void TZ_NVIC_ClearPendingIRQ_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1781) | __STATIC_INLINE uint32_t TZ_NVIC_GetActive_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1803) | __STATIC_INLINE void TZ_NVIC_SetPriority_NS(IRQn_Type IRQn, uint32_t pri...
  function __STATIC_INLINE (line 1826) | __STATIC_INLINE uint32_t TZ_NVIC_GetPriority_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1866) | __STATIC_INLINE uint32_t SCB_GetFPUType(void)
  function __STATIC_INLINE (line 1890) | __STATIC_INLINE void TZ_SAU_Enable(void)
  function __STATIC_INLINE (line 1901) | __STATIC_INLINE void TZ_SAU_Disable(void)
  function __STATIC_INLINE (line 1934) | __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
  function __STATIC_INLINE (line 1963) | __STATIC_INLINE uint32_t TZ_SysTick_Config_NS(uint32_t ticks)

FILE: LVGL/Simple_F446/Drivers/CMSIS/Include/core_cm3.h
  type APSR_Type (line 206) | typedef union
  type IPSR_Type (line 240) | typedef union
  type xPSR_Type (line 258) | typedef union
  type CONTROL_Type (line 309) | typedef union
  type NVIC_Type (line 340) | typedef struct
  type SCB_Type (line 374) | typedef struct
  type SCnSCB_Type (line 655) | typedef struct
  type SysTick_Type (line 694) | typedef struct
  type DWT_Type (line 849) | typedef struct
  type TPI_Type (line 996) | typedef struct
  type MPU_Type (line 1158) | typedef struct
  type CoreDebug_Type (line 1254) | typedef struct
  function __STATIC_INLINE (line 1480) | __STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
  function __STATIC_INLINE (line 1499) | __STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void)
  function __STATIC_INLINE (line 1511) | __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1528) | __STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1547) | __STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1566) | __STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1585) | __STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1600) | __STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1617) | __STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1639) | __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
  function __STATIC_INLINE (line 1661) | __STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1686) | __STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, ui...
  function __STATIC_INLINE (line 1713) | __STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t Pr...
  function __STATIC_INLINE (line 1736) | __STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
  function __STATIC_INLINE (line 1751) | __STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
  function __NVIC_SystemReset (line 1762) | void __NVIC_SystemReset(void)
  function __STATIC_INLINE (line 1803) | __STATIC_INLINE uint32_t SCB_GetFPUType(void)
  function __STATIC_INLINE (line 1834) | __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
  function __STATIC_INLINE (line 1876) | __STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch)
  function __STATIC_INLINE (line 1897) | __STATIC_INLINE int32_t ITM_ReceiveChar (void)
  function __STATIC_INLINE (line 1917) | __STATIC_INLINE int32_t ITM_CheckChar (void)

FILE: LVGL/Simple_F446/Drivers/CMSIS/Include/core_cm33.h
  type APSR_Type (line 314) | typedef union
  type IPSR_Type (line 353) | typedef union
  type xPSR_Type (line 371) | typedef union
  type CONTROL_Type (line 422) | typedef union
  type NVIC_Type (line 461) | typedef struct
  type SCB_Type (line 497) | typedef struct
  type SCnSCB_Type (line 1009) | typedef struct
  type SysTick_Type (line 1034) | typedef struct
  type DWT_Type (line 1201) | typedef struct
  type TPI_Type (line 1387) | typedef struct
  type MPU_Type (line 1561) | typedef struct
  type SAU_Type (line 1674) | typedef struct
  type FPU_Type (line 1760) | typedef struct
  type CoreDebug_Type (line 1890) | typedef struct
  function __STATIC_INLINE (line 2191) | __STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
  function __STATIC_INLINE (line 2210) | __STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void)
  function __STATIC_INLINE (line 2222) | __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2239) | __STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2258) | __STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2277) | __STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2296) | __STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2311) | __STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2328) | __STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2350) | __STATIC_INLINE uint32_t NVIC_GetTargetState(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2371) | __STATIC_INLINE uint32_t NVIC_SetTargetState(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2393) | __STATIC_INLINE uint32_t NVIC_ClearTargetState(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2417) | __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
  function __STATIC_INLINE (line 2439) | __STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2464) | __STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, ui...
  function __STATIC_INLINE (line 2491) | __STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t Pr...
  function __STATIC_INLINE (line 2514) | __STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
  function __STATIC_INLINE (line 2529) | __STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
  function __NVIC_SystemReset (line 2540) | void __NVIC_SystemReset(void)
  function __STATIC_INLINE (line 2565) | __STATIC_INLINE void TZ_NVIC_SetPriorityGrouping_NS(uint32_t PriorityGroup)
  function __STATIC_INLINE (line 2584) | __STATIC_INLINE uint32_t TZ_NVIC_GetPriorityGrouping_NS(void)
  function __STATIC_INLINE (line 2596) | __STATIC_INLINE void TZ_NVIC_EnableIRQ_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2613) | __STATIC_INLINE uint32_t TZ_NVIC_GetEnableIRQ_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2632) | __STATIC_INLINE void TZ_NVIC_DisableIRQ_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2649) | __STATIC_INLINE uint32_t TZ_NVIC_GetPendingIRQ_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2668) | __STATIC_INLINE void TZ_NVIC_SetPendingIRQ_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2683) | __STATIC_INLINE void TZ_NVIC_ClearPendingIRQ_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2700) | __STATIC_INLINE uint32_t TZ_NVIC_GetActive_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2722) | __STATIC_INLINE void TZ_NVIC_SetPriority_NS(IRQn_Type IRQn, uint32_t pri...
  function __STATIC_INLINE (line 2743) | __STATIC_INLINE uint32_t TZ_NVIC_GetPriority_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2783) | __STATIC_INLINE uint32_t SCB_GetFPUType(void)
  function __STATIC_INLINE (line 2821) | __STATIC_INLINE void TZ_SAU_Enable(void)
  function __STATIC_INLINE (line 2832) | __STATIC_INLINE void TZ_SAU_Disable(void)
  function __STATIC_INLINE (line 2865) | __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
  function __STATIC_INLINE (line 2894) | __STATIC_INLINE uint32_t TZ_SysTick_Config_NS(uint32_t ticks)
  function __STATIC_INLINE (line 2937) | __STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch)
  function __STATIC_INLINE (line 2958) | __STATIC_INLINE int32_t ITM_ReceiveChar (void)
  function __STATIC_INLINE (line 2978) | __STATIC_INLINE int32_t ITM_CheckChar (void)

FILE: LVGL/Simple_F446/Drivers/CMSIS/Include/core_cm4.h
  type APSR_Type (line 259) | typedef union
  type IPSR_Type (line 298) | typedef union
  type xPSR_Type (line 316) | typedef union
  type CONTROL_Type (line 371) | typedef union
  type NVIC_Type (line 406) | typedef struct
  type SCB_Type (line 440) | typedef struct
  type SCnSCB_Type (line 719) | typedef struct
  type SysTick_Type (line 759) | typedef struct
  type DWT_Type (line 914) | typedef struct
  type TPI_Type (line 1061) | typedef struct
  type MPU_Type (line 1223) | typedef struct
  type FPU_Type (line 1319) | typedef struct
  type CoreDebug_Type (line 1425) | typedef struct
  function __STATIC_INLINE (line 1657) | __STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
  function __STATIC_INLINE (line 1676) | __STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void)
  function __STATIC_INLINE (line 1688) | __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1705) | __STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1724) | __STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1743) | __STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1762) | __STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1777) | __STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1794) | __STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1816) | __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
  function __STATIC_INLINE (line 1838) | __STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1863) | __STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, ui...
  function __STATIC_INLINE (line 1890) | __STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t Pr...
  function __STATIC_INLINE (line 1913) | __STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
  function __STATIC_INLINE (line 1928) | __STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
  function __NVIC_SystemReset (line 1939) | void __NVIC_SystemReset(void)
  function __STATIC_INLINE (line 1981) | __STATIC_INLINE uint32_t SCB_GetFPUType(void)
  function __STATIC_INLINE (line 2022) | __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
  function __STATIC_INLINE (line 2064) | __STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch)
  function __STATIC_INLINE (line 2085) | __STATIC_INLINE int32_t ITM_ReceiveChar (void)
  function __STATIC_INLINE (line 2105) | __STATIC_INLINE int32_t ITM_CheckChar (void)

FILE: LVGL/Simple_F446/Drivers/CMSIS/Include/core_cm7.h
  type APSR_Type (line 274) | typedef union
  type IPSR_Type (line 313) | typedef union
  type xPSR_Type (line 331) | typedef union
  type CONTROL_Type (line 386) | typedef union
  type NVIC_Type (line 421) | typedef struct
  type SCB_Type (line 455) | typedef struct
  type SCnSCB_Type (line 921) | typedef struct
  type SysTick_Type (line 961) | typedef struct
  type DWT_Type (line 1116) | typedef struct
  type TPI_Type (line 1266) | typedef struct
  type MPU_Type (line 1428) | typedef struct
  type FPU_Type (line 1524) | typedef struct
  type CoreDebug_Type (line 1633) | typedef struct
  function __STATIC_INLINE (line 1865) | __STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
  function __STATIC_INLINE (line 1884) | __STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void)
  function __STATIC_INLINE (line 1896) | __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1913) | __STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1932) | __STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1951) | __STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1970) | __STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1985) | __STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2002) | __STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2024) | __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
  function __STATIC_INLINE (line 2046) | __STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2071) | __STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, ui...
  function __STATIC_INLINE (line 2098) | __STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t Pr...
  function __STATIC_INLINE (line 2121) | __STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
  function __STATIC_INLINE (line 2136) | __STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
  function __NVIC_SystemReset (line 2147) | void __NVIC_SystemReset(void)
  function __STATIC_INLINE (line 2188) | __STATIC_INLINE uint32_t SCB_GetFPUType(void)
  function __STATIC_INLINE (line 2229) | __STATIC_INLINE void SCB_EnableICache (void)
  function __STATIC_INLINE (line 2248) | __STATIC_INLINE void SCB_DisableICache (void)
  function __STATIC_INLINE (line 2265) | __STATIC_INLINE void SCB_InvalidateICache (void)
  function __STATIC_INLINE (line 2281) | __STATIC_INLINE void SCB_EnableDCache (void)
  function __STATIC_INLINE (line 2319) | __STATIC_INLINE void SCB_DisableDCache (void)
  function __STATIC_INLINE (line 2357) | __STATIC_INLINE void SCB_InvalidateDCache (void)
  function __STATIC_INLINE (line 2392) | __STATIC_INLINE void SCB_CleanDCache (void)
  function __STATIC_INLINE (line 2427) | __STATIC_INLINE void SCB_CleanInvalidateDCache (void)
  function __STATIC_INLINE (line 2464) | __STATIC_INLINE void SCB_InvalidateDCache_by_Addr (uint32_t *addr, int32...
  function __STATIC_INLINE (line 2491) | __STATIC_INLINE void SCB_CleanDCache_by_Addr (uint32_t *addr, int32_t ds...
  function __STATIC_INLINE (line 2518) | __STATIC_INLINE void SCB_CleanInvalidateDCache_by_Addr (uint32_t *addr, ...
  function __STATIC_INLINE (line 2564) | __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
  function __STATIC_INLINE (line 2606) | __STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch)
  function __STATIC_INLINE (line 2627) | __STATIC_INLINE int32_t ITM_ReceiveChar (void)
  function __STATIC_INLINE (line 2647) | __STATIC_INLINE int32_t ITM_CheckChar (void)

FILE: LVGL/Simple_F446/Drivers/CMSIS/Include/core_sc000.h
  type APSR_Type (line 205) | typedef union
  type IPSR_Type (line 235) | typedef union
  type xPSR_Type (line 253) | typedef union
  type CONTROL_Type (line 292) | typedef union
  type NVIC_Type (line 320) | typedef struct
  type SCB_Type (line 347) | typedef struct
  type SCnSCB_Type (line 460) | typedef struct
  type SysTick_Type (line 483) | typedef struct
  type MPU_Type (line 535) | typedef struct
  function __STATIC_INLINE (line 749) | __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 766) | __STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 785) | __STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 804) | __STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 823) | __STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 838) | __STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 856) | __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
  function __STATIC_INLINE (line 880) | __STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
  function __STATIC_INLINE (line 903) | __STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
  function __STATIC_INLINE (line 918) | __STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
  function __NVIC_SystemReset (line 929) | void __NVIC_SystemReset(void)
  function __STATIC_INLINE (line 962) | __STATIC_INLINE uint32_t SCB_GetFPUType(void)
  function __STATIC_INLINE (line 993) | __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)

FILE: LVGL/Simple_F446/Drivers/CMSIS/Include/core_sc300.h
  type APSR_Type (line 206) | typedef union
  type IPSR_Type (line 240) | typedef union
  type xPSR_Type (line 258) | typedef union
  type CONTROL_Type (line 309) | typedef union
  type NVIC_Type (line 340) | typedef struct
  type SCB_Type (line 374) | typedef struct
  type SCnSCB_Type (line 652) | typedef struct
  type SysTick_Type (line 676) | typedef struct
  type DWT_Type (line 831) | typedef struct
  type TPI_Type (line 978) | typedef struct
  type MPU_Type (line 1140) | typedef struct
  type CoreDebug_Type (line 1234) | typedef struct
  function __STATIC_INLINE (line 1461) | __STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
  function __STATIC_INLINE (line 1480) | __STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void)
  function __STATIC_INLINE (line 1492) | __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1509) | __STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1528) | __STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1547) | __STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1566) | __STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1581) | __STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1598) | __STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1620) | __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
  function __STATIC_INLINE (line 1642) | __STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1667) | __STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, ui...
  function __STATIC_INLINE (line 1694) | __STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t Pr...
  function __STATIC_INLINE (line 1717) | __STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
  function __STATIC_INLINE (line 1732) | __STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
  function __NVIC_SystemReset (line 1743) | void __NVIC_SystemReset(void)
  function __STATIC_INLINE (line 1777) | __STATIC_INLINE uint32_t SCB_GetFPUType(void)
  function __STATIC_INLINE (line 1808) | __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
  function __STATIC_INLINE (line 1850) | __STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch)
  function __STATIC_INLINE (line 1871) | __STATIC_INLINE int32_t ITM_ReceiveChar (void)
  function __STATIC_INLINE (line 1891) | __STATIC_INLINE int32_t ITM_CheckChar (void)

FILE: LVGL/Simple_F446/Drivers/CMSIS/Include/mpu_armv7.h
  type ARM_MPU_Region_t (line 180) | typedef struct {
  function __STATIC_INLINE (line 188) | __STATIC_INLINE void ARM_MPU_Enable(uint32_t MPU_Control)
  function __STATIC_INLINE (line 200) | __STATIC_INLINE void ARM_MPU_Disable(void)
  function __STATIC_INLINE (line 213) | __STATIC_INLINE void ARM_MPU_ClrRegion(uint32_t rnr)
  function __STATIC_INLINE (line 223) | __STATIC_INLINE void ARM_MPU_SetRegion(uint32_t rbar, uint32_t rasr)
  function __STATIC_INLINE (line 234) | __STATIC_INLINE void ARM_MPU_SetRegionEx(uint32_t rnr, uint32_t rbar, ui...
  function __STATIC_INLINE (line 246) | __STATIC_INLINE void orderedCpy(volatile uint32_t* dst, const uint32_t* ...
  function __STATIC_INLINE (line 259) | __STATIC_INLINE void ARM_MPU_Load(ARM_MPU_Region_t const* table, uint32_...

FILE: LVGL/Simple_F446/Drivers/CMSIS/Include/mpu_armv8.h
  type ARM_MPU_Region_t (line 107) | typedef struct {
  function __STATIC_INLINE (line 115) | __STATIC_INLINE void ARM_MPU_Enable(uint32_t MPU_Control)
  function __STATIC_INLINE (line 127) | __STATIC_INLINE void ARM_MPU_Disable(void)
  function __STATIC_INLINE (line 141) | __STATIC_INLINE void ARM_MPU_Enable_NS(uint32_t MPU_Control)
  function __STATIC_INLINE (line 153) | __STATIC_INLINE void ARM_MPU_Disable_NS(void)
  function __STATIC_INLINE (line 169) | __STATIC_INLINE void ARM_MPU_SetMemAttrEx(MPU_Type* mpu, uint8_t idx, ui...
  function __STATIC_INLINE (line 186) | __STATIC_INLINE void ARM_MPU_SetMemAttr(uint8_t idx, uint8_t attr)
  function __STATIC_INLINE (line 196) | __STATIC_INLINE void ARM_MPU_SetMemAttr_NS(uint8_t idx, uint8_t attr)
  function __STATIC_INLINE (line 206) | __STATIC_INLINE void ARM_MPU_ClrRegionEx(MPU_Type* mpu, uint32_t rnr)
  function __STATIC_INLINE (line 215) | __STATIC_INLINE void ARM_MPU_ClrRegion(uint32_t rnr)
  function __STATIC_INLINE (line 224) | __STATIC_INLINE void ARM_MPU_ClrRegion_NS(uint32_t rnr)
  function __STATIC_INLINE (line 236) | __STATIC_INLINE void ARM_MPU_SetRegionEx(MPU_Type* mpu, uint32_t rnr, ui...
  function __STATIC_INLINE (line 248) | __STATIC_INLINE void ARM_MPU_SetRegion(uint32_t rnr, uint32_t rbar, uint...
  function __STATIC_INLINE (line 259) | __STATIC_INLINE void ARM_MPU_SetRegion_NS(uint32_t rnr, uint32_t rbar, u...
  function __STATIC_INLINE (line 270) | __STATIC_INLINE void orderedCpy(volatile uint32_t* dst, const uint32_t* ...
  function __STATIC_INLINE (line 285) | __STATIC_INLINE void ARM_MPU_LoadEx(MPU_Type* mpu, uint32_t rnr, ARM_MPU...
  function __STATIC_INLINE (line 315) | __STATIC_INLINE void ARM_MPU_Load(uint32_t rnr, ARM_MPU_Region_t const* ...
  function __STATIC_INLINE (line 326) | __STATIC_INLINE void ARM_MPU_Load_NS(uint32_t rnr, ARM_MPU_Region_t cons...

FILE: LVGL/Simple_F446/Drivers/CMSIS/Include/tz_context.h
  type TZ_ModuleId_t (line 39) | typedef uint32_t TZ_ModuleId_t;
  type TZ_MemoryId_t (line 43) | typedef uint32_t TZ_MemoryId_t;

FILE: LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h
  type HAL_TickFreqTypeDef (line 50) | typedef enum

FILE: LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h
  type MPU_Region_InitTypeDef (line 48) | typedef struct

FILE: LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h
  type HAL_StatusTypeDef (line 39) | typedef enum
  type HAL_LockTypeDef (line 50) | typedef enum

FILE: LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h
  type DMA_InitTypeDef (line 49) | typedef struct
  type HAL_DMA_StateTypeDef (line 103) | typedef enum
  type HAL_DMA_LevelCompleteTypeDef (line 116) | typedef enum
  type HAL_DMA_CallbackIDTypeDef (line 125) | typedef enum
  type DMA_HandleTypeDef (line 139) | typedef struct __DMA_HandleTypeDef

FILE: LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h
  type HAL_DMA_MemoryTypeDef (line 48) | typedef enum

FILE: LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h
  type EXTI_CallbackIDTypeDef (line 45) | typedef enum
  type EXTI_HandleTypeDef (line 53) | typedef struct
  type EXTI_ConfigTypeDef (line 62) | typedef struct

FILE: LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h
  type FLASH_ProcedureTypeDef (line 47) | typedef enum
  type FLASH_ProcessTypeDef (line 58) | typedef struct

FILE: LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h
  type FLASH_EraseInitTypeDef (line 47) | typedef struct
  type FLASH_OBProgramInitTypeDef (line 69) | typedef struct
  type FLASH_AdvOBProgramInitTypeDef (line 101) | typedef struct

FILE: LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h
  type GPIO_InitTypeDef (line 47) | typedef struct
  type GPIO_PinState (line 68) | typedef enum

FILE: LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h
  type PWR_PVDTypeDef (line 48) | typedef struct

FILE: LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h
  type RCC_OscInitTypeDef (line 51) | typedef struct
  type RCC_ClkInitTypeDef (line 77) | typedef struct

FILE: LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h
  type RCC_PLLInitTypeDef (line 47) | typedef struct
  type RCC_PLLI2SInitTypeDef (line 81) | typedef struct
  type RCC_PLLSAIInitTypeDef (line 104) | typedef struct
  type RCC_PeriphCLKInitTypeDef (line 123) | typedef struct
  type RCC_PeriphCLKInitTypeDef (line 181) | typedef struct
  type RCC_PLLI2SInitTypeDef (line 207) | typedef struct
  type RCC_PeriphCLKInitTypeDef (line 227) | typedef struct
  type RCC_PLLI2SInitTypeDef (line 299) | typedef struct
  type RCC_PLLSAIInitTypeDef (line 317) | typedef struct
  type RCC_PeriphCLKInitTypeDef (line 341) | typedef struct
  type RCC_PLLI2SInitTypeDef (line 384) | typedef struct
  type RCC_PeriphCLKInitTypeDef (line 405) | typedef struct

FILE: LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h
  type TIM_Base_InitTypeDef (line 47) | typedef struct
  type TIM_OC_InitTypeDef (line 80) | typedef struct
  type TIM_OnePulse_InitTypeDef (line 112) | typedef struct
  type TIM_IC_InitTypeDef (line 148) | typedef struct
  type TIM_Encoder_InitTypeDef (line 166) | typedef struct
  type TIM_ClockConfigTypeDef (line 199) | typedef struct
  type TIM_ClearInputConfigTypeDef (line 214) | typedef struct
  type TIM_MasterConfigTypeDef (line 232) | typedef struct
  type TIM_SlaveConfigTypeDef (line 248) | typedef struct
  type TIM_BreakDeadTimeConfigTypeDef (line 268) | typedef struct
  type HAL_TIM_StateTypeDef (line 291) | typedef enum
  type HAL_TIM_ChannelStateTypeDef (line 303) | typedef enum
  type HAL_TIM_DMABurstStateTypeDef (line 313) | typedef enum
  type HAL_TIM_ActiveChannel (line 323) | typedef enum
  type __TIM_HandleTypeDef (line 336) | struct __TIM_HandleTypeDef
  type TIM_HandleTypeDef (line 338) | typedef struct
  type HAL_TIM_CallbackIDTypeDef (line 387) | typedef enum

FILE: LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h
  type TIM_HallSensor_InitTypeDef (line 48) | typedef struct

FILE: LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c
  function HAL_StatusTypeDef (line 157) | HAL_StatusTypeDef HAL_Init(void)
  function HAL_StatusTypeDef (line 190) | HAL_StatusTypeDef HAL_DeInit(void)
  function __weak (line 219) | __weak void HAL_MspInit(void)
  function __weak (line 230) | __weak void HAL_MspDeInit(void)
  function __weak (line 253) | __weak HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)
  function __weak (line 312) | __weak void HAL_IncTick(void)
  function __weak (line 323) | __weak uint32_t HAL_GetTick(void)
  function HAL_GetTickPrio (line 332) | uint32_t HAL_GetTickPrio(void)
  function HAL_StatusTypeDef (line 341) | HAL_StatusTypeDef HAL_SetTickFreq(HAL_TickFreqTypeDef Freq)
  function HAL_TickFreqTypeDef (line 373) | HAL_TickFreqTypeDef HAL_GetTickFreq(void)
  function __weak (line 389) | __weak void HAL_Delay(uint32_t Delay)
  function __weak (line 415) | __weak void HAL_SuspendTick(void)
  function __weak (line 431) | __weak void HAL_ResumeTick(void)
  function HAL_GetHalVersion (line 441) | uint32_t HAL_GetHalVersion(void)
  function HAL_GetREVID (line 450) | uint32_t HAL_GetREVID(void)
  function HAL_GetDEVID (line 459) | uint32_t HAL_GetDEVID(void)
  function HAL_DBGMCU_EnableDBGSleepMode (line 468) | void HAL_DBGMCU_EnableDBGSleepMode(void)
  function HAL_DBGMCU_DisableDBGSleepMode (line 477) | void HAL_DBGMCU_DisableDBGSleepMode(void)
  function HAL_DBGMCU_EnableDBGStopMode (line 486) | void HAL_DBGMCU_EnableDBGStopMode(void)
  function HAL_DBGMCU_DisableDBGStopMode (line 495) | void HAL_DBGMCU_DisableDBGStopMode(void)
  function HAL_DBGMCU_EnableDBGStandbyMode (line 504) | void HAL_DBGMCU_EnableDBGStandbyMode(void)
  function HAL_DBGMCU_DisableDBGStandbyMode (line 513) | void HAL_DBGMCU_DisableDBGStandbyMode(void)
  function HAL_EnableCompensationCell (line 524) | void HAL_EnableCompensationCell(void)
  function HAL_DisableCompensationCell (line 535) | void HAL_DisableCompensationCell(void)
  function HAL_GetUIDw0 (line 544) | uint32_t HAL_GetUIDw0(void)
  function HAL_GetUIDw1 (line 553) | uint32_t HAL_GetUIDw1(void)
  function HAL_GetUIDw2 (line 562) | uint32_t HAL_GetUIDw2(void)
  function HAL_EnableMemorySwappingBank (line 579) | void HAL_EnableMemorySwappingBank(void)
  function HAL_DisableMemorySwappingBank (line 594) | void HAL_DisableMemorySwappingBank(void)

FILE: LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c
  function HAL_NVIC_SetPriorityGrouping (line 143) | void HAL_NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
  function HAL_NVIC_SetPriority (line 165) | void HAL_NVIC_SetPriority(IRQn_Type IRQn, uint32_t PreemptPriority, uint...
  function HAL_NVIC_EnableIRQ (line 187) | void HAL_NVIC_EnableIRQ(IRQn_Type IRQn)
  function HAL_NVIC_DisableIRQ (line 203) | void HAL_NVIC_DisableIRQ(IRQn_Type IRQn)
  function HAL_NVIC_SystemReset (line 216) | void HAL_NVIC_SystemReset(void)
  function HAL_SYSTICK_Config (line 229) | uint32_t HAL_SYSTICK_Config(uint32_t TicksNumb)
  function HAL_MPU_Disable (line 258) | void HAL_MPU_Disable(void)
  function HAL_MPU_Enable (line 281) | void HAL_MPU_Enable(uint32_t MPU_Control)
  function HAL_MPU_ConfigRegion (line 300) | void HAL_MPU_ConfigRegion(MPU_Region_InitTypeDef *MPU_Init)
  function HAL_NVIC_GetPriorityGrouping (line 344) | uint32_t HAL_NVIC_GetPriorityGrouping(void)
  function HAL_NVIC_GetPriority (line 371) | void HAL_NVIC_GetPriority(IRQn_Type IRQn, uint32_t PriorityGroup, uint32...
  function HAL_NVIC_SetPendingIRQ (line 386) | void HAL_NVIC_SetPendingIRQ(IRQn_Type IRQn)
  function HAL_NVIC_GetPendingIRQ (line 404) | uint32_t HAL_NVIC_GetPendingIRQ(IRQn_Type IRQn)
  function HAL_NVIC_ClearPendingIRQ (line 420) | void HAL_NVIC_ClearPendingIRQ(IRQn_Type IRQn)
  function HAL_NVIC_GetActive (line 437) | uint32_t HAL_NVIC_GetActive(IRQn_Type IRQn)
  function HAL_SYSTICK_CLKSourceConfig (line 454) | void HAL_SYSTICK_CLKSourceConfig(uint32_t CLKSource)
  function HAL_SYSTICK_IRQHandler (line 472) | void HAL_SYSTICK_IRQHandler(void)
  function __weak (line 481) | __weak void HAL_SYSTICK_Callback(void)

FILE: LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c
  type DMA_Base_Registers (line 112) | typedef struct
  function HAL_StatusTypeDef (line 171) | HAL_StatusTypeDef HAL_DMA_Init(DMA_HandleTypeDef *hdma)
  function HAL_StatusTypeDef (line 310) | HAL_StatusTypeDef HAL_DMA_DeInit(DMA_HandleTypeDef *hdma)
  function HAL_StatusTypeDef (line 408) | HAL_StatusTypeDef HAL_DMA_Start(DMA_HandleTypeDef *hdma, uint32_t SrcAdd...
  function HAL_StatusTypeDef (line 452) | HAL_StatusTypeDef HAL_DMA_Start_IT(DMA_HandleTypeDef *hdma, uint32_t Src...
  function HAL_StatusTypeDef (line 514) | HAL_StatusTypeDef HAL_DMA_Abort(DMA_HandleTypeDef *hdma)
  function HAL_StatusTypeDef (line 581) | HAL_StatusTypeDef HAL_DMA_Abort_IT(DMA_HandleTypeDef *hdma)
  function HAL_StatusTypeDef (line 611) | HAL_StatusTypeDef HAL_DMA_PollForTransfer(DMA_HandleTypeDef *hdma, HAL_D...
  function HAL_DMA_IRQHandler (line 747) | void HAL_DMA_IRQHandler(DMA_HandleTypeDef *hdma)
  function HAL_StatusTypeDef (line 968) | HAL_StatusTypeDef HAL_DMA_RegisterCallback(DMA_HandleTypeDef *hdma, HAL_...
  function HAL_StatusTypeDef (line 1028) | HAL_StatusTypeDef HAL_DMA_UnRegisterCallback(DMA_HandleTypeDef *hdma, HA...
  function HAL_DMA_StateTypeDef (line 1113) | HAL_DMA_StateTypeDef HAL_DMA_GetState(DMA_HandleTypeDef *hdma)
  function HAL_DMA_GetError (line 1124) | uint32_t HAL_DMA_GetError(DMA_HandleTypeDef *hdma)
  function DMA_SetConfig (line 1150) | static void DMA_SetConfig(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, ...
  function DMA_CalcBaseAndBitshift (line 1184) | static uint32_t DMA_CalcBaseAndBitshift(DMA_HandleTypeDef *hdma)
  function HAL_StatusTypeDef (line 1212) | static HAL_StatusTypeDef DMA_CheckFifoParam(DMA_HandleTypeDef *hdma)

FILE: LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c
  function HAL_StatusTypeDef (line 101) | HAL_StatusTypeDef HAL_DMAEx_MultiBufferStart(DMA_HandleTypeDef *hdma, ui...
  function HAL_StatusTypeDef (line 155) | HAL_StatusTypeDef HAL_DMAEx_MultiBufferStart_IT(DMA_HandleTypeDef *hdma,...
  function HAL_StatusTypeDef (line 240) | HAL_StatusTypeDef HAL_DMAEx_ChangeMemory(DMA_HandleTypeDef *hdma, uint32...
  function DMA_MultiBufferSetConfig (line 277) | static void DMA_MultiBufferSetConfig(DMA_HandleTypeDef *hdma, uint32_t S...

FILE: LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c
  function HAL_StatusTypeDef (line 143) | HAL_StatusTypeDef HAL_EXTI_SetConfigLine(EXTI_HandleTypeDef *hexti, EXTI...
  function HAL_StatusTypeDef (line 238) | HAL_StatusTypeDef HAL_EXTI_GetConfigLine(EXTI_HandleTypeDef *hexti, EXTI...
  function HAL_StatusTypeDef (line 317) | HAL_StatusTypeDef HAL_EXTI_ClearConfigLine(EXTI_HandleTypeDef *hexti)
  function HAL_StatusTypeDef (line 370) | HAL_StatusTypeDef HAL_EXTI_RegisterCallback(EXTI_HandleTypeDef *hexti, E...
  function HAL_StatusTypeDef (line 395) | HAL_StatusTypeDef HAL_EXTI_GetHandle(EXTI_HandleTypeDef *hexti, uint32_t...
  function HAL_EXTI_IRQHandler (line 435) | void HAL_EXTI_IRQHandler(EXTI_HandleTypeDef *hexti)
  function HAL_EXTI_GetPending (line 467) | uint32_t HAL_EXTI_GetPending(EXTI_HandleTypeDef *hexti, uint32_t Edge)
  function HAL_EXTI_ClearPending (line 496) | void HAL_EXTI_ClearPending(EXTI_HandleTypeDef *hexti, uint32_t Edge)
  function HAL_EXTI_GenerateSWI (line 517) | void HAL_EXTI_GenerateSWI(EXTI_HandleTypeDef *hexti)

FILE: LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c
  function HAL_StatusTypeDef (line 156) | HAL_StatusTypeDef HAL_FLASH_Program(uint32_t TypeProgram, uint32_t Addre...
  function HAL_StatusTypeDef (line 214) | HAL_StatusTypeDef HAL_FLASH_Program_IT(uint32_t TypeProgram, uint32_t Ad...
  function HAL_FLASH_IRQHandler (line 261) | void HAL_FLASH_IRQHandler(void)
  function __weak (line 384) | __weak void HAL_FLASH_EndOfOperationCallback(uint32_t ReturnValue)
  function __weak (line 401) | __weak void HAL_FLASH_OperationErrorCallback(uint32_t ReturnValue)
  function HAL_StatusTypeDef (line 433) | HAL_StatusTypeDef HAL_FLASH_Unlock(void)
  function HAL_StatusTypeDef (line 457) | HAL_StatusTypeDef HAL_FLASH_Lock(void)
  function HAL_StatusTypeDef (line 469) | HAL_StatusTypeDef HAL_FLASH_OB_Unlock(void)
  function HAL_StatusTypeDef (line 489) | HAL_StatusTypeDef HAL_FLASH_OB_Lock(void)
  function HAL_StatusTypeDef (line 501) | HAL_StatusTypeDef HAL_FLASH_OB_Launch(void)
  function HAL_FLASH_GetError (line 538) | uint32_t HAL_FLASH_GetError(void)
  function HAL_StatusTypeDef (line 552) | HAL_StatusTypeDef FLASH_WaitForLastOperation(uint32_t Timeout)
  function FLASH_Program_DoubleWord (line 612) | static void FLASH_Program_DoubleWord(uint32_t Address, uint64_t Data)
  function FLASH_Program_Word (line 646) | static void FLASH_Program_Word(uint32_t Address, uint32_t Data)
  function FLASH_Program_HalfWord (line 671) | static void FLASH_Program_HalfWord(uint32_t Address, uint16_t Data)
  function FLASH_Program_Byte (line 696) | static void FLASH_Program_Byte(uint32_t Address, uint8_t Data)
  function FLASH_SetErrorCode (line 713) | static void FLASH_SetErrorCode(void)

FILE: LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c
  function HAL_StatusTypeDef (line 162) | HAL_StatusTypeDef HAL_FLASHEx_Erase(FLASH_EraseInitTypeDef *pEraseInit, ...
  function HAL_StatusTypeDef (line 233) | HAL_StatusTypeDef HAL_FLASHEx_Erase_IT(FLASH_EraseInitTypeDef *pEraseInit)
  function HAL_StatusTypeDef (line 286) | HAL_StatusTypeDef HAL_FLASHEx_OBProgram(FLASH_OBProgramInitTypeDef *pOBI...
  function HAL_FLASHEx_OBGetConfig (line 345) | void HAL_FLASHEx_OBGetConfig(FLASH_OBProgramInitTypeDef *pOBInit)
  function HAL_StatusTypeDef (line 374) | HAL_StatusTypeDef HAL_FLASHEx_AdvOBProgram(FLASH_AdvOBProgramInitTypeDef...
  function HAL_FLASHEx_AdvOBGetConfig (line 430) | void HAL_FLASHEx_AdvOBGetConfig(FLASH_AdvOBProgramInitTypeDef *pAdvOBInit)
  function HAL_StatusTypeDef (line 462) | HAL_StatusTypeDef HAL_FLASHEx_OB_SelectPCROP(void)
  function HAL_StatusTypeDef (line 487) | HAL_StatusTypeDef HAL_FLASHEx_OB_DeSelectPCROP(void)
  function HAL_FLASHEx_OB_GetBank2WRP (line 509) | uint16_t HAL_FLASHEx_OB_GetBank2WRP(void)
  function FLASH_MassErase (line 542) | static void FLASH_MassErase(uint8_t VoltageRange, uint32_t Banks)
  function FLASH_Erase_Sector (line 586) | void FLASH_Erase_Sector(uint32_t Sector, uint8_t VoltageRange)
  function HAL_StatusTypeDef (line 646) | static HAL_StatusTypeDef FLASH_OB_EnableWRP(uint32_t WRPSector, uint32_t...
  function HAL_StatusTypeDef (line 717) | static HAL_StatusTypeDef FLASH_OB_DisableWRP(uint32_t WRPSector, uint32_...
  function HAL_StatusTypeDef (line 778) | static HAL_StatusTypeDef FLASH_OB_BootConfig(uint8_t BootConfig)
  function HAL_StatusTypeDef (line 818) | static HAL_StatusTypeDef FLASH_OB_EnablePCROP(uint32_t SectorBank1, uint...
  function HAL_StatusTypeDef (line 882) | static HAL_StatusTypeDef FLASH_OB_DisablePCROP(uint32_t SectorBank1, uin...
  function FLASH_MassErase (line 953) | static void FLASH_MassErase(uint8_t VoltageRange, uint32_t Banks)
  function FLASH_Erase_Sector (line 982) | void FLASH_Erase_Sector(uint32_t Sector, uint8_t VoltageRange)
  function HAL_StatusTypeDef (line 1032) | static HAL_StatusTypeDef FLASH_OB_EnableWRP(uint32_t WRPSector, uint32_t...
  function HAL_StatusTypeDef (line 1068) | static HAL_StatusTypeDef FLASH_OB_DisableWRP(uint32_t WRPSector, uint32_...
  function HAL_StatusTypeDef (line 1101) | static HAL_StatusTypeDef FLASH_OB_EnablePCROP(uint32_t Sector)
  function HAL_StatusTypeDef (line 1129) | static HAL_StatusTypeDef FLASH_OB_DisablePCROP(uint32_t Sector)
  function HAL_StatusTypeDef (line 1162) | static HAL_StatusTypeDef FLASH_OB_RDP_LevelConfig(uint8_t Level)
  function HAL_StatusTypeDef (line 1196) | static HAL_StatusTypeDef FLASH_OB_UserConfig(uint8_t Iwdg, uint8_t Stop,...
  function HAL_StatusTypeDef (line 1231) | static HAL_StatusTypeDef FLASH_OB_BOR_LevelConfig(uint8_t Level)
  function FLASH_OB_GetUser (line 1249) | static uint8_t FLASH_OB_GetUser(void)
  function FLASH_OB_GetWRP (line 1259) | static uint16_t FLASH_OB_GetWRP(void)
  function FLASH_OB_GetRDP (line 1273) | static uint8_t FLASH_OB_GetRDP(void)
  function FLASH_OB_GetBOR (line 1301) | static uint8_t FLASH_OB_GetBOR(void)
  function FLASH_FlushCaches (line 1311) | void FLASH_FlushCaches(void)

FILE: LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c
  function HAL_FLASHEx_StopFlashInterfaceClk (line 96) | HAL_FLASHEx_StopFlashInterfaceClk(void)
  function HAL_FLASHEx_StartFlashInterfaceClk (line 113) | HAL_FLASHEx_StartFlashInterfaceClk(void)
  function HAL_FLASHEx_EnableFlashSleepMode (line 130) | HAL_FLASHEx_EnableFlashSleepMode(void)
  function HAL_FLASHEx_DisableFlashSleepMode (line 147) | HAL_FLASHEx_DisableFlashSleepMode(void)

FILE: LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c
  function HAL_GPIO_Init (line 164) | void HAL_GPIO_Init(GPIO_TypeDef  *GPIOx, GPIO_InitTypeDef *GPIO_Init)
  function HAL_GPIO_DeInit (line 294) | void HAL_GPIO_DeInit(GPIO_TypeDef  *GPIOx, uint32_t GPIO_Pin)
  function GPIO_PinState (line 375) | GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
  function HAL_GPIO_WritePin (line 410) | void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinS...
  function HAL_GPIO_TogglePin (line 433) | void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
  function HAL_StatusTypeDef (line 458) | HAL_StatusTypeDef HAL_GPIO_LockPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
  function HAL_GPIO_EXTI_IRQHandler (line 492) | void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin)
  function __weak (line 507) | __weak void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)

FILE: LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c
  function HAL_PWR_DeInit (line 92) | void HAL_PWR_DeInit(void)
  function HAL_PWR_EnableBkUpAccess (line 110) | void HAL_PWR_EnableBkUpAccess(void)
  function HAL_PWR_DisableBkUpAccess (line 130) | void HAL_PWR_DisableBkUpAccess(void)
  function HAL_PWR_ConfigPVD (line 268) | void HAL_PWR_ConfigPVD(PWR_PVDTypeDef *sConfigPVD)
  function HAL_PWR_EnablePVD (line 311) | void HAL_PWR_EnablePVD(void)
  function HAL_PWR_DisablePVD (line 320) | void HAL_PWR_DisablePVD(void)
  function HAL_PWR_EnableWakeUpPin (line 334) | void HAL_PWR_EnableWakeUpPin(uint32_t WakeUpPinx)
  function HAL_PWR_DisableWakeUpPin (line 352) | void HAL_PWR_DisableWakeUpPin(uint32_t WakeUpPinx)
  function HAL_PWR_EnterSLEEPMode (line 381) | void HAL_PWR_EnterSLEEPMode(uint32_t Regulator, uint8_t SLEEPEntry)
  function HAL_PWR_EnterSTOPMode (line 424) | void HAL_PWR_EnterSTOPMode(uint32_t Regulator, uint8_t STOPEntry)
  function HAL_PWR_EnterSTANDBYMode (line 463) | void HAL_PWR_EnterSTANDBYMode(void)
  function HAL_PWR_PVD_IRQHandler (line 484) | void HAL_PWR_PVD_IRQHandler(void)
  function __weak (line 501) | __weak void HAL_PWR_PVDCallback(void)
  function HAL_PWR_EnableSleepOnExit (line 516) | void HAL_PWR_EnableSleepOnExit(void)
  function HAL_PWR_DisableSleepOnExit (line 528) | void HAL_PWR_DisableSleepOnExit(void)
  function HAL_PWR_EnableSEVOnPend (line 540) | void HAL_PWR_EnableSEVOnPend(void)
  function HAL_PWR_DisableSEVOnPend (line 552) | void HAL_PWR_DisableSEVOnPend(void)

FILE: LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c
  function HAL_StatusTypeDef (line 143) | HAL_StatusTypeDef HAL_PWREx_EnableBkUpReg(void)
  function HAL_StatusTypeDef (line 167) | HAL_StatusTypeDef HAL_PWREx_DisableBkUpReg(void)
  function HAL_PWREx_EnableFlashPowerDown (line 191) | void HAL_PWREx_EnableFlashPowerDown(void)
  function HAL_PWREx_DisableFlashPowerDown (line 200) | void HAL_PWREx_DisableFlashPowerDown(void)
  function HAL_PWREx_GetVoltageRange (line 213) | uint32_t HAL_PWREx_GetVoltageRange(void)
  function HAL_StatusTypeDef (line 234) | HAL_StatusTypeDef HAL_PWREx_ControlVoltageScaling(uint32_t VoltageScaling)
  function HAL_StatusTypeDef (line 290) | HAL_StatusTypeDef HAL_PWREx_ControlVoltageScaling(uint32_t VoltageScaling)
  function HAL_PWREx_EnableMainRegulatorLowVoltage (line 361) | void HAL_PWREx_EnableMainRegulatorLowVoltage(void)
  function HAL_PWREx_DisableMainRegulatorLowVoltage (line 372) | void HAL_PWREx_DisableMainRegulatorLowVoltage(void)
  function HAL_PWREx_EnableLowRegulatorLowVoltage (line 383) | void HAL_PWREx_EnableLowRegulatorLowVoltage(void)
  function HAL_PWREx_DisableLowRegulatorLowVoltage (line 394) | void HAL_PWREx_DisableLowRegulatorLowVoltage(void)
  function HAL_StatusTypeDef (line 415) | HAL_StatusTypeDef HAL_PWREx_EnableOverDrive(void)
  function HAL_StatusTypeDef (line 462) | HAL_StatusTypeDef HAL_PWREx_DisableOverDrive(void)
  function HAL_StatusTypeDef (line 538) | HAL_StatusTypeDef HAL_PWREx_EnterUnderDriveSTOPMode(uint32_t Regulator, ...

FILE: LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c
  function HAL_RCC_DeInit (line 202) | HAL_RCC_DeInit(void)
  function __weak (line 221) | __weak HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef  *RCC_OscI...
  function HAL_StatusTypeDef (line 593) | HAL_StatusTypeDef HAL_RCC_ClockConfig(RCC_ClkInitTypeDef  *RCC_ClkInitSt...
  function HAL_RCC_MCOConfig (line 777) | void HAL_RCC_MCOConfig(uint32_t RCC_MCOx, uint32_t RCC_MCOSource, uint32...
  function HAL_RCC_EnableCSS (line 843) | void HAL_RCC_EnableCSS(void)
  function HAL_RCC_DisableCSS (line 852) | void HAL_RCC_DisableCSS(void)
  function __weak (line 887) | __weak uint32_t HAL_RCC_GetSysClockFreq(void)
  function HAL_RCC_GetHCLKFreq (line 943) | uint32_t HAL_RCC_GetHCLKFreq(void)
  function HAL_RCC_GetPCLK1Freq (line 954) | uint32_t HAL_RCC_GetPCLK1Freq(void)
  function HAL_RCC_GetPCLK2Freq (line 966) | uint32_t HAL_RCC_GetPCLK2Freq(void)
  function __weak (line 979) | __weak void HAL_RCC_GetOscConfig(RCC_OscInitTypeDef  *RCC_OscInitStruct)
  function HAL_RCC_GetClockConfig (line 1058) | void HAL_RCC_GetClockConfig(RCC_ClkInitTypeDef  *RCC_ClkInitStruct, uint...
  function HAL_RCC_NMI_IRQHandler (line 1084) | void HAL_RCC_NMI_IRQHandler(void)
  function __weak (line 1101) | __weak void HAL_RCC_CSSCallback(void)

FILE: LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c
  function HAL_StatusTypeDef (line 89) | HAL_StatusTypeDef HAL_RCCEx_PeriphCLKConfig(RCC_PeriphCLKInitTypeDef  *P...
  function HAL_RCCEx_GetPeriphCLKConfig (line 491) | void HAL_RCCEx_GetPeriphCLKConfig(RCC_PeriphCLKInitTypeDef  *PeriphClkInit)
  function HAL_RCCEx_GetPeriphCLKFreq (line 571) | uint32_t HAL_RCCEx_GetPeriphCLKFreq(uint32_t PeriphClk)
  function HAL_StatusTypeDef (line 868) | HAL_StatusTypeDef HAL_RCCEx_PeriphCLKConfig(RCC_PeriphCLKInitTypeDef  *P...
  function HAL_RCCEx_GetPeriphCLKConfig (line 1153) | void HAL_RCCEx_GetPeriphCLKConfig(RCC_PeriphCLKInitTypeDef  *PeriphClkInit)
  function HAL_RCCEx_GetPeriphCLKFreq (line 1203) | uint32_t HAL_RCCEx_GetPeriphCLKFreq(uint32_t PeriphClk)
  function HAL_StatusTypeDef (line 1278) | HAL_StatusTypeDef HAL_RCCEx_PeriphCLKConfig(RCC_PeriphCLKInitTypeDef  *P...
  function HAL_RCCEx_GetPeriphCLKConfig (line 1636) | void HAL_RCCEx_GetPeriphCLKConfig(RCC_PeriphCLKInitTypeDef  *PeriphClkInit)
  function HAL_RCCEx_GetPeriphCLKFreq (line 1732) | uint32_t HAL_RCCEx_GetPeriphCLKFreq(uint32_t PeriphClk)
  function HAL_StatusTypeDef (line 1933) | HAL_StatusTypeDef HAL_RCCEx_PeriphCLKConfig(RCC_PeriphCLKInitTypeDef  *P...
  function HAL_RCCEx_GetPeriphCLKConfig (line 2043) | void HAL_RCCEx_GetPeriphCLKConfig(RCC_PeriphCLKInitTypeDef  *PeriphClkInit)
  function HAL_RCCEx_GetPeriphCLKFreq (line 2077) | uint32_t HAL_RCCEx_GetPeriphCLKFreq(uint32_t PeriphClk)
  function HAL_StatusTypeDef (line 2165) | HAL_StatusTypeDef HAL_RCCEx_PeriphCLKConfig(RCC_PeriphCLKInitTypeDef  *P...
  function HAL_RCCEx_GetPeriphCLKConfig (line 2400) | void HAL_RCCEx_GetPeriphCLKConfig(RCC_PeriphCLKInitTypeDef  *PeriphClkInit)
  function HAL_RCCEx_GetPeriphCLKFreq (line 2441) | uint32_t HAL_RCCEx_GetPeriphCLKFreq(uint32_t PeriphClk)
  function HAL_StatusTypeDef (line 2515) | HAL_StatusTypeDef HAL_RCCEx_PeriphCLKConfig(RCC_PeriphCLKInitTypeDef  *P...
  function HAL_RCCEx_GetPeriphCLKConfig (line 2643) | void HAL_RCCEx_GetPeriphCLKConfig(RCC_PeriphCLKInitTypeDef  *PeriphClkInit)
  function HAL_RCCEx_GetPeriphCLKFreq (line 2681) | uint32_t HAL_RCCEx_GetPeriphCLKFreq(uint32_t PeriphClk)
  function HAL_RCCEx_SelectLSEMode (line 2768) | void HAL_RCCEx_SelectLSEMode(uint8_t Mode)
  function HAL_StatusTypeDef (line 2805) | HAL_StatusTypeDef HAL_RCCEx_EnablePLLI2S(RCC_PLLI2SInitTypeDef  *PLLI2SI...
  function HAL_StatusTypeDef (line 2888) | HAL_StatusTypeDef HAL_RCCEx_DisablePLLI2S(void)
  function HAL_StatusTypeDef (line 2918) | HAL_StatusTypeDef HAL_RCCEx_EnablePLLSAI(RCC_PLLSAIInitTypeDef  *PLLSAII...
  function HAL_StatusTypeDef (line 2992) | HAL_StatusTypeDef HAL_RCCEx_DisablePLLSAI(void)
  function HAL_RCC_GetSysClockFreq (line 3053) | uint32_t HAL_RCC_GetSysClockFreq(void)
  function HAL_StatusTypeDef (line 3145) | HAL_StatusTypeDef HAL_RCC_DeInit(void)
  function HAL_StatusTypeDef (line 3335) | HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef  *RCC_OscInitStruct)
  function HAL_RCC_GetOscConfig (line 3705) | void HAL_RCC_GetOscConfig(RCC_OscInitTypeDef  *RCC_OscInitStruct)

FILE: LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c
  function HAL_StatusTypeDef (line 266) | HAL_StatusTypeDef HAL_TIM_Base_Init(TIM_HandleTypeDef *htim)
  function HAL_StatusTypeDef (line 325) | HAL_StatusTypeDef HAL_TIM_Base_DeInit(TIM_HandleTypeDef *htim)
  function __weak (line 368) | __weak void HAL_TIM_Base_MspInit(TIM_HandleTypeDef *htim)
  function __weak (line 383) | __weak void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef *htim)
  function HAL_StatusTypeDef (line 399) | HAL_StatusTypeDef HAL_TIM_Base_Start(TIM_HandleTypeDef *htim)
  function HAL_StatusTypeDef (line 438) | HAL_StatusTypeDef HAL_TIM_Base_Stop(TIM_HandleTypeDef *htim)
  function HAL_StatusTypeDef (line 458) | HAL_StatusTypeDef HAL_TIM_Base_Start_IT(TIM_HandleTypeDef *htim)
  function HAL_StatusTypeDef (line 500) | HAL_StatusTypeDef HAL_TIM_Base_Stop_IT(TIM_HandleTypeDef *htim)
  function HAL_StatusTypeDef (line 525) | HAL_StatusTypeDef HAL_TIM_Base_Start_DMA(TIM_HandleTypeDef *htim, uint32...
  function HAL_StatusTypeDef (line 594) | HAL_StatusTypeDef HAL_TIM_Base_Stop_DMA(TIM_HandleTypeDef *htim)
  function HAL_StatusTypeDef (line 649) | HAL_StatusTypeDef HAL_TIM_OC_Init(TIM_HandleTypeDef *htim)
  function HAL_StatusTypeDef (line 708) | HAL_StatusTypeDef HAL_TIM_OC_DeInit(TIM_HandleTypeDef *htim)
  function __weak (line 751) | __weak void HAL_TIM_OC_MspInit(TIM_HandleTypeDef *htim)
  function __weak (line 766) | __weak void HAL_TIM_OC_MspDeInit(TIM_HandleTypeDef *htim)
  function HAL_StatusTypeDef (line 787) | HAL_StatusTypeDef HAL_TIM_OC_Start(TIM_HandleTypeDef *htim, uint32_t Cha...
  function HAL_StatusTypeDef (line 841) | HAL_StatusTypeDef HAL_TIM_OC_Stop(TIM_HandleTypeDef *htim, uint32_t Chan...
  function HAL_StatusTypeDef (line 876) | HAL_StatusTypeDef HAL_TIM_OC_Start_IT(TIM_HandleTypeDef *htim, uint32_t ...
  function HAL_StatusTypeDef (line 969) | HAL_StatusTypeDef HAL_TIM_OC_Stop_IT(TIM_HandleTypeDef *htim, uint32_t C...
  function HAL_StatusTypeDef (line 1046) | HAL_StatusTypeDef HAL_TIM_OC_Start_DMA(TIM_HandleTypeDef *htim, uint32_t...
  function HAL_StatusTypeDef (line 1209) | HAL_StatusTypeDef HAL_TIM_OC_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t ...
  function HAL_StatusTypeDef (line 1312) | HAL_StatusTypeDef HAL_TIM_PWM_Init(TIM_HandleTypeDef *htim)
  function HAL_StatusTypeDef (line 1371) | HAL_StatusTypeDef HAL_TIM_PWM_DeInit(TIM_HandleTypeDef *htim)
  function __weak (line 1414) | __weak void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef *htim)
  function __weak (line 1429) | __weak void HAL_TIM_PWM_MspDeInit(TIM_HandleTypeDef *htim)
  function HAL_StatusTypeDef (line 1450) | HAL_StatusTypeDef HAL_TIM_PWM_Start(TIM_HandleTypeDef *htim, uint32_t Ch...
  function HAL_StatusTypeDef (line 1504) | HAL_StatusTypeDef HAL_TIM_PWM_Stop(TIM_HandleTypeDef *htim, uint32_t Cha...
  function HAL_StatusTypeDef (line 1539) | HAL_StatusTypeDef HAL_TIM_PWM_Start_IT(TIM_HandleTypeDef *htim, uint32_t...
  function HAL_StatusTypeDef (line 1632) | HAL_StatusTypeDef HAL_TIM_PWM_Stop_IT(TIM_HandleTypeDef *htim, uint32_t ...
  function HAL_StatusTypeDef (line 1709) | HAL_StatusTypeDef HAL_TIM_PWM_Start_DMA(TIM_HandleTypeDef *htim, uint32_...
  function HAL_StatusTypeDef (line 1871) | HAL_StatusTypeDef HAL_TIM_PWM_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t...
  function HAL_StatusTypeDef (line 1974) | HAL_StatusTypeDef HAL_TIM_IC_Init(TIM_HandleTypeDef *htim)
  function HAL_StatusTypeDef (line 2033) | HAL_StatusTypeDef HAL_TIM_IC_DeInit(TIM_HandleTypeDef *htim)
  function __weak (line 2076) | __weak void HAL_TIM_IC_MspInit(TIM_HandleTypeDef *htim)
  function __weak (line 2091) | __weak void HAL_TIM_IC_MspDeInit(TIM_HandleTypeDef *htim)
  function HAL_StatusTypeDef (line 2112) | HAL_StatusTypeDef HAL_TIM_IC_Start(TIM_HandleTypeDef *htim, uint32_t Cha...
  function HAL_StatusTypeDef (line 2164) | HAL_StatusTypeDef HAL_TIM_IC_Stop(TIM_HandleTypeDef *htim, uint32_t Chan...
  function HAL_StatusTypeDef (line 2194) | HAL_StatusTypeDef HAL_TIM_IC_Start_IT(TIM_HandleTypeDef *htim, uint32_t ...
  function HAL_StatusTypeDef (line 2286) | HAL_StatusTypeDef HAL_TIM_IC_Stop_IT(TIM_HandleTypeDef *htim, uint32_t C...
  function HAL_StatusTypeDef (line 2358) | HAL_StatusTypeDef HAL_TIM_IC_Start_DMA(TIM_HandleTypeDef *htim, uint32_t...
  function HAL_StatusTypeDef (line 2517) | HAL_StatusTypeDef HAL_TIM_IC_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t ...
  function HAL_StatusTypeDef (line 2622) | HAL_StatusTypeDef HAL_TIM_OnePulse_Init(TIM_HandleTypeDef *htim, uint32_...
  function HAL_StatusTypeDef (line 2690) | HAL_StatusTypeDef HAL_TIM_OnePulse_DeInit(TIM_HandleTypeDef *htim)
  function __weak (line 2735) | __weak void HAL_TIM_OnePulse_MspInit(TIM_HandleTypeDef *htim)
  function __weak (line 2750) | __weak void HAL_TIM_OnePulse_MspDeInit(TIM_HandleTypeDef *htim)
  function HAL_StatusTypeDef (line 2770) | HAL_StatusTypeDef HAL_TIM_OnePulse_Start(TIM_HandleTypeDef *htim, uint32...
  function HAL_StatusTypeDef (line 2827) | HAL_StatusTypeDef HAL_TIM_OnePulse_Stop(TIM_HandleTypeDef *htim, uint32_...
  function HAL_StatusTypeDef (line 2870) | HAL_StatusTypeDef HAL_TIM_OnePulse_Start_IT(TIM_HandleTypeDef *htim, uin...
  function HAL_StatusTypeDef (line 2933) | HAL_StatusTypeDef HAL_TIM_OnePulse_Stop_IT(TIM_HandleTypeDef *htim, uint...
  function HAL_StatusTypeDef (line 3012) | HAL_StatusTypeDef HAL_TIM_Encoder_Init(TIM_HandleTypeDef *htim,  TIM_Enc...
  function HAL_StatusTypeDef (line 3126) | HAL_StatusTypeDef HAL_TIM_Encoder_DeInit(TIM_HandleTypeDef *htim)
  function __weak (line 3171) | __weak void HAL_TIM_Encoder_MspInit(TIM_HandleTypeDef *htim)
  function __weak (line 3186) | __weak void HAL_TIM_Encoder_MspDeInit(TIM_HandleTypeDef *htim)
  function HAL_StatusTypeDef (line 3206) | HAL_StatusTypeDef HAL_TIM_Encoder_Start(TIM_HandleTypeDef *htim, uint32_...
  function HAL_StatusTypeDef (line 3300) | HAL_StatusTypeDef HAL_TIM_Encoder_Stop(TIM_HandleTypeDef *htim, uint32_t...
  function HAL_StatusTypeDef (line 3360) | HAL_StatusTypeDef HAL_TIM_Encoder_Start_IT(TIM_HandleTypeDef *htim, uint...
  function HAL_StatusTypeDef (line 3460) | HAL_StatusTypeDef HAL_TIM_Encoder_Stop_IT(TIM_HandleTypeDef *htim, uint3...
  function HAL_StatusTypeDef (line 3525) | HAL_StatusTypeDef HAL_TIM_Encoder_Start_DMA(TIM_HandleTypeDef *htim, uin...
  function HAL_StatusTypeDef (line 3738) | HAL_StatusTypeDef HAL_TIM_Encoder_Stop_DMA(TIM_HandleTypeDef *htim, uint...
  function HAL_TIM_IRQHandler (line 3815) | void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim)
  function HAL_StatusTypeDef (line 4030) | HAL_StatusTypeDef HAL_TIM_OC_ConfigChannel(TIM_HandleTypeDef *htim,
  function HAL_StatusTypeDef (line 4109) | HAL_StatusTypeDef HAL_TIM_IC_ConfigChannel(TIM_HandleTypeDef *htim, TIM_...
  function HAL_StatusTypeDef (line 4208) | HAL_StatusTypeDef HAL_TIM_PWM_ConfigChannel(TIM_HandleTypeDef *htim,
  function HAL_StatusTypeDef (line 4322) | HAL_StatusTypeDef HAL_TIM_OnePulse_ConfigChannel(TIM_HandleTypeDef *htim...
  function HAL_StatusTypeDef (line 4470) | HAL_StatusTypeDef HAL_TIM_DMABurst_WriteStart(TIM_HandleTypeDef *htim, u...
  function HAL_StatusTypeDef (line 4524) | HAL_StatusTypeDef HAL_TIM_DMABurst_MultiWriteStart(TIM_HandleTypeDef *ht...
  function HAL_StatusTypeDef (line 4708) | HAL_StatusTypeDef HAL_TIM_DMABurst_WriteStop(TIM_HandleTypeDef *htim, ui...
  function HAL_StatusTypeDef (line 4809) | HAL_StatusTypeDef HAL_TIM_DMABurst_ReadStart(TIM_HandleTypeDef *htim, ui...
  function HAL_StatusTypeDef (line 4862) | HAL_StatusTypeDef HAL_TIM_DMABurst_MultiReadStart(TIM_HandleTypeDef *hti...
  function HAL_StatusTypeDef (line 5046) | HAL_StatusTypeDef HAL_TIM_DMABurst_ReadStop(TIM_HandleTypeDef *htim, uin...
  function HAL_StatusTypeDef (line 5129) | HAL_StatusTypeDef HAL_TIM_GenerateEvent(TIM_HandleTypeDef *htim, uint32_...
  function HAL_StatusTypeDef (line 5166) | HAL_StatusTypeDef HAL_TIM_ConfigOCrefClear(TIM_HandleTypeDef *htim,
  function HAL_StatusTypeDef (line 5296) | HAL_StatusTypeDef HAL_TIM_ConfigClockSource(TIM_HandleTypeDef *htim, TIM...
  function HAL_StatusTypeDef (line 5450) | HAL_StatusTypeDef HAL_TIM_ConfigTI1Input(TIM_HandleTypeDef *htim, uint32...
  function HAL_StatusTypeDef (line 5482) | HAL_StatusTypeDef HAL_TIM_SlaveConfigSynchro(TIM_HandleTypeDef *htim, TI...
  function HAL_StatusTypeDef (line 5522) | HAL_StatusTypeDef HAL_TIM_SlaveConfigSynchro_IT(TIM_HandleTypeDef *htim,
  function HAL_TIM_ReadCapturedValue (line 5565) | uint32_t HAL_TIM_ReadCapturedValue(TIM_HandleTypeDef *htim, uint32_t Cha...
  function __weak (line 5649) | __weak void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
  function __weak (line 5664) | __weak void HAL_TIM_PeriodElapsedHalfCpltCallback(TIM_HandleTypeDef *htim)
  function __weak (line 5679) | __weak void HAL_TIM_OC_DelayElapsedCallback(TIM_HandleTypeDef *htim)
  function __weak (line 5694) | __weak void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)
  function __weak (line 5709) | __weak void HAL_TIM_IC_CaptureHalfCpltCallback(TIM_HandleTypeDef *htim)
  function __weak (line 5724) | __weak void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim)
  function __weak (line 5739) | __weak void HAL_TIM_PWM_PulseFinishedHalfCpltCallback(TIM_HandleTypeDef ...
  function __weak (line 5754) | __weak void HAL_TIM_TriggerCallback(TIM_HandleTypeDef *htim)
  function __weak (line 5769) | __weak void HAL_TIM_TriggerHalfCpltCallback(TIM_HandleTypeDef *htim)
  function __weak (line 5784) | __weak void HAL_TIM_ErrorCallback(TIM_HandleTypeDef *htim)
  function HAL_StatusTypeDef (line 5830) | HAL_StatusTypeDef HAL_TIM_RegisterCallback(TIM_HandleTypeDef *htim, HAL_...
  function HAL_StatusTypeDef (line 6073) | HAL_StatusTypeDef HAL_TIM_UnRegisterCallback(TIM_HandleTypeDef *htim, HA...
  function HAL_TIM_StateTypeDef (line 6342) | HAL_TIM_StateTypeDef HAL_TIM_Base_GetState(TIM_HandleTypeDef *htim)
  function HAL_TIM_StateTypeDef (line 6352) | HAL_TIM_StateTypeDef HAL_TIM_OC_GetState(TIM_HandleTypeDef *htim)
  function HAL_TIM_StateTypeDef (line 6362) | HAL_TIM_StateTypeDef HAL_TIM_PWM_GetState(TIM_HandleTypeDef *htim)
  function HAL_TIM_StateTypeDef (line 6372) | HAL_TIM_StateTypeDef HAL_TIM_IC_GetState(TIM_HandleTypeDef *htim)
  function HAL_TIM_StateTypeDef (line 6382) | HAL_TIM_StateTypeDef HAL_TIM_OnePulse_GetState(TIM_HandleTypeDef *htim)
  function HAL_TIM_StateTypeDef (line 6392) | HAL_TIM_StateTypeDef HAL_TIM_Encoder_GetState(TIM_HandleTypeDef *htim)
  function HAL_TIM_ActiveChannel (line 6402) | HAL_TIM_ActiveChannel HAL_TIM_GetActiveChannel(TIM_HandleTypeDef *htim)
  function HAL_TIM_ChannelStateTypeDef (line 6420) | HAL_TIM_ChannelStateTypeDef HAL_TIM_GetChannelState(TIM_HandleTypeDef *h...
  function HAL_TIM_DMABurstStateTypeDef (line 6437) | HAL_TIM_DMABurstStateTypeDef HAL_TIM_DMABurstState(TIM_HandleTypeDef *htim)
  function TIM_DMAError (line 6462) | void TIM_DMAError(DMA_HandleTypeDef *hdma)
  function TIM_DMADelayPulseCplt (line 6505) | static void TIM_DMADelayPulseCplt(DMA_HandleTypeDef *hdma)
  function TIM_DMADelayPulseHalfCplt (line 6564) | void TIM_DMADelayPulseHalfCplt(DMA_HandleTypeDef *hdma)
  function TIM_DMACaptureCplt (line 6603) | void TIM_DMACaptureCplt(DMA_HandleTypeDef *hdma)
  function TIM_DMACaptureHalfCplt (line 6666) | void TIM_DMACaptureHalfCplt(DMA_HandleTypeDef *hdma)
  function TIM_DMAPeriodElapsedCplt (line 6705) | static void TIM_DMAPeriodElapsedCplt(DMA_HandleTypeDef *hdma)
  function TIM_DMAPeriodElapsedHalfCplt (line 6726) | static void TIM_DMAPeriodElapsedHalfCplt(DMA_HandleTypeDef *hdma)
  function TIM_DMATriggerCplt (line 6742) | static void TIM_DMATriggerCplt(DMA_HandleTypeDef *hdma)
  function TIM_DMATriggerHalfCplt (line 6763) | static void TIM_DMATriggerHalfCplt(DMA_HandleTypeDef *hdma)
  function TIM_Base_SetConfig (line 6780) | void TIM_Base_SetConfig(TIM_TypeDef *TIMx, TIM_Base_InitTypeDef *Structure)
  function TIM_OC1_SetConfig (line 6828) | static void TIM_OC1_SetConfig(TIM_TypeDef *TIMx, TIM_OC_InitTypeDef *OC_...
  function TIM_OC2_SetConfig (line 6903) | void TIM_OC2_SetConfig(TIM_TypeDef *TIMx, TIM_OC_InitTypeDef *OC_Config)
  function TIM_OC3_SetConfig (line 6979) | static void TIM_OC3_SetConfig(TIM_TypeDef *TIMx, TIM_OC_InitTypeDef *OC_...
  function TIM_OC4_SetConfig (line 7053) | static void TIM_OC4_SetConfig(TIM_TypeDef *TIMx, TIM_OC_InitTypeDef *OC_...
  function HAL_StatusTypeDef (line 7113) | static HAL_StatusTypeDef TIM_SlaveTimer_SetConfig(TIM_HandleTypeDef *htim,
  function TIM_TI1_SetConfig (line 7247) | void TIM_TI1_SetConfig(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint3...
  function TIM_TI1_ConfigInputStage (line 7294) | static void TIM_TI1_ConfigInputStage(TIM_TypeDef *TIMx, uint32_t TIM_ICP...
  function TIM_TI2_SetConfig (line 7337) | static void TIM_TI2_SetConfig(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity...
  function TIM_TI2_ConfigInputStage (line 7377) | static void TIM_TI2_ConfigInputStage(TIM_TypeDef *TIMx, uint32_t TIM_ICP...
  function TIM_TI3_SetConfig (line 7420) | static void TIM_TI3_SetConfig(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity...
  function TIM_TI4_SetConfig (line 7468) | static void TIM_TI4_SetConfig(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity...
  function TIM_ITRx_SetConfig (line 7511) | static void TIM_ITRx_SetConfig(TIM_TypeDef *TIMx, uint32_t InputTriggerS...
  function TIM_ETR_SetConfig (line 7541) | void TIM_ETR_SetConfig(TIM_TypeDef *TIMx, uint32_t TIM_ExtTRGPrescaler,
  function TIM_CCxChannelCmd (line 7571) | void TIM_CCxChannelCmd(TIM_TypeDef *TIMx, uint32_t Channel, uint32_t Cha...
  function TIM_ResetCallback (line 7595) | void TIM_ResetCallback(TIM_HandleTypeDef *htim)

FILE: LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c
  function HAL_StatusTypeDef (line 138) | HAL_StatusTypeDef HAL_TIMEx_HallSensor_Init(TIM_HandleTypeDef *htim, TIM...
  function HAL_StatusTypeDef (line 239) | HAL_StatusTypeDef HAL_TIMEx_HallSensor_DeInit(TIM_HandleTypeDef *htim)
  function __weak (line 284) | __weak void HAL_TIMEx_HallSensor_MspInit(TIM_HandleTypeDef *htim)
  function __weak (line 299) | __weak void HAL_TIMEx_HallSensor_MspDeInit(TIM_HandleTypeDef *htim)
  function HAL_StatusTypeDef (line 314) | HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start(TIM_HandleTypeDef *htim)
  function HAL_StatusTypeDef (line 368) | HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop(TIM_HandleTypeDef *htim)
  function HAL_StatusTypeDef (line 396) | HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start_IT(TIM_HandleTypeDef *htim)
  function HAL_StatusTypeDef (line 453) | HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop_IT(TIM_HandleTypeDef *htim)
  function HAL_StatusTypeDef (line 486) | HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start_DMA(TIM_HandleTypeDef *htim...
  function HAL_StatusTypeDef (line 562) | HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop_DMA(TIM_HandleTypeDef *htim)
  function HAL_StatusTypeDef (line 624) | HAL_StatusTypeDef HAL_TIMEx_OCN_Start(TIM_HandleTypeDef *htim, uint32_t ...
  function HAL_StatusTypeDef (line 675) | HAL_StatusTypeDef HAL_TIMEx_OCN_Stop(TIM_HandleTypeDef *htim, uint32_t C...
  function HAL_StatusTypeDef (line 707) | HAL_StatusTypeDef HAL_TIMEx_OCN_Start_IT(TIM_HandleTypeDef *htim, uint32...
  function HAL_StatusTypeDef (line 794) | HAL_StatusTypeDef HAL_TIMEx_OCN_Stop_IT(TIM_HandleTypeDef *htim, uint32_...
  function HAL_StatusTypeDef (line 869) | HAL_StatusTypeDef HAL_TIMEx_OCN_Start_DMA(TIM_HandleTypeDef *htim, uint3...
  function HAL_StatusTypeDef (line 1006) | HAL_StatusTypeDef HAL_TIMEx_OCN_Stop_DMA(TIM_HandleTypeDef *htim, uint32...
  function HAL_StatusTypeDef (line 1107) | HAL_StatusTypeDef HAL_TIMEx_PWMN_Start(TIM_HandleTypeDef *htim, uint32_t...
  function HAL_StatusTypeDef (line 1157) | HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop(TIM_HandleTypeDef *htim, uint32_t ...
  function HAL_StatusTypeDef (line 1189) | HAL_StatusTypeDef HAL_TIMEx_PWMN_Start_IT(TIM_HandleTypeDef *htim, uint3...
  function HAL_StatusTypeDef (line 1275) | HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop_IT(TIM_HandleTypeDef *htim, uint32...
  function HAL_StatusTypeDef (line 1350) | HAL_StatusTypeDef HAL_TIMEx_PWMN_Start_DMA(TIM_HandleTypeDef *htim, uint...
  function HAL_StatusTypeDef (line 1487) | HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop_DMA(TIM_HandleTypeDef *htim, uint3...
  function HAL_StatusTypeDef (line 1578) | HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Start(TIM_HandleTypeDef *htim, uin...
  function HAL_StatusTypeDef (line 1627) | HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Stop(TIM_HandleTypeDef *htim, uint...
  function HAL_StatusTypeDef (line 1666) | HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Start_IT(TIM_HandleTypeDef *htim, ...
  function HAL_StatusTypeDef (line 1721) | HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Stop_IT(TIM_HandleTypeDef *htim, u...
  function HAL_StatusTypeDef (line 1800) | HAL_StatusTypeDef HAL_TIMEx_ConfigCommutEvent(TIM_HandleTypeDef *htim, u...
  function HAL_StatusTypeDef (line 1856) | HAL_StatusTypeDef HAL_TIMEx_ConfigCommutEvent_IT(TIM_HandleTypeDef *htim...
  function HAL_StatusTypeDef (line 1913) | HAL_StatusTypeDef HAL_TIMEx_ConfigCommutEvent_DMA(TIM_HandleTypeDef *hti...
  function HAL_StatusTypeDef (line 1962) | HAL_StatusTypeDef HAL_TIMEx_MasterConfigSynchronization(TIM_HandleTypeDe...
  function HAL_StatusTypeDef (line 2023) | HAL_StatusTypeDef HAL_TIMEx_ConfigBreakDeadTime(TIM_HandleTypeDef *htim,
  function HAL_StatusTypeDef (line 2099) | HAL_StatusTypeDef HAL_TIMEx_RemapConfig(TIM_HandleTypeDef *htim, uint32_...
  function __weak (line 2155) | __weak void HAL_TIMEx_CommutCallback(TIM_HandleTypeDef *htim)
  function __weak (line 2169) | __weak void HAL_TIMEx_CommutHalfCpltCallback(TIM_HandleTypeDef *htim)
  function __weak (line 2184) | __weak void HAL_TIMEx_BreakCallback(TIM_HandleTypeDef *htim)
  function HAL_TIM_StateTypeDef (line 2217) | HAL_TIM_StateTypeDef HAL_TIMEx_HallSensor_GetState(TIM_HandleTypeDef *htim)
  function HAL_TIM_ChannelStateTypeDef (line 2232) | HAL_TIM_ChannelStateTypeDef HAL_TIMEx_GetChannelNState(TIM_HandleTypeDef...
  function TIMEx_DMACommutationCplt (line 2261) | void TIMEx_DMACommutationCplt(DMA_HandleTypeDef *hdma)
  function TIMEx_DMACommutationHalfCplt (line 2280) | void TIMEx_DMACommutationHalfCplt(DMA_HandleTypeDef *hdma)
  function TIM_DMADelayPulseNCplt (line 2300) | static void TIM_DMADelayPulseNCplt(DMA_HandleTypeDef *hdma)
  function TIM_DMAErrorCCxN (line 2359) | static void TIM_DMAErrorCCxN(DMA_HandleTypeDef *hdma)
  function TIM_CCxNChannelCmd (line 2404) | static void TIM_CCxNChannelCmd(TIM_TypeDef *TIMx, uint32_t Channel, uint...

FILE: QSPI/MT25TLxxx/EXT_MEM_BOOT/main.c
  function main (line 69) | int main(void)
  function SystemClock_Config (line 150) | void SystemClock_Config(void)
  function MX_GPIO_Init (line 206) | static void MX_GPIO_Init(void)
  function MPU_Config (line 221) | void MPU_Config(void)
  function Error_Handler (line 258) | void Error_Handler(void)
  function assert_failed (line 277) | void assert_failed(uint8_t *file, uint32_t line)

FILE: QSPI/MT25TLxxx/EXT_MEM_BOOT/system_stm32h7xx_dualcore_boot_cm4_cm7.c
  function SystemInit (line 141) | void SystemInit (void)
  function SystemCoreClockUpdate (line 300) | void SystemCoreClockUpdate (void)

FILE: QSPI/MT25TLxxx/main.c
  function main (line 87) | int main(void)
  function SystemClock_Config (line 222) | void SystemClock_Config(void)
  function Error_Handler (line 281) | void Error_Handler(void)
  function assert_failed (line 300) | void assert_failed(uint8_t *file, uint32_t line)

FILE: QSPI/MT25TLxxx/mt25tl01g.c
  function MT25TL01G_GetFlashInfo (line 43) | int32_t MT25TL01G_GetFlashInfo(MT25TL01G_Info_t *pInfo)
  function MT25TL01G_Enter4BytesAddressMode (line 60) | int32_t MT25TL01G_Enter4BytesAddressMode(QSPI_HandleTypeDef *Ctx, MT25TL...
  function MT25TL01G_Exit4BytesAddressMode (line 102) | int32_t MT25TL01G_Exit4BytesAddressMode(QSPI_HandleTypeDef *Ctx, MT25TL0...
  function MT25TL01G_AutoPollingMemReady (line 133) | int32_t MT25TL01G_AutoPollingMemReady(QSPI_HandleTypeDef *Ctx, MT25TL01G...
  function MT25TL01G_WriteEnable (line 172) | int32_t MT25TL01G_WriteEnable(QSPI_HandleTypeDef *Ctx, MT25TL01G_Interfa...
  function MT25TL01G_WriteDisable (line 221) | int32_t MT25TL01G_WriteDisable(QSPI_HandleTypeDef *Ctx, MT25TL01G_Interf...
  function MT25TL01G_PageProgram (line 254) | int32_t MT25TL01G_PageProgram(QSPI_HandleTypeDef *Ctx, MT25TL01G_Interfa...
  function MT25TL01G_ReadDTR (line 318) | int32_t MT25TL01G_ReadDTR(QSPI_HandleTypeDef *Ctx, MT25TL01G_Interface_t...
  function MT25TL01G_ReadSTR (line 391) | int32_t MT25TL01G_ReadSTR(QSPI_HandleTypeDef *Ctx, MT25TL01G_Interface_t...
  function MT25TL01G_BlockErase (line 465) | int32_t MT25TL01G_BlockErase(QSPI_HandleTypeDef *Ctx, MT25TL01G_Interfac...
  function MT25TL01G_ChipErase (line 517) | int32_t MT25TL01G_ChipErase(QSPI_HandleTypeDef *Ctx, MT25TL01G_Interface...
  function MT25TL01G_ReadStatusRegister (line 548) | int32_t MT25TL01G_ReadStatusRegister(QSPI_HandleTypeDef *Ctx, MT25TL01G_...
  function MT25TL01G_EnterQPIMode (line 586) | int32_t MT25TL01G_EnterQPIMode(QSPI_HandleTypeDef *Ctx)
  function MT25TL01G_ExitQPIMode (line 615) | int32_t MT25TL01G_ExitQPIMode(QSPI_HandleTypeDef *Ctx)
  function MT25TL01G_EnableMemoryMappedModeDTR (line 644) | int32_t MT25TL01G_EnableMemoryMappedModeDTR(QSPI_HandleTypeDef *Ctx, MT2...
  function MT25TL01G_EnableMemoryMappedModeSTR (line 709) | int32_t MT25TL01G_EnableMemoryMappedModeSTR(QSPI_HandleTypeDef *Ctx, MT2...
  function MT25TL01G_ResetEnable (line 779) | int32_t MT25TL01G_ResetEnable(QSPI_HandleTypeDef *Ctx, MT25TL01G_Interfa...
  function MT25TL01G_ResetMemory (line 811) | int32_t MT25TL01G_ResetMemory(QSPI_HandleTypeDef *Ctx, MT25TL01G_Interfa...
  function MT25TL01G_ReadID (line 845) | int32_t MT25TL01G_ReadID(QSPI_HandleTypeDef *Ctx, MT25TL01G_Interface_t ...
  function MT25TL01G_ProgEraseSuspend (line 886) | int32_t MT25TL01G_ProgEraseSuspend(QSPI_HandleTypeDef *Ctx, MT25TL01G_In...
  function MT25TL01G_ProgEraseResume (line 917) | int32_t MT25TL01G_ProgEraseResume(QSPI_HandleTypeDef *Ctx, MT25TL01G_Int...
  function MT25TL01G_EnterDeepPowerDown (line 949) | int32_t MT25TL01G_EnterDeepPowerDown(QSPI_HandleTypeDef *Ctx, MT25TL01G_...
  function MT25TL01G_ReleaseFromDeepPowerDown (line 981) | int32_t MT25TL01G_ReleaseFromDeepPowerDown(QSPI_HandleTypeDef *Ctx, MT25...
  function MT25TL01G_ReadSPBLockRegister (line 1013) | int32_t MT25TL01G_ReadSPBLockRegister(QSPI_HandleTypeDef *Ctx, MT25TL01G...

FILE: QSPI/MT25TLxxx/mt25tl01g.h
  type MT25TL01G_Info (line 54) | typedef struct {
  type MT25TL01G_Info_t (line 74) | typedef struct
  type MT25TL01G_Interface_t (line 86) | typedef enum
  type MT25TL01G_Transfer_t (line 96) | typedef enum
  type MT25TL01G_DualFlash_t (line 105) | typedef enum
  type MT25TL01G_Erase_t (line 116) | typedef enum

FILE: QSPI/MT25TLxxx/quadspi.c
  function MX_QUADSPI_Init (line 30) | void MX_QUADSPI_Init(void)
  function HAL_QSPI_MspInit (line 58) | void HAL_QSPI_MspInit(QSPI_HandleTypeDef* qspiHandle)
  function HAL_QSPI_MspDeInit (line 144) | void HAL_QSPI_MspDeInit(QSPI_HandleTypeDef* qspiHandle)
  function QSPI_Init (line 202) | int32_t QSPI_Init(uint32_t Instance, QSPI_Init_t *Init)
  function QSPI_DeInit (line 283) | int32_t QSPI_DeInit(uint32_t Instance)
  function QSPI_Read (line 343) | int32_t QSPI_Read(uint32_t Instance, uint8_t *pData, uint32_t ReadAddr, ...
  function QSPI_Write (line 382) | int32_t QSPI_Write(uint32_t Instance, uint8_t *pData, uint32_t WriteAddr...
  function QSPI_EraseBlock (line 452) | int32_t QSPI_EraseBlock(uint32_t Instance, uint32_t BlockAddress, QSPI_E...
  function QSPI_EraseChip (line 491) | int32_t QSPI_EraseChip(uint32_t Instance)
  function QSPI_EnableMemoryMappedMode (line 531) | int32_t QSPI_EnableMemoryMappedMode(uint32_t Instance)
  function QSPI_DisableMemoryMappedMode (line 576) | int32_t QSPI_DisableMemoryMappedMode(uint32_t Instance)
  function QSPI_ConfigFlash (line 629) | int32_t QSPI_ConfigFlash(uint32_t Instance, QSPI_Interface_t Mode, QSPI_...
  function QSPI_ResetMemory (line 706) | static int32_t QSPI_ResetMemory(uint32_t Instance)
  function QSPI_DummyCyclesCfg (line 749) | static int32_t QSPI_DummyCyclesCfg(uint32_t Instance, QSPI_Interface_t M...
  function CSP_QUADSPI_Init (line 811) | uint8_t CSP_QUADSPI_Init(void)
  function CSP_QSPI_Erase_Chip (line 832) | uint8_t CSP_QSPI_Erase_Chip(void)
  function CSP_QSPI_WriteMemory (line 837) | uint8_t CSP_QSPI_WriteMemory(uint8_t* buffer, uint32_t address, uint32_t...
  function CSP_QSPI_EnableMemoryMappedMode (line 842) | uint8_t CSP_QSPI_EnableMemoryMappedMode(void)
  function CSP_QSPI_EraseBlock (line 856) | uint8_t CSP_QSPI_EraseBlock(uint32_t BlockAddress, QSPI_Erase_t BlockSize)
  function CSP_QSPI_Read (line 862) | uint8_t CSP_QSPI_Read(uint8_t *pData, uint32_t ReadAddr, uint32_t Size)

FILE: QSPI/MT25TLxxx/quadspi.h
  type QSPI_Erase_t (line 50) | typedef enum
  type QSPI_Access_t (line 62) | typedef enum
  type QSPI_Ctx_t (line 69) | typedef struct
  type QSPI_Init_t (line 78) | typedef struct
  type MX_QSPI_Init_t (line 85) | typedef struct

FILE: QSPI/N25Qxxx/EXT_MEM_BOOT/main.c
  function main (line 67) | int main(void)
  function SystemClock_Config (line 123) | void SystemClock_Config(void)
  function MX_GPIO_Init (line 173) | static void MX_GPIO_Init(void)
  function MPU_Config (line 696) | void MPU_Config(void)
  function Error_Handler (line 733) | void Error_Handler(void)
  function assert_failed (line 752) | void assert_failed(uint8_t *file, uint32_t line)

FILE: QSPI/N25Qxxx/EXT_MEM_BOOT/system_stm32f7xx.c
  function SystemInit (line 152) | void SystemInit(void)
  function SystemCoreClockUpdate (line 204) | void SystemCoreClockUpdate(void)

FILE: QSPI/N25Qxxx/main.c
  function main (line 84) | int main(void)
  function SystemClock_Config (line 190) | void SystemClock_Config(void)
  function Error_Handler (line 243) | void Error_Handler(void)
  function assert_failed (line 262) | void assert_failed(uint8_t *file, uint32_t line)

FILE: QSPI/N25Qxxx/quadspi.c
  function MX_QUADSPI_Init (line 38) | void MX_QUADSPI_Init(void)
  function HAL_QSPI_MspInit (line 67) | void HAL_QSPI_MspInit(QSPI_HandleTypeDef* qspiHandle)
  function HAL_QSPI_MspDeInit (line 124) | void HAL_QSPI_MspDeInit(QSPI_HandleTypeDef* qspiHandle)
  function CSP_QUADSPI_Init (line 159) | uint8_t CSP_QUADSPI_Init(void)
  function CSP_QSPI_Erase_Chip (line 192) | uint8_t CSP_QSPI_Erase_Chip(void)
  function QSPI_AutoPollingMemReady (line 228) | uint8_t QSPI_AutoPollingMemReady(void)
  function QSPI_WriteEnable (line 260) | static uint8_t QSPI_WriteEnable(void)
  function QSPI_Configuration (line 301) | uint8_t QSPI_Configuration(void)
  function CSP_QSPI_EraseSector (line 365) | uint8_t CSP_QSPI_EraseSector(uint32_t EraseStartAddress, uint32_t EraseE...
  function CSP_QSPI_EnableMemoryMappedMode (line 409) | uint8_t CSP_QSPI_EnableMemoryMappedMode(void)
  function QSPI_ResetChip (line 438) | uint8_t QSPI_ResetChip()
  function CSP_QSPI_Erase_Block (line 483) | uint8_t CSP_QSPI_Erase_Block(uint32_t BlockAddress)
  function CSP_QSPI_Write (line 522) | uint8_t CSP_QSPI_Write(uint8_t* pData, uint32_t WriteAddr, uint32_t Size)
  function CSP_QSPI_Read (line 592) | uint8_t CSP_QSPI_Read(uint8_t* pData, uint32_t ReadAddr, uint32_t Size)

FILE: TOUCH GFX/ILI9341 SPI/STM32TouchController.cpp
  function ConvXPTtoILI (line 27) | static void ConvXPTtoILI(uint16_t *x, uint16_t *y)

FILE: TOUCH GFX/ILI9341 SPI/TouchGFX_DataTransfer.c
  function touchgfxDisplayDriverTransmitActive (line 12) | uint32_t touchgfxDisplayDriverTransmitActive(void)
  function touchgfxDisplayDriverTransmitBlock (line 17) | void touchgfxDisplayDriverTransmitBlock(uint8_t* pixels, uint16_t x, uin...
  function HAL_SPI_TxCpltCallback (line 24) | void HAL_SPI_TxCpltCallback(SPI_HandleTypeDef *hspi)

FILE: TOUCH GFX/ILI9341 SPI/ili9341.c
  type LCD_Horizontal_t (line 41) | typedef enum {
  function ILI9341_Init (line 66) | void ILI9341_Init(void)
  function ILI9341_SetWindow (line 188) | void ILI9341_SetWindow(uint16_t start_x, uint16_t start_y, uint16_t end_...
  function ILI9341_WritePixel (line 205) | void ILI9341_WritePixel(uint16_t x, uint16_t y, uint16_t color)
  function ConvHL (line 219) | static void ConvHL(uint8_t *s, int32_t l)
  function ILI9341_DrawBitmap (line 234) | void ILI9341_DrawBitmap(uint16_t w, uint16_t h, uint8_t *s)
  function ILI9341_EndOfDrawBitmap (line 255) | void ILI9341_EndOfDrawBitmap(void)
  function ILI9341_Reset (line 264) | void ILI9341_Reset(void)
  function ILI9341_SoftReset (line 274) | void ILI9341_SoftReset(void)
  function LCD_WR_REG (line 285) | void LCD_WR_REG(uint8_t data)
  function LCD_WR_DATA (line 293) | static void LCD_WR_DATA(uint8_t data)
  function LCD_IO_WriteMultipleData (line 301) | void LCD_IO_WriteMultipleData(uint8_t *pData, uint32_t Size)
  function LCD_direction (line 320) | static void LCD_direction(LCD_Horizontal_t direction)
  function RESET_L (line 342) | static void RESET_L(void)
  function RESET_H (line 347) | static void RESET_H(void)
  function CS_L (line 352) | static void CS_L(void)
  function DC_L (line 357) | static void DC_L(void)
  function DC_H (line 362) | static void DC_H(void)
  function LED_H (line 367) | static void LED_H(void)

FILE: TOUCH GFX/ILI9341 SPI/main.c
  function main (line 78) | int main(void)
  function SystemClock_Config (line 131) | void SystemClock_Config(void)
  function MX_CRC_Init (line 175) | static void MX_CRC_Init(void)
  function MX_SPI1_Init (line 201) | static void MX_SPI1_Init(void)
  function MX_SPI2_Init (line 239) | static void MX_SPI2_Init(void)
  function MX_TIM2_Init (line 277) | static void MX_TIM2_Init(void)
  function MX_DMA_Init (line 320) | static void MX_DMA_Init(void)
  function MX_GPIO_Init (line 338) | static void MX_GPIO_Init(void)
  function HAL_TIM_PeriodElapsedCallback (line 402) | void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
  function Error_Handler (line 423) | void Error_Handler(void)
  function assert_failed (line 442) | void assert_failed(uint8_t *file, uint32_t line)

FILE: TOUCH GFX/ILI9341 SPI/xpt2046.c
  function XPT2046_SetCS (line 50) | static void XPT2046_SetCS(void)
  function XPT2046_ResetCS (line 55) | static void XPT2046_ResetCS(void)
  function XPT2046_Write_Byte (line 60) | static void XPT2046_Write_Byte(uint8_t num)
  function XPT2046_Read_AD (line 70) | static uint16_t XPT2046_Read_AD(uint8_t CMD)
  function besttwoavg (line 94) | static int16_t besttwoavg( int16_t x , int16_t y , int16_t z ) {
  function XPT2046_Init (line 108) | void XPT2046_Init(void)
  function XPT2046_Update (line 113) | void XPT2046_Update(uint16_t *x, uint16_t *y)
  function XPT2046_IsReasonable (line 151) | uint8_t XPT2046_IsReasonable(uint16_t x, uint16_t y)

FILE: UART CIRCULAR BUFFER/main.c
  function main (line 70) | int main(void)
  function SystemClock_Config (line 143) | void SystemClock_Config(void)
  function MX_USART2_UART_Init (line 194) | static void MX_USART2_UART_Init(void)
  function MX_DMA_Init (line 225) | static void MX_DMA_Init(void)
  function MX_GPIO_Init (line 243) | static void MX_GPIO_Init(void)
  function Error_Handler (line 261) | void Error_Handler(void)
  function assert_failed (line 280) | void assert_failed(uint8_t *file, uint32_t line)

FILE: UART CIRCULAR BUFFER/stm32f4xx_it.c
  function NMI_Handler (line 71) | void NMI_Handler(void)
  function HardFault_Handler (line 86) | void HardFault_Handler(void)
  function MemManage_Handler (line 101) | void MemManage_Handler(void)
  function BusFault_Handler (line 116) | void BusFault_Handler(void)
  function UsageFault_Handler (line 131) | void UsageFault_Handler(void)
  function SVC_Handler (line 146) | void SVC_Handler(void)
  function DebugMon_Handler (line 159) | void DebugMon_Handler(void)
  function PendSV_Handler (line 172) | void PendSV_Handler(void)
  function SysTick_Handler (line 185) | void SysTick_Handler(void)
  function USART1_IRQHandler (line 208) | void USART1_IRQHandler(void)
  function DMA2_Stream2_IRQHandler (line 222) | void DMA2_Stream2_IRQHandler(void)

FILE: UART CIRCULAR BUFFER/uartRingBufDMA.c
  function Ringbuf_Init (line 39) | void Ringbuf_Init (void)
  function Ringbuf_Reset (line 53) | void Ringbuf_Reset (void)
  function checkString (line 68) | uint8_t checkString (char *str, char *buffertolookinto)
  function isConfirmed (line 109) | uint8_t isConfirmed (int32_t Timeout)
  function waitFor (line 124) | int waitFor (char *string, uint32_t Timeout)
  function copyUpto (line 197) | int copyUpto (char *string, char *buffertocopyinto, uint32_t Timeout)
  function getAfter (line 254) | int getAfter (char *string, uint8_t numberofchars, char *buffertocopyint...
  function getDataFromBuffer (line 273) | void getDataFromBuffer (char *startString, char *endString, char *buffer...
  function HAL_UARTEx_RxEventCallback (line 335) | void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)

FILE: ethernet-lwip/hardware-ping/F750-RMII/Core/Src/main.c
  type netif (line 59) | struct netif
  function main (line 66) | int main(void)
  function SystemClock_Config (line 135) | void SystemClock_Config(void)
  function MX_GPIO_Init (line 188) | static void MX_GPIO_Init(void)
  function MPU_Config (line 223) | void MPU_Config(void)
  function Error_Handler (line 284) | void Error_Handler(void)
  function assert_failed (line 303) | void assert_failed(uint8_t *file, uint32_t line)

FILE: ethernet-lwip/hardware-ping/F750-RMII/Core/Src/stm32f7xx_hal_msp.c
  function HAL_MspInit (line 63) | void HAL_MspInit(void)

FILE: ethernet-lwip/hardware-ping/F750-RMII/Core/Src/stm32f7xx_it.c
  function NMI_Handler (line 69) | void NMI_Handler(void)
  function HardFault_Handler (line 84) | void HardFault_Handler(void)
  function MemManage_Handler (line 99) | void MemManage_Handler(void)
  function BusFault_Handler (line 114) | void BusFault_Handler(void)
  function UsageFault_Handler (line 129) | void UsageFault_Handler(void)
  function SVC_Handler (line 144) | void SVC_Handler(void)
  function DebugMon_Handler (line 157) | void DebugMon_Handler(void)
  function PendSV_Handler (line 170) | void PendSV_Handler(void)
  function SysTick_Handler (line 183) | void SysTick_Handler(void)

FILE: ethernet-lwip/hardware-ping/F750-RMII/Core/Src/syscalls.c
  function initialise_monitor_handles (line 44) | void initialise_monitor_handles()
  function _getpid (line 48) | int _getpid(void)
  function _kill (line 53) | int _kill(int pid, int sig)
  function _exit (line 61) | void _exit (int status)
  function _read (line 67) | __attribute__((weak)) int _read(int file, char *ptr, int len)
  function _write (line 80) | __attribute__((weak)) int _write(int file, char *ptr, int len)
  function _close (line 92) | int _close(int file)
  function _fstat (line 99) | int _fstat(int file, struct stat *st)
  function _isatty (line 106) | int _isatty(int file)
  function _lseek (line 112) | int _lseek(int file, int ptr, int dir)
  function _open (line 120) | int _open(char *path, int flags, ...)
  function _wait (line 128) | int _wait(int *status)
  function _unlink (line 135) | int _unlink(char *name)
  function _times (line 142) | int _times(struct tms *buf)
  function _stat (line 148) | int _stat(char *file, struct stat *st)
  function _link (line 155) | int _link(char *old, char *new)
  function _fork (line 163) | int _fork(void)
  function _execve (line 169) | int _execve(char *name, char **argv, char **env)

FILE: ethernet-lwip/hardware-ping/F750-RMII/Core/Src/system_stm32f7xx.c
  function SystemInit (line 151) | void SystemInit(void)
  function SystemCoreClockUpdate (line 203) | void SystemCoreClockUpdate(void)

FILE: ethernet-lwip/hardware-ping/F750-RMII/Drivers/BSP/Components/lan8742/lan8742.c
  function LAN8742_RegisterBusIO (line 60) | int32_t  LAN8742_RegisterBusIO(lan8742_Object_t *pObj, lan8742_IOCtx_t *...
  function LAN8742_Init (line 83) | int32_t LAN8742_Init(lan8742_Object_t *pObj)
  function LAN8742_DeInit (line 138) | int32_t LAN8742_DeInit(lan8742_Object_t *pObj)
  function LAN8742_DisablePowerDownMode (line 163) | int32_t LAN8742_DisablePowerDownMode(lan8742_Object_t *pObj)
  function LAN8742_EnablePowerDownMode (line 193) | int32_t LAN8742_EnablePowerDownMode(lan8742_Object_t *pObj)
  function LAN8742_StartAutoNego (line 223) | int32_t LAN8742_StartAutoNego(lan8742_Object_t *pObj)
  function LAN8742_GetLinkState (line 259) | int32_t LAN8742_GetLinkState(lan8742_Object_t *pObj)
  function LAN8742_SetLinkState (line 351) | int32_t LAN8742_SetLinkState(lan8742_Object_t *pObj, uint32_t LinkState)
  function LAN8742_EnableLoopbackMode (line 403) | int32_t LAN8742_EnableLoopbackMode(lan8742_Object_t *pObj)
  function LAN8742_DisableLoopbackMode (line 433) | int32_t LAN8742_DisableLoopbackMode(lan8742_Object_t *pObj)
  function LAN8742_EnableIT (line 473) | int32_t LAN8742_EnableIT(lan8742_Object_t *pObj, uint32_t Interrupt)
  function LAN8742_DisableIT (line 513) | int32_t LAN8742_DisableIT(lan8742_Object_t *pObj, uint32_t Interrupt)
  function LAN8742_ClearIT (line 552) | int32_t  LAN8742_ClearIT(lan8742_Object_t *pObj, uint32_t Interrupt)
  function LAN8742_GetITStatus (line 582) | int32_t LAN8742_GetITStatus(lan8742_Object_t *pObj, uint32_t Interrupt)

FILE: ethernet-lwip/hardware-ping/F750-RMII/Drivers/BSP/Components/lan8742/lan8742.h
  type lan8742_IOCtx_t (line 382) | typedef struct
  type lan8742_Object_t (line 392) | typedef struct

FILE: ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f750xx.h
  type IRQn_Type (line 48) | typedef enum
  type ADC_TypeDef (line 188) | typedef struct
  type ADC_Common_TypeDef (line 212) | typedef struct
  type CAN_TxMailBox_TypeDef (line 225) | typedef struct
  type CAN_FIFOMailBox_TypeDef (line 237) | typedef struct
  type CAN_FilterRegister_TypeDef (line 249) | typedef struct
  type CAN_TypeDef (line 259) | typedef struct
  type CEC_TypeDef (line 289) | typedef struct
  type CRC_TypeDef (line 303) | typedef struct
  type DAC_TypeDef (line 319) | typedef struct
  type DBGMCU_TypeDef (line 342) | typedef struct
  type DCMI_TypeDef (line 354) | typedef struct
  type DMA_Stream_TypeDef (line 373) | typedef struct
  type DMA_TypeDef (line 383) | typedef struct
  type DMA2D_TypeDef (line 395) | typedef struct
  type ETH_TypeDef (line 427) | typedef struct
  type EXTI_TypeDef (line 503) | typedef struct
  type FLASH_TypeDef (line 517) | typedef struct
  type FMC_Bank1_TypeDef (line 534) | typedef struct
  type FMC_Bank1E_TypeDef (line 543) | typedef struct
  type FMC_Bank3_TypeDef (line 552) | typedef struct
  type FMC_Bank5_6_TypeDef (line 566) | typedef struct
  type GPIO_TypeDef (line 580) | typedef struct
  type SYSCFG_TypeDef (line 597) | typedef struct
  type I2C_TypeDef (line 610) | typedef struct
  type IWDG_TypeDef (line 629) | typedef struct
  type LTDC_TypeDef (line 643) | typedef struct
  type LTDC_Layer_TypeDef (line 668) | typedef struct
  type PWR_TypeDef (line 691) | typedef struct
  type RCC_TypeDef (line 704) | typedef struct
  type RTC_TypeDef (line 746) | typedef struct
  type SAI_TypeDef (line 807) | typedef struct
  type SAI_Block_TypeDef (line 812) | typedef struct
  type SPDIFRX_TypeDef (line 828) | typedef struct
  type SDMMC_TypeDef (line 843) | typedef struct
  type SPI_TypeDef (line 871) | typedef struct
  type QUADSPI_TypeDef (line 888) | typedef struct
  type TIM_TypeDef (line 909) | typedef struct
  type LPTIM_TypeDef (line 941) | typedef struct
  type USART_TypeDef (line 958) | typedef struct
  type WWDG_TypeDef (line 978) | typedef struct
  type CRYP_TypeDef (line 989) | typedef struct
  type HASH_TypeDef (line 1033) | typedef struct
  type HASH_DIGEST_TypeDef (line 1049) | typedef struct
  type RNG_TypeDef (line 1058) | typedef struct
  type USB_OTG_GlobalTypeDef (line 1072) | typedef struct
  type USB_OTG_DeviceTypeDef (line 1104) | typedef struct
  type USB_OTG_INEndpointTypeDef (line 1132) | typedef struct
  type USB_OTG_OUTEndpointTypeDef (line 1148) | typedef struct
  type USB_OTG_HostTypeDef (line 1163) | typedef struct
  type USB_OTG_HostChannelTypeDef (line 1177) | typedef struct

FILE: ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f7xx.h
  type FlagStatus (line 155) | typedef enum
  type FunctionalState (line 161) | typedef enum
  type ErrorStatus (line 168) | typedef enum

FILE: ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Include/cmsis_armcc.h
  function __STATIC_INLINE (line 130) | __STATIC_INLINE uint32_t __get_CONTROL(void)
  function __STATIC_INLINE (line 142) | __STATIC_INLINE void __set_CONTROL(uint32_t control)
  function __STATIC_INLINE (line 154) | __STATIC_INLINE uint32_t __get_IPSR(void)
  function __STATIC_INLINE (line 166) | __STATIC_INLINE uint32_t __get_APSR(void)
  function __STATIC_INLINE (line 178) | __STATIC_INLINE uint32_t __get_xPSR(void)
  function __STATIC_INLINE (line 190) | __STATIC_INLINE uint32_t __get_PSP(void)
  function __STATIC_INLINE (line 202) | __STATIC_INLINE void __set_PSP(uint32_t topOfProcStack)
  function __STATIC_INLINE (line 214) | __STATIC_INLINE uint32_t __get_MSP(void)
  function __STATIC_INLINE (line 226) | __STATIC_INLINE void __set_MSP(uint32_t topOfMainStack)
  function __STATIC_INLINE (line 238) | __STATIC_INLINE uint32_t __get_PRIMASK(void)
  function __STATIC_INLINE (line 250) | __STATIC_INLINE void __set_PRIMASK(uint32_t priMask)
  function __STATIC_INLINE (line 281) | __STATIC_INLINE uint32_t  __get_BASEPRI(void)
  function __STATIC_INLINE (line 293) | __STATIC_INLINE void __set_BASEPRI(uint32_t basePri)
  function __STATIC_INLINE (line 306) | __STATIC_INLINE void __set_BASEPRI_MAX(uint32_t basePri)
  function __STATIC_INLINE (line 318) | __STATIC_INLINE uint32_t __get_FAULTMASK(void)
  function __STATIC_INLINE (line 330) | __STATIC_INLINE void __set_FAULTMASK(uint32_t faultMask)
  function __STATIC_INLINE (line 345) | __STATIC_INLINE uint32_t __get_FPSCR(void)
  function __STATIC_INLINE (line 362) | __STATIC_INLINE void __set_FPSCR(uint32_t fpscr)
  function __REV16 (line 463) | uint32_t __REV16(uint32_t value)
  function __REVSH (line 478) | int16_t __REVSH(int16_t value)
  function __STATIC_INLINE (line 516) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __RBIT(uint32_t ...
  function __RRX (line 665) | uint32_t __RRX(uint32_t value)
  function __STATIC_INLINE (line 736) | __attribute__((always_inline)) __STATIC_INLINE int32_t __SSAT(int32_t va...
  function __STATIC_INLINE (line 761) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __USAT(int32_t v...

FILE: ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Include/cmsis_armclang.h
  type T_UINT32 (line 71) | struct __attribute__((packed)) T_UINT32 { uint32_t v; }
  function __PACKED_STRUCT (line 79) | __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }
  function __PACKED_STRUCT (line 87) | __PACKED_STRUCT T_UINT16_READ { uint16_t v; }
  function __PACKED_STRUCT (line 95) | __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }
  function __PACKED_STRUCT (line 103) | __PACKED_STRUCT T_UINT32_READ { uint32_t v; }
  function __STATIC_FORCEINLINE (line 142) | __STATIC_FORCEINLINE uint32_t __get_CONTROL(void)
  function __STATIC_FORCEINLINE (line 157) | __STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void)
  function __STATIC_FORCEINLINE (line 172) | __STATIC_FORCEINLINE void __set_CONTROL(uint32_t control)
  function __STATIC_FORCEINLINE (line 184) | __STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control)
  function __STATIC_FORCEINLINE (line 196) | __STATIC_FORCEINLINE uint32_t __get_IPSR(void)
  function __STATIC_FORCEINLINE (line 210) | __STATIC_FORCEINLINE uint32_t __get_APSR(void)
  function __STATIC_FORCEINLINE (line 224) | __STATIC_FORCEINLINE uint32_t __get_xPSR(void)
  function __STATIC_FORCEINLINE (line 238) | __STATIC_FORCEINLINE uint32_t __get_PSP(void)
  function __STATIC_FORCEINLINE (line 253) | __STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void)
  function __STATIC_FORCEINLINE (line 268) | __STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack)
  function __STATIC_FORCEINLINE (line 280) | __STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack)
  function __STATIC_FORCEINLINE (line 292) | __STATIC_FORCEINLINE uint32_t __get_MSP(void)
  function __STATIC_FORCEINLINE (line 307) | __STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void)
  function __STATIC_FORCEINLINE (line 322) | __STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack)
  function __STATIC_FORCEINLINE (line 334) | __STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack)
  function __STATIC_FORCEINLINE (line 347) | __STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void)
  function __STATIC_FORCEINLINE (line 361) | __STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack)
  function __STATIC_FORCEINLINE (line 373) | __STATIC_FORCEINLINE uint32_t __get_PRIMASK(void)
  function __STATIC_FORCEINLINE (line 388) | __STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void)
  function __STATIC_FORCEINLINE (line 403) | __STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask)
  function __STATIC_FORCEINLINE (line 415) | __STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask)
  function __STATIC_FORCEINLINE (line 446) | __STATIC_FORCEINLINE uint32_t __get_BASEPRI(void)
  function __STATIC_FORCEINLINE (line 461) | __STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void)
  function __STATIC_FORCEINLINE (line 476) | __STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri)
  function __STATIC_FORCEINLINE (line 488) | __STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri)
  function __STATIC_FORCEINLINE (line 501) | __STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri)
  function __STATIC_FORCEINLINE (line 512) | __STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void)
  function __STATIC_FORCEINLINE (line 527) | __STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void)
  function __STATIC_FORCEINLINE (line 542) | __STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask)
  function __STATIC_FORCEINLINE (line 554) | __STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask)
  function __STATIC_FORCEINLINE (line 577) | __STATIC_FORCEINLINE uint32_t __get_PSPLIM(void)
  function __STATIC_FORCEINLINE (line 600) | __STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void)
  function __STATIC_FORCEINLINE (line 623) | __STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit)
  function __STATIC_FORCEINLINE (line 645) | __STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit)
  function __STATIC_FORCEINLINE (line 665) | __STATIC_FORCEINLINE uint32_t __get_MSPLIM(void)
  function __STATIC_FORCEINLINE (line 688) | __STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void)
  function __STATIC_FORCEINLINE (line 710) | __STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit)
  function __STATIC_FORCEINLINE (line 731) | __STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit)
  function __STATIC_FORCEINLINE (line 876) | __STATIC_FORCEINLINE uint32_t __ROR(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1021) | __STATIC_FORCEINLINE uint32_t __RRX(uint32_t value)
  function __STATIC_FORCEINLINE (line 1036) | __STATIC_FORCEINLINE uint8_t __LDRBT(volatile uint8_t *ptr)
  function __STATIC_FORCEINLINE (line 1051) | __STATIC_FORCEINLINE uint16_t __LDRHT(volatile uint16_t *ptr)
  function __STATIC_FORCEINLINE (line 1066) | __STATIC_FORCEINLINE uint32_t __LDRT(volatile uint32_t *ptr)
  function __STATIC_FORCEINLINE (line 1081) | __STATIC_FORCEINLINE void __STRBT(uint8_t value, volatile uint8_t *ptr)
  function __STATIC_FORCEINLINE (line 1093) | __STATIC_FORCEINLINE void __STRHT(uint16_t value, volatile uint16_t *ptr)
  function __STATIC_FORCEINLINE (line 1105) | __STATIC_FORCEINLINE void __STRT(uint32_t value, volatile uint32_t *ptr)
  function __STATIC_FORCEINLINE (line 1121) | __STATIC_FORCEINLINE int32_t __SSAT(int32_t val, uint32_t sat)
  function __STATIC_FORCEINLINE (line 1146) | __STATIC_FORCEINLINE uint32_t __USAT(int32_t val, uint32_t sat)
  function __STATIC_FORCEINLINE (line 1176) | __STATIC_FORCEINLINE uint8_t __LDAB(volatile uint8_t *ptr)
  function __STATIC_FORCEINLINE (line 1191) | __STATIC_FORCEINLINE uint16_t __LDAH(volatile uint16_t *ptr)
  function __STATIC_FORCEINLINE (line 1206) | __STATIC_FORCEINLINE uint32_t __LDA(volatile uint32_t *ptr)
  function __STATIC_FORCEINLINE (line 1221) | __STATIC_FORCEINLINE void __STLB(uint8_t value, volatile uint8_t *ptr)
  function __STATIC_FORCEINLINE (line 1233) | __STATIC_FORCEINLINE void __STLH(uint16_t value, volatile uint16_t *ptr)
  function __STATIC_FORCEINLINE (line 1245) | __STATIC_FORCEINLINE void __STL(uint32_t value, volatile uint32_t *ptr)
  function __STATIC_FORCEINLINE (line 1324) | __STATIC_FORCEINLINE uint32_t __SADD8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1332) | __STATIC_FORCEINLINE uint32_t __QADD8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1340) | __STATIC_FORCEINLINE uint32_t __SHADD8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1348) | __STATIC_FORCEINLINE uint32_t __UADD8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1356) | __STATIC_FORCEINLINE uint32_t __UQADD8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1364) | __STATIC_FORCEINLINE uint32_t __UHADD8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1373) | __STATIC_FORCEINLINE uint32_t __SSUB8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1381) | __STATIC_FORCEINLINE uint32_t __QSUB8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1389) | __STATIC_FORCEINLINE uint32_t __SHSUB8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1397) | __STATIC_FORCEINLINE uint32_t __USUB8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1405) | __STATIC_FORCEINLINE uint32_t __UQSUB8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1413) | __STATIC_FORCEINLINE uint32_t __UHSUB8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1422) | __STATIC_FORCEINLINE uint32_t __SADD16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1430) | __STATIC_FORCEINLINE uint32_t __QADD16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1438) | __STATIC_FORCEINLINE uint32_t __SHADD16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1446) | __STATIC_FORCEINLINE uint32_t __UADD16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1454) | __STATIC_FORCEINLINE uint32_t __UQADD16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1462) | __STATIC_FORCEINLINE uint32_t __UHADD16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1470) | __STATIC_FORCEINLINE uint32_t __SSUB16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1478) | __STATIC_FORCEINLINE uint32_t __QSUB16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1486) | __STATIC_FORCEINLINE uint32_t __SHSUB16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1494) | __STATIC_FORCEINLINE uint32_t __USUB16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1502) | __STATIC_FORCEINLINE uint32_t __UQSUB16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1510) | __STATIC_FORCEINLINE uint32_t __UHSUB16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1518) | __STATIC_FORCEINLINE uint32_t __SASX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1526) | __STATIC_FORCEINLINE uint32_t __QASX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1534) | __STATIC_FORCEINLINE uint32_t __SHASX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1542) | __STATIC_FORCEINLINE uint32_t __UASX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1550) | __STATIC_FORCEINLINE uint32_t __UQASX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1558) | __STATIC_FORCEINLINE uint32_t __UHASX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1566) | __STATIC_FORCEINLINE uint32_t __SSAX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1574) | __STATIC_FORCEINLINE uint32_t __QSAX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1582) | __STATIC_FORCEINLINE uint32_t __SHSAX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1590) | __STATIC_FORCEINLINE uint32_t __USAX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1598) | __STATIC_FORCEINLINE uint32_t __UQSAX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1606) | __STATIC_FORCEINLINE uint32_t __UHSAX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1614) | __STATIC_FORCEINLINE uint32_t __USAD8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1622) | __STATIC_FORCEINLINE uint32_t __USADA8(uint32_t op1, uint32_t op2, uint3...
  function __STATIC_FORCEINLINE (line 1644) | __STATIC_FORCEINLINE uint32_t __UXTB16(uint32_t op1)
  function __STATIC_FORCEINLINE (line 1652) | __STATIC_FORCEINLINE uint32_t __UXTAB16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1660) | __STATIC_FORCEINLINE uint32_t __SXTB16(uint32_t op1)
  function __STATIC_FORCEINLINE (line 1668) | __STATIC_FORCEINLINE uint32_t __SXTAB16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1676) | __STATIC_FORCEINLINE uint32_t __SMUAD  (uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1684) | __STATIC_FORCEINLINE uint32_t __SMUADX (uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1692) | __STATIC_FORCEINLINE uint32_t __SMLAD (uint32_t op1, uint32_t op2, uint3...
  function __STATIC_FORCEINLINE (line 1700) | __STATIC_FORCEINLINE uint32_t __SMLADX (uint32_t op1, uint32_t op2, uint...
  function __STATIC_FORCEINLINE (line 1708) | __STATIC_FORCEINLINE uint64_t __SMLALD (uint32_t op1, uint32_t op2, uint...
  function __STATIC_FORCEINLINE (line 1725) | __STATIC_FORCEINLINE uint64_t __SMLALDX (uint32_t op1, uint32_t op2, uin...
  function __STATIC_FORCEINLINE (line 1742) | __STATIC_FORCEINLINE uint32_t __SMUSD  (uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1750) | __STATIC_FORCEINLINE uint32_t __SMUSDX (uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1758) | __STATIC_FORCEINLINE uint32_t __SMLSD (uint32_t op1, uint32_t op2, uint3...
  function __STATIC_FORCEINLINE (line 1766) | __STATIC_FORCEINLINE uint32_t __SMLSDX (uint32_t op1, uint32_t op2, uint...
  function __STATIC_FORCEINLINE (line 1774) | __STATIC_FORCEINLINE uint64_t __SMLSLD (uint32_t op1, uint32_t op2, uint...
  function __STATIC_FORCEINLINE (line 1791) | __STATIC_FORCEINLINE uint64_t __SMLSLDX (uint32_t op1, uint32_t op2, uin...
  function __STATIC_FORCEINLINE (line 1808) | __STATIC_FORCEINLINE uint32_t __SEL  (uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1816) | __STATIC_FORCEINLINE  int32_t __QADD( int32_t op1,  int32_t op2)
  function __STATIC_FORCEINLINE (line 1824) | __STATIC_FORCEINLINE  int32_t __QSUB( int32_t op1,  int32_t op2)
  function __STATIC_FORCEINLINE (line 1857) | __STATIC_FORCEINLINE int32_t __SMMLA (int32_t op1, int32_t op2, int32_t ...

FILE: ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Include/cmsis_compiler.h
  type T_UINT32 (line 95) | struct __attribute__((packed)) T_UINT32 { uint32_t v; }
  function __PACKED_STRUCT (line 99) | __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }
  function __PACKED_STRUCT (line 103) | __PACKED_STRUCT T_UINT16_READ { uint16_t v; }
  function __PACKED_STRUCT (line 107) | __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }
  function __PACKED_STRUCT (line 111) | __PACKED_STRUCT T_UINT32_READ { uint32_t v; }
  function T_UINT32 (line 164) | struct __packed__ T_UINT32 { uint32_t v; }
  function __PACKED_STRUCT (line 168) | __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }
  function __PACKED_STRUCT (line 172) | __PACKED_STRUCT T_UINT16_READ { uint16_t v; }
  function __PACKED_STRUCT (line 176) | __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }
  function __PACKED_STRUCT (line 180) | __PACKED_STRUCT T_UINT32_READ { uint32_t v; }
  function packed (line 231) | packed struct T_UINT32 { uint32_t v; }
  function __PACKED_STRUCT (line 235) | __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }
  function __PACKED_STRUCT (line 239) | __PACKED_STRUCT T_UINT16_READ { uint16_t v; }
  function __PACKED_STRUCT (line 243) | __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }
  function __PACKED_STRUCT (line 247) | __PACKED_STRUCT T_UINT32_READ { uint32_t v; }

FILE: ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Include/cmsis_gcc.h
  type T_UINT32 (line 74) | struct __attribute__((packed)) T_UINT32 { uint32_t v; }
  function __PACKED_STRUCT (line 82) | __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }
  function __PACKED_STRUCT (line 90) | __PACKED_STRUCT T_UINT16_READ { uint16_t v; }
  function __PACKED_STRUCT (line 98) | __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }
  function __PACKED_STRUCT (line 106) | __PACKED_STRUCT T_UINT32_READ { uint32_t v; }
  function __STATIC_FORCEINLINE (line 166) | __STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void)
  function __STATIC_FORCEINLINE (line 181) | __STATIC_FORCEINLINE void __set_CONTROL(uint32_t control)
  function __STATIC_FORCEINLINE (line 193) | __STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control)
  function __STATIC_FORCEINLINE (line 205) | __STATIC_FORCEINLINE uint32_t __get_IPSR(void)
  function __STATIC_FORCEINLINE (line 219) | __STATIC_FORCEINLINE uint32_t __get_APSR(void)
  function __STATIC_FORCEINLINE (line 233) | __STATIC_FORCEINLINE uint32_t __get_xPSR(void)
  function __STATIC_FORCEINLINE (line 247) | __STATIC_FORCEINLINE uint32_t __get_PSP(void)
  function __STATIC_FORCEINLINE (line 262) | __STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void)
  function __STATIC_FORCEINLINE (line 277) | __STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack)
  function __STATIC_FORCEINLINE (line 289) | __STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack)
  function __STATIC_FORCEINLINE (line 301) | __STATIC_FORCEINLINE uint32_t __get_MSP(void)
  function __STATIC_FORCEINLINE (line 316) | __STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void)
  function __STATIC_FORCEINLINE (line 331) | __STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack)
  function __STATIC_FORCEINLINE (line 343) | __STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack)
  function __STATIC_FORCEINLINE (line 356) | __STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void)
  function __STATIC_FORCEINLINE (line 370) | __STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack)
  function __STATIC_FORCEINLINE (line 382) | __STATIC_FORCEINLINE uint32_t __get_PRIMASK(void)
  function __STATIC_FORCEINLINE (line 397) | __STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void)
  function __STATIC_FORCEINLINE (line 412) | __STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask)
  function __STATIC_FORCEINLINE (line 424) | __STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask)
  function __STATIC_FORCEINLINE (line 476) | __STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void)
  function __STATIC_FORCEINLINE (line 491) | __STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri)
  function __STATIC_FORCEINLINE (line 503) | __STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri)
  function __STATIC_FORCEINLINE (line 516) | __STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri)
  function __STATIC_FORCEINLINE (line 527) | __STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void)
  function __STATIC_FORCEINLINE (line 542) | __STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void)
  function __STATIC_FORCEINLINE (line 557) | __STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask)
  function __STATIC_FORCEINLINE (line 569) | __STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask)
  function __STATIC_FORCEINLINE (line 592) | __STATIC_FORCEINLINE uint32_t __get_PSPLIM(void)
  function __STATIC_FORCEINLINE (line 614) | __STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void)
  function __STATIC_FORCEINLINE (line 637) | __STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit)
  function __STATIC_FORCEINLINE (line 658) | __STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit)
  function __STATIC_FORCEINLINE (line 679) | __STATIC_FORCEINLINE uint32_t __get_MSPLIM(void)
  function __STATIC_FORCEINLINE (line 702) | __STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void)
  function __STATIC_FORCEINLINE (line 725) | __STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit)
  function __STATIC_FORCEINLINE (line 746) | __STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit)
  function __STATIC_FORCEINLINE (line 766) | __STATIC_FORCEINLINE uint32_t __get_FPSCR(void)
  function __STATIC_FORCEINLINE (line 792) | __STATIC_FORCEINLINE void __set_FPSCR(uint32_t fpscr)
  function __STATIC_FORCEINLINE (line 919) | __STATIC_FORCEINLINE uint32_t __REV16(uint32_t value)
  function __STATIC_FORCEINLINE (line 934) | __STATIC_FORCEINLINE int16_t __REVSH(int16_t value)
  function __STATIC_FORCEINLINE (line 954) | __STATIC_FORCEINLINE uint32_t __ROR(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 981) | __STATIC_FORCEINLINE uint32_t __RBIT(uint32_t value)
  function __STATIC_FORCEINLINE (line 1024) | __STATIC_FORCEINLINE uint8_t __LDREXB(volatile uint8_t *addr)
  function __STATIC_FORCEINLINE (line 1046) | __STATIC_FORCEINLINE uint16_t __LDREXH(volatile uint16_t *addr)
  function __STATIC_FORCEINLINE (line 1068) | __STATIC_FORCEINLINE uint32_t __LDREXW(volatile uint32_t *addr)
  function __STATIC_FORCEINLINE (line 1085) | __STATIC_FORCEINLINE uint32_t __STREXB(uint8_t value, volatile uint8_t *...
  function __STATIC_FORCEINLINE (line 1102) | __STATIC_FORCEINLINE uint32_t __STREXH(uint16_t value, volatile uint16_t...
  function __STATIC_FORCEINLINE (line 1119) | __STATIC_FORCEINLINE uint32_t __STREXW(uint32_t value, volatile uint32_t...
  function __STATIC_FORCEINLINE (line 1132) | __STATIC_FORCEINLINE void __CLREX(void)
  function __STATIC_FORCEINLINE (line 1185) | __STATIC_FORCEINLINE uint32_t __RRX(uint32_t value)
  function __STATIC_FORCEINLINE (line 1200) | __STATIC_FORCEINLINE uint8_t __LDRBT(volatile uint8_t *ptr)
  function __STATIC_FORCEINLINE (line 1222) | __STATIC_FORCEINLINE uint16_t __LDRHT(volatile uint16_t *ptr)
  function __STATIC_FORCEINLINE (line 1244) | __STATIC_FORCEINLINE uint32_t __LDRT(volatile uint32_t *ptr)
  function __STATIC_FORCEINLINE (line 1259) | __STATIC_FORCEINLINE void __STRBT(uint8_t value, volatile uint8_t *ptr)
  function __STATIC_FORCEINLINE (line 1271) | __STATIC_FORCEINLINE void __STRHT(uint16_t value, volatile uint16_t *ptr)
  function __STATIC_FORCEINLINE (line 1283) | __STATIC_FORCEINLINE void __STRT(uint32_t value, volatile uint32_t *ptr)
  function __STATIC_FORCEINLINE (line 1299) | __STATIC_FORCEINLINE int32_t __SSAT(int32_t val, uint32_t sat)
  function __STATIC_FORCEINLINE (line 1324) | __STATIC_FORCEINLINE uint32_t __USAT(int32_t val, uint32_t sat)
  function __STATIC_FORCEINLINE (line 1354) | __STATIC_FORCEINLINE uint8_t __LDAB(volatile uint8_t *ptr)
  function __STATIC_FORCEINLINE (line 1369) | __STATIC_FORCEINLINE uint16_t __LDAH(volatile uint16_t *ptr)
  function __STATIC_FORCEINLINE (line 1384) | __STATIC_FORCEINLINE uint32_t __LDA(volatile uint32_t *ptr)
  function __STATIC_FORCEINLINE (line 1399) | __STATIC_FORCEINLINE void __STLB(uint8_t value, volatile uint8_t *ptr)
  function __STATIC_FORCEINLINE (line 1411) | __STATIC_FORCEINLINE void __STLH(uint16_t value, volatile uint16_t *ptr)
  function __STATIC_FORCEINLINE (line 1423) | __STATIC_FORCEINLINE void __STL(uint32_t value, volatile uint32_t *ptr)
  function __STATIC_FORCEINLINE (line 1435) | __STATIC_FORCEINLINE uint8_t __LDAEXB(volatile uint8_t *ptr)
  function __STATIC_FORCEINLINE (line 1450) | __STATIC_FORCEINLINE uint16_t __LDAEXH(volatile uint16_t *ptr)
  function __STATIC_FORCEINLINE (line 1465) | __STATIC_FORCEINLINE uint32_t __LDAEX(volatile uint32_t *ptr)
  function __STATIC_FORCEINLINE (line 1482) | __STATIC_FORCEINLINE uint32_t __STLEXB(uint8_t value, volatile uint8_t *...
  function __STATIC_FORCEINLINE (line 1499) | __STATIC_FORCEINLINE uint32_t __STLEXH(uint16_t value, volatile uint16_t...
  function __STATIC_FORCEINLINE (line 1516) | __STATIC_FORCEINLINE uint32_t __STLEX(uint32_t value, volatile uint32_t ...
  function __STATIC_FORCEINLINE (line 1538) | __STATIC_FORCEINLINE uint32_t __SADD8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1546) | __STATIC_FORCEINLINE uint32_t __QADD8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1554) | __STATIC_FORCEINLINE uint32_t __SHADD8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1562) | __STATIC_FORCEINLINE uint32_t __UADD8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1570) | __STATIC_FORCEINLINE uint32_t __UQADD8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1578) | __STATIC_FORCEINLINE uint32_t __UHADD8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1587) | __STATIC_FORCEINLINE uint32_t __SSUB8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1595) | __STATIC_FORCEINLINE uint32_t __QSUB8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1603) | __STATIC_FORCEINLINE uint32_t __SHSUB8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1611) | __STATIC_FORCEINLINE uint32_t __USUB8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1619) | __STATIC_FORCEINLINE uint32_t __UQSUB8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1627) | __STATIC_FORCEINLINE uint32_t __UHSUB8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1636) | __STATIC_FORCEINLINE uint32_t __SADD16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1644) | __STATIC_FORCEINLINE uint32_t __QADD16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1652) | __STATIC_FORCEINLINE uint32_t __SHADD16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1660) | __STATIC_FORCEINLINE uint32_t __UADD16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1668) | __STATIC_FORCEINLINE uint32_t __UQADD16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1676) | __STATIC_FORCEINLINE uint32_t __UHADD16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1684) | __STATIC_FORCEINLINE uint32_t __SSUB16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1692) | __STATIC_FORCEINLINE uint32_t __QSUB16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1700) | __STATIC_FORCEINLINE uint32_t __SHSUB16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1708) | __STATIC_FORCEINLINE uint32_t __USUB16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1716) | __STATIC_FORCEINLINE uint32_t __UQSUB16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1724) | __STATIC_FORCEINLINE uint32_t __UHSUB16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1732) | __STATIC_FORCEINLINE uint32_t __SASX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1740) | __STATIC_FORCEINLINE uint32_t __QASX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1748) | __STATIC_FORCEINLINE uint32_t __SHASX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1756) | __STATIC_FORCEINLINE uint32_t __UASX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1764) | __STATIC_FORCEINLINE uint32_t __UQASX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1772) | __STATIC_FORCEINLINE uint32_t __UHASX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1780) | __STATIC_FORCEINLINE uint32_t __SSAX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1788) | __STATIC_FORCEINLINE uint32_t __QSAX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1796) | __STATIC_FORCEINLINE uint32_t __SHSAX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1804) | __STATIC_FORCEINLINE uint32_t __USAX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1812) | __STATIC_FORCEINLINE uint32_t __UQSAX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1820) | __STATIC_FORCEINLINE uint32_t __UHSAX(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1828) | __STATIC_FORCEINLINE uint32_t __USAD8(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1836) | __STATIC_FORCEINLINE uint32_t __USADA8(uint32_t op1, uint32_t op2, uint3...
  function __STATIC_FORCEINLINE (line 1858) | __STATIC_FORCEINLINE uint32_t __UXTB16(uint32_t op1)
  function __STATIC_FORCEINLINE (line 1866) | __STATIC_FORCEINLINE uint32_t __UXTAB16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1874) | __STATIC_FORCEINLINE uint32_t __SXTB16(uint32_t op1)
  function __STATIC_FORCEINLINE (line 1882) | __STATIC_FORCEINLINE uint32_t __SXTAB16(uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1890) | __STATIC_FORCEINLINE uint32_t __SMUAD  (uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1898) | __STATIC_FORCEINLINE uint32_t __SMUADX (uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1906) | __STATIC_FORCEINLINE uint32_t __SMLAD (uint32_t op1, uint32_t op2, uint3...
  function __STATIC_FORCEINLINE (line 1914) | __STATIC_FORCEINLINE uint32_t __SMLADX (uint32_t op1, uint32_t op2, uint...
  function __STATIC_FORCEINLINE (line 1922) | __STATIC_FORCEINLINE uint64_t __SMLALD (uint32_t op1, uint32_t op2, uint...
  function __STATIC_FORCEINLINE (line 1939) | __STATIC_FORCEINLINE uint64_t __SMLALDX (uint32_t op1, uint32_t op2, uin...
  function __STATIC_FORCEINLINE (line 1956) | __STATIC_FORCEINLINE uint32_t __SMUSD  (uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1964) | __STATIC_FORCEINLINE uint32_t __SMUSDX (uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 1972) | __STATIC_FORCEINLINE uint32_t __SMLSD (uint32_t op1, uint32_t op2, uint3...
  function __STATIC_FORCEINLINE (line 1980) | __STATIC_FORCEINLINE uint32_t __SMLSDX (uint32_t op1, uint32_t op2, uint...
  function __STATIC_FORCEINLINE (line 1988) | __STATIC_FORCEINLINE uint64_t __SMLSLD (uint32_t op1, uint32_t op2, uint...
  function __STATIC_FORCEINLINE (line 2005) | __STATIC_FORCEINLINE uint64_t __SMLSLDX (uint32_t op1, uint32_t op2, uin...
  function __STATIC_FORCEINLINE (line 2022) | __STATIC_FORCEINLINE uint32_t __SEL  (uint32_t op1, uint32_t op2)
  function __STATIC_FORCEINLINE (line 2030) | __STATIC_FORCEINLINE  int32_t __QADD( int32_t op1,  int32_t op2)
  function __STATIC_FORCEINLINE (line 2038) | __STATIC_FORCEINLINE  int32_t __QSUB( int32_t op1,  int32_t op2)
  function __STATIC_FORCEINLINE (line 2071) | __STATIC_FORCEINLINE int32_t __SMMLA (int32_t op1, int32_t op2, int32_t ...

FILE: ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Include/cmsis_iccarm.h
  function __IAR_FT (line 171) | __IAR_FT uint16_t __iar_uint16_read(void const *ptr)
  function __IAR_FT (line 183) | __IAR_FT void __iar_uint16_write(void const *ptr, uint16_t val)
  function __IAR_FT (line 194) | __IAR_FT uint32_t __iar_uint32_read(void const *ptr)
  function __IAR_FT (line 205) | __IAR_FT void __iar_uint32_write(void const *ptr, uint32_t val)
  function __packed (line 216) | __packed struct  __iar_u32 { uint32_t v; }
  function __IAR_FT (line 374) | __IAR_FT int16_t __REVSH(int16_t val)
  function __STATIC_INLINE (line 496) | __STATIC_INLINE uint8_t __CLZ(uint32_t data)
  function __STATIC_INLINE (line 511) | __STATIC_INLINE uint32_t __RBIT(uint32_t v)
  function __STATIC_INLINE (line 524) | __STATIC_INLINE  uint32_t __get_APSR(void)
  function __IAR_FT (line 552) | __IAR_FT uint32_t __LDREXW(uint32_t volatile *ptr)
  function __IAR_FT (line 557) | __IAR_FT uint32_t __STREXW(uint32_t value, uint32_t volatile *ptr)
  function __IAR_FT (line 567) | __IAR_FT uint32_t __RRX(uint32_t value)
  function __IAR_FT (line 574) | __IAR_FT void __set_BASEPRI_MAX(uint32_t value)
  function __IAR_FT (line 586) | __IAR_FT uint32_t __ROR(uint32_t op1, uint32_t op2)
  function __IAR_FT (line 594) | __IAR_FT uint32_t __get_MSPLIM(void)
  function __IAR_FT (line 607) | __IAR_FT void   __set_MSPLIM(uint32_t value)
  function __IAR_FT (line 618) | __IAR_FT uint32_t __get_PSPLIM(void)
  function __IAR_FT (line 631) | __IAR_FT void   __set_PSPLIM(uint32_t value)
  function __IAR_FT (line 642) | __IAR_FT uint32_t __TZ_get_CONTROL_NS(void)
  function __IAR_FT (line 649) | __IAR_FT void   __TZ_set_CONTROL_NS(uint32_t value)
  function __IAR_FT (line 654) | __IAR_FT uint32_t   __TZ_get_PSP_NS(void)
  function __IAR_FT (line 661) | __IAR_FT void   __TZ_set_PSP_NS(uint32_t value)
  function __IAR_FT (line 666) | __IAR_FT uint32_t   __TZ_get_MSP_NS(void)
  function __IAR_FT (line 673) | __IAR_FT void   __TZ_set_MSP_NS(uint32_t value)
  function __IAR_FT (line 678) | __IAR_FT uint32_t   __TZ_get_SP_NS(void)
  function __IAR_FT (line 684) | __IAR_FT void   __TZ_set_SP_NS(uint32_t value)
  function __IAR_FT (line 689) | __IAR_FT uint32_t   __TZ_get_PRIMASK_NS(void)
  function __IAR_FT (line 696) | __IAR_FT void   __TZ_set_PRIMASK_NS(uint32_t value)
  function __IAR_FT (line 701) | __IAR_FT uint32_t   __TZ_get_BASEPRI_NS(void)
  function __IAR_FT (line 708) | __IAR_FT void   __TZ_set_BASEPRI_NS(uint32_t value)
  function __IAR_FT (line 713) | __IAR_FT uint32_t   __TZ_get_FAULTMASK_NS(void)
  function __IAR_FT (line 720) | __IAR_FT void   __TZ_set_FAULTMASK_NS(uint32_t value)
  function __IAR_FT (line 725) | __IAR_FT uint32_t   __TZ_get_PSPLIM_NS(void)
  function __IAR_FT (line 738) | __IAR_FT void   __TZ_set_PSPLIM_NS(uint32_t value)
  function __IAR_FT (line 749) | __IAR_FT uint32_t   __TZ_get_MSPLIM_NS(void)
  function __IAR_FT (line 756) | __IAR_FT void   __TZ_set_MSPLIM_NS(uint32_t value)
  function __STATIC_INLINE (line 768) | __STATIC_INLINE int32_t __SSAT(int32_t val, uint32_t sat)
  function __STATIC_INLINE (line 786) | __STATIC_INLINE uint32_t __USAT(int32_t val, uint32_t sat)
  function __IAR_FT (line 806) | __IAR_FT uint8_t __LDRBT(volatile uint8_t *addr)
  function __IAR_FT (line 813) | __IAR_FT uint16_t __LDRHT(volatile uint16_t *addr)
  function __IAR_FT (line 820) | __IAR_FT uint32_t __LDRT(volatile uint32_t *addr)
  function __IAR_FT (line 827) | __IAR_FT void __STRBT(uint8_t value, volatile uint8_t *addr)
  function __IAR_FT (line 832) | __IAR_FT void __STRHT(uint16_t value, volatile uint16_t *addr)
  function __IAR_FT (line 837) | __IAR_FT void __STRT(uint32_t value, volatile uint32_t *addr)
  function __IAR_FT (line 848) | __IAR_FT uint8_t __LDAB(volatile uint8_t *ptr)
  function __IAR_FT (line 855) | __IAR_FT uint16_t __LDAH(volatile uint16_t *ptr)
  function __IAR_FT (line 862) | __IAR_FT uint32_t __LDA(volatile uint32_t *ptr)
  function __IAR_FT (line 869) | __IAR_FT void __STLB(uint8_t value, volatile uint8_t *ptr)
  function __IAR_FT (line 874) | __IAR_FT void __STLH(uint16_t value, volatile uint16_t *ptr)
  function __IAR_FT (line 879) | __IAR_FT void __STL(uint32_t value, volatile uint32_t *ptr)
  function __IAR_FT (line 884) | __IAR_FT uint8_t __LDAEXB(volatile uint8_t *ptr)
  function __IAR_FT (line 891) | __IAR_FT uint16_t __LDAEXH(volatile uint16_t *ptr)
  function __IAR_FT (line 898) | __IAR_FT uint32_t __LDAEX(volatile uint32_t *ptr)
  function __IAR_FT (line 905) | __IAR_FT uint32_t __STLEXB(uint8_t value, volatile uint8_t *ptr)
  function __IAR_FT (line 912) | __IAR_FT uint32_t __STLEXH(uint16_t value, volatile uint16_t *ptr)
  function __IAR_FT (line 919) | __IAR_FT uint32_t __STLEX(uint32_t value, volatile uint32_t *ptr)

FILE: ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Include/core_armv8mbl.h
  type APSR_Type (line 233) | typedef union
  type IPSR_Type (line 263) | typedef union
  type xPSR_Type (line 281) | typedef union
  type CONTROL_Type (line 320) | typedef union
  type NVIC_Type (line 351) | typedef struct
  type SCB_Type (line 381) | typedef struct
  type SysTick_Type (line 558) | typedef struct
  type DWT_Type (line 610) | typedef struct
  type TPI_Type (line 725) | typedef struct
  type MPU_Type (line 824) | typedef struct
  type SAU_Type (line 931) | typedef struct
  type CoreDebug_Type (line 988) | typedef struct
  function __STATIC_INLINE (line 1252) | __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1269) | __STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1288) | __STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1307) | __STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1326) | __STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1341) | __STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1358) | __STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1380) | __STATIC_INLINE uint32_t NVIC_GetTargetState(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1401) | __STATIC_INLINE uint32_t NVIC_SetTargetState(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1423) | __STATIC_INLINE uint32_t NVIC_ClearTargetState(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1447) | __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
  function __STATIC_INLINE (line 1471) | __STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1496) | __STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, ui...
  function __STATIC_INLINE (line 1523) | __STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t Pr...
  function __STATIC_INLINE (line 1547) | __STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
  function __STATIC_INLINE (line 1566) | __STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
  function __NVIC_SystemReset (line 1581) | void __NVIC_SystemReset(void)
  function __STATIC_INLINE (line 1602) | __STATIC_INLINE void TZ_NVIC_EnableIRQ_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1619) | __STATIC_INLINE uint32_t TZ_NVIC_GetEnableIRQ_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1638) | __STATIC_INLINE void TZ_NVIC_DisableIRQ_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1655) | __STATIC_INLINE uint32_t TZ_NVIC_GetPendingIRQ_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1674) | __STATIC_INLINE void TZ_NVIC_SetPendingIRQ_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1689) | __STATIC_INLINE void TZ_NVIC_ClearPendingIRQ_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1706) | __STATIC_INLINE uint32_t TZ_NVIC_GetActive_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1728) | __STATIC_INLINE void TZ_NVIC_SetPriority_NS(IRQn_Type IRQn, uint32_t pri...
  function __STATIC_INLINE (line 1751) | __STATIC_INLINE uint32_t TZ_NVIC_GetPriority_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 1791) | __STATIC_INLINE uint32_t SCB_GetFPUType(void)
  function __STATIC_INLINE (line 1815) | __STATIC_INLINE void TZ_SAU_Enable(void)
  function __STATIC_INLINE (line 1826) | __STATIC_INLINE void TZ_SAU_Disable(void)
  function __STATIC_INLINE (line 1859) | __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
  function __STATIC_INLINE (line 1888) | __STATIC_INLINE uint32_t TZ_SysTick_Config_NS(uint32_t ticks)

FILE: ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Include/core_armv8mml.h
  type APSR_Type (line 314) | typedef union
  type IPSR_Type (line 353) | typedef union
  type xPSR_Type (line 371) | typedef union
  type CONTROL_Type (line 422) | typedef union
  type NVIC_Type (line 461) | typedef struct
  type SCB_Type (line 497) | typedef struct
  type SCnSCB_Type (line 1009) | typedef struct
  type SysTick_Type (line 1034) | typedef struct
  type DWT_Type (line 1201) | typedef struct
  type TPI_Type (line 1387) | typedef struct
  type MPU_Type (line 1486) | typedef struct
  type SAU_Type (line 1599) | typedef struct
  type FPU_Type (line 1685) | typedef struct
  type CoreDebug_Type (line 1815) | typedef struct
  function __STATIC_INLINE (line 2116) | __STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
  function __STATIC_INLINE (line 2135) | __STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void)
  function __STATIC_INLINE (line 2147) | __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2164) | __STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2183) | __STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2202) | __STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2221) | __STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2236) | __STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2253) | __STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2275) | __STATIC_INLINE uint32_t NVIC_GetTargetState(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2296) | __STATIC_INLINE uint32_t NVIC_SetTargetState(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2318) | __STATIC_INLINE uint32_t NVIC_ClearTargetState(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2342) | __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
  function __STATIC_INLINE (line 2364) | __STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2389) | __STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, ui...
  function __STATIC_INLINE (line 2416) | __STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t Pr...
  function __STATIC_INLINE (line 2439) | __STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
  function __STATIC_INLINE (line 2454) | __STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
  function __NVIC_SystemReset (line 2465) | void __NVIC_SystemReset(void)
  function __STATIC_INLINE (line 2490) | __STATIC_INLINE void TZ_NVIC_SetPriorityGrouping_NS(uint32_t PriorityGroup)
  function __STATIC_INLINE (line 2509) | __STATIC_INLINE uint32_t TZ_NVIC_GetPriorityGrouping_NS(void)
  function __STATIC_INLINE (line 2521) | __STATIC_INLINE void TZ_NVIC_EnableIRQ_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2538) | __STATIC_INLINE uint32_t TZ_NVIC_GetEnableIRQ_NS(IRQn_Type IRQn)
  function __STATIC_INLINE (line 2557) | __STATIC_INLINE void TZ_NVIC_DisableIRQ_NS(IRQn_
Copy disabled (too large) Download .json
Condensed preview — 8494 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (108,349K chars).
[
  {
    "path": ".github/FUNDING.yml",
    "chars": 759,
    "preview": "# These are supported funding model platforms\n\ngithub: \npatreon: controllerstech\nopen_collective: # Replace with a singl"
  },
  {
    "path": "BME280/I2C/BME280_STM32.c",
    "chars": 11367,
    "preview": "/*\r\n  ***************************************************************************************************************\r\n "
  },
  {
    "path": "BME280/I2C/BME280_STM32.h",
    "chars": 3701,
    "preview": "/*\r\n ***************************************************************************************************************\r\n *"
  },
  {
    "path": "BME280/I2C/README.md",
    "chars": 435,
    "preview": "# Interface BME280 with STM32 using I2C\n\n1. Define the I2C instance in ```BME280_STM32.c``` File\n2. Define the ```64 Bit"
  },
  {
    "path": "BME280/I2C/TUT_BME280_F103.ioc",
    "chars": 3620,
    "preview": "#MicroXplorer Configuration settings - do not modify\r\nFile.Version=6\r\nKeepUserPlacement=false\r\nMcu.Family=STM32F1\r\nMcu.I"
  },
  {
    "path": "BME280/I2C/main.c",
    "chars": 6292,
    "preview": "/* USER CODE BEGIN Header */\r\n/**\r\n  ******************************************************************************\r\n  *"
  },
  {
    "path": "EEPROM_STM32/EEPROM.c",
    "chars": 6002,
    "preview": "\r\n/**\r\n  ******************************************************************************\r\n\r\n  EEPROM.c Using the HAL I2C "
  },
  {
    "path": "EEPROM_STM32/EEPROM.h",
    "chars": 1306,
    "preview": "/**\r\n  ******************************************************************************\r\n\r\n  EEPROM.h Using the HAL I2C Fu"
  },
  {
    "path": "EEPROM_STM32/README.md",
    "chars": 320,
    "preview": "# EEPROM Library for STM32 using HAL\n\nThis EEPROM Library uses HAL I2C Functions to communnicate with the EEPROM\n\nTypica"
  },
  {
    "path": "EEPROM_STM32/main.c",
    "chars": 7173,
    "preview": "/* USER CODE BEGIN Header */\r\n/**\r\n  ******************************************************************************\r\n  *"
  },
  {
    "path": "F103_RegisterBased/ADC with DMA/Delay_F103.c",
    "chars": 2329,
    "preview": "/**\r\n  ******************************************************************************\r\n\r\n  Timer2 Setup for Delay in STM"
  },
  {
    "path": "F103_RegisterBased/ADC with DMA/Delay_F103.h",
    "chars": 996,
    "preview": "/**\r\n  ******************************************************************************\r\n\r\n  Timer2 Setup for Delay in STM"
  },
  {
    "path": "F103_RegisterBased/ADC with DMA/README.md",
    "chars": 334,
    "preview": "# How to program F103 ADC with DMA using REGISTERS\n\nIt also covers the internal Temperature Sensor\n\n3 channels of the AD"
  },
  {
    "path": "F103_RegisterBased/ADC with DMA/main.c",
    "chars": 5313,
    "preview": "\r\n\r\n#include \"stm32f10x.h\"                  // Device header\r\n#include \"Delay_F103.h\"\r\n#include \"stdio.h\"\r\n\r\n\r\nvoid ADC_"
  },
  {
    "path": "FLASH_PROGRAM/F1 SERIES/FLASH_PAGE_F1.h",
    "chars": 1960,
    "preview": "\r\n/**\r\n  ***************************************************************************************************************"
  },
  {
    "path": "FLASH_PROGRAM/F1 SERIES/FlASH_PAGE_F1.c",
    "chars": 4804,
    "preview": "\r\n/**\r\n  ***************************************************************************************************************"
  },
  {
    "path": "FLASH_PROGRAM/F1 SERIES/README.md",
    "chars": 426,
    "preview": "# How to write data in the FLASH memory of ```F1 Series``` MCU\n\n\n1. Rewrite the PAGES according to your reference manual"
  },
  {
    "path": "FLASH_PROGRAM/F1 SERIES/main.c",
    "chars": 6949,
    "preview": "/* USER CODE BEGIN Header */\r\n/**\r\n  ******************************************************************************\r\n  *"
  },
  {
    "path": "FLASH_PROGRAM/F4 SERIES/FLASH_SECTOR_F4.c",
    "chars": 7277,
    "preview": "\n/**\n  ***************************************************************************************************************\n "
  },
  {
    "path": "FLASH_PROGRAM/F4 SERIES/FLASH_SECTOR_F4.h",
    "chars": 1627,
    "preview": "/**\n  ***************************************************************************************************************\n  "
  },
  {
    "path": "FLASH_PROGRAM/F4 SERIES/README.md",
    "chars": 428,
    "preview": "# How to write data in the FLASH memory of ```F4 Series``` MCU\n\n\n1. Rewrite the Sectors according to your reference manu"
  },
  {
    "path": "FLASH_PROGRAM/F4 SERIES/main.c",
    "chars": 6458,
    "preview": "/* USER CODE BEGIN Header */\r\n/**\r\n  ******************************************************************************\r\n  *"
  },
  {
    "path": "FLASH_PROGRAM/H7 SERIES/FLASH_SECTOR_H7.c",
    "chars": 7375,
    "preview": "/**\n  ***************************************************************************************************************\n  "
  },
  {
    "path": "FLASH_PROGRAM/H7 SERIES/FLASH_SECTOR_H7.h",
    "chars": 1634,
    "preview": "/**\n  ***************************************************************************************************************\n  "
  },
  {
    "path": "FLASH_PROGRAM/H7 SERIES/README.md",
    "chars": 296,
    "preview": "# How to write data in the FLASH memory of ```H7 Series``` MCU\n\n\n1. Choose the MCU in ```FLASH_SECTOR_H7.c``` file\n2. Re"
  },
  {
    "path": "FLASH_PROGRAM/H7 SERIES/main.c",
    "chars": 6200,
    "preview": "/* USER CODE BEGIN Header */\r\n/**\r\n  ******************************************************************************\r\n  *"
  },
  {
    "path": "LCD1602_I2C_NOHAL/Delay.c",
    "chars": 2056,
    "preview": "\r\n/**\r\n  ******************************************************************************\r\n\r\n  Timer Setup for Delay in ST"
  },
  {
    "path": "LCD1602_I2C_NOHAL/Delay.h",
    "chars": 958,
    "preview": "\r\n\r\n/**\r\n  ******************************************************************************\r\n\r\n  Timer Setup for Delay in "
  },
  {
    "path": "LCD1602_I2C_NOHAL/I2C.c",
    "chars": 7670,
    "preview": "\r\n\r\n/**\r\n  ******************************************************************************\r\n\r\n  I2C Setup For STM32F446RE"
  },
  {
    "path": "LCD1602_I2C_NOHAL/I2C.h",
    "chars": 1127,
    "preview": "\r\n\r\n/**\r\n  ******************************************************************************\r\n\r\n  I2C Setup For STM32F446RE"
  },
  {
    "path": "LCD1602_I2C_NOHAL/README.md",
    "chars": 419,
    "preview": "# LCD1602 using I2C and REGISTERS only\n\n\n\n## USE THIS ONLY IF YOU KNOW HOW TO WORK WITH REGISTERS.\n\n\nThe code here works"
  },
  {
    "path": "LCD1602_I2C_NOHAL/RccConfig.c",
    "chars": 3331,
    "preview": "\r\n\r\n/**\r\n  ******************************************************************************\r\n\r\n  CLOCK Setup For STM32F446"
  },
  {
    "path": "LCD1602_I2C_NOHAL/RccConfig.h",
    "chars": 948,
    "preview": "/**\r\n  ******************************************************************************\r\n\r\n  CLOCK Setup For STM32F446RE\r\n"
  },
  {
    "path": "LCD1602_I2C_NOHAL/i2c-lcd.c",
    "chars": 3106,
    "preview": "\r\n/**\r\n  ******************************************************************************\r\n\r\n  LCD1602.c For STM32F446RE\r\n"
  },
  {
    "path": "LCD1602_I2C_NOHAL/i2c-lcd.h",
    "chars": 1216,
    "preview": "\r\n/**\r\n  ******************************************************************************\r\n\r\n  LCD1602.h For STM32F446RE\r\n"
  },
  {
    "path": "LCD1602_I2C_NOHAL/main.c",
    "chars": 261,
    "preview": "\r\n\r\n#include \"RccConfig.h\"\r\n#include \"Delay.h\"\r\n#include \"I2C.h\"\r\n#include \"i2c-lcd.h\"\r\n\r\n\r\nint main ()\r\n{\r\n\tSysClockCon"
  },
  {
    "path": "LVGL/Simple_F446/Core/Inc/lcd_lvgl.h",
    "chars": 463,
    "preview": "\r\n\r\n#ifndef INC_LCD_LVGL_H_\r\n#define INC_LCD_LVGL_H_\r\n\r\n/*********************\r\n *      INCLUDES\r\n *********************"
  },
  {
    "path": "LVGL/Simple_F446/Core/Inc/main.h",
    "chars": 2724,
    "preview": "/* USER CODE BEGIN Header */\r\n/**\r\n  ******************************************************************************\r\n  *"
  },
  {
    "path": "LVGL/Simple_F446/Core/Inc/stm32f4xx_hal_conf.h",
    "chars": 20041,
    "preview": "/* USER CODE BEGIN Header */\r\n/**\r\n  ******************************************************************************\r\n  *"
  },
  {
    "path": "LVGL/Simple_F446/Core/Inc/stm32f4xx_it.h",
    "chars": 1926,
    "preview": "/* USER CODE BEGIN Header */\r\n/**\r\n  ******************************************************************************\r\n  *"
  },
  {
    "path": "LVGL/Simple_F446/Core/Inc/tft.h",
    "chars": 1425,
    "preview": "\n/* Define to prevent recursive inclusion -------------------------------------*/\n#ifndef __TFT_H\n#define __TFT_H\n\n#ifde"
  },
  {
    "path": "LVGL/Simple_F446/Core/Inc/user_setting.h",
    "chars": 4495,
    "preview": "\n\n#ifndef USER_SETTING_H_\n#define USER_SETTING_H_\n\n#include \"stm32f4xx_hal.h\"\n\n\n#define RD_PORT GPIOA\n#define RD_PIN  GP"
  },
  {
    "path": "LVGL/Simple_F446/Core/Src/lcd_lvgl.c",
    "chars": 2479,
    "preview": "\r\n#include \"../../lv_conf.h\"\r\n#include \"../../lvgl/lvgl.h\"\r\n\r\n#include \"lcd_lvgl.h\"\r\n\r\n#include \"tft.h\"\r\n#include \"user_"
  },
  {
    "path": "LVGL/Simple_F446/Core/Src/main.c",
    "chars": 7985,
    "preview": "/* USER CODE BEGIN Header */\r\n/**\r\n  ******************************************************************************\r\n  *"
  },
  {
    "path": "LVGL/Simple_F446/Core/Src/stm32f4xx_hal_msp.c",
    "chars": 2231,
    "preview": "/* USER CODE BEGIN Header */\r\n/**\r\n  ******************************************************************************\r\n  *"
  },
  {
    "path": "LVGL/Simple_F446/Core/Src/stm32f4xx_it.c",
    "chars": 5480,
    "preview": "/* USER CODE BEGIN Header */\r\n/**\r\n  ******************************************************************************\r\n  *"
  },
  {
    "path": "LVGL/Simple_F446/Core/Src/syscalls.c",
    "chars": 2511,
    "preview": "/**\n ******************************************************************************\n * @file      syscalls.c\n * @author "
  },
  {
    "path": "LVGL/Simple_F446/Core/Src/sysmem.c",
    "chars": 2726,
    "preview": "/**\n ******************************************************************************\n * @file      sysmem.c\n * @author   "
  },
  {
    "path": "LVGL/Simple_F446/Core/Src/system_stm32f4xx.c",
    "chars": 27767,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    system_stm32f4xx.c\r\n"
  },
  {
    "path": "LVGL/Simple_F446/Core/Src/tft.c",
    "chars": 130257,
    "preview": "\n/* Includes ------------------------------------------------------------------*/\n#include \"tft.h\"\n#include \"stm32f4xx_h"
  },
  {
    "path": "LVGL/Simple_F446/Core/Startup/startup_stm32f446retx.s",
    "chars": 25124,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file      startup_stm32f446x"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f446xx.h",
    "chars": 1380520,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f446xx.h\r\n  * @"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h",
    "chars": 12566,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx.h\r\n  * @au"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h",
    "chars": 3796,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    system_stm32f4xx.h\r\n"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/CMSIS/Device/ST/STM32F4xx/License.md",
    "chars": 9840,
    "preview": "Apache License\r\n Version 2.0, January 2004\r\n http://www.apache.org/licenses/\r\n\r\nTERMS AND CONDITIONS FOR USE, REPRODUCTI"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/CMSIS/Include/cmsis_armcc.h",
    "chars": 28208,
    "preview": "/**************************************************************************//**\r\n * @file     cmsis_armcc.h\r\n * @brief  "
  },
  {
    "path": "LVGL/Simple_F446/Drivers/CMSIS/Include/cmsis_armclang.h",
    "chars": 56497,
    "preview": "/**************************************************************************//**\r\n * @file     cmsis_armclang.h\r\n * @brie"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/CMSIS/Include/cmsis_compiler.h",
    "chars": 9014,
    "preview": "/**************************************************************************//**\r\n * @file     cmsis_compiler.h\r\n * @brie"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/CMSIS/Include/cmsis_gcc.h",
    "chars": 62344,
    "preview": "/**************************************************************************//**\r\n * @file     cmsis_gcc.h\r\n * @brief    "
  },
  {
    "path": "LVGL/Simple_F446/Drivers/CMSIS/Include/cmsis_iccarm.h",
    "chars": 28414,
    "preview": "/**************************************************************************//**\r\n * @file     cmsis_iccarm.h\r\n * @brief "
  },
  {
    "path": "LVGL/Simple_F446/Drivers/CMSIS/Include/cmsis_version.h",
    "chars": 1716,
    "preview": "/**************************************************************************//**\r\n * @file     cmsis_version.h\r\n * @brief"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/CMSIS/Include/core_armv8mbl.h",
    "chars": 97995,
    "preview": "/**************************************************************************//**\r\n * @file     core_armv8mbl.h\r\n * @brief"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/CMSIS/Include/core_armv8mml.h",
    "chars": 168914,
    "preview": "/**************************************************************************//**\r\n * @file     core_armv8mml.h\r\n * @brief"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/CMSIS/Include/core_cm0.h",
    "chars": 42208,
    "preview": "/**************************************************************************//**\r\n * @file     core_cm0.h\r\n * @brief    C"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/CMSIS/Include/core_cm0plus.h",
    "chars": 50464,
    "preview": "/**************************************************************************//**\r\n * @file     core_cm0plus.h\r\n * @brief "
  },
  {
    "path": "LVGL/Simple_F446/Drivers/CMSIS/Include/core_cm1.h",
    "chars": 43456,
    "preview": "/**************************************************************************//**\r\n * @file     core_cm1.h\r\n * @brief    C"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/CMSIS/Include/core_cm23.h",
    "chars": 104628,
    "preview": "/**************************************************************************//**\r\n * @file     core_cm23.h\r\n * @brief    "
  },
  {
    "path": "LVGL/Simple_F446/Drivers/CMSIS/Include/core_cm3.h",
    "chars": 111854,
    "preview": "/**************************************************************************//**\r\n * @file     core_cm3.h\r\n * @brief    C"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/CMSIS/Include/core_cm33.h",
    "chars": 175600,
    "preview": "/**************************************************************************//**\r\n * @file     core_cm33.h\r\n * @brief    "
  },
  {
    "path": "LVGL/Simple_F446/Drivers/CMSIS/Include/core_cm4.h",
    "chars": 123607,
    "preview": "/**************************************************************************//**\r\n * @file     core_cm4.h\r\n * @brief    C"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/CMSIS/Include/core_cm7.h",
    "chars": 148588,
    "preview": "/**************************************************************************//**\r\n * @file     core_cm7.h\r\n * @brief    C"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/CMSIS/Include/core_sc000.h",
    "chars": 47249,
    "preview": "/**************************************************************************//**\r\n * @file     core_sc000.h\r\n * @brief   "
  },
  {
    "path": "LVGL/Simple_F446/Drivers/CMSIS/Include/core_sc300.h",
    "chars": 110523,
    "preview": "/**************************************************************************//**\r\n * @file     core_sc300.h\r\n * @brief   "
  },
  {
    "path": "LVGL/Simple_F446/Drivers/CMSIS/Include/mpu_armv7.h",
    "chars": 11711,
    "preview": "/******************************************************************************\r\n * @file     mpu_armv7.h\r\n * @brief    "
  },
  {
    "path": "LVGL/Simple_F446/Drivers/CMSIS/Include/mpu_armv8.h",
    "chars": 10958,
    "preview": "/******************************************************************************\r\n * @file     mpu_armv8.h\r\n * @brief    "
  },
  {
    "path": "LVGL/Simple_F446/Drivers/CMSIS/Include/tz_context.h",
    "chars": 2757,
    "preview": "/******************************************************************************\r\n * @file     tz_context.h\r\n * @brief   "
  },
  {
    "path": "LVGL/Simple_F446/Drivers/CMSIS/LICENSE.txt",
    "chars": 11558,
    "preview": "                                 Apache License\r\n                           Version 2.0, January 2004\r\n                 "
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h",
    "chars": 215409,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32_hal_legacy.h\r\n"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h",
    "chars": 13156,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx_hal.h\r\n  *"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h",
    "chars": 17553,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx_hal_cortex"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h",
    "chars": 7908,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx_hal_def.h\r"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h",
    "chars": 38849,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx_hal_dma.h\r"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h",
    "chars": 2931,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx_hal_dma_ex"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h",
    "chars": 15371,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx_hal_exti.h"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h",
    "chars": 15041,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx_hal_flash."
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h",
    "chars": 65442,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx_hal_flash_"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h",
    "chars": 2476,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx_hal_flash_"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h",
    "chars": 14190,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx_hal_gpio.h"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h",
    "chars": 82909,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx_hal_gpio_e"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h",
    "chars": 14712,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx_hal_pwr.h\r"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h",
    "chars": 16409,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx_hal_pwr_ex"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h",
    "chars": 75281,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx_hal_rcc.h\r"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h",
    "chars": 440495,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx_hal_rcc_ex"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h",
    "chars": 123547,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx_hal_tim.h\r"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h",
    "chars": 16986,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx_hal_tim_ex"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/License.md",
    "chars": 293,
    "preview": "# Copyright (c) 2016 STMicroelectronics\r\n\r\nThis software component is licensed by STMicroelectronics under the **BSD-3-C"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c",
    "chars": 19853,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx_hal.c\r\n  *"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c",
    "chars": 19354,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx_hal_cortex"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c",
    "chars": 40946,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx_hal_dma.c\r"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c",
    "chars": 10765,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx_hal_dma_ex"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c",
    "chars": 15642,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx_hal_exti.c"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c",
    "chars": 24971,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx_hal_flash."
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c",
    "chars": 51434,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx_hal_flash_"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c",
    "chars": 6382,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx_hal_flash_"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c",
    "chars": 19472,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx_hal_gpio.c"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c",
    "chars": 21233,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx_hal_pwr.c\r"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c",
    "chars": 23558,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx_hal_pwr_ex"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c",
    "chars": 43644,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx_hal_rcc.c\r"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c",
    "chars": 159403,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx_hal_rcc_ex"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c",
    "chars": 251231,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx_hal_tim.c\r"
  },
  {
    "path": "LVGL/Simple_F446/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c",
    "chars": 84875,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    stm32f4xx_hal_tim_ex"
  },
  {
    "path": "LVGL/Simple_F446/README.md",
    "chars": 310,
    "preview": "# LVGL and STM32\n\n### Along with the project, you also need to download the LVGL libray, which can be downladed from htt"
  },
  {
    "path": "LVGL/Simple_F446/STM32F446RETX_FLASH.ld",
    "chars": 4739,
    "preview": "/*\n******************************************************************************\n**\n** @file        : LinkerScript.ld\n*"
  },
  {
    "path": "LVGL/Simple_F446/STM32F446RETX_RAM.ld",
    "chars": 4730,
    "preview": "/*\n******************************************************************************\n**\n** @file        : LinkerScript.ld ("
  },
  {
    "path": "LVGL/Simple_F446/TUT_LVGL_F446 Debug.launch",
    "chars": 8669,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\r\n<launchConfiguration type=\"com.st.stm32cube.ide.mcu.debug.launch"
  },
  {
    "path": "LVGL/Simple_F446/TUT_LVGL_F446.ioc",
    "chars": 6640,
    "preview": "#MicroXplorer Configuration settings - do not modify\r\nFile.Version=6\r\nKeepUserPlacement=false\r\nMcu.Family=STM32F4\r\nMcu.I"
  },
  {
    "path": "LVGL/Simple_F446/lv_conf.h",
    "chars": 21239,
    "preview": "/**\n * @file lv_conf.h\n * Configuration file for v8.1.1-dev\n */\n\n/*\n * Copy this file as `lv_conf.h`\n * 1. simply next t"
  },
  {
    "path": "QSPI/MT25TLxxx/EXT_MEM_BOOT/QSPI_XIP_H745.ioc",
    "chars": 22541,
    "preview": "#MicroXplorer Configuration settings - do not modify\r\nCORTEX_M7.AccessPermission-Cortex_Memory_Protection_Unit_Region0_S"
  },
  {
    "path": "QSPI/MT25TLxxx/EXT_MEM_BOOT/README.md",
    "chars": 967,
    "preview": "\n# How to boot from external flash memory\n\n## Following are the steps after creating a new project\n\n1. If you are here, "
  },
  {
    "path": "QSPI/MT25TLxxx/EXT_MEM_BOOT/STM32H745XIHX_FLASH.ld",
    "chars": 5101,
    "preview": "/*\n******************************************************************************\n**\n**  File        : LinkerScript.ld\n*"
  },
  {
    "path": "QSPI/MT25TLxxx/EXT_MEM_BOOT/main.c",
    "chars": 8685,
    "preview": "/* USER CODE BEGIN Header */\r\n/**\r\n  ******************************************************************************\r\n  *"
  },
  {
    "path": "QSPI/MT25TLxxx/EXT_MEM_BOOT/system_stm32h7xx_dualcore_boot_cm4_cm7.c",
    "chars": 13532,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    system_stm32h7xx_dua"
  },
  {
    "path": "QSPI/MT25TLxxx/README.md",
    "chars": 943,
    "preview": "\n# How to write and Read data to MT25 Flash memory using the QSPI\n\nThe steps are commented out in the main file itself\n\n"
  },
  {
    "path": "QSPI/MT25TLxxx/main.c",
    "chars": 8803,
    "preview": "/* USER CODE BEGIN Header */\r\n/**\r\n  ******************************************************************************\r\n  *"
  },
  {
    "path": "QSPI/MT25TLxxx/mt25tl01g.c",
    "chars": 38028,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    MT25TL01G.c\r\n  * @au"
  },
  {
    "path": "QSPI/MT25TLxxx/mt25tl01g.h",
    "chars": 16632,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    MT25TL01G.h\r\n  * @au"
  },
  {
    "path": "QSPI/MT25TLxxx/quadspi.c",
    "chars": 26754,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    quadspi.c\r\n  * @brie"
  },
  {
    "path": "QSPI/MT25TLxxx/quadspi.h",
    "chars": 6375,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    quadspi.h\r\n  * @brie"
  },
  {
    "path": "QSPI/N25Qxxx/EXT_MEM_BOOT/QSPI_XIP__N25Q_F750.ioc",
    "chars": 33020,
    "preview": "#MicroXplorer Configuration settings - do not modify\r\nCORTEX_M7.AccessPermission-Cortex_Memory_Protection_Unit_Region0_S"
  },
  {
    "path": "QSPI/N25Qxxx/EXT_MEM_BOOT/README.md",
    "chars": 1021,
    "preview": "\n# How to boot from external flash memory\n\n## Following are the steps after creating a new project\n\n1. If you are here, "
  },
  {
    "path": "QSPI/N25Qxxx/EXT_MEM_BOOT/STM32F750N8HX_FLASH.ld",
    "chars": 4862,
    "preview": "/*\n******************************************************************************\n**\n** @file        : LinkerScript.ld\n*"
  },
  {
    "path": "QSPI/N25Qxxx/EXT_MEM_BOOT/main.c",
    "chars": 29306,
    "preview": "/* USER CODE BEGIN Header */\r\n/**\r\n  ******************************************************************************\r\n  *"
  },
  {
    "path": "QSPI/N25Qxxx/EXT_MEM_BOOT/system_stm32f7xx.c",
    "chars": 9321,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    system_stm32f7xx.c\r\n"
  },
  {
    "path": "QSPI/N25Qxxx/README.md",
    "chars": 611,
    "preview": "# How to write and Read data to N25Qxxx using the QSPI\n\nThe steps are commented out in the main file itself\n\n## Check ou"
  },
  {
    "path": "QSPI/N25Qxxx/main.c",
    "chars": 7329,
    "preview": "/* USER CODE BEGIN Header */\r\n/**\r\n  ******************************************************************************\r\n  *"
  },
  {
    "path": "QSPI/N25Qxxx/n25q128a.h",
    "chars": 8660,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    n25q128a.h\r\n  * @aut"
  },
  {
    "path": "QSPI/N25Qxxx/quadspi.c",
    "chars": 19457,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    quadspi.c\r\n  * @brie"
  },
  {
    "path": "QSPI/N25Qxxx/quadspi.h",
    "chars": 1904,
    "preview": "/**\r\n  ******************************************************************************\r\n  * @file    quadspi.h\r\n  * @brie"
  },
  {
    "path": "README.md",
    "chars": 3196,
    "preview": "# STM32 HAL Example Projects – Controllerstech\n\nWelcome to the **STM32-HAL repository**!  \nThis repository contains hand"
  },
  {
    "path": "TOUCH GFX/ILI9341 SPI/README.md",
    "chars": 678,
    "preview": "# How to use TOUCHGFX with ILI9341 based SPI Display\n\nI used the instructions provided at https://helentronica.com/2021/"
  },
  {
    "path": "TOUCH GFX/ILI9341 SPI/STM32TouchController.cpp",
    "chars": 2464,
    "preview": "/**\r\n  ******************************************************************************\r\n  * File Name          : STM32Tou"
  },
  {
    "path": "TOUCH GFX/ILI9341 SPI/TouchGFX_DataTransfer.c",
    "chars": 742,
    "preview": "/* Functions called by the TouchGFX HAL to invoke the actual data transfer to ILI9341.\n * Pero, 2021\n */\n\n#include \"ili9"
  },
  {
    "path": "TOUCH GFX/ILI9341 SPI/TouchGFX_DataTransfer.h",
    "chars": 427,
    "preview": "/* Functions called by the TouchGFX HAL to invoke the actual data transfer to ILI9341.\n * Pero, 2021\n */\n\n#ifndef TOUCHG"
  },
  {
    "path": "TOUCH GFX/ILI9341 SPI/ili9341.c",
    "chars": 7908,
    "preview": "/*\n * ili9341.c\n *\n *  Created on: 2019/12/26\n *      Author: Kotetsu Yamamoto\n *      Copyright [Kotetsu Yamamoto]\n\nI r"
  },
  {
    "path": "TOUCH GFX/ILI9341 SPI/ili9341.h",
    "chars": 1795,
    "preview": "/*\n * ili9341.h\n *\n *  Created on: 2019/12/26\n *      Author: Kotetsu Yamamoto\n *      Copyright [Kotetsu Yamamoto]\n\nMIT"
  },
  {
    "path": "TOUCH GFX/ILI9341 SPI/main.c",
    "chars": 12173,
    "preview": "/* USER CODE BEGIN Header */\r\n/**\r\n  ******************************************************************************\r\n  *"
  },
  {
    "path": "TOUCH GFX/ILI9341 SPI/xpt2046.c",
    "chars": 4183,
    "preview": "/*\n * xpt2046.c\n *\n *  Created on: Jan 6, 2020\n *      Author: Kotetsu Yamamoto\n *      Copyright [Kotetsu Yamamoto]\n\nI "
  },
  {
    "path": "TOUCH GFX/ILI9341 SPI/xpt2046.h",
    "chars": 1742,
    "preview": "/*\n * touch.h\n *\n *  Created on: Jan 6, 2020\n *      Author: Kotetsu Yamamoto\n *      Copyright [Kotetsu Yamamoto]\n\nMIT "
  },
  {
    "path": "UART CIRCULAR BUFFER/README.md",
    "chars": 914,
    "preview": "## UART CIRCULAR BUFFER with DMA\n\n1. In the CubeMX, enable the UART interrupt\n2. In the DMA section, use the NORMAL mode"
  },
  {
    "path": "UART CIRCULAR BUFFER/UART_F4_Multi_Test.ioc",
    "chars": 5945,
    "preview": "#MicroXplorer Configuration settings - do not modify\r\nDma.Request0=USART1_RX\r\nDma.RequestsNb=1\r\nDma.USART1_RX.0.Directio"
  },
  {
    "path": "UART CIRCULAR BUFFER/main.c",
    "chars": 7442,
    "preview": "/* USER CODE BEGIN Header */\r\n/**\r\n  ******************************************************************************\r\n  *"
  },
  {
    "path": "UART CIRCULAR BUFFER/stm32f4xx_it.c",
    "chars": 6337,
    "preview": "/* USER CODE BEGIN Header */\r\n/**\r\n  ******************************************************************************\r\n  *"
  },
  {
    "path": "UART CIRCULAR BUFFER/uartRingBufDMA.c",
    "chars": 9041,
    "preview": "/*\r\n * uartRingBufDMA.c\r\n *\r\n *  Created on: Aug 12, 2021\r\n *      Author: controllerstech.com\r\n */\r\n\r\n\r\n#include \"stm32"
  },
  {
    "path": "UART CIRCULAR BUFFER/uartRingBufDMA.h",
    "chars": 1679,
    "preview": "/*\r\n * uartRingBufDMA.h\r\n *\r\n *  Created on: Aug 12, 2021\r\n *      Author: controllerstech.com\r\n */\r\n\r\n#ifndef INC_UARTR"
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/.cproject",
    "chars": 31404,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<?fileVersion 4.0.0?><cproject storage_type_id=\"org.eclipse.cdt.c"
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/.mxproject",
    "chars": 43162,
    "preview": "[PreviousLibFiles]\nLibFiles=Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_rcc.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f"
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/.project",
    "chars": 1187,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<projectDescription>\n\t<name>F750_Etherent</name>\n\t<comment></comment>\n\t<projects>"
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/.settings/com.st.stm32cube.ide.mcu.sfrview.prefs",
    "chars": 113,
    "preview": "eclipse.preferences.version=1\nsfrviewstate={\"fFavorites\"\\:{\"fLists\"\\:{}},\"fProperties\"\\:{\"fNodeProperties\"\\:{}}}\n"
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/.settings/language.settings.xml",
    "chars": 2150,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<project>\n\t<configuration id=\"com.st.stm32cube.ide.mcu.gnu.manage"
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/.settings/org.eclipse.core.resources.prefs",
    "chars": 55,
    "preview": "eclipse.preferences.version=1\nencoding/<project>=UTF-8\n"
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/.settings/stm32cubeide.project.prefs",
    "chars": 329,
    "preview": "2F62501ED4689FB349E356AB974DBE57=EE23A1CCD8C22DDC708150882BBF2B57\n635E684B79701B039C64EA45C3F84D30=33947AC4B89401F6FF697"
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Core/Inc/main.h",
    "chars": 1934,
    "preview": "/* USER CODE BEGIN Header */\n/**\n  ******************************************************************************\n  * @f"
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Core/Inc/stm32f7xx_hal_conf.h",
    "chars": 19516,
    "preview": "/* USER CODE BEGIN Header */\n/**\n  ******************************************************************************\n  * @f"
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Core/Inc/stm32f7xx_it.h",
    "chars": 1860,
    "preview": "/* USER CODE BEGIN Header */\n/**\n  ******************************************************************************\n  * @f"
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Core/Src/main.c",
    "chars": 8561,
    "preview": "/* USER CODE BEGIN Header */\n/**\n  ******************************************************************************\n  * @f"
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Core/Src/stm32f7xx_hal_msp.c",
    "chars": 2149,
    "preview": "/* USER CODE BEGIN Header */\n/**\n  ******************************************************************************\n  * @f"
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Core/Src/stm32f7xx_it.c",
    "chars": 5206,
    "preview": "/* USER CODE BEGIN Header */\n/**\n  ******************************************************************************\n  * @f"
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Core/Src/syscalls.c",
    "chars": 2847,
    "preview": "/**\n ******************************************************************************\n * @file      syscalls.c\n * @author "
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Core/Src/sysmem.c",
    "chars": 2726,
    "preview": "/**\n ******************************************************************************\n * @file      sysmem.c\n * @author   "
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Core/Src/system_stm32f7xx.c",
    "chars": 8909,
    "preview": "/**\n  ******************************************************************************\n  * @file    system_stm32f7xx.c\n  *"
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Core/Startup/startup_stm32f750n8hx.s",
    "chars": 25619,
    "preview": "/**\n  ******************************************************************************\n  * @file      startup_stm32f750xx."
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Drivers/BSP/Components/lan8742/lan8742.c",
    "chars": 16412,
    "preview": "/**\n  ******************************************************************************\n  * @file    lan8742.c\n  * @author "
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Drivers/BSP/Components/lan8742/lan8742.h",
    "chars": 15341,
    "preview": "/**\n  ******************************************************************************\n  * @file    lan8742.h\n  * @author "
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f750xx.h",
    "chars": 1411739,
    "preview": "/**\n  ******************************************************************************\n  * @file    stm32f750xx.h\n  * @aut"
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f7xx.h",
    "chars": 10246,
    "preview": "/**\n  ******************************************************************************\n  * @file    stm32f7xx.h\n  * @autho"
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Device/ST/STM32F7xx/Include/system_stm32f7xx.h",
    "chars": 2274,
    "preview": "/**\n  ******************************************************************************\n  * @file    system_stm32f7xx.h\n  *"
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Device/ST/STM32F7xx/LICENSE.txt",
    "chars": 371,
    "preview": "This software component is provided to you as part of a software package and\napplicable license terms are in the  Packag"
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Include/cmsis_armcc.h",
    "chars": 27343,
    "preview": "/**************************************************************************//**\n * @file     cmsis_armcc.h\n * @brief    "
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Include/cmsis_armclang.h",
    "chars": 54628,
    "preview": "/**************************************************************************//**\n * @file     cmsis_armclang.h\n * @brief "
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Include/cmsis_compiler.h",
    "chars": 8748,
    "preview": "/**************************************************************************//**\n * @file     cmsis_compiler.h\n * @brief "
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Include/cmsis_gcc.h",
    "chars": 60259,
    "preview": "/**************************************************************************//**\n * @file     cmsis_gcc.h\n * @brief    CM"
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Include/cmsis_iccarm.h",
    "chars": 27479,
    "preview": "/**************************************************************************//**\n * @file     cmsis_iccarm.h\n * @brief   "
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Include/cmsis_version.h",
    "chars": 1677,
    "preview": "/**************************************************************************//**\n * @file     cmsis_version.h\n * @brief  "
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Include/core_armv8mbl.h",
    "chars": 96077,
    "preview": "/**************************************************************************//**\n * @file     core_armv8mbl.h\n * @brief  "
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Include/core_armv8mml.h",
    "chars": 165987,
    "preview": "/**************************************************************************//**\n * @file     core_armv8mml.h\n * @brief  "
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Include/core_cm0.h",
    "chars": 41259,
    "preview": "/**************************************************************************//**\n * @file     core_cm0.h\n * @brief    CMS"
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Include/core_cm0plus.h",
    "chars": 49381,
    "preview": "/**************************************************************************//**\n * @file     core_cm0plus.h\n * @brief   "
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Include/core_cm1.h",
    "chars": 42480,
    "preview": "/**************************************************************************//**\n * @file     core_cm1.h\n * @brief    CMS"
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Include/core_cm23.h",
    "chars": 102635,
    "preview": "/**************************************************************************//**\n * @file     core_cm23.h\n * @brief    CM"
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Include/core_cm3.h",
    "chars": 109913,
    "preview": "/**************************************************************************//**\n * @file     core_cm3.h\n * @brief    CMS"
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Include/core_cm33.h",
    "chars": 172598,
    "preview": "/**************************************************************************//**\n * @file     core_cm33.h\n * @brief    CM"
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Include/core_cm4.h",
    "chars": 121478,
    "preview": "/**************************************************************************//**\n * @file     core_cm4.h\n * @brief    CMS"
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Include/core_cm7.h",
    "chars": 145917,
    "preview": "/**************************************************************************//**\n * @file     core_cm7.h\n * @brief    CMS"
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Include/core_sc000.h",
    "chars": 46227,
    "preview": "/**************************************************************************//**\n * @file     core_sc000.h\n * @brief    C"
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Include/core_sc300.h",
    "chars": 108608,
    "preview": "/**************************************************************************//**\n * @file     core_sc300.h\n * @brief    C"
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Include/mpu_armv7.h",
    "chars": 11441,
    "preview": "/******************************************************************************\n * @file     mpu_armv7.h\n * @brief    CM"
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Include/mpu_armv8.h",
    "chars": 10625,
    "preview": "/******************************************************************************\n * @file     mpu_armv8.h\n * @brief    CM"
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/Include/tz_context.h",
    "chars": 2687,
    "preview": "/******************************************************************************\n * @file     tz_context.h\n * @brief    C"
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Drivers/CMSIS/LICENSE.txt",
    "chars": 11357,
    "preview": "                                 Apache License\n                           Version 2.0, January 2004\n                   "
  },
  {
    "path": "ethernet-lwip/hardware-ping/F750-RMII/Drivers/STM32F7xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h",
    "chars": 236617,
    "preview": "/**\n  ******************************************************************************\n  * @file    stm32_hal_legacy.h\n  *"
  }
]

// ... and 8294 more files (download for full content)

About this extraction

This page contains the full source code of the controllerstech/STM32 GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 8494 files (251.9 MB), approximately 26.9M tokens, and a symbol index with 36354 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!