[PATCH v5 0/4] *** New GPIO, ADC API and STM32F4 BSP implementation ***
Duc Doan
dtbpkmte at gmail.com
Sun Jul 24 12:01:07 UTC 2022
Dear all,
These patches add a new GPIO API and a framework for adding more peripheral
APIs, with the example of ADC API. There is also implementation for these
components for STM32F4 BSP.
The core idea of my work on this peripherals API and new GPIO API is to
add portability and simplify application code by using one identity for a
GPIO pin that supports multiple types of operations. For example, a pin can
be used as a basic GPIO, an ADC pin, a DAC pin or a PWM pin, but it's still
represented by only one object (rtems_gpio). Different functionalities of
the pin can be assigned through the peripherals API. In short, a pin can
have 2 functions at the same time: digital GPIO and one extra function.
In this system, an API is represented by a structure containing a member that
identifies the API's type and other members being pointers to the API functions.
A pointer to an object of this structure is stored inside a GPIO object to add
functionalities to that pin. Application can change the pin's API pointer at
runtime, which adds flexibility.
An example application could be as follow:
/******************************************/
// Get pin object, same as before
rtems_gpio *pin;
rtems_gpio_get(&pin);
// Digital mode
rtems_gpio_set_pin_mode(pin, RTEMS_GPIO_PINMODE_OUTPUT);
rtems_gpio_set_pull(pin, RTEMS_GPIO_NOPULL);
// Set the pin to HIGH
rtems_gpio_write(pin, RTEMS_GPIO_PIN_SET);
// Set ADC mode
rtems_gpio_set_pin_mode(pin, RTEMS_GPIO_PINMODE_ANALOG);
rtems_periph_api_set_api(pin, RTEMS_PERIPH_TYPE_ADC);
// Analog read
uint32_t result;
rtems_adc_read_raw(pin, &result);
/******************************************/
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
Duc Doan (4):
bsps/stm32f4 Include STM32F4 HAL
bsps: New GPIO API & peripherals API framework
bsps: Add ADC API
bsps/stm32f4: Implementation for GPIO and ADC
.gitignore | 1 +
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/mpu_armv7.h | 270 +
bsps/arm/stm32f4/adc/adc.c | 655 +
bsps/arm/stm32f4/gpio/gpio.c | 542 +
.../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 | 209 +
bsps/arm/stm32f4/include/bsp/stm32f4_gpio.h | 273 +
bsps/arm/stm32f4/include/bsp/stm32f4_hal.h | 17 +
bsps/arm/stm32f4/include/bsp/stm32f4_periph.h | 50 +
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/arm/stm32f4/start/bspstart_old.c | 297 +
bsps/arm/stm32f4/start/bspstarthook.c | 8 +
bsps/arm/stm32f4/start/periph.c | 58 +
bsps/include/bsp/adc.h | 292 +
bsps/include/bsp/gpio2.h | 528 +
bsps/include/bsp/periph_api.h | 142 +
bsps/shared/dev/adc/adc.c | 200 +
bsps/shared/dev/gpio/gpio.c | 212 +
bsps/shared/dev/periph_api/periph_api.c | 101 +
spec/build/bsps/arm/grp.yml | 5 +-
spec/build/bsps/arm/stm32f4/grp.yml | 18 +-
spec/build/bsps/arm/stm32f4/obj.yml | 225 +
spec/build/bsps/arm/stm32f4/optengpio.yml | 16 +
spec/build/bsps/arm/stm32f4/optenhal.yml | 16 +
spec/build/bsps/arm/stm32f4/opthse.yml | 17 +
.../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 | 7 +-
spec/build/bsps/optenadc.yml | 16 +
spec/build/bsps/optnumadc.yml | 16 +
260 files changed, 590172 insertions(+), 4074 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/bsp/stm32f4_hal.h
create mode 100644 bsps/arm/stm32f4/include/bsp/stm32f4_periph.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/arm/stm32f4/start/bspstart_old.c
create mode 100644 bsps/arm/stm32f4/start/periph.c
create mode 100644 bsps/include/bsp/adc.h
create mode 100644 bsps/include/bsp/gpio2.h
create mode 100644 bsps/include/bsp/periph_api.h
create mode 100644 bsps/shared/dev/adc/adc.c
create mode 100644 bsps/shared/dev/gpio/gpio.c
create mode 100644 bsps/shared/dev/periph_api/periph_api.c
create mode 100644 spec/build/bsps/arm/stm32f4/optengpio.yml
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/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/optenadc.yml
create mode 100644 spec/build/bsps/optnumadc.yml
--
2.36.1
More information about the devel
mailing list