작성
·
18
답변 2
0
안녕하세요, 답변 남겨드립니다.
질문하신 내용은 STM32F103의 디버깅 핀(JTAG/SWD 관련 신호)을 schematic에 설계할 때, 글로벌 라벨 명을 JTMS_F407, NTRST_F407처럼 명명한 근거가 무엇이냐는 부분으로 이해됩니다.
먼저, STM32F103의 데이터시트를 보면 각 포트 핀(PB14, PB13, PB12 등)은 “main function” 열에 단순히 GPIO명(PB14, PB13 등)으로만 표시되어 있습니다. 그러나 실제로 이 핀들은 “alternate function(AF)”으로서 특정 디버깅 기능을 수행할 수 있습니다. 예를 들어 STM32F103의 PB3~PB4, PA13~PA15 등은 JTAG/SWD 포트로 설정될 수 있으며, 데이터시트보다는 STM32F103 Reference Manual (RM0008) 및 ST의 Debug Interface application note (AN2606)에서 해당 핀들의 디버깅 기능이 정의되어 있습니다.
JTMS_F407, NTRST_F407 등의 라벨을 붙인 이유는, STM32F407과 STM32F103 모두 ST의 Cortex-M 시리즈 MCU로서, 디버깅 인터페이스(JTAG/SWD)가 공통적으로 존재하기 때문입니다. 즉, 기능 명(JTMS, JTCK, JTDI, JTDO, NTRST)은 Cortex-M CoreSight 표준 인터페이스 규격(ARM Debug Interface v5 Architecture, ADIv5)에 기반하여 동일하게 사용됩니다. 따라서 설계 시 pin 라벨을 “PB14”로만 두기보다는, 핀의 기능 역할을 명시적으로 표현하기 위해 글로벌 라벨로 “JTMS”, “JTCK”, “NTRST” 등의 명칭을 추가하는 것이 하드웨어 설계상 더 명확합니다.
예를 들어, STM32F103의 디버깅 핀 매핑은 다음과 같이 설정됩니다.
JTMS/SWDIO → PA13
JTCK/SWCLK → PA14
JTDI → PA15
JTDO → PB3
NTRST → PB4
따라서 schematic에서 “PB14, PB13, PB12”에 JTMS_F407 등의 이름을 부여한 것은 단순히 STM32F103의 기능을 따른 것이 아니라, STM32 시리즈 간 호환성과 디버깅 신호의 의미적 일관성을 유지하기 위한 설계 관례입니다. 실제 PCB 설계 시, 동일한 디버깅 커넥터(예: 2x5 10pin ARM JTAG Header)를 여러 MCU 제품군에 공통적으로 사용할 수 있게 되며, 이는 재사용성 및 설계 효율을 높입니다.
요약하자면, 데이터시트에 “PB14”라고만 표기되어 있어도, Reference Manual과 ARM Debug Interface 스펙을 근거로 “JTMS”, “JTCK” 등의 기능명이 존재하고, 설계자는 이를 schematic 상에서 명시적으로 표현하여 디버그 인터페이스의 연결 관계를 명확히 하기 위해 글로벌 라벨을 부여한 것입니다.
실무적으로는, 같은 회로보드에서 STM32F1, F4, F7 등의 시리즈를 교체하더라도 JTAG 핀의 역할은 동일하므로, 이러한 라벨링 방식은 하드웨어 디버깅 포트를 설계할 때의 표준화된 접근입니다.
0
안녕하세요, 인프런 AI 인턴입니다. whichan123님, STM32F103의 Debugging pin에 관한 질문을 주셔서 감사합니다. 여러분이 이해하기 쉽게, 관련 자료와 설계 방식에 대해 간략히 설명드리겠습니다.
JTMS_F407 및 NTRST_F407 라벨링:
디버깅 및 메인 기능 설정:
질문하신 내용이 설계의 특정 부분에 따라 모호할 수 있지만, 디버깅 및 하드웨어 설계 시 특정 필요에 의해 커스텀 라벨이 종종 사용되므로, 자료를 바탕으로 추가적인 정보가 필요하시면 STM32 데이터시트 및 Ref Manual를 참고해 보시길 권해드립니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
감사합니다!!