آموزش میکروکنترلر STM32
در این مقاله ابتدا به بررسی میکروکنترلر stm32f103 و سپس ساخت یک پروژه جدید با استفاده از کتابخانه های CMSISبرای این میکروکنترلر در محیط کامپایلرهای Keil و IAR پرداخته و سپس برنامه خود را با استفاده از پروگرامر و دیباگر ST-Link پروگرام و دیباگ مینماییم
مقدمه :
در ابتدا این مقاله به بررسی میکروکنترلر های ARM از سری STM32 شرکت STM خواهیم پرداخت و سپس با کامپایلر های Keil و IAR آشنا میشویم و سپس با کتابخانه های متن باز و رایگان CMSIS که توسط شرکت ARM برای سهولت در استفاده از میکروکنترلر های ARM ارایه شده اند آشنا میشویم و سپس یک پروژه جداد برای میکروکنترلر های سری STM32f103 ساخته و کامپایل مینماییم و در انتها برنامه خود را پروگرام و دیباگ مینماییم.
خانواده STM32 آن دسته از میکروکنترلر ها ، که دارای هسته ای 32 بیتی برای پردازش دستورات با طراحی هسته Cortex-M می باشند.این میکروکنترلر ها دارای عملکردی بسیار مطلوب و قابل قبول در محیط های صنعتی و دارای واحد های پردازش سیگنال در کنار مصرف توان بسیار پایین و عملکرد برای سیستم های دارای زمان واقعی (Real Time) میباشند.استفاده و کاربری از این خانواده از میکروکنترلر ها به سبب سادگی و در دسترس بودن مدل های مختلف سبب آن شده است که در بسیاری از پروژهای کوچک و بزرگ مورد استفاده فراوان قرار گیرند.
این خانواده از میکروکنترلر ها با توجه طراحی معماری آنها با هسته Cortex-M به صورت کامل از کتابخانه های CMSIS که به صورت درایورهای واحد های میکروکنترلر (Peripherals) می باشند پشتیبانی میشوند.
شرکت STM سری STM32 خود را با هسته های Cortex-M0 ,Cortex-M3,Cortex-M4,Cortex-M7 ارائه نموده است.
میکروکنترلری که ما قصد آموزش کار با آن را داریم از سری STM32f103 میباشد که دارای هسته Cortex-M3 با حداکثر فرکانس کاری 72 مگاهرتز میباشد.
کتابخانه های (CMSIS (Cortex Microcontroller Software Interface Standard به صورت کامل تمامی بخشهای این میکروکنترلر را پشتیبانی می نمایند و برای هر بخش درایور مخصوص آن وجود دارد.
با توجه به اینکه کتابخانه های CMSIS توسط شرکت ARM ارائه شده اند در صورتی که کار با این کتابخانه ها را به درستی یاد بگیریم با هر میکروکنترلری که با هسته Cortex-M ساخته شده باشد به راحتی میتوانیم کار کنیم البته دراین مقاله تمرکز ما بر روی کار با خانوادهای STM32 با استفاده از کتابخانه های CMSIS میباشد.
برای تبدیل کد های نوشته شده از زبان برنامه نویسی C/C++ به کد ماشین نیازمند یک کامپایلر میباشیم که برای میکروکنترلر های ARM سه کامپایلر معروف Keil,IAR,GCC وجود دارد که تنها کامپایلر GCC به صورت رایگان و بدون محیط برنامه نویسی(IDE) می باشد و دوکامپایلر دیگر به صورت لایسنس دار و دارای (IDE) هستند.