1. MCU 프로그램이 중단되고 jlink로 디버그할 수 없을 때 일반적으로 어떻게 찾을 수 있습니까?일반적으로 외부 도구 addr2line 도구를 사용하여 디버그합니다.
프로그램이 중단되면 컴파일할 때 먼저 c99를 선택하고,
컴파일 후 해당 bin 파일/csf 파일을 MCU에 굽습니다.굽기 후 프로그램이 정지되고 다음 오류 메시지가 인쇄됩니다.이 메시지는 MCU를 디버깅하는 데 사용할 수 있습니다.
부정확한 데이터 액세스 위반으로 인해 버스 오류가 발생했습니다. 다음을 실행하여 더 많은 호출 스택 정보 표시:
addr21ine -etm4c1294-Dxe.axf -e 0000d9de 0000d9b8 00011386 000084ee
컴파일 후 생성된 .csf 파일을 addr2line이 설치된 컴퓨터에 복사하고 컴퓨터에서 다음 명령을 실행하여 해당 디컴파일 정보를 가져옵니다.
C:\Users\wangdao\Desktop>.\addr2line.exe -e tm4c1294-Dxe.axf 0000d9de 0000d9b8 00011386 000084ee
Z:\trunk_6000\linecard_ge\APP\project\1LTN4\project/..\src\module\/sfp. c:807get_sfp_sta
Z:\trunk_6000\linecard_ge\APP\project\1LTN4\project/..\src\module\/task_manage.c:1123
pollstatTask
이러한 방식으로 get_sfp_sta 및 pollstatTask 기능에서 MCU가 중단된 위치를 찾을 수 있습니다.