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

Fix: blackpillv2 pinout #1465

Merged
merged 5 commits into from
Apr 22, 2023
Merged

Conversation

lenvm
Copy link
Contributor

@lenvm lenvm commented Apr 22, 2023

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 blackpillv2: PA1 is defined for both TDI and LED_UART #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

lenvm added 4 commits April 15, 2023 15:58
…pective ports and pins, rather than JTAG_PORT
- fix PA1 defined for both  TDI and LED UART (issue blackmagic-debug#1418)
- pinout does not use JTAG pins anymore, allowing these pins to be used to flash and debug the board
- pinout places boards of similar type closer to each other on the board
@dragonmux dragonmux added this to the v1.10 milestone Apr 22, 2023
@dragonmux dragonmux added Foreign Host Board Non Native hardware to runing Black Magic firmware on Bug Confirmed bug labels Apr 22, 2023
@lenvm lenvm force-pushed the fix/blackpillv2-pinout branch from 9a7a989 to 7d7ed0d Compare April 22, 2023 13:00
Copy link
Member

@dragonmux dragonmux left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. As nobody's complained about the re-jigging of the pinout and as this fixes bugs caused by the pinout, we're going to optimistically merge this and let people open issue tickets if they have any issues.

@dragonmux dragonmux added this pull request to the merge queue Apr 22, 2023
Merged via the queue into blackmagic-debug:main with commit 72ec9ec Apr 22, 2023
@lenvm lenvm deleted the fix/blackpillv2-pinout branch April 23, 2023 18:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Confirmed bug Foreign Host Board Non Native hardware to runing Black Magic firmware on
Projects
None yet
Development

Successfully merging this pull request may close these issues.

blackpillv2: PA1 is defined for both TDI and LED_UART
2 participants