Detailed description
This pull request changes the pinout of the blackpillv2 platform.
The changes are done as described in the comments of #1418.
Table 1: comparing current pinout to proposed pinout
| function | current (e490465) |
proposal |
|---|---|---|
| nRst | PB4 | PA5 |
| nTRST | PB5 (optional) | PA6 (optional) |
| TDI | PA1 (also used by LED UART) | PB6 |
| TDO | PB3 | PB7 |
| TCK | PA14 | PB8 |
| TMS | PA13 | PB9 |
| PWR | PB8 | PA1 |
| UART TX | PB6 | PA2 |
| UART RX | PB7 | PA3 |
| LED UART | PA1 (also used by TDI) | PA4 |
| LED idle run | PC13 | PC13 |
| LED error | PC14 | PC14 |
| LED boot loader | PC15 | PC15 |
| USER KEY | PA0 | PA0 |
| USB VBUS | PA9 | PA9 |
| USB ID | PA10 | PA10 |
| USB D- | PA11 | PA11 |
| USB D+ | PA12 | PA12 |
| JTAG TMS | - | PA13 |
| JTAG TCK | - | PA14 |
| JTAG TDI | PA15 | PA15 |
| JTAG TDO | - | PB3 |
| JTAG TRST | - | PB4 |
Blackpillv2_pinout_proposal2
Figure 1: proposed pinout
Benefits:
- This pull request fixes the issue described in #1418. Therefore the is no pin conflict anymore between LED UART and TDI.
- JTAG pins (PA13, PA14, PA15, PB3, PB4) are not used, such that these pins stay available to program and debug the board.
- Pins of the STM32F411Cx that are 5V-intolerant (PB5) are not used, to reduce susceptibility to damage.
- Pins of similar type are located closer to each other on the board.
Your checklist for this pull request
- I've read the Code of Conduct
- I've read the guidelines for contributing to this repository
- It builds for hardware native (
make PROBE_HOST=native) - It builds for hardware blackpillv2 (
make PROBE_HOST=blackpillv2) - It builds as BMDA (
make PROBE_HOST=hosted) - I've tested it to the best of my ability: the code compiles, can be flashed and runs on a board with STM32F401CC microcontroller.
- My commit messages provide a useful short description of what the commits do
Closing issues
- fixes #1418
<!-- Filling this template is mandatory -->
## Detailed description
<!--
Explain the **details** for making this change.
* Is a new feature implemented?
* What existing problem(s) does the pull request solve?
* How does the pull request solve these problems?
Please provide enough information so that others can review your pull request.
Information embedded in the description part of the commits doesn't count.
-->
This pull request changes the pinout of the blackpillv2 platform.
The changes are done as described in the comments of #1418.
Table 1: comparing current pinout to proposed pinout
| function | current (e490465) | proposal |
| -------- | ----------------- | -------- |
| nRst | PB4 | PA5 |
| nTRST | PB5 (optional) | PA6 (optional) |
| TDI | PA1 (also used by LED UART) | PB6 |
| TDO | PB3 | PB7 |
| TCK | PA14 | PB8 |
| TMS | PA13 | PB9 |
| PWR | PB8 | PA1 |
| UART TX | PB6 | PA2 |
| UART RX | PB7 | PA3 |
| LED UART | PA1 (also used by TDI) | PA4 |
| LED idle run | PC13 | PC13 |
| LED error | PC14 | PC14 |
| LED boot loader | PC15 | PC15 |
| USER KEY | PA0 | PA0 |
| USB VBUS | PA9 | PA9 |
| USB ID | PA10 | PA10 |
| USB D- | PA11 | PA11 |
| USB D+ | PA12 | PA12 |
| JTAG TMS | - | PA13 |
| JTAG TCK | - | PA14 |
| JTAG TDI | PA15 | PA15 |
| JTAG TDO | - | PB3 |
| JTAG TRST | - | PB4 |

Figure 1: proposed pinout
Benefits:
- This pull request fixes the issue described in #1418. Therefore the is no pin conflict anymore between LED UART and TDI.
- JTAG pins (PA13, PA14, PA15, PB3, PB4) are not used, such that these pins stay available to program and debug the board.
- Pins of the STM32F411Cx that are 5V-intolerant (PB5) are not used, to reduce susceptibility to damage.
- Pins of similar type are located closer to each other on the board.
## Your checklist for this pull request
* [x] I've read the [Code of Conduct](https://github.com/blackmagic-debug/blackmagic/blob/main/CODE_OF_CONDUCT.md)
* [x] I've read the [guidelines for contributing](https://github.com/blackmagic-debug/blackmagic/blob/main/CONTRIBUTING.md) to this repository
* [x] It builds for hardware native (`make PROBE_HOST=native`)
* [x] It builds for hardware blackpillv2 (`make PROBE_HOST=blackpillv2`)
* [x] It builds as BMDA (`make PROBE_HOST=hosted`)
* [x] I've tested it to the best of my ability: the code compiles, can be flashed and runs on a board with STM32F401CC microcontroller.
* [x] My commit messages provide a useful short description of what the commits do
## Closing issues
- fixes #1418
<!-- put "fixes #XXXX" here to auto-close the issue(s) that your PR fixes (if any). -->