Курс КТ-178C: Л.12. Стандарт на кодирование

Курс КТ-178C для начинающих: Лекция 12. Стандарт на кодирование Плейлист курса - https://rutube.ru/plst/1710495/ В лекции разбирается, как подготовить стандарт на кодирование ПО по КТ-178С: какие ограничения языка и правил реализации стоит описать, как адаптировать MISRA-C под авиационный проект и как учитывать особенности микроконтроллера, компилятора и процесса верификации. Отдельное внимание уделяется практическим запретам и ограничениям для embedded C: динамической памяти, рекурсии, указателям на функции, арифметике указателей, сложности условий, прерываниям, глобальным данным и трассировке кода к требованиям. Таймлайн 00:01 — Назначение стандарта на кодирование по КТ-178С и его место среди проектных документов. 00:55 — MISRA-C как основа для ограничения языка C и предотвращения типовых ошибок программиста. 01:33 — Примеры правил MISRA-C: инициализация переменных, break в switch, проверка возвращаемых значений, явные условия и запрет malloc/free. 03:37 — Обязательные и рекомендуемые правила: почему стандарт должен быть проверяемым, а исключения явно оформленными. 04:43 — Выбор версии языка, адаптация внешних стандартов и порядок отклонений от правил кодирования. 06:49 — Использование статических анализаторов и риск квалификации инструмента при замене ручной верификации. 09:03 — Запрет рекурсии и динамического выделения памяти в авиационном проекте. 09:53 — Указатели на функции: проблемы с безопасностью, деревом вызовов, структурным покрытием и допустимые исключения. 12:14 — Арифметика указателей, множественные выходы из функции, goto и самомодифицирующийся код как красные флаги. 13:57 — Правила использования компилятора, линкера, расширений языка, предупреждений и подавления warning по согласованию. 16:49 — Формат исходных и заголовочных файлов, порядок include, inline-функции и сложные define. 18:26 — Соглашения об именовании типов, модулей, функций, переменных, файлов и макросов. 18:54 — Ограничения сложности функций: размер, вложенность, число параметров, возвращаемые значения и обработка ошибок. 19:50 — Прерывания, глобальные данные, volatile, const, владельцы данных и правила доступа к общим структурам. 21:41 — Численные операции: плавающая точка, деление, округление, масштабирование, переполнение и преобразование типов. 24:27 — Логические выражения, switch, вложенные if и циклы с ограниченным числом итераций. 25:50 — Межкомпонентная связность, глобальные переменные, RTOS, критические секции, DMA и атомарность доступа. 27:56 — Робастность, проверка входных данных, условная компиляция и трассировка исходного кода к требованиям. 29:07 — Сторонние библиотеки, переиспользованный код и автосгенерированный код. 29:44 — Комментарии к коду и итог: адаптированный MISRA-C плюс проектные правила для embedded-разработки.

Иконка канала motorcontrol
14 подписчиков
12+
8 просмотров
7 дней назад
12+
8 просмотров
7 дней назад

Курс КТ-178C для начинающих: Лекция 12. Стандарт на кодирование Плейлист курса - https://rutube.ru/plst/1710495/ В лекции разбирается, как подготовить стандарт на кодирование ПО по КТ-178С: какие ограничения языка и правил реализации стоит описать, как адаптировать MISRA-C под авиационный проект и как учитывать особенности микроконтроллера, компилятора и процесса верификации. Отдельное внимание уделяется практическим запретам и ограничениям для embedded C: динамической памяти, рекурсии, указателям на функции, арифметике указателей, сложности условий, прерываниям, глобальным данным и трассировке кода к требованиям. Таймлайн 00:01 — Назначение стандарта на кодирование по КТ-178С и его место среди проектных документов. 00:55 — MISRA-C как основа для ограничения языка C и предотвращения типовых ошибок программиста. 01:33 — Примеры правил MISRA-C: инициализация переменных, break в switch, проверка возвращаемых значений, явные условия и запрет malloc/free. 03:37 — Обязательные и рекомендуемые правила: почему стандарт должен быть проверяемым, а исключения явно оформленными. 04:43 — Выбор версии языка, адаптация внешних стандартов и порядок отклонений от правил кодирования. 06:49 — Использование статических анализаторов и риск квалификации инструмента при замене ручной верификации. 09:03 — Запрет рекурсии и динамического выделения памяти в авиационном проекте. 09:53 — Указатели на функции: проблемы с безопасностью, деревом вызовов, структурным покрытием и допустимые исключения. 12:14 — Арифметика указателей, множественные выходы из функции, goto и самомодифицирующийся код как красные флаги. 13:57 — Правила использования компилятора, линкера, расширений языка, предупреждений и подавления warning по согласованию. 16:49 — Формат исходных и заголовочных файлов, порядок include, inline-функции и сложные define. 18:26 — Соглашения об именовании типов, модулей, функций, переменных, файлов и макросов. 18:54 — Ограничения сложности функций: размер, вложенность, число параметров, возвращаемые значения и обработка ошибок. 19:50 — Прерывания, глобальные данные, volatile, const, владельцы данных и правила доступа к общим структурам. 21:41 — Численные операции: плавающая точка, деление, округление, масштабирование, переполнение и преобразование типов. 24:27 — Логические выражения, switch, вложенные if и циклы с ограниченным числом итераций. 25:50 — Межкомпонентная связность, глобальные переменные, RTOS, критические секции, DMA и атомарность доступа. 27:56 — Робастность, проверка входных данных, условная компиляция и трассировка исходного кода к требованиям. 29:07 — Сторонние библиотеки, переиспользованный код и автосгенерированный код. 29:44 — Комментарии к коду и итог: адаптированный MISRA-C плюс проектные правила для embedded-разработки.

, чтобы оставлять комментарии