فیلم آموزش استاندارد MISRA C – جلسۀ 4 زبان C

فیلم آموزش استاندارد MISRA C تشریحی کامل از پیشگفتار و فصل های مقدماتی استاندارد MISRA C و شرح و بررسی تمامی قوانین فصل ششم این استاندارد مهم است.

۲۹۸,۰۰۰ تومان

ناموجود

50% تخفیف به یاد ماندنی نوروز 1402 (کلیک کنید)

اخبار جدید یوبرد در اینستاگرام

جلسات اول آموزشها در یوبرد رایگان

زمان فیلم آموزشی

5 ساعت و 4 دقیقه

توجه

این آموزش با هدف ویرایش اساسی فعلا از دسترس خارج شده است.

رضا بداغی

رضا بداغی

عضو هیئت مدیره یوبرد، طراح و برنامه نویس سیستم های دیجیتال مبتنی بر میکروکنترلر، طراح PCB و مدرس آموزش های میکروکنترلر، طراحی PCB و برنامه نویسی میکروکنترلر

به‌روزرسانی رایگان

آپدیت رایگان و مادام‌العمر بدون هزینه

پشتیبانی ویژه

کلاس خصوصی و مشاوره آموزش با 30% تخفیف

دسترسی سریع

دانلود بلافاصله پس از پرداخت

راهنمای استفاده

پلیر اختصاصی، تنها Windows، یک سیستم

فیلم آموزش استاندارد MISRA C به نوعی ادامۀ فیلم آموزش زبان C میکروکنترلرهای یوبرد و جلسۀ چهارم آموزش زبان C میکروکنترلرها است. در این آموزش به MISRA C که مجموعه دستورالعمل هایی برای استفاده از زبان C در سیستم های حیاتی است، می پردازیم. رسالت MISRA کمک به صنعت خودرو در زمینۀ ایجاد نرم افزار ایمن و قابل اعتماد برای سیستم های خودرویی است. البته MISRA C برای تمامی سیستم های دیجیتال برنامه پذیر استاندارد با زبان C، مورد استفاده قرار می گیرد. فصل های اول تا پنجم MISRA C به ترتیب عناوین پیشینه، چشم انداز، محدوده، استفاده از MISRA C و آشنایی با قوانین را دارند. در این فصل ها به طور کلی دستورالعمل های برنامه نویسی استاندارد برای میکروکنترلرها وجود ندارد. مطالب این پنج فصل اغلب مربوط به خود MISRA C، زبان C، قوانین MISRA C و … هستند. فصل ششم MISRA C مربوط به قوانین و دستورالعمل هاست. در آموزش زبان C میکروکنترلرها، مباحث زبان C و ابزارها و ساختارهای آن و نمونه کدهایی را بررسی کرده ایم. اما آیا استفاده از همۀ ابزارها و ساختارهای زبان C توسط استانداردها پذیرفته شده است؟

در آموزش استاندارد MISRA C می بینیم که به دلایلی، استفاده از برخی ابزارها و ساختارها، ممنوع شده و برخی دیگر باید به طور محدود استفاده شوند. در دستورالعمل های MISRA C نحوۀ استفاده از ابزارها و ساختارها بیان شده است. قوانین دیگری در MISRA C وجود دارند که مربوط به ساختارهای کد و محدود کردن نحوۀ کدنویسی هستند. برای مباحث مختلف زبان C، قوانینی وجود دارند که رعایت کردن آنها برای سیستم های حیاتی ضروری است. یعنی اگر برنامه ای مطابق با استاندارد MISRA C بنویسیم، باید همۀ قوانین MISRA C را در آن رعایت کنیم. آنگاه می توانیم بگوییم برنامه ای که نوشته ایم، منطبق با MISRA C است. استاندارد بودن برنامه از این جهت ضرورت دارد که در سیستم های حیاتی نباید کوچک ترین مشکلی به وجود بیاید. چرا که در بسیاری از سیستم های حیاتی مثل وسایل نقلیه و تجهیزات پزشکی، جان انسان ها در میان است. استاندارد MISRA C که برای برنامه نویسی سیستم های خودرو است، می تواند در بسیاری از سیستم های دیگر مورد استفاده قرار گیرد. و اگر برنامه ای نوشته باشیم که منطبق با MISRA C باشد، این برنامه بسیار قابل اطمینان است. و در سیستم های حیاتی، خاصیت قابل اطمینان بودن اهمیت فراوان دارد. در بخشی از MISRA C آمده که: «از سال 1998 که نسخۀ اول MISRA C ارائه شد، موفقیت ها و استفاده های جهانی از آن در صنایع خودرو، هوافضا، پزشکی و صنایع دیگر سرسام آور بوده است». همین جمله می تواند اهمیت MISRA C را نشان دهد. و به همین دلیل آموزشی برای MISRA C در نظر گرفته ایم.

فیلم آموزش ARM STM32 مقدماتی

فیلم آموزش میکروکنترلرهای AVR مقدماتی

فیلم آموزش آردوینو مقدماتی

 

misra-قابلیت-اطمینان

تصویر 1 – MISRA و قابل اطمینان بودن سیستم های الکترونیکی

MISRA C چیست؟

MISRA مخفف Motor Industry Software Reliability Association است و انجمنی است که دستور العمل های MISRA C و MISRA C++ را تهیه و منتشر می کند. MISRA یک همکاری بین تولید کننده های خودرو، تأمین کنندگان قطعات و مشاوران مهندسی است که به دنبال ترویج بهترین روش در توسعه سیستم های الکترونیکی مرتبط با ایمنی در وسایل نقلیه جاده‌ای و سایر سیستم های نهفته هستند. MISRA C مجموعه دستور العمل هایی برای زبان برنامه نویسی C است که توسط کنسرسیوم میسرا تهیه و منتشر شده است. MISRA C با هدف کمک به صنعت خودرو برای ایجاد نرم افزارهای قابل اطمینان تهیه شد. اما در صنایع دیگر نیز مورد استفاده قرار گرفت. اولین نسخۀ MISRA C مربوط به سال 1998 است و نسخه های دیگر در سال های 2004 و 2012 و 2016 و 2020 منتشر شده اند. استاندارد MISRA C شامل شش فصل است که پنج فصل اول آن دربارۀ خود MISRA C، زبان برنامه نویسی C، آشنایی با قوانین MISRA C و … است. فصل ششم هم قوانین و دستور العمل های MISRA C است. این فصل شامل قوانینی است که استفاده از برخی ابزارها و ساختارهای زبان C را ممنوع و استفاده از برخی دیگر را محدود می کند. در این فصل، علاوه بر متن قانون، برای تفهیم بیشتر، توضیحات و مثال هایی هم آورده شده است. نتیجۀ رعایت قوانین MISRA C در برنامه نویسی به زبان C، نرم افزاری قابل اطمینان برای سیستم های حیاتی است. فیلم آموزش استاندارد MISRA C یوبرد تشریحی کامل از فصل های 1 تا 5 و همچنین فصل 6 استاندارد MISRA C نسخۀ 2004 است. در ادامه به مباحث مطرح شده در فیلم آموزش استاندارد MISRA C خواهیم پرداخت.

استاندارد-میسرا-سی-پلاس

تصویر 2 – استانداردهای MISRA C و MISRA C++

چرا آموزش MISRA C یوبرد؟

در زمان تهیۀ فیلم آموزش استاندارد MISRA C، یعنی تابستان 1400، آموزش MISRA C دیگری که هم کامل و هم به زبان فارسی باشد، در سطح اینترنت وجود نداشت. فیلم آموزش MISRA C یوبرد، اولین آموزش کامل استاندارد MISRA C به زبان فارسی است. آموزش MISRA C یوبرد، مثل دیگر آموزش های یوبرد، از بالاترین کیفیت محتوایی برخوردار است و هر آنچه که در سند MISRA C نسخۀ 2004 آمده است، تشریح کرده ایم. ابتدا تصمیم گرفتیم که فیلم آموزش استاندارد MISRA C، جلسه ای از فیلم آموزش زبان C میکروکنترلرها باشد. اما با توجه به زمان فیلم آموزش، که از محدودۀ یک جلسه فراتر رفته بود، آن را به صورت جداگانه ارائه کرده ایم. از ویژگی های آموزش MISRA C یوبرد، می توانیم به موارد زیر اشاره کنیم:

  • تشریح کامل پیشگفتار و فصل های 1 تا 5 استاندارد MISRA C؛
  • آموزش قوانین استاندارد MISRA C به صورت کامل و تشریح متن و توضیحات قوانین، استثناها، نکات و مثال های آنها در نرم افزار ویژوال استودیو؛
  • بررسی و تشریح کامل مباحثی که در میان قوانین فصل ششم استاندارد آمده است؛
  • عدم پرداختن به موضوعات خارج از استاندارد، مگر در موارد ضروری و برای تفهیم بیشتر؛
  • کیفیت بالای صوت و تصویر.

قوانین-میسرا-سی-ویژوال-استودیو

تصویر 3 – تشریح مثال قانون 12.5 در ویژوال استودیو

سرفصل های فیلم آموزش استاندارد MISRA C

در فیلم آموزش استاندارد MISRA C به مباحث زیر پرداخته ایم:

  • مقدمه و پیشگفتار MISRA C: در این بخش به سلب مسئولیت MISRA C، پیشگفتار و سپاسگزاری های آن می پردازیم.
  • فصل 1 – پیشینه: که شامل مباحث «استفاده از C در صنعت خودرو»، «عدم امنیت زبان و زبان C»، «استفاده از C برای سیستم های مرتبط با ایمنی»، «استانداردسازی C» و «مقدمه ای بر این نسخه» است.
  • فصل 2 – چشم انداز: که شامل دو قسمت «دلیل منطقی برای تولید MISRA C» و «اهداف MISRA C» است.
  • فصل 3 – محدوده: که مباحث ارائه شده در آن عبارتند از «مسائل مربوط به زبان های پایه»، «موضوعاتی که به آنها پرداخته نشده»، «قابل اعمال بودن»، «دانش پیش نیاز»، «موضوع C++» و «کدهایی که به صورت خودکار ساخته می شوند».
  • فصل 4 – استفاده از MISRA C: که شامل بخش های «زمینۀ مهندسی نرم افزار»، «زبان برنامه نویسی»، «تصویب زیرمجموعه»، «ادعای انطباق» و «بهبود مستمر» است.
  • فصل 5 – آشنایی با قوانین: که در این بخش مطالبی دربارۀ قوانین MISRA C وجود دارد. و شامل مباحث «دسته بندی قوانین»، «سازماندهی قوانین»، «افزونگی در قوانین»، «ارائۀ قوانین» و «Source reference» است.
  • فصل 6 – قوانین MISRA C: که در این بخش به آموزش قوانین MISRA C می پردازیم. آموزش دستورالعمل های MISRA C شامل قوانین بخش 1 تا بخش 21 است. که قوانین بخش های Environment (قوانین 1.1 تا 1.5) و Language extensions (قوانین 2.1 تا 2.4) و Documentation (قوانین 3.1 تا 3.6) و Character sets (قوانین 4.1 و 4.2) و Identifiers (قوانین 5.1 تا 5.7) و Types (قوانین 6.1 تا 6.5) و Constants (قانون 7.1) و Declarations and definitions (قوانین 8.1 تا 8.12) و Initialisation (قوانین 9.1 تا 9.3) و Arithmetic type conversions (قوانین 10.1 تا 10.6) و Pointer type conversions (قوانین 11.1 تا 11.5) و Expressions (قوانین 12.1 تا 12.13) و Control statement expressions (قوانین 13.1 تا 13.7) و Control flow (قوانین 14.1 تا 14.10) و Switch statements (قوانین 15.0 تا 15.5) و Functions (قوانین 16.1 تا 16.10) و Pointers and arrays (قوانین 17.1 تا 17.6) و Structures and unions (قوانین 18.1 تا 18.4) و Preprocessing directives (قوانین 19.1 تا 19.17) و Standard libraries (قوانین 20.1 تا 20.12) و Run-time failures (قانون 21.1) هستند.

مباحث-میسرا-سی

تصویر 4 – فصل های استاندارد MISRA C

مخاطبان و پیش نیازهای آموزش MISRA C یوبرد

هر فردی که برای میکروکنترلرها به زبان C برنامه نویسی می کند، می تواند مخاطب این آموزش باشد. هر فرد، مرکز یا شرکتی هم که محصولات الکترونیکی برنامه پذیر (با زبان C) تولید می کند و نیاز دارد که محصول طراحی شده، منطبق بر استاندارد MISRA C باشد، می تواند مخاطب جدی این آموزش باشد. امروزه بر روش های استاندارد برنامه نویسی تأکید بسیاری می شود. و تکیه بر اصول و روش های استاندارد و پیروی از قواعد تعیین شدۀ استاندارد، موجب برنامه ای ایمن، قابل اطمینان و با حداقل خطای ممکن می شود. از آنجا که خودروسازی، جزء صنایع حساس و حیاتی است، استانداردهایی هم که برای آن وجود دارد، با حداکثر الزامات و محدودیت ها برای افزایش ایمنی و به حداقل رساندن خطای سیستم هاست. استاندارد MISRA C را که برای کمک به صنعت خودرو در زمینۀ ایجاد نرم افزار ایمن و قابل اعتماد است، می توان برای سیستم های موجود در صنایع دیگر هم به کار گرفت. چرا که با این وصف، حداکثر قابلیت اطمینان و حداقل خطا را موجب می شود. بنابراین استفاده از قوانین و الزامات MISRA C برای همۀ سیستم های برنامه پذیر مثل سیستم های مبتنی بر میکروکنترلر، بسیار مفید است. در فیلم آموزش استاندارد MISRA C تنها به مباحث استاندارد پرداخته ایم و مباحث مربوط به زبان C در این آموزش وجود ندارد. بنابراین پیش نیاز آموزش استاندارد MISRA C، آشنایی با زبان برنامه نویسی C (میکروکنترلرها) است. در آموزش برنامه نویسی C میکروکنترلرها که در یوبرد ارائه کرده ایم، هر آنچه را که برای آموزش MISRA C نیاز باشد، گنجانده ایم. بنابراین:

  • مخاطبان این آموزش، همۀ افراد و مراکزی هستند که به توسعۀ سیستم های دیجیتال برنامه پذیر با زبان C می پردازند؛
  • پیش نیاز این آموزش هم آشنایی با زبان برنامه نویسی C است.

مخاطبان-آموزش-میسرا-سی

تصویر 5 – مخاطبان فیلم آموزش استاندارد MISRA C

اهداف یوبرد از آموزش MISRA C

از مهمترین اهدافی که در نظر داشتیم، ارائۀ آموزشی کامل از استاندارد MISRA C بود. پیش از این، در سطح اینترنت، آموزش کاملی از MISRA C که به زبان فارسی باشد، نیافتیم. بنابراین چون MISRA C از استانداردهای مهم برای سیستم های مبتنی بر میکروکنترلر است، تصمیم گرفتیم که آموزشی برای آن تهیه کنیم. ارائۀ این آموزش در راستای اهداف اصلی یوبرد است. که مهمترین اهداف یوبرد از ارائۀ آموزش های میکروکنترلر، برنامه نویسی میکروکنترلر، طراحی PCB و … و مطالب وبلاگ، افزایش سطح دانش در عرصۀ سیستم های دیجیتال، برطرف کردن نیازهای فعالان حوزۀ سیستم های دیجیتال و افزایش کیفیت محصولات مبتنی بر سیستم های دیجیتال است. هدف دیگر از از ارائۀ این آموزش، تکمیل مباحث برنامه نویسی میکروکنترلرها به زبان C است. برای برنامه نویسی اصولی میکروکنترلرها، توانایی در نوشتن کد و توانایی به کار بردن ابزارها و ساختارهای زبان C، کافی نیست. برنامه نویس باید برنامه ای بنویسد که تمامی ویژگی های یک برنامۀ استاندارد را داشته باشد. آنگاه برنامه ای که نوشته می شود، قابل اطمینان، قابل حمل، امن، انعطاف پذیر و با حدقل خطا خواهد بود. بنابراین فیلم آموزش استاندارد MISRA C، می تواند تکمیل کنندۀ مباحث برنامه نویسی میکروکنترلرها به زبان C باشد.

پیش نمایش – قوانین مربوط به Cast در MISRA C

پروژه های دانش پذیران آموزش های یوبرد

نتایج مکتب سیستم های دیجیتال

دیگر آموزش های یوبرد

آموزش TFT LCD با TouchGFX و STM32 یوبرد

گرافیک کاربرپسند با میکروکنترلر ST

آموزش FreeRTOS یوبرد

زمان واقعی در میکروکنترلر و پردازنده های کوچک با FreeRTOS

آموزش میکروکنترلرهای ARM STM32 یوبرد

شروع بازی ST

آموزش طراحی PCB و نویز یوبرد

تجسم دنیای الکترونیک

آموزش زبان C و MISRA-C یوبرد

گام نخست دنیای میکروکنترلر

آموزش لحیم کاری و IPC-A-610 یوبرد

ساخت دنیای الکترونیک

آموزش آردوینو یوبرد

جادۀ آسفالت میکروکنترلر

آموزش ماژول های SIM800 یوبرد

تلفن همراه صنعت

آموزش زبان ++C و ++MISRA-C یوبرد

لمس شی گرایی در میکروکنترلرها

آموزش میکروکنترلرهای AVR یوبرد

شاهکار 8 بیتی Atmel

آموزش میکروکنترلرهای LPC یوبرد

یادگار فیلیپس

آموزش های شاخص

سفارش پروژه میکروکنترلر یوبرد

زیرساخت مطمئن صنعت

ضبط پیام صوتی

زمان هر پیام صوتی 4 دقیقه است