<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Sep 21, 2022 at 8:48 AM Karel Gardas <karel@functional.vision> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
The problem is that we still need to discuss licensing here. Randomly <br>
checked files from the HAL patch contains this as a license:<br>
<br>
   * This software is licensed under terms that can be found in the <br>
LICENSE file<br>
   * in the root directory of this software component.<br>
   * If no LICENSE file comes with this software, it is provided AS-IS.<br>
<br>
and in the past Sebastian suggested to clear the message hence I used <br>
something used here:<br>
<br>
<a href="https://github.com/dtbpkmte/GSoC-2022-RTEMS/blob/master/bsps/arm/stm32h7/boards/stm/stm32h757i-eval/system_stm32h7xx.c" rel="noreferrer" target="_blank">https://github.com/dtbpkmte/GSoC-2022-RTEMS/blob/master/bsps/arm/stm32h7/boards/stm/stm32h757i-eval/system_stm32h7xx.c</a></blockquote><div><br></div><div>I'm OK with an explanation like that but I hate to see that much duplicated </div><div>over and over. Would it be possible to put the lengthy explanation in one</div><div>place with the HAL addition and then have a short explanation in each file:</div><div><br></div><div>/*<br> * RTEMS committer clarification comment on license above:<br> *<br> * This file comes from STM32CubeH7 project from its Projects subdirectory. See </div><div> * RTEMS_PATH_TBD for details on the license for this file.<br></div><div> */</div><div><br></div><div>With RTEMS_PATH_TBD probably easy to identify because it would</div><div>be something like bsps/arm/shared/STMHM7 and then the single</div><div>file with a name that is like LICENSE_STM32CubeH7.txt so it isn't just</div><div>LICENSE.txt which is easy to confuse.</div><div><br></div><div>Just a practical matter of avoiding duplication. We have precedence</div><div>for this over the project history.</div><div><br></div><div>This is just record keeping to maintain proper attribution, origin URL, </div><div>licensing, etc. without burden of duplication. They obviously thought it</div><div>was a duplication burden. We should use their trick and just point to</div><div>our location for that file. :)</div><div><br></div><div>It's not like we are trying to nick the code and not give credit. We are</div><div>likely in the small minority even doing this much. My expectations are</div><div>pretty low for most people/projects.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
<br>
<br>
unfortunately whole F4 HAL would probably need such modification.<br></blockquote><div><br></div><div>And even a better reason to make a short note in each file and put the</div><div>details in a single file in the HAL top directory. </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
<br>
On the bright side, it looks like STM still holds on BSD-3 for their HAL <br>
code for F4?<br>
<br>
<a href="https://github.com/STMicroelectronics/STM32CubeF4/blob/master/LICENSE.md" rel="noreferrer" target="_blank">https://github.com/STMicroelectronics/STM32CubeF4/blob/master/LICENSE.md</a></blockquote><div><br></div><div>+1 </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
<br>
Would be great indeed.<br>
<br>
BTW: sorry, I'm really out of the loop on this still trying to catch up <br>
with all the development in RTEMS over summer...<br></blockquote><div><br></div><div>Understood. Work is busy. RTEMS is busy. And with things getting back</div><div>to normal, I've even been busy going to concerts and other outings that</div><div>I missed. :)</div><div><br></div><div>--joel </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Karel<br>
<br>
<br>
<br>
On 9/21/22 15:25, Joel Sherrill wrote:<br>
> This patch set has been sitting for almost 7 weeks. I was going to commit<br>
> it today but was asked to give one last the patch merge equivalent  of<br>
> ""if anyone can show just cause why this patch and RTEMS cannot  be<br>
> joined together, let them speak now or forever hold their peace"<br>
> <br>
> Or at least be nice about not holding their peace. :)<br>
> <br>
> Two days and I merge this. I will aim for high noon on Friday.<br>
> <br>
> --joel<br>
> <br>
> On Sun, Aug 7, 2022 at 5:58 AM Duc Doan <<a href="mailto:dtbpkmte@gmail.com" target="_blank">dtbpkmte@gmail.com</a> <br>
> <mailto:<a href="mailto:dtbpkmte@gmail.com" target="_blank">dtbpkmte@gmail.com</a>>> wrote:<br>
> <br>
>     Dear all,<br>
> <br>
>     These patches are to address the issues in my previous versions. These<br>
>     include GPIO API, ADC API and STM32F4 BSP implementation for them.<br>
> <br>
>     My repository is at: <a href="https://github.com/dtbpkmte/GSoC-2022-RTEMS" rel="noreferrer" target="_blank">https://github.com/dtbpkmte/GSoC-2022-RTEMS</a><br>
>     <<a href="https://github.com/dtbpkmte/GSoC-2022-RTEMS" rel="noreferrer" target="_blank">https://github.com/dtbpkmte/GSoC-2022-RTEMS</a>> (master<br>
>     branch).<br>
>     The sample application code for these APIs can be found at:<br>
>     <a href="https://github.com/dtbpkmte/GSoC-2022-RTEMS-Sample-Apps" rel="noreferrer" target="_blank">https://github.com/dtbpkmte/GSoC-2022-RTEMS-Sample-Apps</a><br>
>     <<a href="https://github.com/dtbpkmte/GSoC-2022-RTEMS-Sample-Apps" rel="noreferrer" target="_blank">https://github.com/dtbpkmte/GSoC-2022-RTEMS-Sample-Apps</a>>.<br>
> <br>
>     STM32F4 HAL source code is taken from ST's repo at:<br>
>     <a href="https://github.com/STMicroelectronics/STM32CubeF4.git" rel="noreferrer" target="_blank">https://github.com/STMicroelectronics/STM32CubeF4.git</a><br>
>     <<a href="https://github.com/STMicroelectronics/STM32CubeF4.git" rel="noreferrer" target="_blank">https://github.com/STMicroelectronics/STM32CubeF4.git</a>> (Commit ID:<br>
>     52757b5,<br>
>     Release v1.27.1).<br>
> <br>
>     v2:<br>
>     - Made get_gpio_from_base() a macro instead of a function<br>
>     - Added missing cppflags in spec/build/bsps/arm/grp.yml<br>
>     - Optimized STM32F4_GET_HAL_GPIO_PIN() and STM32F4_GET_LL_EXTI_LINE()<br>
>     - Optimized functions by switching from HAL to LL<br>
>     - Made stm32f4_gpio_deinit() return RTEMS_NOT_IMPLEMENTED, because<br>
>     disabling<br>
>     clock might affect all pins in a port<br>
>     - Add const to static helper arrays to make sure they are placed on ROM<br>
> <br>
>     v3:<br>
>     - Removed rtems_gpio_begin()<br>
>     - bsp_gpio_register_controllers() now needs to be called from hook1<br>
>     (can be configured by option STM32F4_ENABLE_GENERIC_GPIO)<br>
>     - Updated license text for API files and STM32F4 GPIO files<br>
> <br>
>     v4:<br>
>     - Fixed GPIO port guards<br>
>     - Fixed potential memory-leak bug of STM32F4 GPIO interrupt system<br>
>     - Added comments to STM32F4 GPIO functions and made them extern<br>
> <br>
>     v5:<br>
>     - Replace old HAL source code with the one from official repository<br>
>     to remove<br>
>     CRLF<br>
>     - Added a peripherals API, which is a framework to add more APIs<br>
>     that operates<br>
>     on a GPIO pin<br>
>     - Changed GPIO API to comply with the peripherals API<br>
>     - Changed ADC API to comply with the peripherals API<br>
>     - Changed STM32F4 implementation<br>
> <br>
>     v6:<br>
>     - Split commits that add CMSIS and HAL<br>
>     - Removed peripheral API<br>
>     - Changed ADC API: this is now separate from GPIO API<br>
> <br>
>     Duc Doan (10):<br>
>        bsps/arm: Convert CMSIS files from CRLF to LF<br>
>        bsps/arm: Changed CMSIS files to v5<br>
>        build/bsps/arm: Add new CMSIS files v5 to build<br>
>        bsps/arm/stm32f4: Include STM32F4 HAL<br>
>        bsps/arm/stm32f4: Add HAL to build<br>
>        bsps/arm/stm32f4: Make bspstart use HAL<br>
>        bsps: Add GPIO API<br>
>        bsps/arm/stm32f4: GPIO Implementation<br>
>        bsps: Add ADC API<br>
>        bsps/arm/stm32f4: ADC API implementation<br>
> <br>
>       bsps/arm/include/cmsis_compiler.h             |   266 +<br>
>       bsps/arm/include/cmsis_gcc.h                  |  3460 +--<br>
>       bsps/arm/include/cmsis_version.h              |    39 +<br>
>       bsps/arm/include/core_cm4.h                   |   524 +-<br>
>       bsps/arm/include/core_cm7.h                   |  5186 ++--<br>
>       bsps/arm/include/core_cmFunc.h                |   172 +-<br>
>       bsps/arm/include/core_cmInstr.h               |   174 +-<br>
>       bsps/arm/include/core_cmSimd.h                |   192 +-<br>
>       bsps/arm/include/mpu_armv7.h                  |   270 +<br>
>       bsps/arm/stm32f4/adc/adc.c                    |   495 +<br>
>       bsps/arm/stm32f4/gpio/gpio.c                  |   557 +<br>
>       .../stm32f4/hal/Legacy/stm32f4xx_hal_can.c    |  1679 ++<br>
>       .../stm32f4/hal/Legacy/stm32f4xx_hal_eth.c    |  2307 ++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal.c          |   615 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_adc.c      |  2110 ++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_adc_ex.c   |  1112 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_can.c      |  2462 ++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_cec.c      |   996 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_cortex.c   |   502 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_crc.c      |   328 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_cryp.c     |  7132 ++++++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_cryp_ex.c  |   680 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_dac.c      |  1341 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_dac_ex.c   |   495 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_dcmi.c     |  1161 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_dcmi_ex.c  |   182 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_dfsdm.c    |  4423 ++++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_dma.c      |  1305 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_dma2d.c    |  2126 ++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_dma_ex.c   |   313 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_dsi.c      |  2760 +++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_eth.c      |  3220 +++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_exti.c     |   547 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_flash.c    |   775 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_flash_ex.c |  1347 +<br>
>       .../stm32f4/hal/stm32f4xx_hal_flash_ramfunc.c |   172 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_fmpi2c.c   |  6864 ++++++<br>
>       .../arm/stm32f4/hal/stm32f4xx_hal_fmpi2c_ex.c |   258 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_fmpsmbus.c |  2749 +++<br>
>       .../stm32f4/hal/stm32f4xx_hal_fmpsmbus_ex.c   |   145 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_gpio.c     |   533 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_hash.c     |  3514 +++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_hash_ex.c  |  1040 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_hcd.c      |  1728 ++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_i2c.c      |  7524 ++++++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_i2c_ex.c   |   182 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_i2s.c      |  2094 ++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_i2s_ex.c   |  1135 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_irda.c     |  2687 ++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_iwdg.c     |   262 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_lptim.c    |  2484 ++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_ltdc.c     |  2215 ++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_ltdc_ex.c  |   151 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_mmc.c      |  3201 +++<br>
>       .../stm32f4/hal/stm32f4xx_hal_msp_template.c  |   100 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_nand.c     |  2405 ++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_nor.c      |  1543 ++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_pccard.c   |   946 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_pcd.c      |  2387 ++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_pcd_ex.c   |   341 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_pwr.c      |   571 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_pwr_ex.c   |   600 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_qspi.c     |  2915 +++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_rcc.c      |  1122 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_rcc_ex.c   |  3784 +++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_rng.c      |   867 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_rtc.c      |  1896 ++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_rtc_ex.c   |  1878 ++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_sai.c      |  2554 ++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_sai_ex.c   |   310 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_sd.c       |  3277 +++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_sdram.c    |  1308 +<br>
>       .../arm/stm32f4/hal/stm32f4xx_hal_smartcard.c |  2364 ++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_smbus.c    |  2784 +++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_spdifrx.c  |  1627 ++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_spi.c      |  3915 +++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_sram.c     |  1110 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_tim.c      |  7621 ++++++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_tim_ex.c   |  2428 ++<br>
>       ...tm32f4xx_hal_timebase_rtc_alarm_template.c |   318 +<br>
>       ...m32f4xx_hal_timebase_rtc_wakeup_template.c |   293 +<br>
>       .../hal/stm32f4xx_hal_timebase_tim_template.c |   177 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_uart.c     |  3751 +++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_usart.c    |  2838 +++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_hal_wwdg.c     |   420 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_ll_adc.c       |   922 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_ll_crc.c       |   103 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_ll_dac.c       |   280 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_ll_dma.c       |   423 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_ll_dma2d.c     |   594 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_ll_exti.c      |   212 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_ll_fmc.c       |  1498 ++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_ll_fmpi2c.c    |   217 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_ll_fsmc.c      |  1062 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_ll_gpio.c      |   303 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_ll_i2c.c       |   251 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_ll_lptim.c     |   301 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_ll_pwr.c       |    81 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_ll_rcc.c       |  1660 ++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_ll_rng.c       |   111 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_ll_rtc.c       |   838 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_ll_sdmmc.c     |  1578 ++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_ll_spi.c       |   624 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_ll_tim.c       |  1189 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_ll_usart.c     |   500 +<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_ll_usb.c       |  2224 ++<br>
>       bsps/arm/stm32f4/hal/stm32f4xx_ll_utils.c     |   749 +<br>
>       bsps/arm/stm32f4/hal/system_stm32f4xx.c       |   747 +<br>
>       .../stm32f4/include/Legacy/stm32_hal_legacy.h |  4014 +++<br>
>       .../include/Legacy/stm32f4xx_hal_can_legacy.h |   765 +<br>
>       .../include/Legacy/stm32f4xx_hal_eth_legacy.h |  2209 ++<br>
>       bsps/arm/stm32f4/include/bsp/io.h             |     4 +<br>
>       bsps/arm/stm32f4/include/bsp/stm32f4_adc.h    |   198 +<br>
>       bsps/arm/stm32f4/include/bsp/stm32f4_gpio.h   |   281 +<br>
>       bsps/arm/stm32f4/include/stm32f401xc.h        |  8641 +++++++<br>
>       bsps/arm/stm32f4/include/stm32f401xe.h        |  8641 +++++++<br>
>       bsps/arm/stm32f4/include/stm32f405xx.h        | 14310 +++++++++++<br>
>       bsps/arm/stm32f4/include/stm32f407xx.h        | 15607 ++++++++++++<br>
>       bsps/arm/stm32f4/include/stm32f410cx.h        |  7357 ++++++<br>
>       bsps/arm/stm32f4/include/stm32f410rx.h        |  7361 ++++++<br>
>       bsps/arm/stm32f4/include/stm32f410tx.h        |  7306 ++++++<br>
>       bsps/arm/stm32f4/include/stm32f411xe.h        |  8680 +++++++<br>
>       bsps/arm/stm32f4/include/stm32f412cx.h        | 13507 ++++++++++<br>
>       bsps/arm/stm32f4/include/stm32f412rx.h        | 14500 +++++++++++<br>
>       bsps/arm/stm32f4/include/stm32f412vx.h        | 14512 +++++++++++<br>
>       bsps/arm/stm32f4/include/stm32f412zx.h        | 14537 +++++++++++<br>
>       bsps/arm/stm32f4/include/stm32f413xx.h        | 15462 ++++++++++++<br>
>       bsps/arm/stm32f4/include/stm32f415xx.h        | 14595 +++++++++++<br>
>       bsps/arm/stm32f4/include/stm32f417xx.h        | 15887 ++++++++++++<br>
>       bsps/arm/stm32f4/include/stm32f423xx.h        | 15615 ++++++++++++<br>
>       bsps/arm/stm32f4/include/stm32f427xx.h        | 16827 +++++++++++++<br>
>       bsps/arm/stm32f4/include/stm32f429xx.h        | 17185 +++++++++++++<br>
>       bsps/arm/stm32f4/include/stm32f437xx.h        | 17129 +++++++++++++<br>
>       bsps/arm/stm32f4/include/stm32f439xx.h        | 17479 +++++++++++++<br>
>       bsps/arm/stm32f4/include/stm32f446xx.h        | 15981 ++++++++++++<br>
>       bsps/arm/stm32f4/include/stm32f469xx.h        | 20278 +++++++++++++++<br>
>       bsps/arm/stm32f4/include/stm32f479xx.h        | 20575 ++++++++++++++++<br>
>       bsps/arm/stm32f4/include/stm32f4xx.h          |   305 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal.h      |   297 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_adc.h  |   898 +<br>
>       .../stm32f4/include/stm32f4xx_hal_adc_ex.h    |   407 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_can.h  |   844 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_cec.h  |   792 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_conf.h |   506 +<br>
>       .../stm32f4/include/stm32f4xx_hal_cortex.h    |   407 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_crc.h  |   181 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_cryp.h |   683 +<br>
>       .../stm32f4/include/stm32f4xx_hal_cryp_ex.h   |   142 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_dac.h  |   480 +<br>
>       .../stm32f4/include/stm32f4xx_hal_dac_ex.h    |   205 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_dcmi.h |   563 +<br>
>       .../stm32f4/include/stm32f4xx_hal_dcmi_ex.h   |   208 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_def.h  |   210 +<br>
>       .../arm/stm32f4/include/stm32f4xx_hal_dfsdm.h |  1141 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_dma.h  |   802 +<br>
>       .../arm/stm32f4/include/stm32f4xx_hal_dma2d.h |   638 +<br>
>       .../stm32f4/include/stm32f4xx_hal_dma_ex.h    |   102 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_dsi.h  |  1377 ++<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_eth.h  |  2144 ++<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_exti.h |   366 +<br>
>       .../arm/stm32f4/include/stm32f4xx_hal_flash.h |   425 +<br>
>       .../stm32f4/include/stm32f4xx_hal_flash_ex.h  |  1063 +<br>
>       .../include/stm32f4xx_hal_flash_ramfunc.h     |    76 +<br>
>       .../stm32f4/include/stm32f4xx_hal_fmpi2c.h    |   837 +<br>
>       .../stm32f4/include/stm32f4xx_hal_fmpi2c_ex.h |   150 +<br>
>       .../stm32f4/include/stm32f4xx_hal_fmpsmbus.h  |   790 +<br>
>       .../include/stm32f4xx_hal_fmpsmbus_ex.h       |   136 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_gpio.h |   325 +<br>
>       .../stm32f4/include/stm32f4xx_hal_gpio_ex.h   |  1590 ++<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_hash.h |   634 +<br>
>       .../stm32f4/include/stm32f4xx_hal_hash_ex.h   |   175 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_hcd.h  |   316 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_i2c.h  |   741 +<br>
>       .../stm32f4/include/stm32f4xx_hal_i2c_ex.h    |   115 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_i2s.h  |   618 +<br>
>       .../stm32f4/include/stm32f4xx_hal_i2s_ex.h    |   183 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_irda.h |   682 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_iwdg.h |   220 +<br>
>       .../arm/stm32f4/include/stm32f4xx_hal_lptim.h |   857 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_ltdc.h |   719 +<br>
>       .../stm32f4/include/stm32f4xx_hal_ltdc_ex.h   |    83 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_mmc.h  |   747 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_nand.h |   388 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_nor.h  |   330 +<br>
>       .../stm32f4/include/stm32f4xx_hal_pccard.h    |   285 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_pcd.h  |   459 +<br>
>       .../stm32f4/include/stm32f4xx_hal_pcd_ex.h    |    88 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_pwr.h  |   427 +<br>
>       .../stm32f4/include/stm32f4xx_hal_pwr_ex.h    |   340 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_qspi.h |   750 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_rcc.h  |  1459 ++<br>
>       .../stm32f4/include/stm32f4xx_hal_rcc_ex.h    |  7111 ++++++<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_rng.h  |   361 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_rtc.h  |   915 +<br>
>       .../stm32f4/include/stm32f4xx_hal_rtc_ex.h    |  1079 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_sai.h  |   895 +<br>
>       .../stm32f4/include/stm32f4xx_hal_sai_ex.h    |   114 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_sd.h   |   758 +<br>
>       .../arm/stm32f4/include/stm32f4xx_hal_sdram.h |   238 +<br>
>       .../stm32f4/include/stm32f4xx_hal_smartcard.h |   755 +<br>
>       .../arm/stm32f4/include/stm32f4xx_hal_smbus.h |   731 +<br>
>       .../stm32f4/include/stm32f4xx_hal_spdifrx.h   |   604 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_spi.h  |   729 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_sram.h |   236 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_tim.h  |  2146 ++<br>
>       .../stm32f4/include/stm32f4xx_hal_tim_ex.h    |   354 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_uart.h |   884 +<br>
>       .../arm/stm32f4/include/stm32f4xx_hal_usart.h |   648 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_hal_wwdg.h |   298 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_ll_adc.h   |  4779 ++++<br>
>       bsps/arm/stm32f4/include/stm32f4xx_ll_bus.h   |  2105 ++<br>
>       .../arm/stm32f4/include/stm32f4xx_ll_cortex.h |   637 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_ll_crc.h   |   201 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_ll_dac.h   |  1455 ++<br>
>       bsps/arm/stm32f4/include/stm32f4xx_ll_dma.h   |  2868 +++<br>
>       bsps/arm/stm32f4/include/stm32f4xx_ll_dma2d.h |  1901 ++<br>
>       bsps/arm/stm32f4/include/stm32f4xx_ll_exti.h  |   954 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_ll_fmc.h   |  1416 ++<br>
>       .../arm/stm32f4/include/stm32f4xx_ll_fmpi2c.h |  2234 ++<br>
>       bsps/arm/stm32f4/include/stm32f4xx_ll_fsmc.h  |  1086 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_ll_gpio.h  |   981 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_ll_i2c.h   |  1890 ++<br>
>       bsps/arm/stm32f4/include/stm32f4xx_ll_iwdg.h  |   302 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_ll_lptim.h |  1378 ++<br>
>       bsps/arm/stm32f4/include/stm32f4xx_ll_pwr.h   |   985 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_ll_rcc.h   |  7096 ++++++<br>
>       bsps/arm/stm32f4/include/stm32f4xx_ll_rng.h   |   335 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_ll_rtc.h   |  3663 +++<br>
>       bsps/arm/stm32f4/include/stm32f4xx_ll_sdmmc.h |  1141 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_ll_spi.h   |  2027 ++<br>
>       .../arm/stm32f4/include/stm32f4xx_ll_system.h |  1711 ++<br>
>       bsps/arm/stm32f4/include/stm32f4xx_ll_tim.h   |  4093 +++<br>
>       bsps/arm/stm32f4/include/stm32f4xx_ll_usart.h |  2521 ++<br>
>       bsps/arm/stm32f4/include/stm32f4xx_ll_usb.h   |   536 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_ll_utils.h |   307 +<br>
>       bsps/arm/stm32f4/include/stm32f4xx_ll_wwdg.h  |   316 +<br>
>       bsps/arm/stm32f4/include/system_stm32f4xx.h   |   104 +<br>
>       bsps/arm/stm32f4/start/bspstart.c             |   199 +-<br>
>       bsps/include/bsp/adc.h                        |   407 +<br>
>       bsps/include/bsp/gpio2.h                      |   524 +<br>
>       bsps/shared/dev/adc/adc.c                     |   249 +<br>
>       bsps/shared/dev/gpio/gpio2.c                  |   207 +<br>
>       spec/build/bsps/arm/grp.yml                   |     3 +<br>
>       spec/build/bsps/arm/stm32f4/grp.yml           |    18 +-<br>
>       spec/build/bsps/arm/stm32f4/obj.yml           |   225 +<br>
>       spec/build/bsps/arm/stm32f4/optenhal.yml      |    16 +<br>
>       spec/build/bsps/arm/stm32f4/opthse.yml        |    17 +<br>
>       spec/build/bsps/arm/stm32f4/optnumadcctrl.yml |    16 +<br>
>       .../build/bsps/arm/stm32f4/optnumgpioctrl.yml |    16 +<br>
>       spec/build/bsps/arm/stm32f4/optusehse.yml     |    16 +<br>
>       spec/build/bsps/arm/stm32f4/optvariant.yml    |    24 +<br>
>       spec/build/bsps/bspopts.yml                   |     4 +<br>
>       spec/build/bsps/obj.yml                       |     3 +-<br>
>       spec/build/bsps/optmaxnumadc.yml              |    16 +<br>
>       spec/build/bsps/optmaxnumgpio.yml             |    16 +<br>
>       255 files changed, 589769 insertions(+), 4342 deletions(-)<br>
>       create mode 100644 bsps/arm/include/cmsis_compiler.h<br>
>       create mode 100644 bsps/arm/include/cmsis_version.h<br>
>       create mode 100644 bsps/arm/include/mpu_armv7.h<br>
>       create mode 100644 bsps/arm/stm32f4/adc/adc.c<br>
>       create mode 100644 bsps/arm/stm32f4/gpio/gpio.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/Legacy/stm32f4xx_hal_can.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/Legacy/stm32f4xx_hal_eth.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_adc.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_adc_ex.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_can.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_cec.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_cortex.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_crc.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_cryp.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_cryp_ex.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_dac.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_dac_ex.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_dcmi.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_dcmi_ex.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_dfsdm.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_dma.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_dma2d.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_dma_ex.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_dsi.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_eth.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_exti.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_flash.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_flash_ex.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_flash_ramfunc.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_fmpi2c.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_fmpi2c_ex.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_fmpsmbus.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_fmpsmbus_ex.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_gpio.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_hash.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_hash_ex.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_hcd.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_i2c.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_i2c_ex.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_i2s.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_i2s_ex.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_irda.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_iwdg.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_lptim.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_ltdc.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_ltdc_ex.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_mmc.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_msp_template.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_nand.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_nor.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_pccard.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_pcd.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_pcd_ex.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_pwr.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_pwr_ex.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_qspi.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_rcc.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_rcc_ex.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_rng.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_rtc.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_rtc_ex.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_sai.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_sai_ex.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_sd.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_sdram.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_smartcard.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_smbus.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_spdifrx.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_spi.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_sram.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_tim.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_tim_ex.c<br>
>       create mode 100644<br>
>     bsps/arm/stm32f4/hal/stm32f4xx_hal_timebase_rtc_alarm_template.c<br>
>       create mode 100644<br>
>     bsps/arm/stm32f4/hal/stm32f4xx_hal_timebase_rtc_wakeup_template.c<br>
>       create mode 100644<br>
>     bsps/arm/stm32f4/hal/stm32f4xx_hal_timebase_tim_template.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_uart.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_usart.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_hal_wwdg.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_adc.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_crc.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_dac.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_dma.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_dma2d.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_exti.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_fmc.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_fmpi2c.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_fsmc.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_gpio.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_i2c.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_lptim.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_pwr.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_rcc.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_rng.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_rtc.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_sdmmc.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_spi.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_tim.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_usart.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_usb.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/stm32f4xx_ll_utils.c<br>
>       create mode 100644 bsps/arm/stm32f4/hal/system_stm32f4xx.c<br>
>       create mode 100644 bsps/arm/stm32f4/include/Legacy/stm32_hal_legacy.h<br>
>       create mode 100644<br>
>     bsps/arm/stm32f4/include/Legacy/stm32f4xx_hal_can_legacy.h<br>
>       create mode 100644<br>
>     bsps/arm/stm32f4/include/Legacy/stm32f4xx_hal_eth_legacy.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/bsp/stm32f4_adc.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/bsp/stm32f4_gpio.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f401xc.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f401xe.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f405xx.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f407xx.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f410cx.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f410rx.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f410tx.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f411xe.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f412cx.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f412rx.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f412vx.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f412zx.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f413xx.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f415xx.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f417xx.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f423xx.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f427xx.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f429xx.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f437xx.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f439xx.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f446xx.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f469xx.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f479xx.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_adc.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_adc_ex.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_can.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_cec.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_conf.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_cortex.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_crc.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_cryp.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_cryp_ex.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_dac.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_dac_ex.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_dcmi.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_dcmi_ex.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_def.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_dfsdm.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_dma.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_dma2d.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_dma_ex.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_dsi.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_eth.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_exti.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_flash.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_flash_ex.h<br>
>       create mode 100644<br>
>     bsps/arm/stm32f4/include/stm32f4xx_hal_flash_ramfunc.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_fmpi2c.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_fmpi2c_ex.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_fmpsmbus.h<br>
>       create mode 100644<br>
>     bsps/arm/stm32f4/include/stm32f4xx_hal_fmpsmbus_ex.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_gpio.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_gpio_ex.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_hash.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_hash_ex.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_hcd.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_i2c.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_i2c_ex.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_i2s.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_i2s_ex.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_irda.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_iwdg.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_lptim.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_ltdc.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_ltdc_ex.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_mmc.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_nand.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_nor.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_pccard.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_pcd.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_pcd_ex.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_pwr.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_pwr_ex.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_qspi.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_rcc.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_rcc_ex.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_rng.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_rtc.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_rtc_ex.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_sai.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_sai_ex.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_sd.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_sdram.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_smartcard.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_smbus.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_spdifrx.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_spi.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_sram.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_tim.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_tim_ex.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_uart.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_usart.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_hal_wwdg.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_adc.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_bus.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_cortex.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_crc.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_dac.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_dma.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_dma2d.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_exti.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_fmc.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_fmpi2c.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_fsmc.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_gpio.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_i2c.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_iwdg.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_lptim.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_pwr.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_rcc.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_rng.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_rtc.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_sdmmc.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_spi.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_system.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_tim.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_usart.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_usb.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_utils.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/stm32f4xx_ll_wwdg.h<br>
>       create mode 100644 bsps/arm/stm32f4/include/system_stm32f4xx.h<br>
>       create mode 100644 bsps/include/bsp/adc.h<br>
>       create mode 100644 bsps/include/bsp/gpio2.h<br>
>       create mode 100644 bsps/shared/dev/adc/adc.c<br>
>       create mode 100644 bsps/shared/dev/gpio/gpio2.c<br>
>       create mode 100644 spec/build/bsps/arm/stm32f4/optenhal.yml<br>
>       create mode 100644 spec/build/bsps/arm/stm32f4/opthse.yml<br>
>       create mode 100644 spec/build/bsps/arm/stm32f4/optnumadcctrl.yml<br>
>       create mode 100644 spec/build/bsps/arm/stm32f4/optnumgpioctrl.yml<br>
>       create mode 100644 spec/build/bsps/arm/stm32f4/optusehse.yml<br>
>       create mode 100644 spec/build/bsps/arm/stm32f4/optvariant.yml<br>
>       create mode 100644 spec/build/bsps/optmaxnumadc.yml<br>
>       create mode 100644 spec/build/bsps/optmaxnumgpio.yml<br>
> <br>
>     -- <br>
>     2.37.1<br>
> <br>
>     _______________________________________________<br>
>     devel mailing list<br>
>     <a href="mailto:devel@rtems.org" target="_blank">devel@rtems.org</a> <mailto:<a href="mailto:devel@rtems.org" target="_blank">devel@rtems.org</a>><br>
>     <a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a><br>
>     <<a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a>><br>
> <br>
> <br>
> _______________________________________________<br>
> devel mailing list<br>
> <a href="mailto:devel@rtems.org" target="_blank">devel@rtems.org</a><br>
> <a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a><br>
<br>
</blockquote></div></div>