یک روش ساده برای ریختن بوت لودر آردوینو روی avr
با سلام خدمت همه شما دوستان. در این جلسه قصد داریم در مورد نحوه ریختن بوت لودر آردوینو روی میکروکنترلر avr صحبت کنیم. پیش از هر چیز پیشنهاد میکنم اگه به صورت کامل با آردوینو آشنایی ندارید ، ابتدا یک نگاهی به دوره آردوینو وبسایت ما بیندازید:
بوت لودر چیست؟
میکروکنترلرهای avr یک آیسی کوچک هستند که قابلیت های فراوانی دارند. ولی برای پروگرم کردنشون یک سری دردسرها وجود داره. مثلا به یک پروگرمر خاص نیاز داریم و سخت افزار مرتبط با خودش رو باید قرار بدیم و … که این موضوعات برای کسی که میخواد تازه کار با avr رو شروع کنه ، ممکنه خیلی دوست داشتنی نباشه. برد آردوینو اومده همه این مشکلات رو یه جا حل کرده و یک فایل hex. میریزه روی برد و با این کار ، اون موقع تنها چیزی که برای پروگرم نیاز داریم ، یک کابل usb هست. به زبان ساده تر میکروکنترلرها از طریق پروگرمرها ، پروگرم میشن مگه این که در میکروکنترلر یه فرمور (firmware) رو داشته باشید که بتونید این فرمور رو عوض کنید و یک فرمور جدید بریزید و دیگه نیازی به پروگرمر نداشته باشید. به این فرمور میگن بوت لودر.
چرا باید بوت لودر نصب کنیم ؟
اگه بخواید که برد آردوینو مخصوص خودتون رو داشته باشید و یا میکروکنترلر بردتون رو عوض کنید ، لازم هست که بر روی میکروکنترلر بوت لودر بریزید. حالت دیگه ای هم که ممکنه ایجاد بشه اینه که بر روی میکروکنترلرتون یک بوت لودر بد نصب شده باشه ( البته این حالت کم اتفاق میفته) و در اینجا هم لازم هست که بوت لودر رو مجددا بر روی میکروکنترلر بریزید. مورد دیگه هم این که ممکنه تنظیمات عجیب و غریبی روی برد انجام داده باشیم و ساده ترین راه اینه که بوت لودر جدید رو روی برد بریزیم و اون رو به تنظیمات کارخانه ای برگردونیم. گاهی اوقات هم مشاهده شده که افراد مختلف ، پورت سریال برد رو خاموش میکنند و دیگه راهی برای ریختن کد روی برد وجود نداره. در این هنگام هم ریختن مجدد بوت لودر میتونه ساده ترین و سریعترین راه باشه.
همونطور که گفتیم این که بوت لودر بدی روی برد ریخته شده باشه خیلی خیلی نادر هست و در %99.9 که برای اول برد رو میخریم و نمیتونیم کد رو روش بریزیم ، مشکل از بوت لودر اون نیست و تنها %0.1 احتمال داره که بوت لودراون مشکل داشته باشه.
ریختن بوت لودر روی میکروکنترلر
لیست قطعات مورد نیاز :
- قبل از هر چیز اجازه بدید قطعاتی که به اون ها نیاز داریم رو معرفی کنیم :
- یک عدد برد آردوینو uno
- یک عدد میکروکنترلر atmega328
- یک عدد مقاومت 10 کیلواهم
- یک کریستال 16 مگاهرتز
شناخت بهتر atmega328 :
شاید بهتر باشه یک بار دیگه به پایه های میکروکنترلر atmega328P نگاه کنیم. هر چند که ممکنه قبلا این پایه ها رو دیده باشید. ( توجه داشته باشید که بهتره از میکروکنترلر atmega328P استفاده کنیم تا میکروکنترلر atmega328 ) . در شکل زیر پایه های خروجی میکروکنترلر ، از نگاه برد آردوینو آورده شده است :
ریختن بوت لودر arduino روی میکروکنترلر avr :
حالا که نگاهی به پایه های میکروکنترلر انداختیم وقتش هست که بوت لودر آردوینو رو روی یک میکروکنترلر خام atmega328P بریزیم. در ابتدا مداری مطابق شکل زیر ببندید:
حال در نرم افزار آردوینو ، از منوی File ، گزینه Example را انتخاب کنید و از بین گزینه Example ، مثال ArduinoISP را مطابق شکل زیر باز کنید :
سپس با زدن گزینه آپلود ، این مثال را بر روی برد آردوینو خود بریزید.
حال از منوی Tools ، بخش Programmer گزینه arduino as ISP را مطابق شکل زیر انتخاب کنید:
پس از این کار از منوی Tools ، گزینه Burn bootloader را بزنید و بوت لودر آردوینو را روی میکروکنترلر avr خود بریزید. پس از این کار باید عبارت Done burning bootloader برای شما ( از پایین نرم افزار)نشان داده شود. کار شما تمام شده است و حال دیگر میتوانید بر روی میکروکنترلر خود ، کدهای آردوینو بریزید. برای تست این کار هم تنها کافی است میکروکنترلری که جدیدا روی اون بوت لودر آردوینو رو ریختید با میکروکنترلر خود برد آردوینو عوض کنید و یک نمونه کد رو روش بریزید.
این روشی که در اینجا معرفی شد ، یکی از ساده ترین روش های ریختن بوت لودر روی میکروکنترلر avr هست. ما قطعا روش های دیگه رو هم در آینده معرفی خواهیم کرد. مثل همیشه میتونید ما رو در تلگرام و یا اینستاگرام دنبال کنید:
36 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
سلام. آیا آردوینو باید آردوینو سالمی باشه؟ چون میکروی atmega328 آردوینو بنده مشکل داره. اون رو برداشتم یکی نو رو خریدم. الان بدون میکرو با همون برد میتونم بوت لودر رو بریزم؟ یا باید حتما یه آردوینو با میکروی سالم باشه؟
یعنی الان من یه میکروی atmega328 خام دارم با یه برد آردوینوی بدون میکر. الان میتونم همین کاری که گفتید رو انجام بدم؟
با سلام.
خیر باید میکروکنترلر مورد نظر شما نیز سالم باشد تا بتوانید عمل پروگرم کردن را انجام دهید. چون همانطور که در مدار مربوط به پروگرم میبینید ، ما از پایه های SPI برد استفاده کرده ایم که به میکروکنترلر موجود بر روی آردوینو متصل است. به همین علت نیاز است تا میکروکنترلر شما سالم باشد.
موفق باشید.
با تشکر. این کار رو امروز تستش میکنم. اگه جواب بده واقعا دمتون گرم.
این روش تست شده است و قبلا جواب داده شده. اگر مدار به درستی بسته شود و مشکلی وجود نداشته باشد ، قطعا شما هم نتیجه خواهید گرفت.
موفق باشید.
با سلام . با توجه به حرام بودن جهت کپی کردن از این سایت ، آیا دانلود برای آموزش شخصی هم ، حرام است یا اشکالی ندارد ؟
با سلام.
در مورد استفاده از مطالب VIP اگر دانلود کنید مشکلی وجود ندارد. ولی استفاده ها مطابق قوانین باید شخصی باشند و اشتراک گذاشتن آنها به خصوص در سطح وب غیر قانونی و حرام است.
موفق باشید.
سلام
آیا Uno باید سالم باشه یعنی اینکه اگر Bootloader خود UNO رو بخوایم بریزیم چه کنیم ؟؟
با سلام.
لطفا سوال خود را دقیقتر و واضح تر بفرمایید تا توضیحات لازم ارایه شود.
موفق باشید.
سلام من از این آموزش استفاده کردم ولی متاسفانه باز هم با خطا مواجه شدم.لطفا راهنمایی کنید که چکار کنم.
با سلام.
در کامنت قبل پاسخ داده شد.