Customer Support
Your Key to Embedded Innovations
[TRACE32 PowerView] CPU 레지스터가 특정 값일 때 프로그램 실행을 중지할 수 있나요? | |||
CPU 레지스터 read 또는 write는 프로세서 on-chip 디버깅 구현에서 지원되지 않으므로 프로그램 실행을 중지할 수 없습니다. 프로그램 실행 또는 메모리 액세스(read/write)에 breakpoint를 설정할 수 있을 뿐입니다. Break.Set myFunc /Program /CONDition Register(R0)==0 다른 궁금한 사항은 trace32@mdstech.co.kr로 문의주십시오. 감사합니다. |
|||
[TRACE32 PowerView] 단일 주소를 가지는 어셈블리 함수 | |||
어셈블리 함수는 종종 컴파일러에 의해 디버깅 되었을 때, 단일 주소 레이블로 표현됩니다. 이러한 단일 주소를 가지는 어셈블리 함수의 경우 함수 런타임 분석이나 함수 커버리지 창에 포함되지 않을 수 있습니다. 이러한 경우 sYmbol.Bodify.AddressToRange 와 sYmbol.Modify.RangeToFunction 명령어를 함께 사용하여 함수로 인식하게 할 수 있습니다. 예시 : sYmbol.Modify.AddressToRange _divsi3 sYmbol.Modify.RangeToFunction _divsi3 sYmbol.Modify.AddressToRange 명령은 단일 주소 레이블을 주소 범위가 있는 심볼로 확장합니다. 주소 범위는 심볼 주소에서 시작하여 다음 심볼 주소에서 1을 뺀 주소에서 끝납니다. sYmbol.Modify.RangeToFunction 명령은 확장된 범위를 함수로 변환합니다. 다른 궁금한 사항은 trace32@mdstech.co.kr로 문의주십시오. 감사합니다. |
|||
[TRACE32 PowerView] TRACE32 PowerView에서 OS 관련 명령어를 실행할 수 있나요? | |||
사용자가 원하는 작업에 따라 적합한 명령어를 사용할 수
있습니다. 외부 프로그램 또는 배치 파일을 실행하려면 아래 명령
중 하나를 사용할 수 있습니다. (blocking:
명령어 결과가 있을 때까지 현재 작업을 대기. Non-blocking:
명령어 결과 없더라도 진행) OS.Area
OS.Window
OS.screen
·
Windows에서는 쉘 없이 명령이 직접 실행되며, 콘솔 애플리케이션의
출력이 임시 명령 창에 표시됨. ·
Linux에서는 TRACE32 GUI를 시작한 쉘에 출력이 표시됨 (Nonblocking 방식) OS.Hidden
< cmdline >: 출력이 표시되지 않음 (블로킹 방식) OS.Command
< cmdline >: 시스템 쉘에서 출력되며, 리다이렉션을 허용함. ·
Windows에서는 Non-blocking 방식. ·
Linux에서는 Blocking 방식이지만 앰퍼샌드(&)를 추가하면 Non-blocking 방식으로 실행 가능. 더 많은 OS 관련
함수는 TRACE32 설치 폴더 > pdf >
Ide_func.pdf 에서 확인할 수 있습니다. 다른 궁금한 사항은 TRACE32@mdstech.co.kr 로 문의 주십시오. 감사합니다 |
|||
[TRACE32 PowerView] Data.LOAD.ELF 는 ELF program header 또는 ELF section header를 사용하나요? | |||
ELF 파일은 다음과 같은 소스 정보를 포함하고 있습니다.
Data.LOAD.ELF 명령어의 옵션을 사용하여, 코드 다운로드 시 사용할 주소 및 크기 정보를 설정 할 수 있습니다.
대부분의 경우 기본 Data.LOAD.ELF 설정을 사용하는 것으로 충분하며, 이러한 옵션은 필요하지 않습니다. 그러나 링커가 program table 또는 section table 에 잘못된 정보를 생성한 경우, 하나 이상의 옵션을 사용하는 것이 필요할 수도 있습니다. 다른 궁금한 사항은 TRACE32@mdstech.co.kr로 문의 바랍니다. 감사합니다. |
|||
[TRACE32 PowerView] TRACE32에서 C 매크로의 값을 볼 수 있나요? | |||
매크로는 일반적으로 ELF 파일에 있는 DWARF 디버그 정보의 일부가 아닙니다. 따라서 디버거는 해당 값을 알 수 없습니다. 하지만 TRACE32에서 매크로를 선언할 수 있습니다. sYmbol.CREATE.MACRO MACRO_1 < contents > 다음을 사용하여 수동으로 만든 매크로 목록을 표시할 수 있습니다. sYmbol.List.MACRO 때로는 컴파일러가 매크로 정보를 ELF 파일에 내보낼 수도 있습니다. 이는 GCC 컴파일러의 경우 -g3 옵션을 사용하여 ".debug_macinfo" 섹션에 매크로 정보를 내보냅니다. Data.LOAD.Elf 명령을 사용하여 이러한 ELF 파일을 로드하는 경우 /MACRO 옵션을 사용하여 매크로 정보를 TRACE32로 가져옵니다. 다른 궁금한 사항은 TRACE32@mdstech.co.kr로 문의 바랍니다. 감사합니다. |
|||
[TRACE32 PowerView] 특정 이벤트가 발생했을때 스크립트를 실행할 수 있나요? | |||
ON 또는 GLOBALON 명령어를 사용하여 스크립트를 실행할 수 있습니다. ON은 테스트 케이스를 제어하는 스크립트가 실행중인 경우에 적합합니다. GLOBALON은 이벤트를 다시 비활성화할 때까지 이벤트에 대한 액션을 원하는 경우에 적합합니다. 명령어 사용법은 다음과 같습니다. ON|GLOBALON < event > < action > 지원되는 이벤트 및 동작에 대한 자세한 내용은 "General Commands Reference Guide O" 및 "General Commands Reference Guide G" 메뉴얼에서 각각 ON 및 GLOBALON 명령에 대한 설명을 참고하세요. 이벤트 핸들러를 비활성화하려면 ON|GLOBALON < event > inherit 를 사용하세요. 예: 1. 프로그램 실행이 멈추면 지정한 스크립트를 실행합니다. GLOBALON PBREAK DO myscript.cmm 2. 프로그램 실행도중 에러가 발생하면 스크립트 실행을 계속합니다. ON ERROR CONTinue 3. 타겟 전원이 들어오면 powerup_handler 함수를 실행합니다. ON POWERUP GOSUB powerup_handler 다른 궁금한 사항은 TRACE32@mdstech.co.kr로 문의 바랍니다. 감사합니다. |
|||
[TRACE32 PowerView] TRACE32에서 PRACTICE 명령을 사용해 새로운 타입 정의를 할 수 있나요? | |||
TRACE32에서는 새로운 타입을 수동으로 추가할 수 없습니다. 해결책으로, 소스 파일 내에서 타입을 선언한 후 컴파일하고, 결과로 나온 ELF 파일을 TRACE32에 로드하는 방법이 있습니다. 예시:
typedef struct { 2. C 파일을 컴파일합니다. gcc typedef.c -g -o typedef.elf -nostartfiles -nodefaultlibs 3. ELF 파일을 /NoCODE 및 /NoCLEAR 옵션을 사용해 TRACE32에 로드합니다: Data.LOAD.Elf typedef.elf /NoClear /NoCODE 다른 궁금한 사항은 TRACE32@mdstech.co.kr 로 문의 주십시오. 감사합니다. |
|||
[TRACE32 PowerView] PRACTICE 스크립트에서 함수의 반환 값을 확인하는 방법은 뭔가요? | |||
모든 함수는 일반적인 경우 return이라고 불리는 의사 변수(pseudo-variable)를 가지고 있습니다. 이는 sYmbol.Browse.Var \\*\*\< myfunc >\* 창에서 확인할 수 있습니다. (myfunc 은 함수 이름) PRACTICE 함수에서 Var.VALUE( < variable > ) 명령을 사용하면 모든 변수의 값을 확인할 수 있습니다. 이를 통해 myfunc() 함수의 반환 값을 얻을 수 있습니다. GO sYmbol.EXIT(myfunc) // myfunc의 return 문으로 이동 PRINT Var.VALUE(return) // 반환 값을 얻습니다. 모듈 테스트를 수행하고자 하는 경우 Var.set 명령어와 Var.VALUE( 예 : 임의의 파라미터(5, 3)를 사용하여 inf func3(int a, int b) 함수를 호출하고 반환 값을 얻고자 하는 경우 다음을 수행합니다. Var.NEWLOCAL \x // PRACTICE 스택에 인공 변수 생성 Var.set \x=func3(5,3) // CPU에서 인수 5와 3을 사용하여 func3() 실행 PRINT Var.VALUE(\x) // 반환 값 가져오기 다른 궁금한 사항은 TRACE32@mdstech.co.kr로 문의 바랍니다. 감사합니다. |
|||
[TRACE32 PowerView] PRACTICE 스크립트에서 특정 소스 코드 라인에 브레이크 포인트를 설정하려면 어떻게 해야 하나요? | |||
다음 구문을 사용하여
|
|||
[TRACE32 PowerView] Data.LOAD 명령어 사용 시 'Overlapping memory location' 에러 발생 | |||
이 오류 메시지는 오브젝트 파일 내에 코드나 데이터를 동일한 주소로 로드하는 섹션이 있다는 것을 의미하며, 이는 오브젝트 파일의 오류입니다. TRACE32는 이러한 섹션들을 오브젝트 파일에 나타난 순서대로 로드합니다.
다른 궁금한 사항은 TRACE32@mdstech.co.kr 로 문의 주십시오. 감사합니다. |
|||
[TRACE32 PowerView] Data.LOAD 명령어를 사용하면, "entry near offset ..."이라는 에러가 나옵니다. | |||
이 오류 메시지는 다음과 같은 이유로 발생할 수 있습니다:
2. 오브젝트 파일이 TRACE32 PowerView에서 지정한 아키텍처가 아닌 다른 아키텍처로 컴파일되었는지 확인해 보세요. 예를 들어 Arm용 TRACE32 PowerView에서 x86용으로 컴파일된 ELF 파일을 로드하는 경우 이 오류 메시지가 표시됩니다. 3. 파일 형식이 TRACE32 버전에서 지원되지 않는 경우입니다. 예를 들어 사용 중인 TRACE32 소프트웨어에서 지원하지 않는 최신 컴파일러 버전을 사용하는 경우 이런 일이 발생할 수 있습니다. 최신 TRACE32 릴리스로 업데이트하거나 trace32@mdstech.co.kr에 소프트웨어를 요청하세요. 4. 오브젝트 파일의 형식이 아직 TRACE32 PowerView에서 지원되지 않는 경우입니다. 가능하신다면, 오브젝트 파일을 포함하여 trace32@mdstech.co.kr 에 연락 주세요. 다른 궁금한 사항은 TRACE32@mdstech.co.kr 로 문의 주십시오. 감사합니다 |
|||
[TRACE32 PowerView] TRACE32를 Jenkins와 통합하는 방법은 무엇인가요??? | |||
TRACE32 PowerView 사용자 인터페이스를 비활성화하려면 TRACE32 config 파일(T32 폴더 밑에 config.t32 파일)에서 SCREEN=로 시작하는 줄을 찾아 SCREEN=OFF로 변경합니다. SCREEN=로 시작하는 줄이 없는 경우 파일 끝에 빈 줄을 추가한 다음 SCREEN=OFF 줄을 추가합니다. 그런 다음 수행하려는 작업이 포함된 시작스크립트로 TRACE32 PowerView를 시작하거나 외부 프로그램(예를들면 python 스크립트 또는 C 어플리케이션)에서 TRACE32 어플리케이션을 제어할 수 있습니다. TRACE32 어플리케이션은 OS 반환값읗 인수로 사용할 수 있는 quit 명령을 사용하여 닫을 수 있습니다. 자세한 내용은 "TRACE32 installation guide"와 "API for remote control and jtag access in C" 에서 확인하시면 됩니다. 다른 궁금한 사항은 TRACE32@mdstech.co.kr 로 문의 주십시오. 감사합니다. |
|||
[TRACE32 PowerView] 인라인 함수를 debug/trace 할 수 있나요? | |||
인라인 함수는 각 call site의 calling functions 내부에 내장되어 있으며 고유 시작 주소가 없습니다. 인라인 함수는 sYmbol.List.InlineFunction 명령을 사용하여 TRACE32에 표시할 수 있습니다 컴파일러가 debug information의 인라인에 대한 정보를 제공하는 경우 디버거는 인라인 함수에 대한 일부 정보를 표시할 수 있습니다. 예를 들어 다음 이미지는 함수 func1이 함수 func2 내부에 두 번 인라인 되었음을 보여줍니다: 이 정보는 함수 stack frame의 디버거에서 사용됩니다(Frame.view) 함수에 고유 시작 주소가 없으므로 함수 시작 시 breakpoint를 설정할 수 없습니다. 따라서 breakpoint 시 TRACE32에 "symbol not found"라는 오류 메시지가 표시됩니다 그러나 assembly로 변환된 인라인 함수의 싱글 라인에서 program breakpoint를 설정할 수 있습니다. 함수가 두 번 이상 인라인으로 표시되면 다른 호출 지점을 표시하도록 확장할 수 있는 [+] 기호가 표시될 수 있습니다 TRACE32는 Trace.STATistic.sYmbol, Trace.Chart.sYmbol 및 Trace.PROFILEChart.sYmbol 명령의 /INLINE 옵션을 사용하여 Trace 결과를 기반으로 인라인 함수에 대한 runtime 정보를 표시할 수 있습니다. 이러한 명령에 대한 자세한 내용은 https://www.lauterbach.com/pdf/general_ref_t.pdf 을 참조하세요 최적화 코드 디버깅에 대한 자세한 내용은 다음 동영상을 참조하세요: https://support.lauterbach.com/kb/articles/debugging-optimized-code-in-trace32 다른 궁금한 사항은 TRACE32@mdstech.co.kr로 문의 주십시오. 감사합니다. |
|||
[TRACE32 PowerView] [Simulink] 'TRACE32 XIL: Cannot find header file for TRACE32 Remote API' 에러 발생 | |||
해당 에러는 지원되는 컴파일러를 설치한 후 MATLAB에서 C/C++ MEX 컴파일러가 설정되지 않은 경우 발생합니다. 자세한 내용은 아래의 링크를 참고하십시오. https://www.mathworks.com/support/requirements/supported-compilers.html 해당 에러 상황은 또한 다음이 경우에도 나타날 수 있습니다. - Simulink와 TRACE32의 통합 환경에서 TRACE32 설치 폴더의 demo/api/capi/dll 내부에서 t32api 라이브러리를 찾을 수 없습니다. (Windows의 경우 t32api64.dll/t32api.dll, Linux의 경우 t32api64.so) - Simulink와 TRACE32의 통합 환경에서 TRACE32 설치 폴더의 deml/api/capi/src 내부에서 t32.h 헤더 파일을 찾을 수 없습니다. 다른 궁금한 사항은 TRACE32@mdstech.co.kr로 문의주십시오. 감사합니다. |
|||
[TRACE32 PowerView] TRACE32를 Hidden Instance로 실행하는 방법 | |||
구성 파일(예: config.t32)에 SCREEN= 옵션을 추가하여 TRACE32 Hidden Instance로 시작하는 세 가지 방법이 있습니다. 다음 옵션 중 하나를 선택하세요. 1. TRACE32의 main window는 안 보이는 상태로 유지됩니다. 그러나 dialog 나 다른 window들은 열 수 있습니다. 테스트 중 오류가 발생하는 경우에 유용합니다. SCREEN= INVISIBLE 2. TRACE32의 main window를 포함해 모든 dialog와 window들은 오류가 발생하더라도 보이지 않습니다. SCREEN=OFF 3. TRACE32의 main window가 호스트 컴퓨터의 툴바에 추가됩니다. 오류가 발생하는 경우 전체가 표시될 수 있습니다. SCREEN= VICON 자세한 내용은 TRACE32 설치 가이드의 "TRACE32 as a Hidden Instance" 챕터를 참고해주세요. 다른 궁금한 사항은 TRACE32@mdstech.co.kr 로 문의 바랍니다. 감사합니다. |
|||
[TRACE32 PowerView] 특정 메모리 접근 시 발생하는 Bus error | |||
"Bus error"는 TRACE32 디버거가 특정 메모리 접근을 시도할 때 CPU가 처리할 수 없는 영역이면 발생합니다. Bus error는 CPU 내부에서 먼저 발생하고 TRACE32 디버거에는 나중에 보고됩니다. Bus error의 원인:
Buss error가 발생한 영역에 대한 오류 메시지가 명확하지 않을 수 있습니다. 예를
들어, B::List나 B::Data.dump 창에서는 버스
오류가 ???????로 표시될 수 있습니다. 1. Buss error의 원인을 알아보기 위해 다음 단계를 시도해봅니다: 2. TRACE32 명령 식별: Bus error를 유발하는 TRACE32 명령(read, write)이나 창 열기(B::List)와 같은 특정 TRACE32 action을 확인합니다. 3. Bus error 재현 준비: Bus error를 재현할 환경을 설정합니다. 오류를 발생시키지 않습니다. 4. 로그 설정: B::SYStem.LOG 창을 엽니다. Init 버튼을 눌러 "log" 상태를 ON으로 설정합니다. 5. 로그 리스트 열기: B::SYStem.LOG.List 창을 엽니다. 6. Bus error 발생: Bus error를 유발하는 작업을 수행합니다. 7. 로그 분석: B::SYStem.LOG.List 창의 마지막 줄에 Bus error를 유발한 접근 정보와 action을 확인합니다. 다른 궁금한 사항은 TRACE32@mdstech.co.kr 로 문의 주십시오. 감사합니다 |
|||
[TRACE32 PowerView] TRACE32를 업데이트한 후 Windows 스케일링을 100% 이상으로 설정했을 때, 글꼴과 대화상자가 더 크게 표시됩니다. | |||
이 문제는 2022년 5월에 출시한 TRACE32 PowerView rev. 147211 버전의 고해상도 DPI(High-DPI) 지원이 도입되면서 발생한 것입니다. 고해상도 DPI 모니터를 사용하고 스케일링 설정이 100% 이상인 사용자들은 PowerView에서 글꼴 크기가 증가하는 현상을 겪게 됩니다. 원래의 작은 글꼴 크기를 선호하신다면, "SETUP.GUI.FontSize 14." 및 "SETUP.GUI.DialogFontSize 16." 명령어를 사용자의 자동 시작 스크립트(User's Autostart script)에 추가하십시오. 해당 스크립트는 메뉴에서 "File > Automatic Scripts on Start > Edit User's Autostart Script"를 통해 편집할 수 있습니다. 다른 궁금한 사항은 TRACE32@mdstech.co.kr 로 문의 바랍니다. 감사합니다. |
|||
[TRACE32 PowerView] ELF 파일에 "readelf -l" 명령어 사용시, 2개의 Address type(논리 주소, 물리주소)이 확인됩니다. 어떤 주소가 사용되나요? | |||
물리 주소 (physical address) 가 0이 아닌 경우, 물리 주소가 사용됩니다. 만약 0인 경우에는 논리 주소 (logical address)가 사용됩니다. Data.LOAD 명령어의 /LOGLOAD 또는 /PHYSLOAD 옵션을 사용하여 하나를 강제로 사용 할 수 있습니다 : sYmbol.List.MAP 명령어는 다운로드 시 코드에 저장된 주소 범위를 표시합니다. 다른 궁금한 사항은 TRACE32@mdstech.co.kr로 문의 부탁드립니다. 감사합니다. |
|||
[TRACE32 PowerView] TRACE32 PowerView를 원격으로 제어하는 방법 | |||
TRACE32 PowerView를 원격으로 제어하는 방법은 세 가지가 있습니다.
다른 궁금한 사항은 TRACE32@mdstech.co.kr로 문의 주십시오. 감사합니다. |
|||
[TRACE32 PowerView] "no response from InterCom" 에러 메시지 발생 원인과 해결방법 | |||
"no response from InterCom" 오류는 InterCom 통신을 활성화한 TRACE32 SW 사용 시 발생할 수 있습니다. InterCom 통신은 t32start 설정이나 TRACE32 구성 파일(C:\T32\config.t32)에서 활성화된 설정에 의해 사용됩니다. InterCom 통신은 두 개 이상의 TRACE32 애플리케이션이 UDP를 통해 상호 통신해야 할 때, 예를 들어 AMP(비대칭 멀티프로세싱) 멀티코어 디버그 세션에서 필요합니다. "no response from InterCom" 오류 메시지는 InterCom 명령을 확인하는 기본 시간 초과가 500ms를 초과할 때 나타납니다. 이 상황은 여러 개의 PoverView 인스턴스가 하나의 디버그 포트 대역폭을 공유해야 할 때 발생할 수 있습니다. 필요한 대역폭은 각 TRACE32 애플리케이션의 업데이트 속도를 줄여서 감소시킬 수 있습니다. SETUP.URATE <time> or <frequency> SETUP.URATE 이 방법이 충분하지 않거나, 결과적으로 업데이트 속도가 받아들일 수 없을 정도로 낮아진다면, InterCom 응답 시간 초과를 늘리는 방법도 있습니다. 이 방법은 빌드 리비전 34366부터 사용할 수 있습니다. SETUP.INTERCOMACKTIMEOUT <time> SETUP.INTERCOMACKTIMEOUT InterCom 참가자에 대한 PRACTICE 실행 성능을 적절한 수준으로 유지하기 위해 가능한 한 낮게 설정되어 있습니다. 다른 궁금한 사항은 TRACE32@mdstech.co.kr 로 문의 주십시오. 감사합니다. |
|||
[TRACE32 PowerView] Eclipse를 TRACE32 PowerView 대신 디버거 사용자 인터페이스로 사용할 수 있나요? | |||
Lauterbach는 Target Communication Framework(TCF)를 기반으로 한 Eclipse와의 TRACE32 통합을 제공합니다. TRACE32 PowerView는 TCF 에이전트로 구성할 수 있습니다. 이 통합을 통해 Eclipse 기반 인터페이스 내에서 TRACE32의 디버그 기능에 접근할 수 있습니다. TRACE32 PowerView와 Eclipse를 동시에 사용하는 것도 가능합니다. 단, 이 통합에서는 TRACE32의 확장된 기능, 예를 들어 trace view, MMU view 및 OS aware 디버깅은 지원되지 않습니다. TRACE32의 Eclipse 통합에 대한 자세한 내용은 "TRACE32 as TCF Agent" 애플리케이션 노트를 참조하세요. 다른 궁금한 사항은 TRACE32@mdstech.co.kr로 문의 부탁드립니다. 감사합니다. |
|||
[TRACE32 PowerView] TRACE32는 C++ STL에 대한 프리티 프린팅(pretty printing)을 지원할 수 있나요? | |||
지원하고 있습니다. sYmbol.AddInfo.Type 및 Var.OBJECT 명령어를 통해 사용 가능합니다. * sYmbol.AddInfo.Type 명령어를 사용하여 STL 컨테이너 타입을 정의할 수 있습니다. * 변수 드롭다운 메뉴에 "View Object in Window" 라는 새로운 항목이 추가됩니다. * Var.OBJECT는 컨테이너를 사람이 읽기 쉬운 형태로 표시할 수 있습니다. * 추가된 타입 정보는 if/else/while 표현시을 포함하여 더 복잡할 수 있습니다. * 더자세한 내용은 demo/etc/sta 을 참조하시면 됩니다 다른 궁금한 사항은 TRACE32@mdstech.co.kr로 문의 부탁드립니다. 감사합니다. |
|||
[TRACE32 PowerView] Peripheral 레지스터를 읽을 때, 에러가 발생합니다 | |||
보통의 경우, 모듈의 Clock이 활성화가 되기 전에 Peripheral 레지스터를 읽으면 해당 문제가 발생합니다. Peripheral register는 종종 bus error들을 발생시킵니다. 그 결과 해당 레지스터의 값들은 물음표로 표시됩니다. 심지어 access가 버스 스톨을 생성하고 새로운 reset이 실행될 때까지 메모리 액세스를 차단하기 때문에 프로세서가 충돌하는 경우도 발생할 수 있습니다. 따라서 주변 모듈에 액세스하기 전에 해당 모듈의 클럭이 이미 활성화되어 있는지가 중요합니다. 다른 궁금한 사항은 TRACE32@mdstech.co.kr 로 문의 주십시오. 감사합니다. |
|||
[TRACE32 PowerView] 에러 메시지 : "FATAL ERROR from InterCom-driver: can not bind read socket" | |||
PC에서 TRACE32에 대한 InterCom 통신을 사용하고 있을 경우 발생하게 되는 현상입니다. 이러한 InterCom 통신은 TRACE32 PowerView 소프트웨어 구성에서 특정 설정을 함으로써 활성화합니다. T32Start 옵션 중 InterCom 설정이나 TRACE32 구성 파일(config.t32) 내부에서 활성화할 수 있습니다. InterCom 통신은 멀티 코어 디버깅이나 GTM과 같은 코프로세서 디버깅을 위해 두 개 이상의 TRACE32 PowerView가 함께 통신(UDP를 통해)하는 경우 필요합니다. 문제는 서로 다른 애플리케이션(여러 TRACE32 실행 파일 또는 다른 애플리케이션)에서 동일한 InterCom 포트 주소를 사용하여 발생합니다. PC에서 "netstat -a" 명령을 사용하여 사용 중인 포트를 확인할 수 있습니다. TRACE32의 경우, T32Start 구성에서 "Use Auto Increment Port: Yes" 옵션을 사용하여 이 문제를 해결할 수 있습니다. config.t32 파일을 사용하는 경우 다른 InterCom 포트를 수동으로 설정해야 합니다. 다른 궁금한 사항은 TRACE32@mdstech.co.kr 로 문의 주십시오. 감사합니다. |
|||
[TRACE32 PowerView] TRACE32(Powerview)에서 t32.cmm 스크립트를 실행되지 않는 이유는 무엇입니까? | |||
TRACE32 Powerview 빌드 99519 버전(2018년 8월) 이상에서는 Powerview가
시작된 후 아래의 스크립트를 자동으로 시작합니다. TRACE32 설치 폴더(일반적으로
C:\T32)에서 autostart.cmm 파일을 실행합니다. 1.
autostart.cmm
내부에서는 일반적으로 다음 스크립트를 시작합니다. l system-settings.cmm(TRACE32 설치 경로) l user-settings.cmm(사용자 설정 경로(Windows의 경우 %APPDATA%TRACE32 또는 ~/.trace32, 그렇지
않은 경우)) l work-settings.cmm (현재 작업 디렉토리에서) 마지막으로 Powerview는 Command Line(또는 T32Start )에
지정된 파일을 추가로 실행합니다. Powerview 빌드 99519 버전(및 이후 버전)은 TRACE32 설치 경로에 autostart.cmm 파일이 없으면 이전 시작 메커니즘으로 자동적으로 되돌아가서 t32.cmm을 시작합니다. (command line(또는 T32Start)에 시작 스크립트가 지정되지 않은 경우) autostart.cmm 파일은 TRACE32 설치 시 새로운 파일이 생성됩니다. Powerview 소프트웨어를 업데이트할 때마다 이 파일이 복원되므로 변경해서는 안 됩니다. 개별 설정은 system-settings.cmm,
user-settings.cmm 및 work-settings.cmm 파일에 추가해야 합니다 자세한 내용은 https://www.lauterbach.com/2018 에서 확인할 수 있습니다. 다른 궁금한 사항은 TRACE32@mdstech.co.kr 로 문의 주십시오. 감사합니다 |
|||
[TRACE32 PowerView] 최적화된 코드를 디버깅할 때, 한 줄씩 실행(step)하면 예상치 못하게 앞뒤로 점프하는 현상이 발생할 수 있습니다. | |||
최적화된 코드를 한 줄씩 실행할 때, TRACE32가 올바르게 수행하지 않는 것처럼 보일 수 있습니다. 예를 들어, 프로그램 카운터(PC)가 여러 단계 동안 동일한 소스 코드 줄에 머물러 있거나 예상치 못하게 앞뒤로 점프하는 현상이 발생할 수 있습니다. 또한, 리스트(List) 창에서 일부 줄 번호 옆에 드릴다운 상자(즉, 이러한 현상은 컴파일러 설정과 컴파일러 출력의 결과로 발생합니다. 이 문제를 완화하기 위한 방법으로, 애플리케이션을 로드할 때 인접한 어셈블리 코드 블록을 요약하는 방법을 사용할 수 있습니다. 예를 들어, 다음 명령어를 사용할 수 있습니다: Data.LOAD.Elf my_application.elf /SingleLineAdjacent 자세한 내용은 Debugging Optimized Code in TRACE32 비디오를 참조하시기 바랍니다. 다른 궁금한 사항은 trace32@mdstech.co.kr로 문의 주십시오. 감사합니다. |
|||
[TRACE32 PowerView] TRACE32 명령으로 peripheral의 특정 섹션을 자동으로 열 수 있습니까? | |||
가능합니다. PER 명령으로 이 섹션을 열 경로를 지정해야 합니다(섹션 및 하위 섹션은 쉼표 ","로 구분)
다른 궁금한 사항은 trace32@mdstech.co.kr로 문의 주십시오. 감사합니다. |
|||
[TRACE32 PowerView] 베어메탈 애플리케이션의 스택 사용량을 계산할 수 있습니까? | |||
가능합니다. 다음은 ARM용 TRACE32 Instruction Set Simulator에서 테스트할 수 있는 예입니다: Command: RESet 다른 궁금한 사항은 trace32@mdstech.co.kr 로 문의주십시오. 감사합니다. |
|||
[TRACE32 PowerView] Var.View창에서 변수값이 NAN으로 표시되는데, 무슨 의미인가요?? | |||
무한대 값을 가지는 부동 소수점 변수의 경우 IEEE 754 표준에 따라 NAN으로 표시됩니다. 다른 궁금한 사항은 trace32@mdstech.co.kr 로 문의주십시오. 감사합니다. |