ساخت پروژه در Keil در نسخه های جدید این نرم افزار، لازمه اش نصب پک های مربوط به میکروکنترلرهاست. در نسخه های قدیمی تر، فایل های مربوط به میکروکنترلرها را پس از نصب، اضافه می کردیم. و در این صورت فضایی که نرم افزار اشغال می کرد، بیشتر می شد. اما در نسخه های جدیدتر، با اتصال به اینترنت، تنها پک های میکروکنترلرهای مورد نیاز را نصب می کنیم. در این صورت فضایی که نرم افزار از حافظۀ کامپیوتر اشغال می کند، کمتر می شود. همچنین می توان در صورت نیاز، با اتصال به اینترنت، پک ها را نصب و آپدیت کرد. در این نوشته ابتدا به طور خلاصه، نرم افزار Keil را معرفی می کنیم و می بینیم که نرم افزار Keil چیست. سپس به نصب نرم افزار Keil می پردازیم و در نهایت با نحوۀ ایجاد پروژه در نرم افزار Keil آشنا می شویم.
نرم افزار Keil یا Keil MDK یا MDK (مخفف Microcontroller Development Kit) که ساخت شرکت Keil است، برای توسعۀ طیف وسیعی از میکروکنترلرهای ARM Cortex-M و میکروکنترلرهای دیگر است. این نرم افزار شامل یک IDE است که µVision IDE نام دارد. همچنین شامل محیط ویرایشگر کد، پروگرامر و دیباگر، شبیه ساز، کامپایلر و … است. و این امکان را به کاربر می دهد که به راحتی بتواند برای میکروکنترلرها برنامه نویسی کند. نرم افزار Keil از بیش از 9000 قطعه پشتیبانی می کند. این نرم افزار را بیشتر برای برنامه نویسی میکروکنترلرهای ARM به کار می گیریم. اما علاوه بر میکروکنترلرهای ARM Cortex-M، از همۀ میکروکنترلرهای 8051 و 80251 و میکروکنترلرهای C166 و XC166 و XC2000 پشتیبانی می کند. ویدئوی زیر، نحوۀ نصب نرم افزار Keil و فعال سازی آن است.
نکته: قبل از شروع به نصب نرم افزار، آنتی ویروس را غیر فعال کنید.
فیلم آموزش میکروکنترلرهای AVR مقدماتی
ویدئوی 1 – نحوۀ نصب نرم افزار Keil
اضافه کردن میکروکنترلر به Keil در پنجرۀ Pack Installer
برای ساخت پروژه در Keil، باید از پنجرۀ Pack installer، پک های مربوط به میکروکنترلر مورد نظر را نصب کنیم. برای این کار ابتدا از اتصال به اینترنت اطمینان حاصل می کنیم. سپس روی آیکون Pack installer کلیک می کنیم (1). در پنجرۀ باز شده صبر می کنیم تا لیست آپدیت شود (2). سپس از تب Devices در قسمت Search میکروکنترلر مورد نظر را جست و جو می کنیم (3). در نتایج به دست آمده، روی آن کلیک می کنیم (4). در سمت راست از تب Packs، پک های مورد نیاز را در صورتی که نصب نیستند، نصب می کنیم (5). در صورتی هم که نصب هستند و آپدیت نیستند، می توانیم آنها را آپدیت کنیم (5). پس از آپدیت وضعیت آنها در ستون Action به صورت Up to date در می آید. در نهایت می توانیم پنجرۀ Pack installer را ببندیم (6). پس از آن ممکن است پنجرۀ دیگری باز شود، مبنی بر این که آیا پک جدید اضافه یا آپدیت شود یا خیر. که آن را تأیید می کنیم.
نکته: پک های مورد نیاز ساخت پروژه در نرم افزار Keil برای کدنویسی میکروکنترلرهای STM32 به صورت تصویر زیر است. برای میکروکنترلرهای LPC17xx هم به صورت تصویر زیر است. اما برای این میکروکنترلرها، پک با انتهای نام BSP وجود ندارد و تنها پک با انتهای نام DFP وجود دارد.
تصویر 1 – پنجرۀ Pack installer و اضافه کردن میکروکنترلر به Keil پیش از ساخت پروژه در Keil
ساخت پروژه در Keil
در این قسمت برای توضیح ایجاد پروژه در Keil، به ساخت پروژه STM32 در Keil می پردازیم. ساخت پروژه LPC در Keil و در کل، بقیۀ میکروکنترلرها هم به همین صورت است که در ادامه می بینیم. از منوی Project روی New uVision Project کلیک می کنیم (1). در پنجره ای که باز می شود، نام و محل ذخیرۀ پروژه را تعیین و پروژه را ذخیره می کنیم (2 و 3). سپس پنجرۀ انتخاب میکروکنترلر باز می شود. در بخش جست و جوی آن، میکروکنترلر مورد نظر خود را جست و جو می کنیم (4). آن را انتخاب و سپس روی OK کلیک می کنیم (5 و 6). در پنجرۀ Manage Run-Time Environment بخش های CMSIS و Device را باز می کنیم. و در این بخش ها Core و Startup را تیک می زنیم (7 و 8). در نهایت روی Ok کلیک می کنیم (9).
تصویر 2 – ساخت پروژه در Keil، انتخاب فایل های مورد نیاز
پس از ساخته شدن پروژه، فایل هایی را که تیک زده بودیم، به پروژه اضافه می شوند (1). حال می خواهیم یک فایل به پروژه اضافه کنیم. برای مثال فایل main که برنامۀ اصلی را در آن بنویسیم. از منوی File روی New کلیک می کنیم (2). در پنجرۀ Sava as، نام فایل و پسوند و محل ذخیرۀ آن را مشخص می کنیم (3). ما فایل main را در همان پوشۀ پروژه ذخیره می کنیم. اگر بخواهیم به زبان C++ برنامه نویسی کنیم، باید پسوند فایل، cpp باشد. ما پسوند فایل main را c قرار می دهیم. بنابراین برنامه ای که می توانیم بنویسیم، به زبان C است. برنامۀ مورد نظر را در فایلی که ایجاد کرده ایم، می نویسیم (4). اگر این برنامه را کامپایل کنیم، کامپایلر خطا می گیرد. چون فایلی را که ایجاد کرده ایم به پروژه اضافه نکرده ایم.
تصویر 3 – ساخت پروژه در Keil، ایجاد فایل برای برنامه نویسی
اضافه کردن فایل به پروژه
برای اضافه کردن فایل های سورس کد به پروژه، چه فایل با پسوند c باشد، چه با پسوند cpp، باید روی آیکون File Extensions کلیک کنیم (1). در تب Project Items (شمارۀ 2) در بخش Groups، نام پوشۀ موجود را تغییر می دهیم و یا پوشه ای را ایجاد می کنیم. با دابل کلیک کردن روی پوشه، می توان نام آن را تغییر داد (3 و 4). وقتی پوشۀ مورد نظر انتخاب شده است، روی دکمۀ Add Files کلیک می کنیم (5). فایل های سورس کد را جست و جو و انتخاب و آنها را به پوشه اضافه می کنیم (6 و 7). در بخش فایل ها در سمت راست پنجره، فایل های اضافه شده، قابل مشاهده هستند (8). پس از افزودن همۀ فایل های مربوط به پوشه، روی دکمۀ Close کلیک می کنیم (9). می توانیم پوشه های دیگری اضافه و برای آنها نامی انتخاب (3 و 4) و مراحل قبلی را برای آنها تکرار کنیم. سپس روی دکمۀ OK کلیک می کنیم (10). بعد از آن می بینیم پوشه هایی که ایجاد و فایل هایی که به پروژه اضافه کرده ایم، در پنل Project نمایش داده می شوند (11). در این صورت اگر برنامه را کامپایل کنیم، بدون خطا کامپایل می شود.
تصویر 4 – ساخت پروژه در Keil، اضافه کردن فایل های سورس کد به پروژه
برخی تنظیمات لازم در نرم افزار Keil
تا این لحظه به ساخت پروژه در Keil پرداختیم. اما برای اضافه کردن فایل های هدر (فایل هایی با پسوند h)به پروژه، دو روش وجود دارد. روش اول این است که مسیر آن در دستور پیش پردازندۀ include آورده شود. مثلاً کتابخانۀ delay.h درون پوشۀ Libs قرار گرفته است و پوشۀ Libs هم در کنار فایل main.c. در این صورت می توانیم بنویسیم:
#include "Libs/delay.h"
یا این که می توانیم مسیر پوشۀ Libs را به نرم افزار بدهیم. در این صورت می توانیم بنویسیم:
#include "delay.h"
برای این کار روی آیکون Options for Target کلیک می کنیم (1). در پنجرۀ باز شده، در تب C/C++ (شمارۀ 2) در بخش Include Paths، روی آیکون Browse کلیک می کنیم (3). پنجره ای باز می شود. برای افزودن مسیر پوشه، روی دکمۀ مربوط کلیک می کنیم (4). سپس روی Browse کلیک و پوشۀ حاوی فایل هدر را جست و جو و اضافه می کنیم (5 و 6). در نهایت روی OK کلیک می کنیم (7 و 8).
تصویر 5 – افزودن مسیر پوشۀ فایل های هدر به پروژه در نرم افزار Keil
نکته: مسیر کتابخانه های محل نصب نرم افزار، به صورت پیش فرض به پروژه اضافه می شوند. و نیازی نیست که آنها را به این صورت که توضیح دادیم، به پروژه اضافه کنیم.
نکته: اگر کتابخانه، فایل با پسوند c یا cpp داشته باشد، باید آن را مشابه فایل main.c که بیان کردیم، به پروژه اضافه کنیم.
برای این که فایل HEX موقع کامپایل ساخته شود، پنجرۀ Options for Target را باز می کنیم (1). از تب Outputs (شمارۀ 2) تیک Create HEX File را می زنیم (3) و روی OK کلیک می کنیم (4). در این صورت بعد از کامپایل، یک فایل HEX هم ایجاد می شود. که برای پروگرام کردن میکروکنترلر توسط نرم افزارهای پروگرامر، مورد استفاده قرار می گیرد.
پروگرام کردن STM32 با JTAG و SWD و بوت لودر
تصویر 6 – تنظیمات مربوط به ایجاد فایل HEX بعد از کامپایل در Keil
نتایج ساخت پروژه در Keil و نصب آن
- نرم افزار Keil یک نرم افزار شناخته شده برای برنامه نویسی میکروکنترلرهایی با پردازندۀ ARM Cortex-M است. اما این نرم افزار از میکروکنترلرهای دیگری نیز پشتیبانی می کند.
- پس از نصب Keil، برای ایجاد پروژه در آن باید ابتدا از Pack installer، پک های مربوط به میکروکنترلر مورد نظر را به نرم افزار اضافه کرد.
- در پنجرۀ Pack installer امکام نصب پک ها و آپدیت آنها وجود دارد.
- برای ساخت پروژه در کیل وجود دو فایل ضروری است. یکی فایل Core و دیگری فایل Startup. که این دو فایل از پنجرۀ Manage Run-Time Environment به پروژه اضافه می شوند.
- برای اضافه کردن فایل های سورس کد به پروژه، باید با کلیک روی آیکون File Extensions، پنجرۀ Manage Project Items را باز کرد.
- برای مشخص کردن مسیر پوشۀ کتابخانه ها در پروژه دو راه وجود دارد. یکی با استفاده از تنظیمات نرم افزار و از طریق پنجرۀ Options for Target و دیگری، آوردن مسیر در دستور پیش پردازندۀ include.
- در نرم افزار Keil، فایل HEX به صورت پیش فرض ساخته نمی شود. باید از پنجرۀ Options for Target، تنظیمات مربوط به آن را انجام داد. تا پس از کامپایل، فایل HEX ساخته شود.
سلام و احترام
برای مطالب خوب سایت، از شما تشکر می کنم.
من در نصب بسته های keil با خطایی به شکل زیر روبرو شدم. اگر برای شما هم پیش آمده، چطور آن را بر طرف کنم .
E: the specified CMSIS Pack Root directory does NOT exist! Please take a moment to review if the value is correct or create a new one via `cpackget init` command