-
MISRA C / C++Software/RTOS 2024. 6. 17. 14:40728x90
MISRA C
MISRA-C 는 MISRA (Motor Industry Software Reliability Association)에서 개발된 C 언어 개발 표준이다.
문법적인 것은 논외로, 임베디드 시스템에서 불안전한 요소들을 최대한 배제하고 시스템을 최대한 안정적으로 구동시키기 위해 만들어진 일종의 코드 규약 체계이다.
자동차 산업으로부터 출발 했지만 자동차 외에도 방산/우주/항공/의료기기 등의 다양한 분야에서 광범위하게 적용되고 있다.
MISRA-C 점검 툴 종류
- 한컴MDS QAC, Code Inspection, MISRA-C
- SonarSource SonarQube
- Synopsys Coverity
- Suresoft Technologies, Inc. Code Inspector
- 소프트4소프트, RESORT for C, MISRA-C
- MathWorks, Polyspace, MISRA-C
- PRQA QAC
- SPARROW QCE
MISRA - C 코딩 규칙
코딩 규칙이 워낙 방대하여 모든 룰을 숙지하면서 코드 구성을 진행하기는 어렵지만, 몇 가지 핵심적인 룰은 머릿속에 염두해 주면서 코드를 짜는 것이 좋다.
1. 모든 C코드는 ISO Standard를 준수해야한다.
2. 언어 확장을 허용하기 위해서는 예외 (Deviation)이 필요할 수 있다.
3. 표현식은 모든 명령에서 동일해야 한다. (자료형을 같은 크기로 고정된 값을 사용해야 한다. ex) Uint32_t )
4. 재귀 함수는 사용하지 않는다
5. Union 키워드를 사용하지 않는다.
6. 오른쪽 조건문에 논리 연산자를 사용하지 않는다.
7. "if", "else", "while" 등의 본문 구성 문은 항상 중괄호로 묶여있어야 한다.
8. 상수 포인터를 제외한 포인터 사용은 제한한다.728x90'Software > RTOS' 카테고리의 다른 글
C-2000 Realtime Microcontroller (0) 2024.07.08 SDS100i와 CCS Studio 이용하여 MCU에 ROM Load하기 (0) 2024.07.08 DSP ( Digital Signal Processor ) (0) 2024.07.01 EASY DSP Install (0) 2024.05.27 CCS Install (0) 2024.05.27