راه اندازی LPC1768 با استفاده از CMSIS

blog
۱۳۹۷-۰۸-۰۷
5 دقیقه

راه اندازی LPC1768 با استفاده از CMSIS :

CMSIS که اختصار عبارت (Cortex Microcontroller Software Interface Standard) است، در واقع پاسخی است برای نیازهایی که هنگام گسترش نرم افزار در برخورد با میکروکنترلرهای با هسته های Cortex ایجاد می شود. CMSIS برای پردازشگرهای با هسته CORTEX-M که در آینده ایجاد خواهند شد نیز گسترش خواهد یافت. CMSIS همکاری گسترده و قوی با تولید کننده های مختلف تجهیزات سیلیکونی و نرم افزاری دارد و یک نگرش مشترک برای ارتباط با دستگاه های جانبی، سیستم عامل ها و تجهیزات واسط ایجاد می کند.

CMSIS برای یک سیستم میکروکنترلی با هسته CORTEX-M بدین صورت تعریف می شود:

  • یک راه مشترک و یکسان برای دسترسی به رجیسترها است و راه همگون برای مشخص کردن بردار های exception می باشد.
  • اسم رجیسترهای هسته و نام بردارهای exception هسته را معین می کند.
  • یک واسط بدون وابستگی به دستگاه، برای کرنل های RTOS ایجاد می کند.

با استفاده از CMSIS کاربر می تواند به راحتی از کدهای یک بار نوشته شده برای هسته های متفاوت دو مرتبه استفاده کند.

بخش های مختلف CMSIS

پس از باز کردن فولدر LPC17xx.cmsis.driver.library با چند قسمت مختلف روبرو خواهیم بود که عبارتند از:

  • Core : این فولدر شامل برنامه های اصلی مربوط به هسته ای است که از آن استفاده می کنیم.
  • Drivers : این فولدر شامل تمام هدر ها و سورس های مورد نیاز برای امکانات جانبی میکروکنترلر LPC1768 می باشد.
  • Examples : این فولدر شامل مثال های متنوع از همه امکانات جانبی میکروکنترلر می باشد که برای آشنایی بیشتر با نحوه برنامه نویسی CMSIS ایجاد شده است.
  • LPC1700 Peripheral Driver Library Manual : فایل Help برای آشنایی با کلیه قسمت های CMSIS است.

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

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

در این بخش یک برنامه ساده ایجاد می کنیم و با نحوه استفاده از نرم افزار KEIL uVision 4 آشنا می شویم. برای این منظور مراحل زیر را به ترتیب طی خواهیم کرد:

  1. برنامه KEIL uVision 4 را باز کرده و از منوی Project گزینه New uVision Project را انتخاب می کنیم و در پنجره ای که باز خواهد شد مسیر مناسب برای ذخیره پروژه را به آن می دهیم و با برگزیدن نام مناسب ( firstProject)، بر روی Save کلیک می کنیم.

 

ایجاد پروژه جدید در نرم افزار keil

ایجاد پروژه جدید در نرم افزار keil

2. پس از ذخیره پروژه از پنجره “Select Device for Target “Target 1 که بصورت خودکار باز خواهد شد، LPC1768 را که در زیر شاخه (NXP (founded by Philips قرار دارد، انتخاب می کنیم و OK را می زنیم.

ایجاد پروژه جدید در نرم افزار keil

ایجاد پروژه جدید در نرم افزار keil

3. در پنجره ای که باز خواهد شد (پنجره uVision) بر روی NO کلیک می کنیم.

ایجاد پروژه جدید در نرم افزار keil

4. از قسمت Project با زدن کلید F2 بر روی Target 1، نام firstProject را به شاخه می دهیم. همچنین نام Source group1 را به Startup تغییر می دهیم.

5. از مسیر زیر فایل s مربوط به CMSIS را به پروژه اضافه می کنیم.

 

توجه کنید که اگر فایل مورد نظر را نمی توان دید، از قسمت Files of type گزینه (*.*) All files را برگزینید.

ایجاد پروژه جدید در نرم افزار keil

6. مجدداً در پنجره Project بر روی firstProject کلیک راست کرده و گزینه Add Group را انتخاب کنید تا دسته جدیدی به پروژه اضافه شود و نام آن را CMSIS بدهید.

ایجاد پروژه جدید در نرم افزار keil

7. در این قسمت می خواهیم کلیه فایل ها را به پروژه اضافه کنیم، هرچند انجام این کار روش های منطقی دیگری نیز دارد اما برای اینکه ساده ترین روش ممکن را ارایه کرده باشیم چنین عمل می کنیم:

در مسیری که پروژه را ایجاد کرده ایم یک فولدر جدید به نام CMSIS Drivers ایجاد می کنیم و تمام فایل های زیر که مسیر آنها مشخص شده است را در این فولدر کپی می کنیم:

…\lpc17xx.cmsis.driver.library\Core\CM3\CoreSupport\همه فایل های این فولدر

…\lpc17xx.cmsis.driver.library\Core\CM3\DeviceSupport\NXP\LPC17xx\همه فایل های این فولدر

…\LPC1768FBD100\lpc17xx.cmsis.driver.library\Drivers\include\همه فایل ها

…\LPC1768FBD100\lpc17xx.cmsis.driver.library\Drivers\source\ همه فایل ها

ایجاد پروژه جدید در نرم افزار keil

8. بر روی “CMSIS از پنجره Project کلیک راست کرده و گزینه “Add Files to Group “CMSIS را انتخاب می کنیم.

ایجاد پروژه جدید در نرم افزار keil

در پنجره ای که باز خواهد شد به فولدر CMSIS Drivers که در مرحله 7 ایجاد کردیم رفته و همه فایل های این فولدر را به پروژه اضافه می کنیم.

توجه : شاید برای شما این سوال ایجاد بشه که همه این سورس ها و هدر ها که در برنامه استفاده نمی شود و با این کار حجم کدهای برنامه افزایش می یابد، آیا انجام این کار ضرورتی دارد؟

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

9. بر روی firstProject کلیک راست کرده و گزینه Add Group را انتخاب کرده و نام این گروه جدید را Main می نامیم که شامل برنامه ای خواهد شد که خواهیم نوشت.

10. از منوی File گزینه New را انتخاب می کنیم و پس از آن از منوی File گزینه Save As را انتخاب کرده و نام c را به فایل می دهیم و در فولدر پروژه ذخیره می کنیم.

11. بر روی شاخه Main کلیک راست کرده و گزینه Add Files to Group ‘Main’ را انتخاب کرده و فایل c را به پروژه اضافه می کنیم.

12. تا اینجا حداقل کارهای لازم برای هر پروژه ای انجام شد، در این مرحله باید برنامه مورد نظر را در فایل c بنویسیم و برنامه را کامپایل کنیم. پس از نوشتن کدهای مورد نظر که بصورت زیر است باید برنامه را کامپایل کنیم.

 

در این برنامه یکی از پایه های میکروکنترلر به صورت خروجی تعریف می گردد که از دستورات GPIO مربوط به کتابخانه CMSIS می باشد که در آینده بطور مفصل در این باره سخن خواهیم گفت.

13. پس از نوشتن کدهای مورد نظر از منوی Project گزینه Build target را انتخاب می کنیم یا کلید F7 را می زنیم. خواهیم دید برنامه بدون Error کامپایل می گردد.

 

تا اینجا یک پروژه ساده را با ساده ترین روش ها آموزش دادیم، در قسمت های بعدی هر کدام از قسمت های میکروکنترلر با استفاده از بخش های CMSIS را توضیح خواهیم داد.

 

 

 

اطلاعات
2
0
لینک و اشتراک
profile

electronic girl

متخصص الکترونیک

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

مقالات بیشتر
slide

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند. فروش در پالت
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد. جستجو در آیسی
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند. پرسش در سیسوگ فرم
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
خانواده سیسوگ

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند.
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد.
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند.
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

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

دیدگاه ها

profile
حسن گفت :
۱۳۹۷-۰۹-۲۶ ۰۴:۱۹

اگه ممکنه ورژن ۵ کیل و یه نگاه بندازید

profile
زئوس Zeus گفت :
۱۳۹۷-۰۹-۲۸ ۰۹:۵۴

کیل 5 رو با توجه به مشکلی که با J-Link کرک شده داره ؛ سراغش نرفتیم ولی در نهایت فرق چندانی با عمین 4 نداره تنها باید PAck مربوطه رو هم نصب کنید

become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله