کتابخانه CMSIS بخش اول

در این نوشته قصد دارم در مورد کتابخانه های CMSIS صحبت کنم که اولین قدم در برنامه نویسی میکرو های ARM هستند.

کتابخانه CMSIS

مقدمه

همانند برنامه نویسی در سیستم عامل , برنامه نویسی سیستم های نهفته هم رو به پیچیدگی است . در حال حاضر بیشتر از هر زمانی توسعه دهندگان سیستم های نهفته از کد های شخص ثالث استفاده می کنند . کمپانی ARM کتابخانه CMSIS را که مخفف              Cortex Microcontroller Software Interface Standard هست را معرفی کرده است که اجازه برنامه نویسی با سرعت بیشتر را در صنعت میدهد .

مشخصات CMSIS

هدف اصلی CMSIS توسعه قابلیت انتقال و قابلیت دوباره استفاده کردن از کد نوشته شده میان میکروکنترلر های مختلف و ابزار های مختلف است .در نگاه ساده CMSIS باعث افزایش سرعت از طریق استفاده از توابع استاندارد است

خوبCMSIS دقیقا چی هست؟

CMSIS شامل ۵ مشخصه به هم پیوسته است که توسعه کد در میکروکنترلر های Cortex_M را پشتیبانی می کند .۴ تا از این مشخصه ها بدین صورت هستند : CMSIS core – CMSIS RTOS – CMSIS DSP – CMSIS SVD و CMSIS DAP

کتابخانه CMSIS

خوب CMSIS چی نیست ؟!!

CMSIS یک لایه پیچیده نیست که شما را مجبور به استفاده از یک کتابخانه بزرگ کند .CMSIS تلاشی برای ساده کردن پریفرال ها با ارائه روش استاندارد نمی کند تا از یک روش برای راه اندازی پریفرال های شرکت های مختلف استفاده کنید بلکه هسته CMSIS حجم خیلی کمی از منابع ( ۱ کیلوبایت از قسمت کد و ۴ بایت از RAM) را استفاده می کند و فقط روش دسترسی شما به CPU و رجیستر های آن را استاندارد می کند !

مطلب پیشنهادی:  آموزش میکروکنترلرهای LPC1768 جلسه هشتم: وقفه ها در LPC1768

CMSIS را میتوانید از سایت خود ARM دانلود کنید البته CMSIS در نرم افزار keil وجود دارد

خوب الان سعی می کنم در مورد CMSIS core و CMSIS DSP توضیح مختصری بدم و از توضیحات قسمت های دیگه صرف نظر کنم .

CMSIS core

قسمت core حداقل توابع و ماکرو ها رو برای دسترسی به رجیستر ها کلیدی CPU فراهم می کند . همچنین این قسمت یک تابع برای پیکربندی ساختار کلاک و اسیلاتور معرفی می کند پس زمانی که شما به تابع main() رسیدید میکرو آماده به کار است . در نهایت این قسمت اسم های رجیستر های هر پریفرال را استاندارد می کند .

بد نیست اگر یه سری به داخل این فایل ها بزنید و نحوه دسترسی به رجیستر ها و پریفرال ها رو ببینید 😉

CMSIS DSP

قسمت(DSP(digital signal controller در میکرو های سری Cortex_M4 برای پشتیبانی از الگوریتم های پردازش سیگنال قرار داده شده است . برای کمک به استفاده از الگوریتم های پردازش سیگنال , CMSIS شامل کتابخانه ای می شود که بیش از ۶۰ تا از متداول ترین توابع ریاضی پردازش سیگنال را شامل می شود . در مورد این بخش سعی می کنم بعدا آموزشی رو بذارم.

اینم از توضیح مقدماتی در مورد این کتابخونه در قسمت بعدی سعی می کنم در مورد قوانین به کار رفته در نحوه تعریف توابع و ماکرو ها و در بخش آخر در مورد ساختار این کتابخانه و نحوه استفاده از ماکرو های آن صحبت می کنم.

مطلب پیشنهادی:  کتاب مرجع کاربردی میکروکنترلر های ARM

امیدوارم مطلب بتونه درک کمی در مورد نحوه برنامه نویسی این میکرو ها بهتون بده.

این مطالب را هم بخونید::

آموزش میکروکنترلرهای LPC1768 جلسه چهارم: معرفی CMSIS

درباره ی علیرضا صادقی

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *