STM32 학습 경험 열한 : ST-LINK 디버그 소프트웨어 및 하드웨어 시뮬레이션 방법의 원리 + 디버깅

쉽게 읽고, 그것을 기록 - 후
주요 내용 :
1) JTAG / SWD 디버그 원리;
2) 소프트웨어 시뮬레이션 디버깅,
3) ST-LINK 디버그 하드웨어 에뮬레이션.
공식 데이터 : "는 STM32 중국어 레퍼런스 매뉴얼 V10"제 29 장 - 디버깅 지원 DBG
1. JTAG / SWD 디버그 원리를 간단하게
복잡한 디버깅 작업을위한 하드웨어 디버그 모듈, 지원을 포함 1.1 STM32F10xxx 사용 코어 텍스 ™ -M3 코어. 하드웨어 디버그 모듈은 커널 (명령 브레이크) 또는 정지 데이터 (중단) 방문을 가져올 수 있습니다. 커널이 중지되면 내부 상태 및 외부 상태 시스템 커널은 모든 쿼리 할 수 있습니다. 문의를 완료 한 후, 코어 및 주변 장치 프로그램은 계속, 복원 할 수 있습니다. 마이크로 STM32F10x 디버거에 연결되고 디버깅 시작되면, 디버거는 디버그 동작을 디버깅하는 커널 모듈 하드웨어를 사용한다. 1) 디버그 인터페이스는 두 종류의 지원 직렬 인터페이스 (SWD, 2 개 데이터 라인) 2) 가능한 JTAG 디버그 인터페이스 (데이터 라인 (5)).
2. SWJ 디버그 포트 (SERIAL 와이어와 JTAG)
2.1 커널 통합하는 STM32F10xxx 직렬 / JTAG 디버그 인터페이스 (SWJ-DP). 이것은 표준 ARM 코어 사이트 디버그 인터페이스하는 JTAG-DP (5 핀) 및 SW-DP 인터페이스를 포함하는 인터페이스 (핀 2);
2.2 JTAG 디버그 인터페이스 (JTAG-DP)의 AHP-AP 모듈 표준 핀 (5)을 제공하는 JTAG 인터페이스를 제공합니다. 직렬 디버그 인터페이스 (SW-DP) 바늘 2 (데이터 + 클록)를 제공 AHP-AP 인터페이스 모듈;
2.3 SWJ-DP 인터페이스 SW-DP 두 개의 핀 (5)과 핀 JTAG 인터페이스 인터페이스 일부는 다중화된다.
그림 삽입 설명 여기
3. SWJ 디버그 포트 핀
5 3.1 STM32F10xxx 일반적인 I / O 포트 핀 SWJ-DP 인터페이스로서 사용될 수있다. 이 핀은 패키지의 모든 존재한다.
그림 삽입 설명 여기
4. 유연한 SWJ_DP 핀 배열
그림 삽입 설명 여기
.도 5 JTAG / SWD 인터페이스 하드웨어
그림 삽입 설명 여기
제 디버그 소프트웨어 시뮬레이션
은 시뮬레이션 소프트웨어를 시작하기 전에 6.1 마술 지팡이 클릭 타겟 인터페이스 모델 크리스탈 주파수 확인 칩;
그림 삽입 설명 여기
6.2 디버그 인터페이스 선택 ; 사용 시뮬레이터, 입력 DARMSTM.DLL이 대화 DLL 및 매개 변수 각각 -pSTM32F103ZE 및 TRAMSTM.DLL, -pSTM32F103ZE의 마지막 줄에있는 동안) (주에 실행을 확인
그림 삽입 설명 여기
6.3 프로젝트에서 컴파일 한 다음 시작 / 중지를 클릭합니다 디버그 세션은 시뮬레이션 (출구 시뮬레이션도 시작 / 중지 디버그 세션을 클릭)를 시작합니다.
7. 시뮬레이션 소프트웨어 디버깅 인터페이스 도구 해석
그림 삽입 설명 여기
7.1 리셋 : 그 기능이 하드웨어 리셋 버튼을 누르는 것과 같다. 하드 리셋의 등가를 달성하기 위해. ; 버튼을 누른 후, 코드는 처음부터 다시 실행됩니다
7.2 중단 점 (실행)에 도착 빠르게 때로는 각 단계를 수행하는 방법을 볼 필요가 없습니다, 중단 점에 도달 빠르게하는 데 사용하지만, 원하는 : 중단 점을 설정하는 관점에서 발생되는 결과를 볼 수있는 위치에, 프로그램의 실행은,이 버튼이 제공되고,이 기능을 달성 할 수있는,
7.3 중지 :이 버튼을 실행 된 프로그램이 유효하게되면, 버튼 상기 프로그램 상태를 단계별로, 진행을 중단 할 수있다
7.4 로 실행될: 함수가 마지막 버튼의 실행에 해당하지 않는 경우에 기능을 구현하기 위해 사용되는 기능을 수행하기 위해,
7.5 과거에 실행 : 함수와 조우하는 버튼이 단계별 할 이 함수는 단일 단계 입력없이이 기능;
7.6 아웃 수행 : 단일 단계 디버깅 기능은 때로는 함수의 나머지를 수행해야하지 않는 경우가이 버튼을 입력하고 직접 단계는 상기 버튼에 의해 수행된다 ; 완전한 기능의 나머지 부분, 그리고 함수에서 호출 된 함수의 위치로 복귀
7.7 커서 수행 기능이 중단 점에 도달 꽤 버튼처럼, 사실,이 버튼을 빨리 커서 프로그램 실행을 할 수 있지만,이 : 다른 사람들은, 커서 만에 하나가 여러 개의 브레이크 포인트가 될 수 있지만,
7.8 편집 창 :이 버튼을 사용하여, 당신은 분석 절차에 유용 컴파일 된 코드를 볼 수 있습니다;
7.9 시계 변수 / 스택 창을 : 버튼 언론은 당신이 모양 내부에 원하는 다양한 변수 값을 볼 수 있습니다, 윈도우 디스플레이 변수를 나타납니다;
7.10 메모리보기 창을 : 예금보기 창, 당신은 당신이보기하고자하는 메모리 주소를 입력 한 후 메모리 변경이 조각 관찰 할 수있다;
7.11 시리얼 프린터 창 : 버튼을 눌러, 윈도우 시리얼 포트에서 디스플레이 유사한 직렬 디버깅 보조 인터페이스를 나타납니다 내용을 인쇄,
7.12 로직 분석 창 :이 버튼을 누르면 윈도우 논리적 인 분석을 나타납니다, SETUP 버튼을 통해 새로운 IO 포트 중 일부는 이러한 IO 포트가 다양한 형태로 표시 할 수있는 수준의 변화를 관찰 할 수있다;
7.13 시스템보기 창 : 시계 각 기능 실행 시간 및 성능 기능을 분석하는 데 사용되는 윈도우의 비율을 나타납니다 버튼을 누르면 매우 유용합니다.
8. ST-LINK 디버그 하드웨어 에뮬레이션
8.1 하드웨어 연결 : ST-LINK 에뮬레이터의 끝은 (판 개발 프로그램을 다운로드)를 개발 버전, 그리고 USB 케이블을 통해 컴퓨터에 연결된 다른 쪽 끝으로 연결되어, 다른 하나는 USB로 연결되어 코드 개발의 일련 버전에 연결하고, (디버그 시리얼 데이터 뷰) 컴퓨터에 연결된 다른 쪽 끝을,
다른 시뮬레이션 소프트웨어 제공과 같은 8.2 디버그 인터페이스, 사용 ST-LINK 디버거를 선택하고,
그림 삽입 설명 여기
8.3 MDK 소프트웨어 프로그램, ;, 개발 버전으로 프로그램을 다운로드 시작을 클릭하여 다운로드를 클릭 / 정지 세션 디버깅 시뮬레이션을 시작 디버깅
당신이 할 수있는, (중단 점을 설정하지 않을 경우, 프로그램이 실행 된), 8.4 시리얼 디버깅 지원을 열려면 클릭 중단 점에 도달 우리는 시리얼 디버깅 조수에 해당 데이터를 관찰했다.
제 로직 시뮬레이션 시뮬레이션 분석 모듈
9.1 로직 분석 모듈은 시뮬레이션 소프트웨어에 대해서만 유효 하드웨어 에뮬레이션이 잘못;
9.2 정의를 GPIO 핀 프로그램 로직이 분석 윈도우에 핀 관찰 된 수준을 제공 할 수 있다면 도에 도시 된 바와 같이, 논리 분석 창의 예 윤곽에 레벨은 새로운 신호 분석 로직 입력 PORTB.5를 제공한다. 전송 동작 PB5 아래와 후, 고저가 관찰 될 수있다.
그림 삽입 설명 여기
주변의 메뉴 바 (10) 모듈
윤곽을 예로 들어 적절한 레지스터를 볼 수있는 기능 모듈에서 10.1, I / O를 → 주변 → 범용를 클릭 GPIOB, 시뮬레이션에서 선택 PB.5, 디버거 한 단계 관찰 된 값 변경 GPIOB_ODR.
그림 삽입 설명 여기
지식 포인트 :
1) 소프트웨어의 시뮬레이션 및 디버깅 차이를 디버깅 하드웨어 에뮬레이션을 이해;
2) 매개 변수 ST-LINK 에뮬레이터, 참조 검토 구성 ST-LINK 에뮬레이터 소프트웨어 Keil의 MDK : STM32 경험의 열을 학습

게시 24 개 원래 기사 · 원 찬양 2 · 조회수 4121

추천

출처blog.csdn.net/Leisure_ksj/article/details/105309542