사이트맵 보기

FAQ

리스트 게시판
[TRACE32 PowerView] 인라인 함수를 debug/trace 할 수 있나요?

인라인 함수는 각 call site의 calling functions 내부에 내장되어 있으며 고유 시작 주소가 없습니다.

인라인 함수는 sYmbol.List.InlineFunction 명령을 사용하여 TRACE32에 표시할 수 있습니다



컴파일러가 debug information의 인라인에 대한 정보를 제공하는 경우 디버거는 인라인 함수에 대한 일부 정보를 표시할 수 있습니다.

인라인 함수의 call site는 "인라인된 함수" 아래에 있는 sYmbol.INFO 명령을 사용하여 TRACE32에 표시할 수 있습니다.

예를 들어 다음 이미지는 함수 func1이 함수 func2 내부에 두 번 인라인 되었음을 보여줍니다:


이 정보는 함수 stack frame의 디버거에서 사용됩니다(Frame.view)




함수에 고유 시작 주소가 없으므로 함수 시작 시 breakpoint를 설정할 수 없습니다.

따라서 breakpoint 시 TRACE32에 "symbol not found"라는 오류 메시지가 표시됩니다



그러나 assembly로 변환된 인라인 함수의 싱글 라인에서 program breakpoint를 설정할 수 있습니다.

함수가 두 번 이상 인라인으로 표시되면 다른 호출 지점을 표시하도록 확장할 수 있는 [+] 기호가 표시될 수 있습니다




TRACE32는 Trace.STATistic.sYmbol, Trace.Chart.sYmbolTrace.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: TRACE32 Remote API에 대한 헤더 파일을 찾을 수 없습니다.

해당 에러는 지원되는 컴파일러를 설치한 후 MATLAB에서 C/C++ MEX 컴파일러가 설정되지 않은 경우 발생합니다.

자세한 내용은 아래의 링크를 참고하십시오.


https://www.mathworks.com/support/requirements/supported-compilers.html
https://www.mathworks.com/help/matlab/matlab_external/changing-default-compiler.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의 원인:

  • 특정 주소에 메모리가 없음(No memory available)
  • 접근 거부 (읽기 또는 쓰기 보호된 영역)
  • 잘못된 접근 모드 (access width, length)

Buss error가 발생한 영역에 대한 오류 메시지가 명확하지 않을 수 있습니다.

예를 들어, B::ListB::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% 이상으로 설정했을 때, 글꼴과 대화상자가 더 크게 표시됩니다.

이 문제는 TRACE32 PowerView의 고해상도 DPI(High-DPI) 지원이 2022년 5월에 출시된 rev. 147211 버전에서 도입되면서 발생한 것입니다.


고해상도 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 Remote API 사용. 자세한 내용은 "API for Remote Control and JTAG Access in C" 및 "Controlling TRACE32 via Python 3"을 참조하세요. bash shell 에서 스크립트나 간단한 명령어를 실행하려면 /bin/ 폴더에서 commend line tool인 t32rem을 사용할 수 있습니다. TRACE32 Remote API를 사용하여 TRACE32 명령을 보내 TRACE32 GUI를 실행합니다.

  • TRACE32 PowerView는 GDB stub 기능을 제공합니다. 이는 TCP 또는 UDP를 통해 TRACE32 PowerView를 제어하기 위해 GDB Remote Serial Protocol(RSP)을 사용하는 모든 애플리케이션에 대한 인터페이스를 제공합니다. 자세한 내용은 "TRACE32 as GDB Back-End"를 참조하세요.

  • Eclipse 내에서 TRACE32 디버그 기능에 액세스하는 데 사용할 수 있는 Target Communication Framework(TCF) 사용. 자세한 내용은 "TRACE32 as TCF Agent"조하세요.

다른 궁금한 사항은 TRACE32@mdstech.co.kr로 문의 주십시오.
감사합니다.







[TRACE32 PowerView] "no response from InterCom" 에러 메시지 발생 원인과 해결방법

"no response from InterCom" 오류는 PC에서 TRACE32 소프트웨어를 사용할 때 InterCom 통신이 활성화되어 있을 때 발생할 수 있습니다. InterCom 통신은 t32start 설정이나 TRACE32 구성 파일(기본 이름 config.t32)에서 활성화된 설정에 의해 사용됩니다.


InterCom 통신은 두 개 이상의 TRACE32 애플리케이션이 UDP를 통해 상호 통신해야 할 때, 예를 들어 AMP(비대칭 멀티프로세싱) 멀티코어 디버그 세션에서 필요합니다.


"no response from InterCom" 오류 메시지는 InterCom 명령을 확인하는 기본 시간 초과가 500ms를 초과할 때 나타납니다. 이 상황은 여러 개의 PoverView 인스턴스가 하나의 디버그 포트 대역폭을 공유해야 할 때 발생할 수 있습니다. 필요한 대역폭은 각 TRACE32 애플리케이션의 업데이트 속도를 줄여서 감소시킬 수 있습니다.


SETUP.URATE

이 방법이 충분하지 않거나, 결과적으로 업데이트 속도가 받아들일 수 없을 정도로 낮아진다면, InterCom 응답 시간 초과를 늘리는 방법도 있습니다. 이 방법은 빌드 리비전 34366부터 사용할 수 있으며, 다음 명령을 사용합니다.


SETUP.INTERCOMACKTIMEOUT

기본 InterCom 명령 응답 시간 초과는 존재하지 않는 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의 확장된 기능, 예를 들어 트레이스 뷰, MMU 뷰 및 OS 인식 디버깅은 지원되지 않습니다.


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 로 문의 주십시오.

감사합니다.

[Setup/update] "Demo limited to 10 minutes (SMP Multicore Debugging not licensed)" 에러 메시지 발생 원인

SMP(Symmetrical Multiprocessing)로 여러 프로세서를 디버깅하기 위해서는 멀티코어 디버깅 라이선스가 필요합니다.


사용 중인 디버그 프로브에 멀티코어 디버깅 라이선스가 포함되지 않은 경우,

아래와 같이 오류 메시지가 출력되며 TRACE32 PowerView가 10분 제한 데모 모드로 전환됩니다.



이 경우 연락 주시면 영업 담당자를 통해 상세히 안내 받으실 수 있습니다.


다른 궁금한 사항은 TRACE32@mdstech.co.kr 로 문의 주십시오.

감사합니다.

[ETC] sYmbol.Browse.sYmbol 창의 "address" 열에 "locdesc"가 포함되어 있다는 것은 무엇을 의미하나요?



각각의 타깃 애플리케이션의 변수는 저장되는 위치가 있습니다.

보통 글로벌 및 정적 변수는 고정된 메모리 위치를 가지며,

함수 내부에서만 존재하는 지역 변수는 해당 함수의 스택 프레임에 저장되거나 범용 레지스터에 저장됩니다.


컴파일러의 최적화가 비활성화된 경우, 각 변수는 Single Location Description을 가집니다.

Single Location Description이 단순한 위치일 경우(고정된 주소, 범용 레지스터, 스택 프레임 오프셋)해당 위치가 sYmbol.Browse 창의 "address" 열에 표시됩니다.

그렇지 않은 경우, "locdesc"가 해당 열에 표시됩니다.


다음과 같은 경우에 "locdesc" 를 확인 할 수 있습니다.

  • 변수에 두개 이상의 위치가 있는 경우.
    이는 컴파일러 최적화가 활성화된 경우 발생할 수 있습니다.
    Var.INFO 명령을 실행하거나 변수에서 오른쪽 클릭 후 'other > View Info'를 선택하면 변수의 다양한 위치와 함께 프로그램 주소 범위를 확인할 수 있습니다.(프로그램 카운터가 해당 프로그램 주소 범위 내에 있을 때, 변수에 대해 해당 위치가 유효합니다.)


  • 적어도 하나의 Location Description이 주소, 범용 레지스터, 또는 스택 프레임 오프셋으로 해결될 수 없는 경우.
다른 궁금한 사항은 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 (현재 작업 디렉토리에서)


마지막으로 PowerviewCommand 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 로 문의 주십시오.

감사합니다

[Setup/update] PowerDebug 모듈을 이더넷으로 연결한 경우, 통신은 안전(secure)한가요?

PowerDebug E40, PowerDebug PRO 및 이전 버전의 모듈:

PC PowerDebug 모듈(UDP) 간의 이더넷 통신은 사이버 보안(cybersecurity)을 기능을 제공하지 않습니다.

대안으로 t32tcpusb (t32tcpusb.exe)를 사용하면 TCP/IP를 이용하여 TRACE32 장비와 Powerview를 연결할 수 있습니다.

PowerDebug 모듈은 t32tcpusb를 실행하는 호스트 PCUSB로 연결되고이 호스트는 TCP/IP를 통해 PowerView SW를 실행하는 호스트에 연결됩니다.

t32tcpusb에 대한 자세한 내용은 installation.pdf를 참조하십시오.
TCP
를 통해 연결할 때는 다양한 종류의 보안 사항(: SSH tunnel)를 적용할 수 있습니다.



PowerDebug X50

PowerDebug X50 TCP를 통한 통신을 지원합니다. 아래 링크를 참조하세요.

https://trace32.com/archive/faq_list.php?board=faq_trace32&mnu=5&field=subject&keyword=tcp

다른 궁금한 사항은 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 명령으로 이 섹션을 열 경로를 지정해야 합니다(섹션 및 하위 섹션은 쉼표 ","로 구분)


예시:
PER.view , "Nested Vectored Interrupt Controller,Interrupt Enable Registers"

리딩 콜론(":")을 추가하여 추가 섹션 없이 선택한 섹션을 열 수 있습니다.
PER.view , ":Nested Vectored Interrupt Controller,Interrupt Enable Registers"


다른 궁금한 사항은 trace32@mdstech.co.kr로 문의 주십시오.

감사합니다.

[TRACE32 PowerView] 베어메탈 애플리케이션의 스택 사용량을 계산할 수 있습니까?

가능합니다.

다음은 ARM용 TRACE32 Instruction Set Simulator에서 테스트할 수 있는 예입니다:




Command:


RESet
SYStem.RESet
SYStem.CPU CortexA9
SYStem.Up
DO ~~/demo/arm/compiler/gnu-pic/demo_sieve
; initialize the stack with a specific pattern
; use section .stack here
Data.Set sYmbol.SECRANGE(.stack) %Byte 0xa5
Go main1
WAIT !STATE.RUN()
; add stacks manually
TASK.STacK.PATtern %Byte 0xa5
TASK.STacK.view
; use any number as "task" identifier, e.g. here 0x100
TASK.STacK.ADD 0x100 sYmbol.SECRANGE(.stack)
; possibly add more stacks: TASK.STacK.ADD
; [optional] set a name:
TASK.NAME.Set 0x100 "main"


다른 궁금한 사항은 trace32@mdstech.co.kr 로 문의주십시오.

감사합니다.

[Setup/update] [Linux] system library가 없을 때 무엇을 해야하나요?

일반적으로는 대응하는 package들을 설치해야 합니다.

예를 들면 다음과 같습니다.


  • Fedora7: error while loading shared libraries: libXp.so.6: cannot open shared object file: No such file or director

yum install libXp # note the upper case "X" and lower case "p"


  • RHEL5/64bit:
    /opt/t32/bin/pc_linux/t32mppc: error while loading shared libraries: libXmu.so.6: wrong ELF class: ELFCLASS64
    필수적으로 설치해야 하는 32-bit package들이 설치가 안 됐습니다.
    32-bit "libXmu" package와 해당 package에 의존성이 있는 모든 package를 반드시 설치해야 합니다.


  • Ubuntu 12.04/64bit:
    error while loading shared libraries: libjpeg.so.62: cannot open shared object file: No such file or directory

sudo apt-get install libjpeg62


  • OpenSUSE 13.1/64bit:
    error while loading shared libraries: libjpeg.so.62: cannot open shared object file: No such file or directory
    libjpeg62를 YaST로 설치해야 합니다.

error while loading shared libraries: libXp.so.6: cannot open shared object file: No such file or directory

libXp6를 YaST로 설치해야 합니다.


다른 궁금한 사항은 trace32@mdstech.co.kr 로 문의주십시오.

감사합니다.


[TRACE32 PowerView] Var.View창에서 변수값이 NAN으로 표시되는데, 무슨 의미인가요??



무한대 값을 가지는 부동 소수점 변수의 경우 IEEE 754 표준에 따라 NAN으로 표시됩니다.


다른 궁금한 사항은 trace32@mdstech.co.kr 로 문의주십시오.

감사합니다.

[Setup/update] Mac OS 에서의 RLM 서버 이슈

TRACE32 Software-only Debugger 라이선스는 RLM 서버에 설치하여 관리합니다.

Mac OS 에서 RLM 서버를 실행할 경우 예상치 못한 부작용이 발생할 수 있습니다.

이 글에서는 어떻게 그러한 현상을 발견할 수 있는지, 그리고 그러한 현상이 발생하는 원인과 해결 방법에 대해 기술하고 있습니다.

이 문서는 RLM 서버 14.1과 15.0 버전을 기준으로 합니다.


증상

TRACE32 is unable to check out a license. The AREA window shows:

Warning: No license available[0x0011]


RLM 서버를 실행 할 시, 터미널 창에 다음과 같은 메세지(No ISV servers to start)가 보여집니다.



License.List 창을 열면 TRACE32 가 서버와 통신할 수 없다는 메시지가 표시됩니다.

하지만 서버는 실행 중이며, 사용자는 http://localhost:5054 웹 페이지를 통해서 액세스할 수 있습니다.


같은 네트워크의 다른 시스템에서 TRACE32를 실행시키면 동일한 에러와 증상이 발생합니다.


RLM 웹 서버 상태 페이지에서는 No ISV servers running 이라는 메지지가 표시됩니다.



RLM 웹 서버 시스템 정보 페이지를 보면 RLM 서버 인스턴스가 두 개가 실행되는 것처럼 보입니다.

그러나 작업 관리자를 확인하거나 다른 터미널 창에서 확인하면 하나의 인스턴스만 동작하고 있는 것을 확인할 수 있습니다.



가능한 원인

RLM 서버는 기본적으로 Mac OS의 개행 문자를 인식하지 못합니다.

사용하는 HOST name, IP Port 등의 내용을 삽입하기 위해 라이선스 파일을 편집해야 하므로,

이러한 형식을 사용하여 파일을 저장하는 텍스트 에디터를 사용했을 가능성이 있습니다.

이는 vi로 라이선스 파일을 여러 확인할 수 있습니다.


위의 이미지에서 개행문자가 파란색으로 표시된 것을 확인할 수 있습니다.


해결 방법

개행 문자를 변경할 수 있는 에디터에서 라이선스 파일을 열고 Windows(CRLF) 또는 Unix/Linux(LF)를 선택한 후 파일을 저장하여 기존 파일을 대체합니다.



그런 뒤 RLM 서버를 다시 시작하거나 RLM 서버 웹 관리 사이트에서 Reread/Restart Servers 선택 후 REREAD/RESTART 버튼을 클릭합니다.



상태 페이지가 변경되어 ISV 서버와 통계 정보가 표시되는 것을 확인할 수 있습니다.

이제 TRACE32에서 유효한 라이선스 정보를 확인할 수 있습니다.



다른 궁금한 사항은 trace32@mdstech.co.kr 로 문의주십시오.

감사합니다.

[Setup/update] ERROR: Inconsistent installation, update file autostart.cmm to version

TRACE32 PowerView S/W를 실행하면, 시스템 경로에 있는 autostart.cmm 스크립트를 자동 실행합니다.


2024년 3월 버전 이후로 TRACE32 PowerView S/W를 실행하면

autostart.cmm 스크립트의 유무, 오래된 버전 등을 확인하게 되는데, 적합하지 않은 스크립트라면 아래와 같이 AREA창에 에러가 발생할 수 있습니다.



위와 같은 오류는 일관되지 않은 TRACE32 PowerView 설치로 발생할 수 있습니다.

(예: PowerView 패치버전 덮어쓰기, TRACE32 폴더 내부의 일부 파일들만 옮겨서 사용하는 등)

이 경우 TRACE32 PowerView S/W를 재설치 하시거나 저희에게 최신 S/W를 요청하시면 공유드릴 수 있도록 하겠습니다.


참고:

autostart.cmm 파일은 가급적 수정을 삼가해주시기 바랍니다.

S/W를 시작할 때 특정 명령을 실행해야 하는 경우 다음 파일 중 하나를 사용하시기 바랍니다.

1. system-settings.cmm (TRACE32 디렉토리에 system-settings.cmm 이라는 파일을 생성하여 명령어를 입력하시면 됩니다.)

2. user-settings.cmm (Window에서 %APPDATA%TRACE32 또는 기타 시스템에서는 ~/.trace32)

3. work-settings.cmm(현재 작업 디렉토리에 생성)


다른 궁금한 사항은 TRACE32@mdstech.co.kr로 문의 주시기 바랍니다.

감사합니다.

[Setup/update] [Linux] Acrobat Reader와의 통신 실패

Linux 환경에서 Acrobat reader version 7보다 높으면,

"Communication with Acrobat Reader failed - check if plugin is started correctly" 에러가 발생할 수 있습니다.


이 경우, 사용중인 Linux 환경에 trace32.api 플러그인을 설치해야 합니다.

최신 플러그인 버전은 아래 다운로드 링크에서도 사용할 수 있습니다.

https://www.lauterbach.com/faq/trace32.api_linux.zip


다른 궁금한 사항은 TRACE32@mdstech.co.kr로 문의 주시기 바랍니다.

감사합니다.

[Setup/update] [Linux] USB 드라이버 파일 10-lauterbach.rules를 설치 후 Linux가 부팅되지 않는 이유는 무엇입니까?

TRACE32 USB 드라이버 파일인 10-lauterbach.rules를 설치한 후 Linux 시스템이 부팅되지 않으면 파일 내부에 CR 문자가 있는지 확인하십시오.

다음 명령으로 확인할 수 있습니다


cat -et /etc/udev/rules.d/10-lauterbach.rules

^M이 표시되지 않아야 합니다.


/dev/lauterbach/trace32 디렉토리내에 존재하지 않아야 할 시스템 장치의 많은 링크를 찾을 수 있습니다(예: 오디오, 디스크, DVD, ..)


# conversion steps

# if package tofrodos isn't already installed

sudo apt-get install tofrodos

cd /etc/udev/rules.d/

# converts all CF+LF pairs to LF

sudo fromdos -d 10-lauterbach.rules


다른 궁금한 사항은 TRACE32@mdstech.co.kr로 문의 주십시오.

감사합니다.

[Setup/update] [Linux] "t32m*-qt" TRACE32 실행 파일의 사용 중단 경고

Linux에서는 과거(2019년 6월 29일 이전)에 각 아키텍처에 대해 "t32m*"과 "t32m*-qt"라는 두 개의 실행 파일이 있었습니다.

새로운 공유 라이브러리 메커니즘과 함께 "t32m*-qt"는 알림 bash 스크립트로 대체되었습니다.


TRACE32 소프트웨어 업데이트 후에

"Warning: starting /home/t32/bin/pc_linux/t32marm-qt is deprecated, see https://www.lauterbach.com/3737" 와 같은 경고를 받으면

시작 스크립트나 명령 줄에서 실행 파일 이름 "t32m*-qt" 를 해당하는 이름 "t32m*" ( "-qt" 없이) 으로 교체해 주십시오.


다른 궁금한 사항은 TRACE32@mdstech.co.kr 로 문의 주십시오.

감사합니다.

[Setup/update] "Maintenance key (...) not valid for this version, demo for 10 minutes" 오류가 발생합니다


이 에러 메시지는 Debug Probe에 포함된 라이선스의 유지보수 기간 이후에 출시한 TRACE32 PowerView를 사용하고 있음을 의미합니다.

모든 Lauterbach 제품에는 TRACE32 PowerView 소프트웨어와 12개월의 유지보수 기간이 제공됩니다.

소프트웨어 보증을 통해 사용자는 구입한 날로부터 12개월 동안 소프트웨어 버전을 업그레이드할 수 있습니다.

이 기간 내에 추가 유지보수가 필요하지 않지만,

유지보수 기간이 지나면 TRACE32 소프트웨어를 업그레이드하기 위해 추가 유지보수가 필요합니다.



TRACE32 PowerView에서 LICENSE.List 명령을 사용하여 현재 유지 관리의 만료 날짜를 확인할 수 있습니다.



TRACE32 PowerView 소프트웨어가 실행 중이지 않은 경우 Debug probe 뒷면 라벨에서 시리얼 넘버를 확인할 수 있습니다.

입력한 시리얼 넘버가 Debug probe, Nexus adapter, CombiProbe 또는 MicroTrace인지 확인하십시오.

PowerDebug 기본 모듈은 라이선스가 없습니다.



제품에 둘 이상의 Core 아키텍처에 대한 라이선스가 있는 경우 각 아키텍처의 시리얼 넘버에 고유한 유지 보수 라이선스가 있습니다.

유지 보수 기간을 연장할 때 다른 프로세서 아키텍처로 멀티코어 디버깅을 수행하려면 관련된 모든 소프트웨어 유지 보수가 유효해야 합니다.


플로팅 라이선스의 경우 최신 라이선스 파일(.lic) 또는 RLM 웹 서버의 "Status" 메뉴에서 얻을 수 있습니다.

"Front-End" 플로팅 라이선스의 시리얼 넘버인지 확인하십시오:



다른 궁금한 사항은 TRACE32@mdstech.co.kr로 문의 주십시오.

감사합니다.


[Setup/update] [Linux] 2021/02 Release 이후 PowerView는 Ubuntu 16.04에서 Qt GUI로 시작할 수 없음

2021년 2월 TRACE32 PowerView이후, Qt4는 더 이상 지원되지 않으며 Qt5 최소 버전은 5.6입니다.

그러나 Ubuntu 16.04 Xenial은 Qt-5.5.1과 함께 제공되며, 이는 PowerView에 비해 너무 오래된 버전입니다.
Ubuntu 설치를 수정할 수 있는 경우 최신 버전(18.04 이상)으로 업그레이드하거나 외부 PPA를 사용하여 Ubuntu 16.04에서 Qt5 패키지를 업데이트할 수 있습니다..

자세한 내용은 https://launchpad.net/ ~savoury1/+ archive/ubuntu/qt-xenial/을 참조하십시오


다른 궁금한 사항은 TRACE32@mdstech.co.kr로 문의 주십시오.

감사합니다.

[Setup/update] TRACE32는 GDB Remote Serial Protocol RSP 지원하나요?

1) TRACE32를 GDB 프론트 엔드로 사용하는 방법
TRACE32 GDB Front-End는

GDB 원격 직렬 프로토콜(RSP)을 사용하여 소프트웨어 또는 하드웨어와 이더넷 또는 RS232를 통해 통신하는 소프트웨어 디버거 솔루션입니다.


TRACE32 GDB Front-End는 아래와 같은 경우에 주로 사용할 수 있습니다:
- 리눅스 사용자 공간 프로세스를 디버깅하기 위해 GNU gdb 서버에 연결 시(실행 모드 디버깅)

- gdbstub(예: QEMU)을 구현하는 모든 종류의 가상 대상 또는 디버거에 연결 시


자세한 내용은 TRACE32 as GDB Front-End(frontend_gdb.pdf)를 참조하십시오.



2) TRACE32를 GDB 백엔드로 사용하는 방법
TRACE32 PowerView는 또한 GDB stub 기능을 구현합니다.

이는 TCP 또는 UDP를 통해 TRACE32 PowerView를 제어하기 위해 GDB RSP(Remote Serial Protocol)를 사용하는 모든 응용 프로그램에 대한 인터페이스를 제공합니다. 자세한 내용은 TRACE32 as GDB Back-End(frontend_gdb.pdf) 참조하십시오


참고:

외부 응용 프로그램에서 TRACE32 PowerView를 제어하기 위해서는 TRACE32 Remote API를 사용하는 것이 좋습니다.

자세한 내용은 API for Remote Control and JTAG Access in C(api_remote_c.pdf)와 Controlling TRACE32 via Python 3(app_python.pdf)를 참조하십시오.


다른 궁금한 사항은 TRACE32@mdstech.co.kr 로 문의 주십시오.

감사합니다.


[Setup/update] PowerDebug X50 제품의 TCP port number

이더넷을 통해 PowerDebug X50 장치에 연결하면 통신은 아래와 같이 시작됩니다.


TRACE32 PowerView가 PowerDebug X50 장치의 포트 20000으로 UDP 패킷을 보냅니다.

PowerDebug X50 장치가 UDP 패킷으로 응답하여 PC에서 실행 중인 TRACE32에 TCP로 전환하라고 알립니다.

TRACE32 PowerView가 TCP를 통해 PowerDebug X50의 포트 9187에 연결합니다.

PowerDebug X50이 포트 9187에서 TCP 연결 요청을 수락합니다.


그런 다음 이더넷을 통한 모든 추가 통신은 TCP를 통해 전송됩니다.

구성 파일의 PBI= 섹션에서 NET 대신


NETTCP



명령어를 사용하여 초기 UDP handshake를 건너뛸 수 있습니다.

example:


PBI=

NETTCP

NODE=



TRACE32 구성 파일에 대한 자세한 내용은 TRACE32 설치 가이드를 참조하세요.


참고사항:

  • NETTCP는 PowerDebug X50 장비에서만 작동합니다. 이전 장비는 TCP를 지원하지 않습니다.
  • PowerDebug X50에는 TRACE32 소프트웨어 버전 2022/09 SP2(R.2022.09.000157066) 이상이 필요합니다.


다른 궁금한 사항은 TRACE32@mdstech.co.kr로 문의 바랍니다.

감사합니다.

고객문의/
견적문의
기술지원/
데모/
SW요청
031-627-
3116