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

پس از مشاهده این دوره آموزشی نحوه ی استفاده و کاربردهای همه ی ابزارهایی که در برنامه نویسی میکروکنترلر ARM ازشون استفاده میشه رو یاد میگیرید و به برنامه نویسی میکروکنترلر های ARM مسلط میشید.

این دوره آموزشی برای حل مشکلات مشخصی طراحی شده:

 

  • آیا در زمان برنامه نویسی میکروکنترلر تسلط کافی ندارید و احساس میکنید بخش های زیادی از کد براتون ناشناخته است؟
  • آیا آموزش هایی که تا الان دیدید نتونسته اونجوری که میخواستید، مطلب رو بهتون یاد بده؟
  • آیا حجم زیاد مطالب شما رو سردرگم کرده و دنبال یک دوره آموزشی هستید که همه چیز رو بگه؟
  • آیا در شروع کار هستید و دوست دارید سریع یادبگیرید؟
برنامه نویسی میکروکنترلر کار پیچیده ایه و وقتی اول راهی پیشرفت سخت تره چون نمیدونی چی به چیه. تلاش میکنی، نتیجه نمیگیری، در نتیجش فرسوده و ناامید میشی. من اینجا کمکت میکنم سریع یادبگیری.
راه حل ها

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

 
  • به زبان سی و با استفاده از کتابخونه CMSIS یک برنامه در نرم افزار STM32CubeIDE مینویسه. 
  • با کامپایلر GCC برنامه رو به زبان ماشین ترجمه میکنه و برنامه در فلش میکروکنترلر STM32 نوشته میشه.
  • در محیط دیباگ اجرای دستورالعمل های اسمبلی ARM رو توسط سی پی یو cortex-m3 میبینه و کد رو دیباگ میکنه.

چجوری باید استفاده از این ابزارها رو یادگرفت؟

 

  1. رفرنس منوال ها رو می خونی که نحوه ی استفاده از ابزار رو یادبگیری.
  2. کاربردهای ابزار رو برای حل مسئله ها با تمرین یادمیگیری.

دوره جامع آموزش برنامه نویسی میکروکنترلر ARM همین فرایند رو برات لذت بخش تر و سریعتر میکنه. در این دوره همزمان با یادگیری کاربردهای ابزارها در عمل، در قالب بررسی مثال ها و case study ها، خوندن منابع اصلی رو هم آموزش میبینید. 

 

مثال محور: این دوره مثال محور یا case study محور هست. با یک مثال براتون معنیش رو میگم: در جلسه ی یونیون 5 تا از کاربرد های یونیون بررسی میشه به صورت طرح مسئله و سپس ارائه راه حل با یونیون. هر کدوم از این 5 کاربرد یا مثال یا case study یک پروژه کامل نیستند بلکه بخش های کوچک پروژه ها هستند. در این دوره با مثال یادمیگیرید با هر ابزار چه مسئله هایی رو میتونید حل کنید.

 

آموزش خوندن منابع اصلی : برای یادگیری نحوه ی عملکرد ابزار های استفاده شده در برنامه نویسی میکروکنترلر آرم منابع دسته اولی وجود داره که خود کسایی که ابزارها رو ساختن نوشتن. خوندن این منابع اولش برای همه گیج کننده و زمانبر هست ولی تو این دوره راحته چون همزمان با خوندن رفرنس منوال ها، دانشی که کسب کردیم رو در عمل پیاده سازی میکنیم و کاربردهاش رو بررسی میکنیم. 

این دوره آموزشی به شما رفرنس منوال خوندن هم یاد میده. مثلا اگر من به شما یاد بدم چجوری باید رفرنس منوال معماری CPU cortex-m3 رو بخونید، خودتون میتونید رفرنس منوال های معماری CPU های دیگه رو هم بخونید.

نظر دانشجویان

آرمان رضایی

هر چقدر میرم جلو خیلی جذاب تر میشه. خیلی ریز بهریز و با جزییات درس دادید مخصوصا زبان c رو حتی از استاد دانشگاه هم بهتر تدریس میکنید و واقعاً فن بیان قوی دارین.

علیرضا سلطانی

من 90 درصد آموزشای STM32 رو خریدم، هیچ کدومشون مثل آموزش شما نبود. جلسه آموزش بیت فیلد رو امروز دیدم تا حالا آموزش به این با کیفیتی ندیده بودم خیلی عالی بود.

ویدئوهای نمونه در یوتوب

قصد خرید دوره های آموزشی رو دارید؟

1- دریافت اطلاعات پرداخت با پیامک به شماره 09101710738 .

2-  پس از واریز وجه، لایسنس دوره (یک کد) در تلگرام برای شما ارسال میشه.

3- لایسنس رو در اسپات پلیر وارد کنید و دوره قابل مشاهده است.

4- در زمان مشاهده دوره برای رفع اشکال در تلگرام پیام بدید.

سرفصل ها

دوره آموزشی بصورت فایل های ویدئویی ضبط شده صفحه ی کامپیوتر هست با صدای مدرس. در کل دوره تدریس همراه با نوشتن و دیباگ کد های نمونه روی میکروکنترلر STM32F103C8  انجام میشه. تو این دوره همه چی از سطح صفر تدریس شده و پیشنیاز نداره. 

 

فصل اول : زبان سی | 6 ساعت

  • آشنایی با میکروکنترلر و datasheet میکروکنترلر stm32f103
  • زبان برنامه نویسی C 
  • آموزش نرم افزار STM32CubeIDE

فصل دوم : کامپایلر جی سی سی | 4 ساعت

  • تنظیمات کامپایل
  • متغیرهای fixed-point

فصل سوم : CMSIS و دسترسی به حافظه در زبان سی | 8 ساعت

  • رفرنس منوال STM32F103
  • ساخت پوینتر برای دسترسی به رجیسترها
  • استراکچر و CMSIS استاندارد
  • بیت فیلد در حافظه و کاربرد ها
  • یونیون و کاربردها
  • Alignment & packing

فصل چهارم : پریپراسسور | 3 ساعت

  • پریپراسسور دیرکتیوها
  • ماکرو و تابع

فصل پنجم : آرایه ها و اگوریتم ها | 5 ساعت

  • آرایه، رشته و الگوریتم های سرچ و سورت 
  • تابع پرینت اف و SWV

فصل ششم: پریفرال های پایه | 3 ساعت

  • پریفرال EXTI، RCC و NVIC با برنامه نویسی رجیستری بیت فیلد

فصل هفتم : فلش ، رم و لینکراسکریپت | 4 ساعت

  • نوشتن در فلش با رجیسترها 
  • بوت لودر STM32 
  • داینامیک مموری آلوکیشن 
  • لینکر اسکریپت و زبان لینکر کامند

فصل هشتم : اسمبلی آرم | 4 ساعت

  • inline اسمبلی 
  • منوال architecture arm v7 
  • اینستراکشن، انکودینگ، سودو کد و سودو فانکشن 
  • فلگ ها و رجیستر APSR و دستورات شرطی 
  • دستورات MOV, MVN, ADD, CMP همراه با شیفت ها 
  • اینستراکشن های Load و Store
  •  extended asm 
  • اینستراکشن های branch و push ، pop
ابزارهای برنامه نویس میکروکنترلر ARM


سازندگان ابزارهای برنامه نویسی میکروکنترلر ARM

معرفی منابع اصلی یادگیری برنامه نویسی سیستم های امبدد که در این دوره آموزشی با اونها آشنا میشید. 

GNU

سازنده کامپایلر GCC

ST

سازنده میکروکنترلر STM32

ARM

طراح CPU cortex-m3

Red Hat

نویسنده ی کتابخانه های استاندارد

 آموزش نرم افزار STM32CubeIDE

 
نرم افزار رایگان شرکت ST که محیط نوشتن و دیباگ برنامه رو برامون فراهم میکنه. STM32CubeIDE نسبت به keil امکانات بیشتر و محیط زیباتری داره.

منابع اصلی نرم افزار STM32CubeIDE :  

st_logo

STM32CubeIDE user guide

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

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

 
زبان سی، زبان برنامه نویسی سیستم عامل ها و میکروکنترلرها است، اگه نخوای اسمبلی بنویسی، بدون زبان سی هیچ کامپیوتری نمیتونه کار کنه. 
حالا چرا مهمترین کارها مثل برنامه سیستم عامل با زبان سی نوشته میشه؟
” چون زبان سی ساده طراحی شده و به اسمبلی نزدیکه ، با تمرین به راحتی میتونید با دیدن کد سی ، کد اسمبلی که کامپایلر مینویسه رو بفهمید.” 
 

منابع اصلی زبان برنامه نویسی سی : 

gnu

The GNU C Reference Manual

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

کتابخانه های استاندارد زبان سی

 
نحوه ی استفاده از توابعی مثل printf رو از رفرنس منوال های Red Hat میخونیم.
 

منابع اصلی زبان برنامه نویسی سی : 

redhat

Red Hat newlib C Library

کتابخانه های استاندارد زبان سی

آموزش عملی زبان اسمبلی آرم با STM32

 

همه ی برنامه نویسای میکروکنترلر برای پیدا کردن منشا ارورها و درک نحوه ی اجرای برنامه حداقل باید بتونن اسمبلی بخونن. 

برای اینکه برنامه نویس سی باشید باید اسمبلی بفهمید. 

منابع اصلی زبان اسمبلی آرم برای CPU cortex-m3 : 

arm

ARM®v7-M Architecture

راهنمای اینستراکشن های اسمبلی

gnu

Using as

راهنمای قواعد زبان اسمبلی

آموزش زبان لینکر کامند و فایل لینکراسکریپت

 

در همه ی پروژه ها یک فایل با پسوند .ld به نام لینکر اسکریپت وجود داره که با زبان برنامه نویسی لینکرکامند نوشته شده. این فایل ساختار حافظه رو مشخص میکنه. 

فایل لینکر اسکریپت بصورت خودکار به پروژه های ما اضافه میشه ولی برای بعضی کارها باید بتونیم تغییرش بدیم یا اگر نیاز بود از اول بنویسیمش.

منبع اصلی زبان لینکرکامند : 

gnu

Using ld

راهنمای زبان لینکرکامند

آموزش کامپایلر GCC

 

کامپایلر GCC، همون کامپایلر لینوکس، محبوب ترین کامپایلر سی در دنیا و رایگان هست. کامپایلر یک مجموعه ی نرم افزاری هست که فایل های پروژه های سی رو ورودی میگیره و فایل executable رو میسازه. در این دوره تنظیمات کامپایلر و امکاناتی که به زبان سی اضافه میکنه رو یادمیگرید.

  

منبع اصلی کامپایلر GCC : 

gnu

Using the GNU Compiler Collection

راهنمای کامپایلر GCC

gnu

The C Preprocessor

راهنمای پریپراسسور سی

آموزش میکروکنترلر STM32

 

کامپایلر GCC، همون کامپایلر لینوکس، محبوب ترین کامپایلر سی در دنیا و رایگان هست. کامپایلر یک مجموعه ی نرم افزاری هست که فایل های پروژه های سی رو ورودی میگیره و فایل executable رو میسازه.   

منبع اصلی کامپایلر GCC : 

gnu

Using the GNU Compiler Collection

راهنمای کامپایلر GCC

gnu

The C Preprocessor

راهنمای پریپراسسور سی

.If you think like a computer , writing in c makes sense
linus_t
لینوس توروالدز
نویسنده کرنل لینوکس
پیمایش به بالا