دوره آموزشی
آموزش های یودمی
دوبله زبان فارسی

آموزش کامل برنامه‌نویسی Bare-Metal برای ARM Cortex-M (TM4C123)

آموزش کامل برنامه‌نویسی Bare-Metal برای ARM Cortex-M (TM4C123)

✅ سرفصل و جزئیات آموزش

آنچه یاد خواهید گرفت:

  • توانایی نوشتن سفت‌افزار با استفاده از embedded-C بدون نیاز به سیستم‌ عامل
  • نوشتن برنامه‌های تعبیه شده صرفاً با استفاده از اشاره‌گرها و آدرس‌های حافظه
  • نوشتن برنامه‌های تعبیه شده حرفه‌ای‌تر و بهینه‌تر
  • درک معماری Cortex-M
  • درک معماری بارگذاری-ذخیره (Load-Store)
  • درک اشکال‌زدایی ARM Cortex-M
  • نوشتن درایورهای UART با کد اسمبلی
  • درک کامل هسته CMSIS
  • نوشتن سفت‌افزار صرفاً با embedded-C بدون نیاز به سیستم‌ عامل
  • نوشتن درایورهای تایمر با کد اسمبلی
  • نوشتن درایورهای وقفه با embedded-C بدون سیستم‌ عامل
  • نوشتن درایورهای تبدیل آنالوگ به دیجیتال (ADC) به صورت bare-metal با embedded-C

پیش‌نیازهای دوره

  • از محیط توسعه و ابزارهای Keil uVision 5 استفاده خواهیم کرد که رایگان است.
  • این دوره نیازی به دانش قبلی درباره توسعه Cortex-M ندارد.
  • به برد TIVA C Launchpad - TM4C123 نیاز خواهید داشت.

توضیحات دوره

به دوره برنامه‌نویسی کامل Bare-Metal برای ARM Cortex-M (TM4C123) خوش آمدید.

این دوره نیازمند هیچ دانش قبلی در زمینه cortex-m یا برنامه‌نویسی embedded-c نیست.

تنها چیزی که از دانشجویان انتظار می‌رود، کنجکاوی است. این دوره رویکردی عملی دارد و مباحث کلیدی مانند اشاره‌گرها، ساختارها، ناوبری حافظه و استاندارد رابط نرم‌افزاری Cortex-M را پوشش می‌دهد. هدف اصلی دوره فراهم کردن مهارت‌های عملی و پایه‌ای قوی برای یادگیرندگان است تا بتوانند کدهای حرفه‌ای بنویسند که به صورت بهینه اجرا شوند و از ویژگی‌های مهم اکوسیستم ARM Cortex-M بهره برند. این دوره شامل بخش‌های متعددی است.

هدف بخش اسمبلی مربوط به بخش‌های جانبی آموزش نحوه ناوبری دفترچه راهنمای مرجع میکروکنترلر و دیتاشیت به منظور استخراج اطلاعات صحیح برای ساخت حرفه‌ای درایورها و سفت‌افزار برای بخش‌های جانبی است. برای رسیدن به این هدف، هیچ کتابخانه‌ای در این دوره استفاده نمی‌شود و صرفاً از زبان اسمبلی ARM و bare-metal embedded C بهره می‌بریم.

در پایان این بخش، شما قادر خواهید بود بخش‌های جانبی میکروکنترلر مانند ADC ،UART ،GPIO، تایمر و غیره را با اسمبلی پیکربندی کنید. همچنین معماری ARM، معماری مجموعه دستورالعمل‌ ARM و نحوه ساخت سفت‌افزار حرفه‌ای تعبیه شده برای پردازنده‌های ARM را کاملاً خواهید آموخت.

در دوره شرکت کرده و بیایید شروع به تاگل کردن بیت‌های رجیستر کنیم.

این دوره برای چه کسانی مناسب است؟

  • اگر در سیستم‌های تعبیه‌ شده کاملاً مبتدی هستید، این دوره مناسب شماست.
  • اگر توسعه‌دهنده باتجربه سیستم‌های تعبیه‌ شده هستید و می‌خواهید اپلیکیشن‌های حرفه‌ای برای پردازنده‌های ARM توسعه دهید، این دوره مناسب شماست.
  • اگر می‌خواهید یاد بگیرید چگونه درایورهای بخش‌های جانبی را با زبان اسمبلی و bare-metal C بنویسید، این دوره را انتخاب کنید.

آموزش کامل برنامه‌نویسی Bare-Metal برای ARM Cortex-M (TM4C123)

  • خوش‌آمدگویی 00:46
  • فلسفه طراحی RISC 03:43
  • فلسفه طراحی ARM 03:06
  • سیستم‌های تعبیه‌ شده با پردازنده‌های ARM 03:11
  • فناوری گذرگاه ARM و پروتکل گذرگاه AMBA 02:14
  • حافظه 07:57
  • بخش‌های جانبی 02:23
  • معماری فون نویمان و هاروارد 03:46
  • کش و حافظه با اتصال تنگاتنگ (TCM) 03:40
  • افزونه‌های مدیریت حافظه 02:29
  • افزونه‌های هم‌پردازنده 01:18
  • تایپ‌های داده‌ 02:51
  • حالت‌های پردازنده 05:22
  • جدول بردار ARM7TDMI 02:22
  • رجیسترهای ARM7TDMI 07:52
  • رجیسترهای ARM Cortex-M 04:35
  • جدول بردار ARM Cortex-M 01:10
  • مدل جریان داده ARM 03:44
  • پایپ‌لاین 04:08
  • خانواده پردازنده ARM 01:55
  • معرفی ARM Cortex-A و Cortex-R 01:42
  • ARM Cortex-M 01:31
  • ARM Cortex-M چیست؟ 01:00
  • پردازنده‌های 32 بیتی چه هستند؟ 01:59
  • خانواده پردازنده‌های 32 بیتی Cortex-M 02:53
  • مقایسه میکروپروسسور و میکروکنترلر 01:40
  • آشنایی با ARM Cortex-M None
  • معماری بارگذاری-ذخیره 04:02
  • بانک رجیسترها (دوباره) 02:52
  • رجیستر وضعیت برنامه (PSR) 03:13
  • معماری Cortex-M None
  • شمارش 06:12
  • نگاهی اولیه به View اشکال‌زدایی 02:36
  • Views حافظه 02:50
  • تغییرات در View 06:16
  • نسخه دوم شمارش 03:00
  • شرطی‌ها چگونه رفتار می‌کنند؟ 07:35
  • شرطی‌ها چگونه رفتار می‌کنند؟ (ادامه) 01:55
  • نقشه حافظه Cortex-M 01:47
  • نقشه حافظه Cortex-M (ادامه) 02:04
  • مقایسه Big Endian و Little Endian 04:46
  • متغیرهای گلوبال و ذخیره‌سازی RAM 06:32
  • اجزای داخلی ARM Cortex-M و اشکال‌زدایی None
  • معماری مجموعه دستورالعمل 02:42
  • سازگاری رو به بالا 02:57
  • سینتکس زبان اسمبلی 03:37
  • دایرکتیوهای اسمبلی 03:27
  • بررسی TM4C123 Tiva C LaunchPad 02:36
  • بررسی پروژه 1 05:04
  • Opcodes پروژه 1 09:33
  • بازبینی کد منبع پروژه 1 00:46
  • کدنویسی - راه‌اندازی پروژه 1 06:36
  • کدنویسی - پروژه 1 - بخش 1 04:25
  • کدنویسی - پروژه 1 - بخش 2 06:31
  • کدنویسی - پروژه 1 - بخش 3 06:33
  • عملیات‌های منطقی 11:44
  • کدنویسی - پروژه 1 - بخش 4 05:34
  • کدنویسی - پروژه 1 - بخش نهایی 11:11
  • Opcodes پروژه 2 07:27
  • کدنویسی - پروژه 2 - بخش 1 20:44
  • کدنویسی - پروژه 2 - بخش 2 19:03
  • کدنویسی - پروژه 3 - بخش 1 04:13
  • کدنویسی - پروژه 3 - بخش 2 02:30
  • کدنویسی - پروژه 3 - بخش 3 04:54
  • کدنویسی - پروژه 3 - بخش نهایی 01:16
  • اکسپورت تابع اسمبلی به زبان C 14:01
  • ایمپورت تابع C به اسمبلی 11:37
  • ساخت متغیرها در اسمبلی 14:00
  • لیست کامل دستورالعمل‌های اسمبلی Cortex-M 01:33
  • اشاره‌گرها 04:13
  • اشاره‌گرها - دراپ کردن BEEF در حافظه 05:05
  • برنامه Blinky با اشاره‌گرها و آدرس‌ خام - بخش 1 09:18
  • برنامه Blinky با اشاره‌گرها و آدرس خام - بخش 2 14:18
  • برنامه Blinky با اشاره‌گرها و آدرس خام - بخش 3 06:44
  • استفاده از پیش‌پردازنده‌ها 04:22
  • استفاده از پیش‌پردازنده‌ها از دیتاشیت 01:55
  • افزودن فایل‌های هدر تأمین‌کنندگان سیلیکون 08:37
  • اهمیت کلیدواژه volatile 03:54
  • اهمیت کلیدواژه volatile (ادامه) 01:07
  • آشنایی با عملیات‌های بیتی 06:23
  • اعمال عملیات‌های بیتی 04:22
  • اعمال عملیات‌های بیتی (ادامه) 09:54
  • نوشتن توابع 05:18
  • پارامترهای تابع 02:59
  • ایمپورت توابع از فایل دیگر 06:04
  • استفاده از IFNDEF برای جلوگیری از اعلان چندباره 03:28
  • اعلان متغیرهای با عرض ثابت 14:34
  • آشنایی با ساختارها 07:13
  • ساد‌سازی ساختارها با typedef 09:14
  • دسترسی به اعضای ساختار با عملگر نقطه 03:23
  • دسترسی به اعضای ساختار با عملگر نقطه (ادامه) 09:27
  • آشنایی با CMSIS 04:17
  • بررسی مستندات CMSIS 06:06
  • نوشتن اولین برنامه CMSIS ما 04:50
  • درک نحوه عملکرد CMSIS 05:43
  • درک نحوه عملکرد CMSIS (ادامه) 04:16
  • درک نحوه عملکرد CMSIS (بخش نهایی) 02:38
  • انطباق برنامه قدیمی Blinky ما با CMSIS 05:58
  • نوشتن برنامه‌ای منطبق با CMSIS از ابتدا - بخش 1 09:52
  • نوشتن برنامه‌ای منطبق بر CMSIS از ابتدا - بخش 2 12:55
  • نوشتن برنامه‌ای منطبق بر CMSIS از ابتدا - بخش 3 10:11
  • بررسی ماژول ورودی و خروجی عمومی ARM Cortex-M 12:34
  • کدنویسی - درایور GPIO 34:54
  • کدنویسی - درایور ورودی GPIO 10:56
  • کدنویسی - آنلاک کردن پین‌های GPIO 11:43
  • آشنایی با برنامه‌نویسی LCD 04:38
  • LCD Pinout و رابط آن با MCU 03:14
  • کنترل LCD 03:47
  • فلوچارت برنامه اولیه LCD 02:14
  • تابع مقداردهی اولیه LCD 02:26
  • توابع فرمان و داده LCD 02:41
  • شبه توابع تأخیر 01:29
  • کدنویسی - برنامه LCD - بخش 1 15:07
  • کدنویسی - برنامه LCD - بخش 2 17:43
  • کدنویسی - برنامه LCD - بخش 3 09:07
  • کدنویسی - برنامه LCD - بخش 4 03:09
  • کدنویسی - برنامه‌نویسی LCD با 4 بیت - بخش 1 04:48
  • تابع نوشتن 4 بیتی LCD 10:44
  • کدنویسی - برنامه‌نویسی LCD با 4 بیت - بخش 1 15:07
  • کدنویسی - برنامه‌نویسی LCD با 4 بیت - بخش 2 13:10
  • کدنویسی - برنامه‌نویسی LCD با 4 بیت - بخش 3 03:31
  • کدنویسی - برنامه‌نویسی LCD با 4 بیت - بخش 4 02:22
  • رابط کاربری با صفحه‌کلیدها 03:24
  • کدنویسی - برنامه‌نویسی صفحه‌کلید - بخش 1 06:59
  • کدنویسی - برنامه‌نویسی صفحه‌کلید - بخش 2 16:50
  • کدنویسی - برنامه‌نویسی صفحه‌کلید - بخش 3 14:17
  • کدنویسی - برنامه تایمر SysTick - بخش 1 08:15
  • تایمر SysTick 05:43
  • کدنویسی - برنامه تایمر SysTick 1 - بخش 2 05:09
  • تایمرهای عمومی 04:58
  • اندازه تایمر بر حسب ثانیه 04:58
  • رجیسترهای GPTM 03:27
  • کدنویسی - برنامه‌نویسی تایمرها در حالت 16 بیتی یکبار اجرا - بخش 1 08:28
  • کدنویسی - برنامه‌نویسی تایمرها در حالت 16 بیتی یکبار اجرا - بخش 2 13:27
  • کدنویسی - برنامه‌نویسی تایمرها در حالت دوره‌ای 16 بیتی - بخش 1 15:56
  • کدنویسی - برنامه‌نویسی تایمرها در حالت دوره‌ای 16 بیتی - بخش 2 02:11
  • کدنویسی - شمارش لبه‌های صعودی با تایمرها - بخش 1 07:22
  • کدنویسی - شمارش لبه‌های صعودی با تایمرها - بخش 2 07:10
  • کدنویسی - شمارش لبه‌های صعودی با تایمرها - بخش 3 13:53
  • اندازه‌گیری زمان بین رویدادها با تایمرها - بخش 1 03:53
  • اندازه‌گیری زمان بین رویدادها با تایمرها - بخش 2 15:24
  • اندازه‌گیری زمان بین رویدادها با تایمرها - بخش 3 14:10
  • اندازه‌گیری زمان بین رویدادها با تایمرها - بخش 4 13:44
  • اندازه‌گیری زمان بین رویدادها با تایمرها - بخش 5 07:10
  • کدنویسی - برنامه‌نویسی تایمرهای 32 و 64 بیتی 08:57
  • آشنایی با وقفه‌ها 05:55
  • کدنویسی - وقفه Systick 06:47
  • کدنویسی - وقفه GPIO 16:34
  • کدنویسی - وقفه‌های متعدد GPIO 07:43
  • کدنویسی - برنامه‌نویسی وقفه تایمر - بخش 1 03:51
  • کدنویسی - برنامه‌نویسی وقفه تایمر - بخش 2 21:16
  • آشنایی با تبدیل آنالوگ به دیجیتال 04:02
  • کدنویسی - درایور ADC 19:42
  • کدنویسی - سنسور دمای ADC 10:47
  • آشنایی با رابط جانبی سریال SPI 06:32
  • رجیسترهای کلیدی SPI 04:30
  • کدنویسی - توسعه درایور ساده SPI 20:38
  • کدنویسی - توسعه درایور رابط SPI برای LCD - بخش 1 24:03
  • کدنویسی - توسعه درایور رابط SPI برای LCD - بخش 2 08:48
  • کدنویسی - توسعه درایور رابط SPI برای LCD - بخش 3 15:59
  • بررسی ماژول ورودی و خروجی عمومی ARM Cortex-M 12:34
  • کدنویسی - تخصیص نام‌های نمادین به رجیسترهای خروجی GPIO مربوطه 43:12
  • کدنویسی - نوشتن درایور خروجی GPIO 17:04
  • کدنویسی - تاگل کردن خروجی‌های GPIO 08:46
  • کدنویسی - تخصیص نام‌های نمادین به رجیسترهای ورودی مربوط به GPIO 10:41
  • کدنویسی - نوشتن درایور ورودی GPIO 14:27
  • بررسی تایمر System Tick 04:05
  • کدنویسی - تخصیص نام‌های نمادین به رجیسترهای مربوط به SysTick 14:46
  • کدنویسی - نوشتن درایور تایمر SysTick 08:06
  • کدنویسی - ساخت ساب روتین‌های تأخیر با تایمر SysTick 19:41
  • بررسی پروتکل UART 05:29
  • کدنویسی - تخصیص نام‌های نمادین به رجیسترهای UART مرتبط 37:09
  • کدنویسی - نوشتن درایور UART 21:40
  • کدنویسی - تست درایور UART 11:26
  • دانلود و نصب Keil uVision5 06:32
  • دانلود و نصب درایورهای USB برای میکروکنترلر Tiva C 03:51
  • بررسی Keil uVision 5 03:10

8,815,000 1,763,000 تومان

مشخصات آموزش

آموزش کامل برنامه‌نویسی Bare-Metal برای ARM Cortex-M (TM4C123)

  • تاریخ به روز رسانی: 1404/06/21
  • سطح دوره:همه سطوح
  • تعداد درس:178
  • مدت زمان :22:19:41
  • حجم :9.02GB
  • زبان:دوبله زبان فارسی
  • دوره آموزشی:AI Academy

آموزش های مرتبط

The Great Courses
4,535,500 907,100 تومان
  • زمان: 11:29:01
  • تعداد درس: 27
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
1,994,500 398,900 تومان
  • زمان: 05:03:44
  • تعداد درس: 43
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
8,558,000 1,711,600 تومان
  • زمان: 21:40:57
  • تعداد درس: 118
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
490,000 98,000 تومان
  • زمان: 36:32
  • تعداد درس: 7
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
2,593,500 518,700 تومان
  • زمان: 06:34:41
  • تعداد درس: 47
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
2,027,500 405,500 تومان
  • زمان: 05:08:16
  • تعداد درس: 96
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
4,522,500 904,500 تومان
  • زمان: 11:27:53
  • تعداد درس: 98
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
3,370,500 674,100 تومان
  • زمان: 08:32:43
  • تعداد درس: 19
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
500,000 100,000 تومان
  • زمان: 01:16:10
  • تعداد درس: 14
  • سطح دوره:
  • زبان: دوبله فارسی

آیا سوالی دارید؟

ما به شما کمک خواهیم کرد تا شغل و رشد خود را افزایش دهید.
امروز با ما تماس بگیرید