Вопросы по теме 'misra'

Кто-нибудь создал C-файл для проверки инструментов проверки кода для MISRA-2004?
Мы используем PC-Lint для проверки наших исходников на соответствие MISRA-2004. Поскольку это проект, связанный с безопасностью, и мы движемся к получению сертификата от TUV, нам нужно доказать нашу уверенность в этом инструменте (они не принимают...
773 просмотров

Сохранить указатель на массив в области файла из параметра массива в функции
Я перестраиваю приложение для соответствия правилам MISRA и использую QA-C для анализа своего кода. Одно из этих раздражающих правил касается указателей и массивов. Вы не можете сказать: char foo[10]; char * bar = &(foo[0]); bar[5] =...
1662 просмотров
schedule 16.04.2023

В чем разница между интегральным продвижением и балансировкой в ​​C?
Чем отличается интегральная раскрутка от балансировки. Можем ли мы суммировать оба правила, сказав, что любой тип преобразуется по крайней мере в тип int или unsigned int перед выполнением любой операции (кроме логических операторов &&, ||,!) и в...
1374 просмотров
schedule 15.11.2022

MISRA 9.2 инициализация массивов с плавающей запятой и беззнаковых массивов
В следующих строках я получаю сообщения о различных проблемах из инструмента статического анализа Parasoft C / C ++ Test и из программы проверки MISRA IAR Embedded Workbench: [1] static unsigned int array_a[30] = {0U}; [2] static float array_b[20]...
2136 просмотров
schedule 10.09.2022

Переопределение unsigned Char Boolean_type на структуру True и False
Согласно Autosar_SWS логическое значение должно быть unsigned char . Но в моих композициях много нарушений MISRA, таких как правило MISRA 10.1 (нарушение преобразования), правило 12.6 (эффективное логическое значение). Я хотел бы знать,...
1836 просмотров
schedule 10.10.2022

Почему MISRA-C:2004 выдает здесь ошибку?
Кажется, я продолжаю получать ошибки правил 10.1 и 10.3 MISRA-C:2004 для назначения lShift в следующем фрагменте и не вижу, что еще можно сделать, чтобы удовлетворить требование... почему я все еще получаю ошибку? #define...
1505 просмотров
schedule 21.10.2022

обоснование Misra 2012, не допускающего приведения между разными указателями
В настоящее время я работаю над проектом, который требует, чтобы код был совместим с Misra 2012. На протяжении всего проекта у нас есть много необходимых предупреждений misra, говорящих нам, что мы не можем преобразовать указатель на один тип в...
7804 просмотров
schedule 15.02.2023

Выбор рекомендаций: MISRA 1998, MISRA 2004 или MISRA 2012?
Мне всегда было интересно, как проект/команда/компания выбирает или получает право выбирать конкретное руководство, которому нужно следовать, например, MISRA 1998/2004/2012? Как узнать и решить, какое руководство будет достаточным...
1881 просмотров
schedule 08.06.2023

Когда я должен использовать UINT32_C(), INT32_C(), макросы в C?
Я переключился на целочисленные типы фиксированной длины в своих проектах главным образом потому, что они помогают мне более четко представлять целочисленные размеры при их использовании. Включение их через #include <inttypes.h> также...
2472 просмотров
schedule 10.03.2023

Влияет ли правило MISRA C++ 7-1-1 на ссылки?
Правило 7-1-1 (обязательное) Неизменяемая переменная должна быть квалифицирована как const Если переменную не нужно изменять, она должна быть объявлена ​​с квалификацией const, чтобы ее нельзя было изменить. Тогда непараметрическая...
1168 просмотров
schedule 19.01.2023

Нарушение правила 10.3 MISRA C-2012 из-за добавления двух 8-битных переменных, что привело к 32-битному
Я получаю нарушение правила 10.3 MISRA C-2012: неявное преобразование «var4 + var5» из 32-битного целого со знаком основного типа в другой или более узкий 8-битный беззнаковый тип основного типа для приведенного ниже кода. int8_t var4 = -10;...
5913 просмотров
schedule 14.03.2022

Соответствуют ли библиотеки BLAS и LAPACK стандарту MISRA?
Думаю, ответ нет . Тем не менее, мне было интересно, если кто-то имеет некоторое представление об этой теме. Соответствуют ли библиотеки BLAS и LAPACK стандартам MISRA? Стандарты MISRA (MISRA C:1998, MISRA C:2004, MISRA C:2012) чрезвычайно...
136 просмотров
schedule 08.08.2022

Недопустимый операнд для операторов «››» и «&» (MISRA C)
При проверке кода с помощью Misra он генерировал следующие сообщения Unpermitted operand to operator '>>' [MISRA 2012 Rule 10.1 required] Unpermitted operand to operator '&' [MISRA 2012 Rule 10.1 required] Мне не удалось разобраться...
1142 просмотров
schedule 25.03.2023

Поразрядный сдвиг (varUint8 ›› 7) & 0x01u - соответствует требованиям Misra
Я устраняю какой-то код, и я обнаружил эту строку uint8var = ((constUint8[0]) >> 7) & 0x01u; Мне было интересно, какова в этом правильная практика. Требуется ли & 0x01u для правильной реализации при написании кода,...
221 просмотров
schedule 06.12.2022

Как исправить нарушение Misra 2012, операция присваивания в выражении
Я пытаюсь немного очистить 32-битную переменную с помощью макроса. например. #define CLEAR_BIT( VAR, BIT ) ( VAR &= ~( BIT ) ) в функции я назвал макрос как CLEAR_BIT(variable, 0x01 ); В этом случае я получаю нарушение...
808 просмотров
schedule 09.07.2023

Функциональный макрос REPORT_ERROR, определенный [Директива MISRA 2012 4.9, рекомендательный]
Я определил MACRO , который будет вызывать функцию и передавать аргумент. Получение ниже предупреждения MISRA для этого случая. Разве это не разрешено? Как этого избежать? Каковы преимущества вызова функции (функций) в MACRO , как показано...
347 просмотров
schedule 14.10.2022

статическая встроенная функция в файле заголовка и проблема с правилом 8.5.
Я использую микроконтроллер «IAR RL78» и «RL78-R5F10BGG». Я также включил MISRA C 2004 в IAR. Я хочу определить одну из моих функций как «встроенную». Эта встроенная функция должна использоваться в различных файлах c. Итак, я определил функцию в...
488 просмотров
schedule 14.07.2022

Перечисления и бинарные или операторы (MISRA C++ 2008, 4-5-2)
MISRA C++ 2008, 4-5-2 гласит: выражения с типом enum не должны использоваться в качестве операндов для встроенных операторов, кроме оператора нижнего индекса [ ], оператора присваивания =, операторов равенства == и !=, унарный оператор & и...
202 просмотров
schedule 15.06.2022

Правило MISRA2004-12_8-3 имеет нарушение статического анализа для операнда RHS (32u - n) даже с проверкой пределов
В настоящее время я пытаюсь использовать программное обеспечение parasoft для исправления нарушений статического анализа моего кода с использованием стандартов кодирования MISRA C. Мой код изначально имел эту функцию: static inline uint32_t...
76 просмотров
schedule 04.02.2023

Нарушение Misra 10.1 в отношении операций с операторами (MISRA C 2012)
мне нужна помощь с куском кода. У меня есть массив, назовем его массивом[4]. Теперь я хочу проверить, что по крайней мере 3 элемента этого массива выше порога. (если утверждение) E.g. if(2 > ((array[0] > threshold) + (array[1] >...
67 просмотров
schedule 11.04.2023