MATLAB Simulink 와 TRACE32 연동 & PIL TEST 가이드
목차
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테스트 결과와 오차 발생, 허용 가능한 오차인지를 판단하여 결과 적용
작성한 모델과 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 매뉴얼 참고