[PATCH v6 00/10] New GPIO, ADC API and STM32F4 BSP implementation

Duc Doan dtbpkmte at gmail.com
Sun Aug 7 10:58:12 UTC 2022


Dear all,

These patches are to address the issues in my previous versions. These 
include GPIO API, ADC API and STM32F4 BSP implementation for them.

My repository is at: https://github.com/dtbpkmte/GSoC-2022-RTEMS (master
branch).
The sample application code for these APIs can be found at:
https://github.com/dtbpkmte/GSoC-2022-RTEMS-Sample-Apps.

STM32F4 HAL source code is taken from ST's repo at:
https://github.com/STMicroelectronics/STM32CubeF4.git (Commit ID: 52757b5,
Release v1.27.1).

v2:
- Made get_gpio_from_base() a macro instead of a function
- Added missing cppflags in spec/build/bsps/arm/grp.yml
- Optimized STM32F4_GET_HAL_GPIO_PIN() and STM32F4_GET_LL_EXTI_LINE()
- Optimized functions by switching from HAL to LL
- Made stm32f4_gpio_deinit() return RTEMS_NOT_IMPLEMENTED, because disabling
clock might affect all pins in a port
- Add const to static helper arrays to make sure they are placed on ROM

v3:
- Removed rtems_gpio_begin()
- bsp_gpio_register_controllers() now needs to be called from hook1
(can be configured by option STM32F4_ENABLE_GENERIC_GPIO)
- Updated license text for API files and STM32F4 GPIO files

v4:
- Fixed GPIO port guards
- Fixed potential memory-leak bug of STM32F4 GPIO interrupt system
- Added comments to STM32F4 GPIO functions and made them extern

v5:
- Replace old HAL source code with the one from official repository to remove
CRLF
- Added a peripherals API, which is a framework to add more APIs that operates
on a GPIO pin
- Changed GPIO API to comply with the peripherals API
- Changed ADC API to comply with the peripherals API
- Changed STM32F4 implementation

v6:
- Split commits that add CMSIS and HAL
- Removed peripheral API
- Changed ADC API: this is now separate from GPIO API

Duc Doan (10):
  bsps/arm: Convert CMSIS files from CRLF to LF
  bsps/arm: Changed CMSIS files to v5
  build/bsps/arm: Add new CMSIS files v5 to build
  bsps/arm/stm32f4: Include STM32F4 HAL
  bsps/arm/stm32f4: Add HAL to build
  bsps/arm/stm32f4: Make bspstart use HAL
  bsps: Add GPIO API
  bsps/arm/stm32f4: GPIO Implementation
  bsps: Add ADC API
  bsps/arm/stm32f4: ADC API implementation

 bsps/arm/include/cmsis_compiler.h             |   266 +
 bsps/arm/include/cmsis_gcc.h                  |  3460 +--
 bsps/arm/include/cmsis_version.h              |    39 +
 bsps/arm/include/core_cm4.h                   |   524 +-
 bsps/arm/include/core_cm7.h                   |  5186 ++--
 bsps/arm/include/core_cmFunc.h                |   172 +-
 bsps/arm/include/core_cmInstr.h               |   174 +-
 bsps/arm/include/core_cmSimd.h                |   192 +-
 bsps/arm/include/mpu_armv7.h                  |   270 +
 bsps/arm/stm32f4/adc/adc.c                    |   495 +
 bsps/arm/stm32f4/gpio/gpio.c                  |   557 +
 .../stm32f4/hal/Legacy/stm32f4xx_hal_can.c    |  1679 ++
 .../stm32f4/hal/Legacy/stm32f4xx_hal_eth.c    |  2307 ++
 bsps/arm/stm32f4/hal/stm32f4xx_hal.c          |   615 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_adc.c      |  2110 ++
 bsps/arm/stm32f4/hal/stm32f4xx_hal_adc_ex.c   |  1112 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_can.c      |  2462 ++
 bsps/arm/stm32f4/hal/stm32f4xx_hal_cec.c      |   996 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_cortex.c   |   502 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_crc.c      |   328 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_cryp.c     |  7132 ++++++
 bsps/arm/stm32f4/hal/stm32f4xx_hal_cryp_ex.c  |   680 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_dac.c      |  1341 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_dac_ex.c   |   495 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_dcmi.c     |  1161 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_dcmi_ex.c  |   182 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_dfsdm.c    |  4423 ++++
 bsps/arm/stm32f4/hal/stm32f4xx_hal_dma.c      |  1305 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_dma2d.c    |  2126 ++
 bsps/arm/stm32f4/hal/stm32f4xx_hal_dma_ex.c   |   313 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_dsi.c      |  2760 +++
 bsps/arm/stm32f4/hal/stm32f4xx_hal_eth.c      |  3220 +++
 bsps/arm/stm32f4/hal/stm32f4xx_hal_exti.c     |   547 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_flash.c    |   775 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_flash_ex.c |  1347 +
 .../stm32f4/hal/stm32f4xx_hal_flash_ramfunc.c |   172 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_fmpi2c.c   |  6864 ++++++
 .../arm/stm32f4/hal/stm32f4xx_hal_fmpi2c_ex.c |   258 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_fmpsmbus.c |  2749 +++
 .../stm32f4/hal/stm32f4xx_hal_fmpsmbus_ex.c   |   145 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_gpio.c     |   533 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_hash.c     |  3514 +++
 bsps/arm/stm32f4/hal/stm32f4xx_hal_hash_ex.c  |  1040 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_hcd.c      |  1728 ++
 bsps/arm/stm32f4/hal/stm32f4xx_hal_i2c.c      |  7524 ++++++
 bsps/arm/stm32f4/hal/stm32f4xx_hal_i2c_ex.c   |   182 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_i2s.c      |  2094 ++
 bsps/arm/stm32f4/hal/stm32f4xx_hal_i2s_ex.c   |  1135 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_irda.c     |  2687 ++
 bsps/arm/stm32f4/hal/stm32f4xx_hal_iwdg.c     |   262 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_lptim.c    |  2484 ++
 bsps/arm/stm32f4/hal/stm32f4xx_hal_ltdc.c     |  2215 ++
 bsps/arm/stm32f4/hal/stm32f4xx_hal_ltdc_ex.c  |   151 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_mmc.c      |  3201 +++
 .../stm32f4/hal/stm32f4xx_hal_msp_template.c  |   100 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_nand.c     |  2405 ++
 bsps/arm/stm32f4/hal/stm32f4xx_hal_nor.c      |  1543 ++
 bsps/arm/stm32f4/hal/stm32f4xx_hal_pccard.c   |   946 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_pcd.c      |  2387 ++
 bsps/arm/stm32f4/hal/stm32f4xx_hal_pcd_ex.c   |   341 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_pwr.c      |   571 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_pwr_ex.c   |   600 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_qspi.c     |  2915 +++
 bsps/arm/stm32f4/hal/stm32f4xx_hal_rcc.c      |  1122 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_rcc_ex.c   |  3784 +++
 bsps/arm/stm32f4/hal/stm32f4xx_hal_rng.c      |   867 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_rtc.c      |  1896 ++
 bsps/arm/stm32f4/hal/stm32f4xx_hal_rtc_ex.c   |  1878 ++
 bsps/arm/stm32f4/hal/stm32f4xx_hal_sai.c      |  2554 ++
 bsps/arm/stm32f4/hal/stm32f4xx_hal_sai_ex.c   |   310 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_sd.c       |  3277 +++
 bsps/arm/stm32f4/hal/stm32f4xx_hal_sdram.c    |  1308 +
 .../arm/stm32f4/hal/stm32f4xx_hal_smartcard.c |  2364 ++
 bsps/arm/stm32f4/hal/stm32f4xx_hal_smbus.c    |  2784 +++
 bsps/arm/stm32f4/hal/stm32f4xx_hal_spdifrx.c  |  1627 ++
 bsps/arm/stm32f4/hal/stm32f4xx_hal_spi.c      |  3915 +++
 bsps/arm/stm32f4/hal/stm32f4xx_hal_sram.c     |  1110 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_tim.c      |  7621 ++++++
 bsps/arm/stm32f4/hal/stm32f4xx_hal_tim_ex.c   |  2428 ++
 ...tm32f4xx_hal_timebase_rtc_alarm_template.c |   318 +
 ...m32f4xx_hal_timebase_rtc_wakeup_template.c |   293 +
 .../hal/stm32f4xx_hal_timebase_tim_template.c |   177 +
 bsps/arm/stm32f4/hal/stm32f4xx_hal_uart.c     |  3751 +++
 bsps/arm/stm32f4/hal/stm32f4xx_hal_usart.c    |  2838 +++
 bsps/arm/stm32f4/hal/stm32f4xx_hal_wwdg.c     |   420 +
 bsps/arm/stm32f4/hal/stm32f4xx_ll_adc.c       |   922 +
 bsps/arm/stm32f4/hal/stm32f4xx_ll_crc.c       |   103 +
 bsps/arm/stm32f4/hal/stm32f4xx_ll_dac.c       |   280 +
 bsps/arm/stm32f4/hal/stm32f4xx_ll_dma.c       |   423 +
 bsps/arm/stm32f4/hal/stm32f4xx_ll_dma2d.c     |   594 +
 bsps/arm/stm32f4/hal/stm32f4xx_ll_exti.c      |   212 +
 bsps/arm/stm32f4/hal/stm32f4xx_ll_fmc.c       |  1498 ++
 bsps/arm/stm32f4/hal/stm32f4xx_ll_fmpi2c.c    |   217 +
 bsps/arm/stm32f4/hal/stm32f4xx_ll_fsmc.c      |  1062 +
 bsps/arm/stm32f4/hal/stm32f4xx_ll_gpio.c      |   303 +
 bsps/arm/stm32f4/hal/stm32f4xx_ll_i2c.c       |   251 +
 bsps/arm/stm32f4/hal/stm32f4xx_ll_lptim.c     |   301 +
 bsps/arm/stm32f4/hal/stm32f4xx_ll_pwr.c       |    81 +
 bsps/arm/stm32f4/hal/stm32f4xx_ll_rcc.c       |  1660 ++
 bsps/arm/stm32f4/hal/stm32f4xx_ll_rng.c       |   111 +
 bsps/arm/stm32f4/hal/stm32f4xx_ll_rtc.c       |   838 +
 bsps/arm/stm32f4/hal/stm32f4xx_ll_sdmmc.c     |  1578 ++
 bsps/arm/stm32f4/hal/stm32f4xx_ll_spi.c       |   624 +
 bsps/arm/stm32f4/hal/stm32f4xx_ll_tim.c       |  1189 +
 bsps/arm/stm32f4/hal/stm32f4xx_ll_usart.c     |   500 +
 bsps/arm/stm32f4/hal/stm32f4xx_ll_usb.c       |  2224 ++
 bsps/arm/stm32f4/hal/stm32f4xx_ll_utils.c     |   749 +
 bsps/arm/stm32f4/hal/system_stm32f4xx.c       |   747 +
 .../stm32f4/include/Legacy/stm32_hal_legacy.h |  4014 +++
 .../include/Legacy/stm32f4xx_hal_can_legacy.h |   765 +
 .../include/Legacy/stm32f4xx_hal_eth_legacy.h |  2209 ++
 bsps/arm/stm32f4/include/bsp/io.h             |     4 +
 bsps/arm/stm32f4/include/bsp/stm32f4_adc.h    |   198 +
 bsps/arm/stm32f4/include/bsp/stm32f4_gpio.h   |   281 +
 bsps/arm/stm32f4/include/stm32f401xc.h        |  8641 +++++++
 bsps/arm/stm32f4/include/stm32f401xe.h        |  8641 +++++++
 bsps/arm/stm32f4/include/stm32f405xx.h        | 14310 +++++++++++
 bsps/arm/stm32f4/include/stm32f407xx.h        | 15607 ++++++++++++
 bsps/arm/stm32f4/include/stm32f410cx.h        |  7357 ++++++
 bsps/arm/stm32f4/include/stm32f410rx.h        |  7361 ++++++
 bsps/arm/stm32f4/include/stm32f410tx.h        |  7306 ++++++
 bsps/arm/stm32f4/include/stm32f411xe.h        |  8680 +++++++
 bsps/arm/stm32f4/include/stm32f412cx.h        | 13507 ++++++++++
 bsps/arm/stm32f4/include/stm32f412rx.h        | 14500 +++++++++++
 bsps/arm/stm32f4/include/stm32f412vx.h        | 14512 +++++++++++
 bsps/arm/stm32f4/include/stm32f412zx.h        | 14537 +++++++++++
 bsps/arm/stm32f4/include/stm32f413xx.h        | 15462 ++++++++++++
 bsps/arm/stm32f4/include/stm32f415xx.h        | 14595 +++++++++++
 bsps/arm/stm32f4/include/stm32f417xx.h        | 15887 ++++++++++++
 bsps/arm/stm32f4/include/stm32f423xx.h        | 15615 ++++++++++++
 bsps/arm/stm32f4/include/stm32f427xx.h        | 16827 +++++++++++++
 bsps/arm/stm32f4/include/stm32f429xx.h        | 17185 +++++++++++++
 bsps/arm/stm32f4/include/stm32f437xx.h        | 17129 +++++++++++++
 bsps/arm/stm32f4/include/stm32f439xx.h        | 17479 +++++++++++++
 bsps/arm/stm32f4/include/stm32f446xx.h        | 15981 ++++++++++++
 bsps/arm/stm32f4/include/stm32f469xx.h        | 20278 +++++++++++++++
 bsps/arm/stm32f4/include/stm32f479xx.h        | 20575 ++++++++++++++++
 bsps/arm/stm32f4/include/stm32f4xx.h          |   305 +
 bsps/arm/stm32f4/include/stm32f4xx_hal.h      |   297 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_adc.h  |   898 +
 .../stm32f4/include/stm32f4xx_hal_adc_ex.h    |   407 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_can.h  |   844 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_cec.h  |   792 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_conf.h |   506 +
 .../stm32f4/include/stm32f4xx_hal_cortex.h    |   407 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_crc.h  |   181 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_cryp.h |   683 +
 .../stm32f4/include/stm32f4xx_hal_cryp_ex.h   |   142 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_dac.h  |   480 +
 .../stm32f4/include/stm32f4xx_hal_dac_ex.h    |   205 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_dcmi.h |   563 +
 .../stm32f4/include/stm32f4xx_hal_dcmi_ex.h   |   208 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_def.h  |   210 +
 .../arm/stm32f4/include/stm32f4xx_hal_dfsdm.h |  1141 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_dma.h  |   802 +
 .../arm/stm32f4/include/stm32f4xx_hal_dma2d.h |   638 +
 .../stm32f4/include/stm32f4xx_hal_dma_ex.h    |   102 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_dsi.h  |  1377 ++
 bsps/arm/stm32f4/include/stm32f4xx_hal_eth.h  |  2144 ++
 bsps/arm/stm32f4/include/stm32f4xx_hal_exti.h |   366 +
 .../arm/stm32f4/include/stm32f4xx_hal_flash.h |   425 +
 .../stm32f4/include/stm32f4xx_hal_flash_ex.h  |  1063 +
 .../include/stm32f4xx_hal_flash_ramfunc.h     |    76 +
 .../stm32f4/include/stm32f4xx_hal_fmpi2c.h    |   837 +
 .../stm32f4/include/stm32f4xx_hal_fmpi2c_ex.h |   150 +
 .../stm32f4/include/stm32f4xx_hal_fmpsmbus.h  |   790 +
 .../include/stm32f4xx_hal_fmpsmbus_ex.h       |   136 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_gpio.h |   325 +
 .../stm32f4/include/stm32f4xx_hal_gpio_ex.h   |  1590 ++
 bsps/arm/stm32f4/include/stm32f4xx_hal_hash.h |   634 +
 .../stm32f4/include/stm32f4xx_hal_hash_ex.h   |   175 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_hcd.h  |   316 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_i2c.h  |   741 +
 .../stm32f4/include/stm32f4xx_hal_i2c_ex.h    |   115 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_i2s.h  |   618 +
 .../stm32f4/include/stm32f4xx_hal_i2s_ex.h    |   183 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_irda.h |   682 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_iwdg.h |   220 +
 .../arm/stm32f4/include/stm32f4xx_hal_lptim.h |   857 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_ltdc.h |   719 +
 .../stm32f4/include/stm32f4xx_hal_ltdc_ex.h   |    83 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_mmc.h  |   747 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_nand.h |   388 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_nor.h  |   330 +
 .../stm32f4/include/stm32f4xx_hal_pccard.h    |   285 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_pcd.h  |   459 +
 .../stm32f4/include/stm32f4xx_hal_pcd_ex.h    |    88 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_pwr.h  |   427 +
 .../stm32f4/include/stm32f4xx_hal_pwr_ex.h    |   340 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_qspi.h |   750 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_rcc.h  |  1459 ++
 .../stm32f4/include/stm32f4xx_hal_rcc_ex.h    |  7111 ++++++
 bsps/arm/stm32f4/include/stm32f4xx_hal_rng.h  |   361 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_rtc.h  |   915 +
 .../stm32f4/include/stm32f4xx_hal_rtc_ex.h    |  1079 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_sai.h  |   895 +
 .../stm32f4/include/stm32f4xx_hal_sai_ex.h    |   114 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_sd.h   |   758 +
 .../arm/stm32f4/include/stm32f4xx_hal_sdram.h |   238 +
 .../stm32f4/include/stm32f4xx_hal_smartcard.h |   755 +
 .../arm/stm32f4/include/stm32f4xx_hal_smbus.h |   731 +
 .../stm32f4/include/stm32f4xx_hal_spdifrx.h   |   604 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_spi.h  |   729 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_sram.h |   236 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_tim.h  |  2146 ++
 .../stm32f4/include/stm32f4xx_hal_tim_ex.h    |   354 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_uart.h |   884 +
 .../arm/stm32f4/include/stm32f4xx_hal_usart.h |   648 +
 bsps/arm/stm32f4/include/stm32f4xx_hal_wwdg.h |   298 +
 bsps/arm/stm32f4/include/stm32f4xx_ll_adc.h   |  4779 ++++
 bsps/arm/stm32f4/include/stm32f4xx_ll_bus.h   |  2105 ++
 .../arm/stm32f4/include/stm32f4xx_ll_cortex.h |   637 +
 bsps/arm/stm32f4/include/stm32f4xx_ll_crc.h   |   201 +
 bsps/arm/stm32f4/include/stm32f4xx_ll_dac.h   |  1455 ++
 bsps/arm/stm32f4/include/stm32f4xx_ll_dma.h   |  2868 +++
 bsps/arm/stm32f4/include/stm32f4xx_ll_dma2d.h |  1901 ++
 bsps/arm/stm32f4/include/stm32f4xx_ll_exti.h  |   954 +
 bsps/arm/stm32f4/include/stm32f4xx_ll_fmc.h   |  1416 ++
 .../arm/stm32f4/include/stm32f4xx_ll_fmpi2c.h |  2234 ++
 bsps/arm/stm32f4/include/stm32f4xx_ll_fsmc.h  |  1086 +
 bsps/arm/stm32f4/include/stm32f4xx_ll_gpio.h  |   981 +
 bsps/arm/stm32f4/include/stm32f4xx_ll_i2c.h   |  1890 ++
 bsps/arm/stm32f4/include/stm32f4xx_ll_iwdg.h  |   302 +
 bsps/arm/stm32f4/include/stm32f4xx_ll_lptim.h |  1378 ++
 bsps/arm/stm32f4/include/stm32f4xx_ll_pwr.h   |   985 +
 bsps/arm/stm32f4/include/stm32f4xx_ll_rcc.h   |  7096 ++++++
 bsps/arm/stm32f4/include/stm32f4xx_ll_rng.h   |   335 +
 bsps/arm/stm32f4/include/stm32f4xx_ll_rtc.h   |  3663 +++
 bsps/arm/stm32f4/include/stm32f4xx_ll_sdmmc.h |  1141 +
 bsps/arm/stm32f4/include/stm32f4xx_ll_spi.h   |  2027 ++
 .../arm/stm32f4/include/stm32f4xx_ll_system.h |  1711 ++
 bsps/arm/stm32f4/include/stm32f4xx_ll_tim.h   |  4093 +++
 bsps/arm/stm32f4/include/stm32f4xx_ll_usart.h |  2521 ++
 bsps/arm/stm32f4/include/stm32f4xx_ll_usb.h   |   536 +
 bsps/arm/stm32f4/include/stm32f4xx_ll_utils.h |   307 +
 bsps/arm/stm32f4/include/stm32f4xx_ll_wwdg.h  |   316 +
 bsps/arm/stm32f4/include/system_stm32f4xx.h   |   104 +
 bsps/arm/stm32f4/start/bspstart.c             |   199 +-
 bsps/include/bsp/adc.h                        |   407 +
 bsps/include/bsp/gpio2.h                      |   524 +
 bsps/shared/dev/adc/adc.c                     |   249 +
 bsps/shared/dev/gpio/gpio2.c                  |   207 +
 spec/build/bsps/arm/grp.yml                   |     3 +
 spec/build/bsps/arm/stm32f4/grp.yml           |    18 +-
 spec/build/bsps/arm/stm32f4/obj.yml           |   225 +
 spec/build/bsps/arm/stm32f4/optenhal.yml      |    16 +
 spec/build/bsps/arm/stm32f4/opthse.yml        |    17 +
 spec/build/bsps/arm/stm32f4/optnumadcctrl.yml |    16 +
 .../build/bsps/arm/stm32f4/optnumgpioctrl.yml |    16 +
 spec/build/bsps/arm/stm32f4/optusehse.yml     |    16 +
 spec/build/bsps/arm/stm32f4/optvariant.yml    |    24 +
 spec/build/bsps/bspopts.yml                   |     4 +
 spec/build/bsps/obj.yml                       |     3 +-
 spec/build/bsps/optmaxnumadc.yml              |    16 +
 spec/build/bsps/optmaxnumgpio.yml             |    16 +
 255 files changed, 589769 insertions(+), 4342 deletions(-)
 create mode 100644 bsps/arm/include/cmsis_compiler.h
 create mode 100644 bsps/arm/include/cmsis_version.h
 create mode 100644 bsps/arm/include/mpu_armv7.h
 create mode 100644 bsps/arm/stm32f4/adc/adc.c
 create mode 100644 bsps/arm/stm32f4/gpio/gpio.c
 create mode 100644 bsps/arm/stm32f4/hal/Legacy/stm32f4xx_hal_can.c
 create mode 100644 bsps/arm/stm32f4/hal/Legacy/stm32f4xx_hal_eth.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_adc.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_adc_ex.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_can.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_cec.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_cortex.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_crc.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_cryp.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_cryp_ex.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_dac.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_dac_ex.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_dcmi.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_dcmi_ex.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_dfsdm.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_dma.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_dma2d.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_dma_ex.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_dsi.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_eth.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_exti.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_flash.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_flash_ex.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_flash_ramfunc.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_fmpi2c.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_fmpi2c_ex.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_fmpsmbus.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_fmpsmbus_ex.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_gpio.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_hash.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_hash_ex.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_hcd.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_i2c.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_i2c_ex.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_i2s.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_i2s_ex.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_irda.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_iwdg.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_lptim.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_ltdc.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_ltdc_ex.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_mmc.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_msp_template.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_nand.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_nor.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_pccard.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_pcd.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_pcd_ex.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_pwr.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_pwr_ex.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_qspi.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_rcc.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_rcc_ex.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_rng.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_rtc.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_rtc_ex.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_sai.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_sai_ex.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_sd.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_sdram.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_smartcard.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_smbus.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_spdifrx.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_spi.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_sram.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_tim.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_tim_ex.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_timebase_rtc_alarm_template.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_timebase_rtc_wakeup_template.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_timebase_tim_template.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_uart.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_usart.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_wwdg.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_adc.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_crc.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_dac.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_dma.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_dma2d.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_exti.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_fmc.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_fmpi2c.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_fsmc.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_gpio.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_i2c.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_lptim.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_pwr.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_rcc.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_rng.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_rtc.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_sdmmc.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_spi.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_tim.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_usart.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_usb.c
 create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_utils.c
 create mode 100644 bsps/arm/stm32f4/hal/system_stm32f4xx.c
 create mode 100644 bsps/arm/stm32f4/include/Legacy/stm32_hal_legacy.h
 create mode 100644 bsps/arm/stm32f4/include/Legacy/stm32f4xx_hal_can_legacy.h
 create mode 100644 bsps/arm/stm32f4/include/Legacy/stm32f4xx_hal_eth_legacy.h
 create mode 100644 bsps/arm/stm32f4/include/bsp/stm32f4_adc.h
 create mode 100644 bsps/arm/stm32f4/include/bsp/stm32f4_gpio.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f401xc.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f401xe.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f405xx.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f407xx.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f410cx.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f410rx.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f410tx.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f411xe.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f412cx.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f412rx.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f412vx.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f412zx.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f413xx.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f415xx.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f417xx.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f423xx.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f427xx.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f429xx.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f437xx.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f439xx.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f446xx.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f469xx.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f479xx.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_adc.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_adc_ex.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_can.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_cec.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_conf.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_cortex.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_crc.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_cryp.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_cryp_ex.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_dac.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_dac_ex.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_dcmi.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_dcmi_ex.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_def.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_dfsdm.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_dma.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_dma2d.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_dma_ex.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_dsi.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_eth.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_exti.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_flash.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_flash_ex.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_flash_ramfunc.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_fmpi2c.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_fmpi2c_ex.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_fmpsmbus.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_fmpsmbus_ex.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_gpio.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_gpio_ex.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_hash.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_hash_ex.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_hcd.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_i2c.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_i2c_ex.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_i2s.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_i2s_ex.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_irda.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_iwdg.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_lptim.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_ltdc.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_ltdc_ex.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_mmc.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_nand.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_nor.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_pccard.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_pcd.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_pcd_ex.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_pwr.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_pwr_ex.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_qspi.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_rcc.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_rcc_ex.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_rng.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_rtc.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_rtc_ex.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_sai.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_sai_ex.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_sd.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_sdram.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_smartcard.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_smbus.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_spdifrx.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_spi.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_sram.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_tim.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_tim_ex.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_uart.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_usart.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_wwdg.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_adc.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_bus.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_cortex.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_crc.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_dac.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_dma.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_dma2d.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_exti.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_fmc.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_fmpi2c.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_fsmc.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_gpio.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_i2c.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_iwdg.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_lptim.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_pwr.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_rcc.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_rng.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_rtc.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_sdmmc.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_spi.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_system.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_tim.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_usart.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_usb.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_utils.h
 create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_wwdg.h
 create mode 100644 bsps/arm/stm32f4/include/system_stm32f4xx.h
 create mode 100644 bsps/include/bsp/adc.h
 create mode 100644 bsps/include/bsp/gpio2.h
 create mode 100644 bsps/shared/dev/adc/adc.c
 create mode 100644 bsps/shared/dev/gpio/gpio2.c
 create mode 100644 spec/build/bsps/arm/stm32f4/optenhal.yml
 create mode 100644 spec/build/bsps/arm/stm32f4/opthse.yml
 create mode 100644 spec/build/bsps/arm/stm32f4/optnumadcctrl.yml
 create mode 100644 spec/build/bsps/arm/stm32f4/optnumgpioctrl.yml
 create mode 100644 spec/build/bsps/arm/stm32f4/optusehse.yml
 create mode 100644 spec/build/bsps/arm/stm32f4/optvariant.yml
 create mode 100644 spec/build/bsps/optmaxnumadc.yml
 create mode 100644 spec/build/bsps/optmaxnumgpio.yml

-- 
2.37.1



More information about the devel mailing list