Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove STM32 legacy pinmap #15432

Open
1 of 13 tasks
raiden00pl opened this issue Jan 6, 2025 · 3 comments
Open
1 of 13 tasks

Remove STM32 legacy pinmap #15432

raiden00pl opened this issue Jan 6, 2025 · 3 comments
Labels
Arch: arm Issues related to ARM (32-bit) architecture Area: Board support Board support issues Type: Improvement

Comments

@raiden00pl
Copy link
Member

raiden00pl commented Jan 6, 2025

Description

It's been quite some time since CONFIG_STM32xx_USE_LEGACY_PINMAP was introduced. Some upstream boards have already migrated to the new pinmap, but for many there is no progress. There was enough time for users to migrate their boards.

Steps to fix this issue:

  • migrate stm32f0 boards to new pinmap
  • migrate stm32f1 boards to new pinmap
  • migrate stm32f2 boards to new pinmap
  • migrate stm32f3 boards to new pinmap
  • migrate stm32f4 boards to new pinmap
  • migrate stm32l1 boards to new pinmap
  • migrate stm32l4 boards to new pinmap
  • migrate stm32l5 board to new pinmap
  • migrate stm32wb board to new pinmap
  • remove legacy pinmap from stm32h7 - boards already migrated to new pinmap
  • remove legacy pinmap from stm32f7 - boards already migrated to new pinmap
  • remove legacy pinmap from stm32f0l0g0 - boards already migrated to new pinmap

The biggest problem here is the port of board/stm32 boards to the new pinmap, the number of stm32 boards is quite large, so practical there is no person who can test all modified board on real HW. In this case, we must accept the risk that part of the configuration will be broken, since compiling the code without errors doesn't provide certainty that the port is still working. Here is an example of me accidentally messing up the stm32f7 configuration while migrating the pinmap: #13915. We definitely need to watch out for similar cases.

Is anyone willing to help with this issue?
Maybe someone from px4 team is interested in helping? This issue is basically a result of fixes needed for your project and it was left in "half done" state with absolutely no progress for over a year. So sad...

Hardware

@cederom created this list below so we know exactly what hardware we need and what we have to cover the tests :-)

STM32F0

MCU Board Devkit Owner
STM32F072RBT6 MB1076C STM32F072B-DISCO @cederom

STM32U0

MCU Board Devkit Owner
STM32U083RCT6U MB1932-U083RC-B01 NUCLEO-U083RC @cederom

STM32L0

MCU Board Devkit Owner
STM32L053R8T6 MB1136 C-02 NUCLEO-L053R8 @cederom
STM32L073RZT6U MB1136 C-04 NUCLEO-L073RZ @cederom

STM32F1

MCU Board Devkit Owner
STM32F107RCT6 MB1134 A-01 STM32F0308-DISCO @cederom

STM32F2

MCU Board Devkit Owner

STM32F3

MCU Board Devkit Owner

STM32F4

MCU Board Devkit Owner
STM32F411RET6 MB1136 C-02 NUCLEO-F411RE @cederom
STM32F412ZGT6U MB1137 B-01 NUCLEO-F412ZG @cederom
STM32F429ZIT6U MB1137 Rev.B NUCLEO-F429ZI @cederom

STM32L4

MCU Board Devkit Owner
STM32L432C6U MB1180 Rev.C NUCLEO-L432KC @cederom

STM32H5

MCU Board Devkit Owner Notes
STM32H503RBT6U MB1814-H503RB-B01 NUCLEO-H503RB @cederom STM32F723IEK6 STLink

STM32U5

MCU Board Devkit Owner Notes
STM32U575ZIT6QU MB1549-U575ZIQ-C05 NUCLEO-U575ZI-Q @cederom STM32F723IEK6 STLink

STM32F7

MCU Board Devkit Owner Notes
STM32F769NIH6U MB1225 B-02 STM32F769I-DISC1 @cederom No LCD.

STM32H7

MCU Board Devkit Owner

STM32WB

MCU Board Devkit Owner

Verification

  • I have verified before submitting the report.
@raiden00pl raiden00pl added Community: Question Further information is requested Type: Improvement Arch: arm Issues related to ARM (32-bit) architecture Area: Board support Board support issues and removed Community: Question Further information is requested labels Jan 6, 2025
@cederom
Copy link
Contributor

cederom commented Feb 2, 2025

  • I asked STM several times for NuttX RTOS contracting development support but they were not interested :-(
  • We should not move with that subject forward, especially if with a big chance of breaking stuff, until we have an option to runtime validate all / most of the boards.
  • Even simple build and runtime scripts can be made just to test changes and push the DRUNX forward. I have some boards and can help here :-) Will list the boards in a free moment.
  • STM was always keen to share their devkits even for free so when we have a full list of boards I can requests free samples for me and for you @raiden00pl so we can move forward?

@cederom
Copy link
Contributor

cederom commented Feb 2, 2025

Okay I have created list of hardware that I have at hand. Some modern devkits seems to have more powerful STLink MCU than the target MCU 🗡

@raiden00pl please mark the hardware that we need and I will try to ask STM for free samples so we could test changes in NuttX and add them all to DRUNX :-)

Update: This inspired me to create DRUNX Hardware Database #15746 where we can list all the hardware we have at hand and maybe to mark what we need :-)

@raiden00pl
Copy link
Member Author

@cederom changing most boars is easy and the risk of breaking something is marginal. Problematic are only boards with
peripherals that require complex pin configuration like displays or external memory.
And here comes the problem, because some of these boards are old and probably unavailable. Many boards are also from manufacturers other than ST.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Arch: arm Issues related to ARM (32-bit) architecture Area: Board support Board support issues Type: Improvement
Projects
Status: No status
Development

No branches or pull requests

2 participants