주요 콘텐츠

이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.

TLC 파일

TLC 프로그램

TLC(Target Language Compiler)는 Simulink® 소프트웨어와 연동하여 코드를 생성합니다.

TLC 프로그램스크립트라고 하는 ASCII 파일들의 모음입니다. TLC는 인터프리터 방식의 언어이기 때문에 오브젝트 파일이 생성되지 않습니다. 프로그램에 사용되는 다른 타깃 파일을 (%include 지시문을 사용하여) 호출하는 단일 타깃 파일을 엔트리 포인트라고 합니다.

사용 가능한 타깃 파일

TLC는 타깃 파일 집합을 해석하여 Simulink 모델(model.rtw)의 부분 표현을 타깃별 코드로 변환합니다.

타깃 파일은 컴파일러가 생성한 코드를 유연하게 사용자 지정할 수 있는 기능을 제공합니다. 예를 들어, 제공되는 시스템 타깃 파일을 사용하면 Simulink 모델로부터 범용 C 또는 C++ 코드를 생성할 수 있습니다. 이 실행 코드는 특정 플랫폼에 종속되지 않습니다.

참고

TLC 파일을 사용자 지정할 수 있는 기능이 있더라도, 이를 사용자 지정하지 마십시오. 이러한 TLC 사용자 지정 설정은 코드 생성 과정에서 적용되지 않을 수 있으며, 이로 인해 예상치 못한 결과가 발생할 수 있습니다. 직접 생성한 TLC 파일에 대해서만 사용자 지정을 적용하십시오.

타깃 파일의 파라미터는 model.rtw 파일에서 읽혀지며, 블록 범위 지정 규칙을 사용하여 조회됩니다. %assign 문을 사용하여 타깃 파일 내에서 추가 파라미터를 정의할 수 있습니다.

타깃 언어 지시문을 사용하여 타깃 파일을 작성하십시오. Target Language Compiler Directives에는 블록 범위 규칙과 타깃 언어 지시문에 대한 자세한 설명이 수록되어 있습니다.

코드 생성에서는 두 가지 유형의 타깃 파일이 있습니다:

  • 시스템 타깃 파일

    시스템 타깃 파일은 코드 생성의 전반적인 틀을 결정합니다. 이들은 블록이 언제 실행되는지, 데이터가 어떻게 기록되는지 등을 결정합니다.

  • 블록 타깃 파일

    각 블록에는 해당 블록에 대해 어떤 코드가 생성되어야 하는지를 결정하는 타깃 파일이 있습니다. 코드는 블록의 구체적인 파라미터나 블록에 연결되는 연결 유형(예: 와이드 입력 대 스칼라 입력)에 따라 달라질 수 있습니다. 자세한 내용은 Block Target File Methods를 참조하십시오.

모델 전체 타깃 파일 및 시스템 타깃 파일

모델 전체 타깃 파일은 모델 전체에 걸쳐 사용합니다. 모델 전체에 적용되는 타깃 파일은 TLC에 기본 정보를 제공하며, TLC는 이를 바탕으로 model.rtw 파일을 타깃별 코드로 변환합니다.

시스템 타깃 파일은 TLC의 진입점입니다. 이는 C 프로그램의 main() 루틴과 유사합니다. 시스템 타깃 파일은 전체 코드 생성 과정을 총괄합니다. 예를 들어, 시스템 타깃 파일인 grt.tlc는 시스템 타깃 파일로의 진입점인 codegenentry.tlc에 대한 몇 가지 변수를 설정합니다. 사용 가능한 시스템 타깃 파일의 전체 목록은 Compare System Target File Support Across Products를 참조하십시오.

타깃 파일 사용법

타깃 파일을 사용하여 다음을 수행하십시오:

  • S-Function 인라인 처리

    S-Function을 인라인 처리한다는 것은 TLC가 해당 S-Function 블록에 대한 코드를 생성하는 방법을 지시하는 블록 타깃 파일을 작성하는 것을 의미합니다. 컴파일러는 인라인 처리되지 않은 C MEX S-Function에 대한 코드를 생성할 수 있습니다. C MEX S-Function을 인라인으로 처리하면 컴파일러가 더 효율적인 코드를 생성할 수 있습니다. 비인라인 C MEX S-Function은 S-Function 애플리케이션 프로그래밍 인터페이스(API)를 사용하여 실행되며, 비효율적일 수 있습니다. MATLAB® 파일이나 Fortran S-Function을 인라인으로 삽입할 수 있습니다. TLC는 두 경우 모두에서 S-Function용 코드를 생성할 수 있습니다.

  • 모든 모델에 대해 생성된 코드를 사용자 지정하기

    프로파일링을 위해 생성된 코드에 계측 코드를 삽입하거나, 모든 모델에 대한 전반적인 코드 생성 방식을 변경하고 싶을 수도 있습니다. 이러한 변경 사항을 적용하려면 일부 시스템 타깃 파일을 수정하십시오.

시스템 타깃 파일

전체 코드 생성 프로세스는 구성 파라미터 대화 상자의 코드 생성 패널에서 지정한 단일 시스템 타깃 파일에서 시작됩니다. 이를 위해 찾아보기 버튼을 클릭하여 시스템 타깃 파일 탐색기를 실행하십시오. 시스템 타깃 파일을 면밀히 살펴보면 코드 생성이 어떻게 이루어지는지 알 수 있습니다. 이 목록은 범용 실시간 실행 파일을 위한 코드를 생성하는 타깃 파일인 grt.tlc에 포함된 주석이 없는 코드 라인들의 목록입니다.

%selectfile NULL_FILE
%assign TargetType = "RT" 
%assign Language   = "C"  
%assign MatFileLogging = 1 
%include "codegenentry.tlc"

Language, TargetType, MatFileLogging라는 세 가지 변수는 다른 함수에서 사용하는 전역 TLC 변수입니다. 그런 다음 코드 생성의 주요 진입점인 codegenentry.tlc를 호출하여 코드 생성이 시작됩니다.

전체 코드 생성을 수정하려면 시스템 타깃 파일을 변경해야 합니다. 초기 설정이 완료된 후에는 codegenentry.tlc를 호출하는 대신, 직접 작성한 TLC 파일을 호출해야 합니다. 이 코드는 mygrt.tlc라는 시스템 타깃 파일의 예시를 보여줍니다.

%% Set up variables, etc.
%% Load my library functions 
%% Note that mylib.tlc should %include funclib.tlc at the  
%% beginning. 
%include "mylib.tlc"  
%include "commonsetup.tlc"  

%% Next, you can include TLC files that you need for 
%% preprocessing information about the model and to fill in 
%% hooks. The following is an example of including a single
%% TLC file that contains custom hooks. 
%include "myhooks.tlc"  

%% Finally, call the code generator. 
%include "commonentry.tlc"

생성된 코드는 모델 또는 서브시스템 함수 내에 배치됩니다. 생성된 관련 함수 이름과 그 실행 순서는 Execution of Code Generated from a ModelConfigure Generated C Function Interface for Model Entry-Point Functions에 설명되어 있습니다. 코드 생성 과정에서 각 블록 타깃 파일의 함수가 실행되며, 생성된 코드는 모델 또는 서브시스템 함수에 배치됩니다.

참고 항목

도움말 항목