이 페이지는 기계 번역을 사용하여 번역되었습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
MATLAB 코드에서 코드 생성을 위한 Embedded Coder 기능
Embedded Coder® 제품은 임베디드 소프트웨어 개발에 사용할 수 있는 기능을 통해 MATLAB® Coder™ 제품을 확장합니다. 전문가가 직접 쓴 코드와 같은 명확성과 효율성을 갖춘 코드를 생성할 수 있습니다. 예를 들어, 다음을 수행할 수 있습니다.
실시간 시뮬레이터, 타깃 맞춤형 신속 프로토타이핑 보드, 대량 생산에 사용되는 마이크로프로세서, 임베디드 시스템에 필수적인 간결하고 빠른 코드를 생성합니다.
생성 코드의 모양을 사용자 지정합니다.
생성된 코드를 애플리케이션별 요구 사항에 맞게 최적화합니다.
생성된 코드를 확인하는 데 도움이 되는 추적 옵션을 활성화합니다.
Embedded Coder 제품은 C/C++ 코드 생성을 위한 다음과 같은 옵션과 최적화를 통해 MATLAB Coder 제품을 확장합니다.
목표 | 프로젝트 설정 | 코드 구성 객체 속성 | 추가 정보 |
---|---|---|---|
실행 시간 | |||
부동소수점 데이터 및 연산 생성 제어 | 순수 정수만 지원 | PurelyIntegerCode | N/A |
생성된 코드의 루프에서 배열 인덱싱 단순화 | 배열 인덱싱 단순화 | EnableStrengthReduction | Simplify Multiply Operations for Array Indexing in Loops |
생성된 코드의 함수와 연산자를 대체하여 애플리케이션별 코드 요구 사항을 충족 | 사용자 지정 코드 탭의 코드 대체 라이브러리 | CodeReplacementLibrary | Embedded Coder는 추가 라이브러리를 제공하며 사용자 지정 코드를 생성하고 사용하기 위한 기능을 제공합니다. 코드 대체 사용자 지정 항목을 참조하십시오. |
함수와 연산자의 애플리케이션별 구현을 생성하고 등록 | N/A | N/A | 코드 대체 사용자 지정 |
코드 모양 | |||
생성된 코드에 단일 라인 또는 여러 라인의 주석 사용을 지정 | 주석 스타일 | CommentStyle | Specify Comment Style for C/C++ Code |
추적성 태그와 함께 MATLAB 소스 코드를 주석으로 포함. 코드 생성 리포트에서 추적성 태그는 대응하는 MATLAB 소스 코드에 연결됨 | MATLAB 소스 코드를 주석으로 삽입 | MATLABSourceComments | 생성된 C/C++ 코드에 주석 포함 |
함수 배너에 MATLAB 함수 도움말 텍스트 생성 | MATLAB 함수 도움말 텍스트 | MATLABFcnDesc | 생성된 C/C++ 코드에 주석 포함 |
MATLAB 코드에 연결된 요구 사항에 대한 요약이 포함된 주석을 생성 코드에 포함. 코드 생성 리포트에서 주석은 Requirements Editor의 요구 사항에 대한 하이퍼링크임 | 요구 사항 요약을 주석으로 삽입 | ReqsInCode | Requirements Traceability for Code Generated from MATLAB Code (Requirements Toolbox) |
if-elseif-else 패턴을 switch-case 문으로 변환 | if-elseif-else 패턴을 switch-case 문으로 변환 | ConvertIfToSwitch | C 코드 스타일 제어 |
생성된 외부 함수 선언에 extern 키워드가 포함되도록 지정 | 함수 선언에 extern 키워드 유지 | PreserveExternInFcnDecls | N/A |
생성된 코드에서 괄호의 수준을 지정 | 소괄호 | ParenthesesLevel | N/A |
생성된 코드에서 2의 거듭제곱에 의한 곱셈을 부호 있는 왼쪽 비트 시프트로 대체할지 여부를 지정 | 고정소수점 연산 및 2의 거듭제곱이 곱해지는 연산에 부호 있는 왼쪽 시프트 사용 | EnableSignedLeftShifts | Control Signed Left Shifts in Generated Code |
생성된 코드에서 부호 있는 오른쪽 비트별 시프트를 허용할지 여부를 지정 | 부호 있는 정수에 대한 오른쪽 시프트 허용 | EnableSignedRightShifts | N/A |
생성된 코드에서 데이터형 형변환 제어 | 모든 설정 탭의 형변환 모드 | CastingMode | Control Data Type Casts in Generated Code |
생성 코드에 대한 들여쓰기 스타일 지정 | 모든 설정 탭의 들여쓰기 스타일 모든 설정 탭의 들여쓰기 크기 | IndentStyle IndentSize | Specify Indent Style for C/C++ Code |
생성된 코드에서 줄 바꿈 앞의 최대 열 개수 지정 | 모든 설정 탭의 열 제한 | ColumnLimit | N/A |
생성된 코드에서 MATLAB 데이터형에 대한 사용자 지정 이름 지정 | 사용자 지정 데이터형 대체 활성화 | EnableCustomReplacementTypes ReplacementTypes | Customize Data Type Replacement |
외부 헤더 파일에서 사용자 지정 데이터형 정의 가져오기 | 외부 헤더 파일에서 사용자 지정 유형 가져오기 | IsExtern HeaderFiles | Import Custom Data Type Definitions from External Header Files |
생성된 C/C++ 파일 이름 사용자 지정 | 생성된 소스 및 헤더 파일 이름 형식 | CustomFileNameStr | Customize C/C++ File Names Generated from MATLAB Code |
생성된 전역 변수 식별자 사용자 지정 | 전역 변수 | CustomSymbolStrGlobalVar | Customize Generated Identifiers |
생성된 전역 유형 식별자 사용자 지정 | 전역 유형 | CustomSymbolStrType | Customize Generated Identifiers |
전역 유형 식별자에서 생성된 필드 이름 사용자 지정 | 전역 유형의 필드 이름 | CustomSymbolStrField | Customize Generated Identifiers |
생성된 로컬 함수 식별자 사용자 지정 | 로컬 함수 | CustomSymbolStrFcn | Customize Generated Identifiers |
생성된 식별자를 로컬 임시 변수에 대해 사용자 지정 | 로컬 임시 변수 | CustomSymbolStrTmpVar | Customize Generated Identifiers |
생성된 식별자를 상수 매크로에 대해 사용자 지정 | 상수 매크로 | CustomSymbolStrMacro | Customize Generated Identifiers |
생성된 식별자를 EMX 배열 유형(Embeddable mxArray 유형)에 대해 사용자 지정 | EMX 배열 유형 | CustomSymbolStrEMXArray | Customize Generated Identifiers |
생성된 식별자를 EMX 배열(Embeddable mxArrays) 유틸리티 함수에 대해 사용자 지정 | EMX 배열 유틸리티 함수 | CustomSymbolStrEMXArrayFcn | Customize Generated Identifiers |
생성된 코드에서 함수 인터페이스 사용자 지정 | 모든 설정 탭의 초기화 함수 필요함 모든 설정 탭의 종료 함수 필요함 | IncludeInitializeFcn IncludeTerminateFcn | N/A |
파일 및 함수 배너 사용자 지정 | N/A | CodeTemplate | |
생성된 코드에서 전역 변수의 선언 및 정의 제어 | N/A | N/A | |
MISRA™ C/C++ 및 AUTOSAR C++ 지침을 준수하는 코드 생성 | MISRA 준수 패널 | coder.setupMISRAConfig 참조 페이지 참조 | Generate C/C++ Code with Improved MISRA and AUTOSAR Compliance |
디버그 | |||
생성된 파일 정보, 라인 수, 메모리 사용량을 포함하는 정적 코드 메트릭 리포트 생성 | 정적 코드 메트릭 | GenerateCodeMetricsReport | Generating a Static Code Metrics Report for Code Generated from MATLAB Code |
선택한 코드 대체 라이브러리에서 사용된 대체 항목을 요약한 코드 대체 리포트 생성 | 코드 대체 | GenerateCodeReplacementReport | |
코드 생성 리포트에서 단정밀도, 배정밀도 및 비용이 많이 드는 고정소수점 연산을 강조 표시 | 잠재적 데이터형 문제 강조 표시 | HighlightPotentialDataTypeIssues | Highlight Potential Data Type Issues in a Report |
사용자 지정 코드 | |||
생성된 코드의 함수와 연산자를 대체하여 애플리케이션별 코드 요구 사항을 충족 | 코드 대체 라이브러리 | CodeReplacementLibrary | Embedded Coder는 추가 라이브러리를 제공하며 사용자 지정 코드를 생성하고 사용하기 위한 기능을 제공합니다. 코드 대체 사용자 지정 항목을 참조하십시오. |
함수와 연산자의 애플리케이션별 구현을 생성하고 등록 | N/A | N/A | 코드 대체 사용자 지정 |
검증 | |||
MATLAB 소스 코드와 생성된 C/C++ 코드 간을 대화형으로 추적 | 코드 추적성 활성화 | EnableTraceability | Interactively Trace Between MATLAB Code and Generated C/C++ Code |
SIL(Software-in-the-Loop) 및 PIL(Processor-in-the-Loop) 실행을 사용하여 생성 코드 확인 | N/A | VerificationMode | Code Verification Through Software-in-the-Loop and Processor-in-the-Loop Execution |
SIL(Software-in-the-Loop) 또는 PIL(Processor-in-the-Loop) 실행 중에 코드 디버깅 | 디버그 패널의 SIL 또는 PIL에 대한 소스 수준 디버그 활성화 | SILPILDebugging | Debug Generated Code During SIL or PIL Execution |
SIL(Software-in-the-Loop) 및 PIL(Processor-in-the-Loop) 실행 중에 실행 시간 프로파일링 | 디버그 패널의 진입점 실행 프로파일링 활성화 | CodeExecutionProfiling | Execution Time Profiling for SIL and PIL |
ARM 최적화 코드 검증 및 프로파일링 | 하드웨어 패널의 하드웨어 보드 | Hardware | |
통합 워크플로를 사용하여 생성 C/C++ 코드에서 Polyspace® 검증을 샐행 | N/A | N/A | Polyspace Verification of C/C++ Code Generated by MATLAB Coder |
생성된 C/C++ 코드 및 사용자 지정 C/C++ 코드에 대한 커버리지 데이터 추출 | 모든 설정 탭의 C/C++ 코드 커버리지 활성화 | CodeCoverage | getCodeCoverageData |