ریختن Bootloader بر روی آردوینو

bootloader-for-16f87x-pic-microcontrollers

بوت لودر آردوینو کدی است که بر روی آیسی قرار میگیرد و امکان برنامه ریزی با استفاده پورت کام را بجای استفاده از پروگرمر کاربر میدهد. در ادامه به چگونگی اینکار توسط پروگرمر AVRISP mk II می پردازیم.

ابزار های لازم: 

۱- برد آردوینو و یا برد پروگرم، برای ساختن برد آردوینو اینجا و برای ساخت برد پروگرم اینجا کلیک کنید.

۲- پروگرمر ARVISP mk II، هم میتوانید آن را بخرید و هم میتوانید آن را بسازید.

۳- نرم افزار ARV Studio و  نرم افزار Arduino IDE (از گوگل برای پیدا کردن هر کدام استفاده کنید.)

روش کار:

برد خود را به پروگرمر وصل کنید، سپس یک منبع برق به برد وصل کنید، حال برنامه AVR Studio را باز کنید.

سپس از منوی Tools گزینه ی Device Programming را انتخاب کنید. از تب Tool گزینه AVRISP MKII را انتخاب کنید.

از تب Device گزینه ی ATMega328P و Interface را بر روی ISP قرار دهید. سپس بر روی Apply کلیک کنید.

حالا از منوی سمت چپ بر روی Memories کلیک کنید. از منوی Flash فایل "ATmegaBOOT_168_atmega328.hex" رو انتخاب کنید. سپس بر روی Program کلیک کنید.

نکته : فایل ATmegaBOOT_168_atmega328.hex رو میتونید از این لینک دانلود کنید یا با نصب برنامه Arduino از آدرس "'X\hardware\arduino\avr\bootloaders\atmega\ATmegaBOOT_168_atmega328.hex" بردارید. [x : پوشه ای که در آن نرم افزار Arduino را نصب کردید.]

اگر همه چیز خوب پیش برود، در کادر پایین متن Verifying Flash… OK را خواهید دید.

بعد از اتمام این کار به منوی Fuses بروید و مقادیر زیر را تنظیم نمایید.

EXTENDED: 0x05

HIGH: 0xDA 

LOW: 0xFF

سپس بر روی Program کلیک کنید. اگر همه چیز درست پیش رفته باشد متن Verifying Fuses… OK را در کادر پایین صفحه مشاهده خواهید کرد.

حال از منوی سمت چپ بر روی Lock Bits کلیک کنید و در کادر LockBit Value از مقدار ۰x0F استفاده کنید و بر روی program کلیک کنید. اگر همه چیز درست پیش رفته باشد در کادر پایین صفحه Verifying Lock Bits… OK را خواهید دید.

تبریک میگم بوت لود شما با موفقیت برروی کنترولرتون پروگرم شد.

اگر بوت لودر رو با موفقیت نصب کرده باشید، چراغ وضعیت برد به صورت ضربان قلب فلش می زند. برای آپلود کردن Sketch ها در داخل برنامه Arduino IDE از طریق این مسیر برد خود را انتخاب کنید.

Tools > Boards > Arduino Duemilanove W /Atmega328