نحوه بارگذاری بوت لودر بر روی ATMega32 خام

وقتی میکروکنترلر جدید ATmega328 را در برد آردوینو UNO خود قرار می دهید، می بینید که کار نمی کند؟ علت چیست؟ این به دلیل نبود برنامه ای به نام بوت لودر بر روی میکروکنترلر است.  در این آموزش قصد داریم نحوه آپلود بوت لودر را بر روی یک تراشه Atmega328 خام که از بازار خریداری کرده اید را با استفاده از Arduino UNO به شما به اشتراک بگذاریم. اینکار بسیار ساده و آسان و یک آموزش سطح پایه است. با توجه به اینکه ماژول Arduino UNO از Atmega328 به عنوان یک میکروکنترلر استفاده می کند گاهی اوقات لازم است در پروژه های خود به جای استفاده از ماژول Arduino UNO بطور کامل از ATmega328 به تنهایی استفاده کنیم. 

در واقع آردوینو از بوت لودر نصب شده بر روی Atmega328 خود استفاده می کند. این یک نوع درایور برای میکروکنترلر Atmega328 است که آن را با نرم افزار آردوینو سازگار می کند. معمولاً برای نوشتن کد برای Atmega328 از کامپایلر AVR استفاده می کنیم، اما در اینجا به دلیل این بوت لودر، می توانیم به راحتی کد را به سادگی از نرم افزار آردوینو در آن آپلود کنیم. بنابراین، هنگامی که یک میکروکنترلر جدید ATmega328 خریداری می کنید، نیاز به آپلود بوت لودر در Atmega328 وجود دارد. پس از نصب بوت لودر در Atmega328، اکنون آماده وصل شدن به برد آردوینو UNO و برنامه ریزی است. همچنین باید نگاهی به نحوه دریافت فایل Hex از آردوینو داشته باشید. بنابراین، امروز ما نحوه آپلود بوت لودر در ATmega328 را می بینیم، بیایید آن را شروع کنیم.

چگونه بوت لودر را در Atmega328 آپلود کنیم؟

راه‌های زیادی برای آپلود بوت لودر در ATmega328 وجود دارد و من ساده‌ترین آنها را به اشتراک می‌گذارم که استفاده از دو برد Arduino UNO است.

بنابراین، اکنون فرض می‌کنم که شما دو برد آردوینو UNO و چند سیم جامپر همراه خود دارید.

توجه داشته باشید:

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

بنابراین، اول از همه، کاری که باید انجام دهید این است که این دو برد آردوینو UNO را مطابق شکل زیر به هم وصل کنید:

اکنون، در شکل بالا، آردوینو B به عنوان یک برنامه ریز عمل می کند در حالی که آردوینو A دارای میکروکنترلر جدید ATmega328 است که ما در آن بوت لودر را آپلود می کنیم.

اکنون Arduino B را از طریق کابل USB به رایانه خود متصل کنید و هر دو برد آردوینو روشن می شوند زیرا ما پایه های 5 ولت و GND آنها را وصل کرده ایم.

حالا نرم افزار آردوینو خود را باز کنید و روی منوی File و سپس Examples کلیک کنید.

در مثال‌ها، ArduinoISP را مانند شکل زیر باز کنید:

install bootloader in arduino uno, bootloader arduino,upload bootloader atmega328
اکنون این مثال یعنی ArduinoISP را در برد آردوینو B در شکل اول آپلود کنید که به عنوان یک برنامه ریز عمل می کند.

اکنون برد آردوینو B آماده آپلود بوت لودر در برد آردوینو A است.

حالا برد Arduino A را از Tools>Boards انتخاب کنید، اما من این کار را نمی‌کنیم زیرا در مورد ما از Arduino UNO هم برای برنامه‌ریزو هم برای برنامه‌پذیر استفاده می‌کنیم.

اکنون بر روی Tools و سپس Programmer کلیک کنید و Arduino را به عنوان ISP مانند شکل زیر انتخاب کنید:

install bootloader in arduino uno, bootloader arduino,upload bootloader atmega328

اکنون تمام تنظیمات را انجام داده ایم و در نهایت آماده آپلود Bootloader در ATmega328 هستیم، بنابراین اکنون بر روی Tools کلیک کرده و سپس مطابق شکل زیر بر روی Burn Bootloader کلیک کنید:

بردهای آردوینو UNO حدود 30 ثانیه چشمک می زنند و پس از اتمام کار، پیغامی را در نرم افزار آردوینو خود مشاهده می کنید که بوت لودر آپلود کرده است، به این معنی که بوت لودر را با موفقیت در میکروکنترلر ATmega328 خود آپلود کرده اید و اکنون می توانید کد را در آن آپلود کنید. 

توجه داشته باشید:

پس از آپلود بوت لودر، به Tools and Programmer رفته و آن را به AVRISP تغییر دهید، در غیر این صورت نمی توانید کد را در Arduino UNO خود آپلود کنید.