2014-02-18 2 views
0

임베디드 코드를 사용하여 Simulink 모델에서 코드를 생성 한 후 MISRA 경고 10.1, 13.2 및 12.6을 피할 수 있는지 알고 싶습니다. (또는 코드를 생성 할 수 있습니까? 주위에 방법으로?). 임베디드 코더에서 자동 코드 생성

예컨대 (생성 된 코드)

if (A) 
{;} 

경우 (A) 문에서는 MISRA 위반이 있습니다.

규칙 13.2 어떠한 위반이없는 경우에 부울 타입을 이용하지 않고 가능

if (A !=0) 
{;} 
+0

당신은 해당 코드에서 13.2에 대한 경고를해야합니다 생성 된 코드의 MISRA 준수에 대한 일반적인 내용

이 좋은 참조입니다. 도구가 다른 것에 대해 우는 소리를 내면 도구가 손상됩니다. – Lundin

+0

예 thats 사실, 나는 그 경고를 피할 수 있는지 알아 내야합니다. 그 코드가 경고없이 코드를 생성하도록 임베디드 코더를 구성하는 것 – user3285192

+0

"A"는 부울 유형이라고 가정하고 있습니까? 그 유형이 부울이라고 분석기에 알리거나 설정할 수 있습니까? – Andrew

답변

0

I 어려움이있는 경우 (A) 구조의 형태를 생성하는 데 것처럼 임베디드 코더와 생성 된 코드이다. 부울 유형없이

, 나는이 라인을 따라 뭔가를 얻을 :

경우 (A> 1) { ...}

나는 R2015b 자료를 사용했다. 이러한 유형의 코드를 생성하는 예제 모델을 공유 할 수 있다면 좋을 것입니다.

또한 나열된 모든 규칙 (10.1, 12.6, 13.2)은 MISRA AC AGC 표준 (자동 코드 생성의 맥락에서 MISRA-C : 2004 응용 프로그램에 대한 지침)에 따라 권장되고 의무 사항은 아닙니다.

이러한 규칙을 준수하는 것은 응용 프로그램의 중요도에 따라 다릅니다.

이러한 규칙이 재 분류 된 최신 MISRA 2012 표준에서도 생성 된 코드의 맥락에서 여전히 권고로 분류됩니다.

http://www.mathworks.com/solutions/automotive/standards/misra-c.html

또는

http://www.mathworks.com/solutions/aerospace-defense/standards/misra-c.html