پورتال دیجیتال

منو

ATmega8 bootloader in arduino – بوت لودر ATmega8 در Arduino

بوت لودر ATmega8 در Arduino

بوت لودر ATmega8: همان طور که می دانید در بردهای Arduino برد Atmega8 وجود ندارد ولی این امکان وجود دارد با نوشتن یک بوت لودر در ATmega8 به راحتی با این میکروکنترلر در Arduino برنامه نویسی کرد. حالا من آموزش کاملی رو واستون می ذارم تجهیزاتی که لازم است

۱. Arduino ورژن ۱٫۰٫۵ (من با این ورژن تست زدم ولی احتمالا بالاتر هم جواب بده)

۲.ATmega8A-PU (نگران نباشید با دیگر سری ها هم جواب می دهد ولی واسه شروع از این استفاده کنید که شک یا شبه ایی پیش نیاد)

۳. دو/۲ عدد برد Arduino Uno (اول به این شکل انجام بدید تا حساب کار دستتون بیاد بعد برید روی Breadboard)

ATmegaBOOT اول از هر کاری به مسیر hardware/arduino/bootloaders/atmega8 بروید سپس بررسی کنید فایل ATmegaBOOT-prod-firmware-2009-11-07.hex در فولدر جاری باشد اگر نبود فایل رو از لینک بالا دانلود کنید و در مسیر فوق کپی کنید و بعد از حالت فشرده خارج کنید. سپس در لینک زیر فایل فشرده رو دانلود کنید سپس از حالت فشرده خارج کنید و دو تا فایل pins_arduino.h و pins_arduino.c رو در مسیر hardware/arduino/cores/arduino کپی کنید. pins_arduino خوب حالا می رویم سراغ سخت افزار ها. دو عدد برد Arduino Uno یکی رو اول به کامپیوتر وصل کنید و سپس Arduino رو اجرا کنید و مطابق عکس برد Arduino Uno رو انتخاب کنید و بعد پورت سریال رو هم انتخاب کنید.

بوت لودر ATmega8

حالا مطابق عکس پایین در نوار ابزار بر روی File کلیک کنید و سپس در Examples بر روی ArduinoISP کلیک کنید حالا برنامه رو Upload کنید.

بوت لودر ATmega8

تنظیم فیوز بیت ها ATMega8

الان Bootloader Burner آماده است. خوب حالا برد Arduino Uno بعدی رو باید میکروکنترلر ATmeag328P رو از روش بردارین و یک ATmega8 جایگزین کنید.نگران نباشد چون ترتیب پایه های ATmega328P و ATmega8 دقیقا مثل هم هستند. بعد از انجام این کار دقیقا مطابق عکس پایین اتصالات رو برقرار می کنید.اما قبل به مسیر Arduino/hardware/arduino برید و  فایل boards.txt باز کنید. دنبال Arduino NG or older w/ ATmega8 بگردید حالا باید فیوز بیت های میکرو رو نتظیم کنید دو تا خط مثل زیر واسه میکرو تعریف شده

atmega8.bootloader.low_fuses=0xdf
atmega8.bootloader.high_fuses=0xca
بایت کم ارزش روی df و پر ارزش روی ca تنظیم کنید از آدرس Engbedded AVR Fuse Calculator هم می توانید استفاده کنید.

بوت لودر ATmega8

Bootloader Burner                            Arduino Uno With ATmega8

۵V+ ========================> +5V

GND ========================> GND

SCK ========================> SCK

MISO ========================> MISO

MOSI ========================> MOSI

SS ========================> Reset

خوب حالا بعد از اتصالات می ریم سراغ نوشتن بوت لودر. ابتدا کابل USB رو به بردی که به عنوان Bootloader Burner آماده کردیم متصل می کنیم و مطابق عکس پایین Programmer رو بر روی Arduino as ISP قرار می دهیم.

بوت لودر ATmega8

نوشتن بوت لودر در ATMega8

و بعد مطابق عکس پایین برد Arduino NG or order w/ATmega8 رو انخاب می کنیم و بعد در نوار ابزار بر روی Tools کلیک کنید و بروی Burn Bootloader کلیک کنید. LED های TX و RX بر بروی برد Arduino Uno که به عنوان Bootloader Burner آماده شده روشن می شوند و خاموش می شوند و بعد از زمان خیلی کوتاه دوباره روشن می شوند و عملیات نوشتن Bootloader آغاز می شود. و با پیغام تکمیل شدن نوشتن بوت لودر توسط کامپایلر به پایان می رسد.

بوت لودر ATmega8

حالا کابل USB رو به بردی که ATmeag8 رو جایگزین کردید متصل کنید و بعد پروژه چراغ چشمک زن رو Upload کنید و لذت ببرید.

 

 بروز رسانی در تاریخ ۱۳۹۶/۰۵/۲۴

برای استفاده از میکروکنترلر های زیر در آردوینو ۱٫۶ و بالاتر که مدیریت برد دارند

ATmega8*

ATmega48*

ATmega88*

ATmega168*

از لینک زیر استفاده کنید و در صورت تهیه آموزش های جدید، در همین جا اضافه خواهد شد

https://github.com/MCUdude/MiniCore

بوت لودر ATmega8برای نوشتن بوت لودر و تست همزمان من از روش بالا به وسیله برد یونو و مبدل USBasp v2.0 استفاده می کنم. میکروکنترلری هم که الان روی برد Uno گذاشتم Atmega8 هست و به خوبی کار کرد ، البته فکر می کنم بعضی از کتابخانه ها کار نکنن که اونا رو هم تست میزنم.

دسته :  تازه ترین نوشته ها

19
دیدگاه بگذارید

avatar
9 Comment threads
10 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
6 Comment authors
amir123alirezamomenifarzinteysafarzadeh97کمک برای بوت لودر کردن atmega8 باآردوینو Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
eshahnazi
Guest
eshahnazi

سلام
من طبق کارهای شما پیش رفتم ولی موقع پروگرام کردن خطای
“efuse” memory type not defined for part “ATMEGA8”
میده
مشکل از چیه؟
در ضمن من از نسخه ۱٫۵٫۶ اردوینو استفاده میکنم.
با تشکر

eshahnazi
Guest
eshahnazi

سلام دوباره
من اردوینو ۱٫۰۵ رو نصب کردم اما اینبار خطای
core.a(main.cpp.o): In function main':
C:\Program Files\Arduino\hardware\arduino\cores\arduino/main.cpp:11: undefined reference to
setup’
C:\Program Files\Arduino\hardware\arduino\cores\arduino/main.cpp:14: undefined reference to `loop’

رو میده…

eshahnazi
Guest
eshahnazi

سلام مجدد؛
بعد از باز و بستن برنامه همه چیز به خوبی پیش رفت و بوت لودر آپلود شد.

فقط یه نکته و اونم اینکه بعد از اینکه برد آنو با میکرو اتمگ ۸ بوت شد از این به بعد برای ریختن برنامه داخل اون باید در قسمت “برد” به جای “اردوینو انو” باید گزینه
“Arduino NG or order w/ATmega8 ” رو انتخاب کرد.

با تشکر

trackback

[…] ATmega8 bootloader in arduino – بوت لودر ATmega8 در Arduino | پورتال دیجیت… […]

trackback

[…] سلام.من میخواهم با arduino uno میکرویatmega8رو بوت لودر کنم.سایتی پیدا کردم که گام به گام توضیح داده من مراحل پروگرم کردن خود arduinoروانجام میدم ولی وقتی مثل شکل که توسایت هست به atmega8وصل میکنم وادامه میدم وپروگرمر میکنم error میده که فیوزبیت ها رو پیدانمیکنه.درصورتی که در Arduino/hardware/arduino و فایل boards.txt مقدارفیوزبیتatmega8 هست.نمیدونم مشکلش کجاست؟۲و۳یارهم این کار رو کردم باز همین error رو داد.درضمن بگم من چون ۲تاarduino نداشتم atmega8 رو روی برد برد گذاشتم (اینم از یک سایت دیگه پیدا کرده بودم که چطوری روی برد ببندم آدرس۲) ممنون میشم کمکم کنید که مشکلم حل شه. ممنون آدرس۲:Left… Read more »

eshahnazi
Guest
eshahnazi

چطوری ممکن هست که این میکرو ۸ داخل برد اردوینو جواب میده اما وقتی بیرون از برد میزاری و کرستال ۱۶ بهش وصل میکنی جواب نمیده؟
تا حالا خودتون امتحان کردید؟ ببنید میکرو بیرون از برد اردوینو هم جواب میده یا نه؟
من برنامه ال ای دی چشمک زن رو ریختم روی میکرو…داخل برد اردوینو کار میکنه ولی بیرون برد نه…مشکل از کجاست؟

alirezamomeni
Guest
alirezamomeni

سلام مقاومت۱۰کیلو از پین ۱به +۵ وخازن ۰٫۱نانو زمین

safarzadeh97
Guest
safarzadeh97

سلام من چه جوری میتونم توی قسمت بردهای نرم افزار آردوینو آی سی atmega 8 رو اضافه کنم؟
هر کاری میکنم نمیشه و به برد ها اضافه نمیشه
http://s1.picofile.com/file/8264460576/photo_2016_08_20_15_45_35.jpg

توی فایل boards.txt فیوز بیت ها خودش تنظیم بود

خواهشا راهنمایی کنید واقعا لازم دارم

farzintey
Guest
farzintey

با سلام و خسته نباشید ممنون از مطالب مفیدتون فقط یه سوال برام پیش امد ایا به این روش میتوان یه فایل هگزا تنها این فایل در دست داشته باشیم وارد میکرو کرد ؟؟؟مثلا برنامه ای قبلا توسط بسکام نوشته شده و بشکل فایل هگزا در امده و اگر میشه لطفا راهنمایی کنید و در اخر فیوز بیتها هم میشه با توجه به کد نویس فایل هگزا تاکید شده اینجا تغییر داد؟

amir123
Guest
amir123

سلام.
من طیق آموزش عمل مردم ولی دایم با این خطا مواجه می شوم:
: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.