본문 바로가기

TASKING

[TASKING Compiler] AURIX Development Studio의 Project를 TASKING에 마이그레이션하는 방법

 


안녕하세요! MDS인텔리전스 입니다!

오늘은 AURIX Development Studio에서 작업한 Project를 TASKING Compiler에 migration하는 방법에 대해 소개하고자 합니다.

 

Project 시작할 때는 AURIX Development Studio(ADS로 표기함)에서 작업을 하다가 TASKING Compiler 구매 후, TASKING으로 Project를 이관하는 경우가 발생합니다.

 

이러한 경우에 많은 분들이 import 기능을 통해 migration을 진행하는데, import를 하게 되면 레지스터 파일 매크로 중복 에러, 라이브러리 경로 에러 등 다양한 에러를 마주하게 됩니다.

 

TASKING Compiler는 Project 생성 시, 각 프로세서에 맞게 레지스터 파일, 링커 스크립트, startup 코드 등을 자동으로 매핑 및 포함하여 개발자들이 편하게 개발할 수 있게 도움을 주는 기능이 있습니다. 하지만, 다른 개발 툴(ADS)에서 작업한 작업물을 TASKING Compiler에 import 하게 되면 위와 같은 에러가 발생하게 되는 것입니다.

 

그래서 오늘은 ADS Project를 migration하는 방법을 알아보도록 하겠습니다.

 

​Step.1 ADS에서 옵션 설정

ADS에서 Project > Properties > AURIX Development Studio > Build ​메뉴에서

‘Auto-discover compiler include paths’ 체크 해제

체크를 해제하지 않으면 include paths 설정에서 path를 복사할 수 없습니다.

 

 

 

Step.2 TASKING Compiler에서 Project 생성

TASKING Compiler에서 Project를 생성합니다.

File > New > TASKING Tricore C/C++ Project > TASKING TriCore Application > Empty Project 선택 > Next

 

Processor 선택 > Actions 메뉴의 3개의 항목 체크 해제 > Finish

Startup code, linker script file, debugger 동기화 파일이 포함되지 않도록 설정해야 링커스크립트 중복 및 startup code 중복 에러가 발생하지 않습니다.

 

Step.3 ADS Project의 하위 file 복사

ADS Project의 하위 file 및 folder를 복사하여 TASKING Compiler Project에 붙여넣습니다.

대상 파일 및 폴더는 Configurations, Libraries, startup code, linker script code, c source file, header file 등이 포함됩니다.

왼쪽 <ADS>
 
오른쪽 <TASKING>

 

 
Step.4 Include Paths 설정

ADS Project > Properties > C/C++ Build > Settings > TASKING C/C++ Compiler > Include Paths의 paths를 모두 복사합니다.

 

TASKING Project > Properties >C/C++ Build > Settings > Include Paths에 모두 붙여넣습니다.

 

 

Step.5 TASKING Compiler 옵션 설정

TASKING Project > Properties > C/C++ Build > Settings > C/C++ Compiler > Preprocessing 메뉴의 ‘Automatic inclusion of ‘.sfr’ file 체크 해제

sfr파일에는 레지스터 정보가 있는 파일으로 포함하게 되면 매크로 등 중복 정의 에러가 발생하게 되기 때문에 포함하지 않도록 설정합니다.

 

TASKING Project > Properties > C/C++ Build > Settings > Linker > Script File > Linker script file 경로에 Lcf_Tasking_Tricore_Tc.lsl 파일의 경로를 설정

 

 

Step.6 Build 확인

모든 환경설정이 끝났다면, build를 하여 에러가 발생하지 않는지 확인합니다.

만약, path 설정에 누락이 발생했다면 에러 로그를 확인하여 추가로 path 설정을 해주시면 됩니다.

 

Step.7 Build 에러 발생 대처
 

아래와 같이 Ifx_Ssw_Infra 파일에서 _main과 관련된 에러가 발생하는 경우가 있습니다.

 

이 에러는 iLLD 드라이버 구성 오류로 인해 발생하게 됩니다.

iLLD에는 C++ 라이브러리를 포함하고 있어, 해당 라이브러리에 포함된 _main 함수를 호출하게 되어있습니다.

만약 프로젝트에 C++로 작성된 코드가 포함되어 있지 않다면,

Ifx_Ssw_Infra.c 파일의 203-204 라인을 주석처리 한 뒤, build를 시행하게 되면 에러가 발생하지 않습니다.

<Ifx_Ssw_Infra.c 파일 수정 전>

 

<Ifx_Ssw_Infra.c 파일 수정 후>

 

추가 설정

ADS에서 설정했던 컴파일 옵션, Path 지정 등은 TASKING Compiler에서 직접 수작업으로 설정해주어야 합니다.

ADS Project를 TASKING Compiler에 migration하는 방법에 대해 소개하였는데,

여러가지 설정이 필요하지만, 안정적으로 마이그레이션이 가능한 방법입니다.

추가 문의사항이 있다면 언제든 tasking@mdsit.co.kr으로 문의 주세요!

감사합니다. :)

 


 

 

MDS 인텔리전스

Infineon AURIX 계열에 특화된 차량용 소프트웨어 컴파일러, TASKING

E. tasking@mdsit.co.kr