콘텐츠로 이동

디버깅 및 진단

SF32 디버깅은 시리얼 로그부터 시작하십시오. 칩, SDK 릴리스, 프로젝트 설정에 따라 크래시 덤프 도구, 트레이스 캡처, RT-Thread 셸도 사용할 수 있습니다. 대상에 대해 문서화된 절차만 따르십시오.

1차 디버깅

시리얼 콘솔을 사용하여 다음을 수집합니다.

  • 부트 로그.
  • 애플리케이션 출력.
  • 프로젝트에서 활성화한 경우 RT-Thread 셸 출력.
  • 폴트 메시지.
  • 다운로드 및 리셋 동작.

로그는 보드 리비전, SDK 브랜치, 빌드 명령, 플래시 명령, 시리얼 설정과 함께 보관하십시오.

디버깅 순서

  1. 같은 펌웨어로 재현합니다.
  2. 리셋 후에 재현합니다.
  3. 전체 재플래싱 후에 재현합니다.
  4. 요구 사항과 가장 비슷한 SDK 예제에서 재현합니다.
  5. 제품 변경 사항을 한 번에 하나씩 다시 추가합니다.

이렇게 하면 하드웨어, 보드 지원, 미들웨어, 애플리케이션 문제를 구분하는 데 도움이 됩니다.

알아 두어야 할 도구

표: 알아 두어야 할 도구
도구 용도
sftool 지원 칩의 플래시 읽기/기록/지우기와 리셋을 위한 시리얼 명령줄 도구입니다. 옵션은 칩과 스토리지에 따라 다릅니다.
SiFli_Trace 대상 보드에서 지원하는 절차에 따라 로그 출력을 캡처하고 확인합니다.
UsartServer SF32LB52X와 SF32LB56X의 내장 Debug IP를 통한 UART 디버그 워크플로에 필요한 보조 도구입니다. 모든 타깃에 적용된다고 가정하면 안 됩니다.
AssertDump 및 크래시 덤프 도구 해당 칩과 SDK 릴리스에서 제공되는 경우에만 사용합니다. 해당 릴리스에 문서화된 캡처 및 분석 절차를 따르십시오.
RT-Thread 셸 프로젝트 설정에서 셸을 활성화한 경우에만 런타임 검사와 명령을 사용할 수 있습니다.

먼저 확인할 항목

표: 먼저 확인할 항목
증상 우선 확인 사항
하드 폴트 또는 어서트 스택 크기, 널 포인터, DMA 버퍼, 캐시 관리.
주변 장치가 응답하지 않음 핀 먹스, 클럭, 전원 레일, 보드 이름, 드라이버 활성화.
Bluetooth 불안정 RF 클럭, 안테나 경로, Bluetooth 스택 설정, 연결 파라미터.
디스플레이 화면 이상 패널 타이밍, 버퍼 포맷, 캐시/DMA 동기화.
무작위 리셋 워치독, 전원 레일, 브라운아웃, 스택 오버플로.

크래시 리포트 체크리스트

크래시를 보고할 때는 다음을 포함하십시오.

  • 보드와 리비전.
  • 칩 변형(variant).
  • SDK 브랜치 또는 커밋.
  • 정확한 예제 또는 프로젝트.
  • 빌드 명령과 보드 이름.
  • 펌웨어 기록 명령.
  • 리셋 시점부터의 시리얼 부트 로그.
  • 크래시 덤프 또는 어서트 출력.
  • 변경하지 않은 SDK 예제에서도 문제가 재현되는지 여부.

최종 업데이트: