ساخت پروژه در Keil و نصب آن

by | 25 دی, 1398 | lpc, STM32, میکروکنترلر, وبلاگ | 23 comments

ساخت-پروژه-keil

آموزش STM32 یوبرد

شروع بازی ST

آموزش های رایگان STM32

فیلم های آموزش STM32

آموزش خصوصی STM32

اخبار جدید یوبرد در اینستاگرام

ساخت پروژه در 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 مقدماتی

فیلم آموزش ARM STM32 مقدماتی

فیلم آموزش آردوینو مقدماتی

ویدئوی 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). اگر این برنامه را کامپایل کنیم، کامپایلر خطا می گیرد. چون فایلی را که ایجاد کرده ایم به پروژه اضافه نکرده ایم.

ساخت پروژه در STM32CubeIDE

ایجاد-پروژه-اضافه-کردن-فایل

تصویر 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 و بوت لودر

ساخت-خروجی-hex

تصویر 6 – تنظیمات مربوط به ایجاد فایل HEX بعد از کامپایل در Keil

نتایج ساخت پروژه در Keil و نصب آن

  1. نرم افزار Keil یک نرم افزار شناخته شده برای برنامه نویسی میکروکنترلرهایی با پردازندۀ ARM Cortex-M است. اما این نرم افزار از میکروکنترلرهای دیگری نیز پشتیبانی می کند.
  2. پس از نصب Keil، برای ایجاد پروژه در آن باید ابتدا از Pack installer، پک های مربوط به میکروکنترلر مورد نظر را به نرم افزار اضافه کرد.
  3. در پنجرۀ Pack installer امکام نصب پک ها و آپدیت آنها وجود دارد.
  4. برای ساخت پروژه در کیل وجود دو فایل ضروری است. یکی فایل Core و دیگری فایل Startup. که این دو فایل از پنجرۀ Manage Run-Time Environment به پروژه اضافه می شوند.
  5. برای اضافه کردن فایل های سورس کد به پروژه، باید با کلیک روی آیکون File Extensions، پنجرۀ Manage Project Items را باز کرد.
  6. برای مشخص کردن مسیر پوشۀ کتابخانه ها در پروژه دو راه وجود دارد. یکی با استفاده از تنظیمات نرم افزار و از طریق پنجرۀ Options for Target و دیگری، آوردن مسیر در دستور پیش پردازندۀ include.
  7. در نرم افزار Keil، فایل HEX به صورت پیش فرض ساخته نمی شود. باید از پنجرۀ Options for Target، تنظیمات مربوط به آن را انجام داد. تا پس از کامپایل، فایل HEX ساخته شود.

 

رضا اسدی

رضا اسدی

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

جدیدترین تاپیک های STM32

میکروکنترلر ARM

میکروکنترلر ARM چیست؟ پردازندۀ ARM

میکروکنترلر ARM ، میکروکنترلرهایی هستند که پردازندۀ آنها ساخت شرکت ARM است. شرکت ARM سازندۀ میکروکنترلر نیست. سازندۀ پردازنده (CPU) است. امروزه به میکروکنترلرهایی که پردازندۀ آنها طراحی شدۀ شرکت ARM باشد، میکروکنترلر ARM گفته می شود.

راه-اندازی-dac-stm32

راه اندازی DAC در STM32

راه اندازی DAC در STM32، ویژگی های DAC در میکروکنترلرهای STM32F1، بلوک دیاگرام DAC در STM32، اتصالات راه اندازی DAC در میکروکنترلر STM32F107VC، نمونه کد رجیستری راه اندازی واحد DAC در میکروکنترلرهای STM32F1، ساخت موج سینوسی با STM32، راه اندازی مبدل دیجیتال به آنالوگ STM32 با توابع HAL

راه-اندازی-usart-stm32

راه اندازی UART در STM32، رجیستری و HAL

راه اندازی UART در STM32، اتصالات و نرم افزار مورد نیاز، نمونه کد USART در STM32 به صورت رجیستری، نمونه کد رجیستری USART با وقفۀ دریافت، نمونه کد HAL برای راه اندازی USART در STM32، نمونه کد HAL با وقفۀ دریافت، نحوه محاسبه Baud rate در USART میکروکنترلرهای STM32F1

برنامه-نویسی-میکروکنترلر-ویژوال-استودیو

برنامه نویسی میکروکنترلرها با ویژوال استودیو

نصب VisualGDB روی ویژوال استودیو، ساخت پروژه برای برنامه نویسی میکروکنترلرها با ویژوال استودیو، ساخت پروژه برای STM32 در ویژوال استودیو، کدنویسی STM32 در ویژوال استودیو، ساخت پروژه برای AVR در ویژوال استودیو، ساخت پروژه برای LPC در ویژوال استودیو، ساخت پروژۀ آردوینو در ویژوال استودیو

23 Comments

  1. سلام و احترام
    برای مطالب خوب سایت، از شما تشکر می کنم.
    من در نصب بسته های 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

    Reply

Submit a Comment

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

آموزش های یوبرد

آموزش TFT LCD با TouchGFX و STM32 یوبرد

گرافیک کاربرپسند با میکروکنترلر ST

آموزش FreeRTOS یوبرد

زمان واقعی در میکروکنترلر و پردازنده های کوچک با FreeRTOS

آموزش طراحی PCB و نویز یوبرد

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

آموزش زبان C و MISRA-C یوبرد

گام نخست دنیای میکروکنترلر

آموزش لحیم کاری و IPC-A-610 یوبرد

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

آموزش آردوینو یوبرد

جادۀ آسفالت میکروکنترلر

آموزش ماژول های SIM800 یوبرد

تلفن همراه صنعت

آموزش زبان ++C و ++MISRA-C یوبرد

لمس شی گرایی در میکروکنترلرها

آموزش میکروکنترلرهای AVR یوبرد

شاهکار 8 بیتی Atmel

آموزش میکروکنترلرهای LPC یوبرد

یادگار فیلیپس

دانلود

لطفا برای دریافت لینک دانلود اطلاعات خواسته شده را وارد نمایید
ضبط پیام صوتی

زمان هر پیام صوتی 4 دقیقه است