Customer Support
Your Key to Embedded Innovations
[OS-aware debugging] 상태 표시줄에 "task error"가 표시되는 이유는 무엇인가요? | |||
상태 줄에 빨간색 "task error" 메시지가 표시되면 TRACE32 OS 인식이 현재 작업 정보를 얻을 수 없음을 의미합니다: OS 인식은 load된 커널 심볼을 사용하여 대상 메모리에 액세스하여 이 정보를 가져옵니다. 따라서 "task error"는 다음과 같은 이유 중 하나가 있을 수 있습니다: - 커널은 아직 부팅되지 않았으며, awareness에 사용되는 커널의 데이터 구조는 아직 초기화되지 않음 지원이 필요하시면 TRACE32@mdstech.co.kr 로 연락주세요. 감사합니다. |
|||
[OS-aware debugging] OS-aware 문제 해결하는 방법 | |||
문제 증상:
문제 해결 방법1. 커널 구성 확인이 문제는 다음과 같은 커널 구성 문제로 인해 발생할 수 있습니다:
C:T32pdftraining_rtos_linux.pdf 문서의 "Kernel Configuration" 섹션을 참고하여 설정을 확인하세요. 2. 메모리 변환 설정(Translation) 비활성화번역 설정이 문제의 원인일 수 있습니다.
스크립트 실행 중 에러가 발생하면, 기술지원 메일을 보내주세요. 3. 로드된 vmlinux와 실행 중인 커널 바이너리의 일치 여부 확인
4. 주의사항경우에 따라 Linux 배너 비교에서 동일한 문자열을 표시하더라도 심볼이 일치하지 않을 수 있습니다. 대표적인 예는 OpenEmbedded / bitbake가 동일한 폴더에 있는 여러 커널 변형을 컴파일할 수 있다는 사실 때문입니다. 각 결과 파일은 배포 폴더로 이동하며, 일반적으로 빌드 단계에서는 동일한 파일의 변형이 여러 개인 경우 포스트픽스를 추가합니다. 예를 들어 '이미지-5.10-minimal', '이미지-5.10-xen'... 그러나 각 빌드 실행의 'vmlinux' 파일에 대해서는 이 작업이 수행되지 않습니다. 예를 들어 커널이 한 번 빌드된 후 나중에 'initrd'에 내장되는 경우가 있습니다. 일반적으로 모든 커널 심볼에 적용되는 또 다른 함정은 Linux 5.9에서 '0x80000' 오프셋이 커널에서 제거되었다는 것입니다. 하지만 일부 부트로더는 여전히 '0x80000' 오프셋으로 커널을 시작합니다. 이렇게 하면 커널이 제대로 정렬된 다음 주소 위/아래로 재배치됩니다. "C:T32pdftraining_rtos_linux.pdf" 문서를 참조하여 자세한 정보를 확인하시거나 TRACE32@mdstech.co.kr로 문의주세요. 감사합니다. |
|||
[OS-aware debugging] TASK.STacK 창에서 (other)는 무슨 의미인가요? | |||
TRACE32는 current task를 감지하고 current task의 스택포인터를 해당 태스크의 라인에 표시합니다. 만약 current task를 TASK.StacK에 있는 task 중 하나로 명시할 수 없거나, 현재 stack pointer가 TASK.STacK 에 있는 task의 stack 영역에 포함되지 않은 경우 (other)라고 표시합니다. 추가로 궁금한 사항은 TRACE32@mdstech.co.kr 로 문의 주세요. 감사합니다. |