MATLAB Simulink 와 TRACE32 연동 & PIL TEST 가이드

TRACE32
이동: 둘러보기, 검색

1.  Overview

본 문서는 MBD(Model-based development) SW개발시 모델-타겟 코드간의 Back-to-back 테스트에 TRACE32를 적용하는 방법을 설명한다. 자료 설명에 사용된 개발 환경은 아래와 같다.

  • Matlab R2015a

  • Simulink

  • Embedded-coder

  • Tasking VX-toolset 6.0r1

  • 타겟 CPU : TC277TF

2.  Simulink-TRACE32 연동 준비사항

2.1.  TRACE32 Integration for Simulink 설치

Simulink 와 TRACE32 의 연동을 위한 프로그램을 설치한다.

1)    ~~\demo\env\matlabsimulink 폴더 내 t32intsimulink_setup.exe 프로그램을 실행

     

 2)    프로그램 동의

     

 

3)    Integration 설치 경로 설정

     

 

4)    사용할 버전 체크

     

 

5)    설치 완료

     

 설치가 완료되면, 해당 경로에 아래와 같이 폴더 및 파일이 생성됨

      

 

2.2.  MATLAB 설치 및 확인

1)    TRACE32 Integration 확인

>>ver 명령을 입력하여, 아래와 같이 TRACE32 Integration 설치 여부 확인

     

 

2)    mex 컴파일러 설치 및 확인 >>mex -setup

     

 

3)    Cross-Compiler 설치

  모델로부터 소스코드 생성 후, 타겟 바이너리 이미지 생성을 위해 사용할 Cross-Compiler설치 확인

  본 문서에서는 TASKING VX-toolset 6.1r1 사용

     

 

3.  PIL Demo model 구축

MBD로 작성한 모델의 SIL - PIL 테스트를 진행하고 결과를 비교하기(back to back) 위한 데모 구축 방법을 소개한다.

1)    open('rtwdemo_sil_modelblock') 명령을 입력하여 테스트 모델을 연다

     

 

2)    생성된 예제 모델은 Top 모델과 referenced 모델로 구성된다.

Top 모델: rtwdemo_sil_modelblock / Referenced 모델: rtwdemo_sil_counter

    

 

3)    Top 모델과 referenced 모델Save As – 새로운 경로에 저장

** Referenced 모델도 동일하게 저장

     

 

 4)    Working 디렉토리를 모델이 저장된 경로로 변경

     

 

5)    Top 모델 - 메뉴 - File – Model Properties – Model Properties – Callback function 수정

** Referenced 모델도 동일하게 설정 

    

  

  •   Callback function 항목 삭제

    Callbacks – PostLoadFcn* - rtsconfiguredemo(gcs,’ERT’,rtwdemo_overrides{:}); 삭제

    

 

6)    모델 – Model Configuration Parameters 설정

** Referenced 모델도 동일하게 설정

     

 

  •    Hardware implementation

    타겟 CPU에 맞는 정보 선택 (Ex : Infineon TC277TF 타겟)

      -     Device vendor : Infineon

      -     Devide type : TriCore

       

 

  •   Code Generation

      -     Target selection – System target file : trace32_target_ert.tlc

      -     Build process - Make command : trace32_target_make

                     Template makefile : trace32_tc_tmf.tmf

       

7)    MATLAB 경로 설정 확인, 아래 경로가 없는 경우 추가

     

8)    기본 설정 파일 3개 복사

Trace32_settings.m : simulink – trace32 연동 설정 파일

Trace32_tc_tmf.tmf : 타겟 코드 생성 makefile

Trace32_tc277te_startup.cmm : TRACE32로 테스트 시작시 구동되는 파일

     

 

9)    tmf 파일내에 컴파일러 경로 확인 및 수정

     

10)  PIL 테스트를 실제 CPU에서 실행할지, Instruction Simulation Set 에서 실행할지를 선택할 수 있다.

T32 설치 폴더\demo\env\matlabsimulink\t32xil\simulinktemplate.config 파일을 연다.

     

  •    simulator 에서 테스트 실행

      simulinktemplate.config 파일의 18번 라인을 활성화

      ** 이때, 사용하는 trace32_tc277te_startup.cmm 스크립트에 따라 command locked 에러가 발생할 수 있다. 이경우 추가 simulator 라이센스를 구매해야 하므로 영업 담당자에 문의가 필요하다.

  •    타겟환경에서 테스트 실행

      21, 22번 라인을 활성화하는 경우 실제 TRACE32 와 타겟환경에서의 TEST가 실행된다.

      

 

11)  Top 모델 – Run 버튼 클릭

      

12)  테스트 완료 메시지 확인

     

 

13)  Scope 블록을 더블클릭하여, SIL – PIL 테스트 결과의 오차가 발생했는지 여부 확인 가능

  •  결과 예시 1) Output에 대한 오차 없음

     

  • 결과 예시 2) SIL테스트 결과와 오차 발생, 허용 가능한 오차인지를 판단하여 결과 적용

     

 

4.  SW 디버깅 (모델블록<->소스코드 navigation)

작성한 모델과 Embedded-Coder 로 생성된 C 소스코드 간의 navigation 기능 설정

1)    Model-Model Configuration Parameters

     

2)    Code Generation – Report – Create code generation report 체크

  Open report automatically 체크

     

3)    Top 모델 – Run 실행 : 원하는 소스 파일 선택 – 모델 포인트 클릭 -> 모델 영역 표시 됨

     

 

4)    찾으려는 모델 블록 ->마우스 우 클릭 -> C/C++ Code -> Navigate To C/C++ Code

블록에 해당 하는 소스 코드 라인을 찾아 줌

     

5.  FAQ 및 기타 사항

PIL 테스트 환경 구축시 자주 묻는 질문과 발생가능한 에러에 대한 설정 방법을 설명한다.

1)    “rtwdemo_sil_counter” 에러

     

  • 해결방법: Top모델- Configuration Parameter – Code Generation – Verification 항목 수정

      Code profiling – Measure task execution time 체크 해제

      ** Referenced모델도 동일하게 설정해야 함

       

위의 Measure task execution time 기능을 사용하기 설정방법은 MATLAB 매뉴얼 참고