2017-05-05 9 views
-1

내 시스템에서 감시견을 사용하고 있습니다. 5 초 이내에 다시로드되지 않으면 트리거됩니다. 워치 독 재설정 전에 수행 된 코드 목록을보고 싶습니다. 연결된 디버거를 사용하여) 내 코드에서 명령어 목록을 기록하십시오.STM32f429ZI 디버거없이 호출 스택을 기록하십시오.

+0

현재 사용중인 운영 체제는 무엇입니까? 왜 'ptrace'를 사용하지 않으시겠습니까? 또한 스택 프레임의 기능을 식별하는 데 디버그 기호가 필요합니다. 디버거를 항상 연결하지 않으려면 워치 독 트리거 후 * 연결할 수 있습니다. –

+1

스택 오버플로에 오신 것을 환영합니다! 질문 [편집]하여 [지금까지 가지고있는 코드] (http://whathaveyoutried.com)를 보여주십시오. 문제가있는 코드의 윤곽선 (적어도 선호하는 [mcve])을 포함해야합니다. 그런 다음 특정 문제를 해결할 수 있습니다. 또한 [ask]를 읽어야합니다. –

+0

'print ("Flag");와 같은 표시를 추가하여 코드가 멈추기 전의 위치까지 알 수 있습니다. – Badda

답변

0

이 그것을 수행하는 방법의 커플 :

  1. 사용 직렬 디버그 출력 및 USART에게 (다른 마이크로)
  2. 주문 USB-> 시리얼 컨버터를 사용하여 데이터를 잡고 출력에 UART를 중 하나를 사용 자료.
  3. 극단적 인 상황에서 (예 : 핀에 액세스 할 수없는 경우) 필수 정보를 플래시 (사용 가능할 경우)로 사용하십시오.
0

간단하면서도 조금 비싼 해결책이 있습니다. Cortex M4 코어는 추적 지침을 지원합니다. 따라서 트레이스 신호가 핀으로 라우팅되는지 (큰 패키지> 100 핀이어야 함), 시작 후 트레이스가 가능하고 코어가 실행 한 모든 인스 턴싱을 로그하는 HW 트레이서를 연결해야합니다.

관련 문제