Warning: preg_match(): Empty regular expression in /home/irasaele/public_html/catalog/controller/extension/lightning/zero.php on line 2
ریختن بوت لودر آردوینو روی AVR با استفاده از آردوینو

ریختن بوت لودر آردوینو روی AVR با استفاده از آردوینو

2019/06/22 10:33:58 10 نظرات آردوینو,
  • بوت لودر چیست؟

میکروکنترلرهای avr یک آیسی کوچک هستند که قابلیت های فراوانی دارند. ولی برای پروگرم کردنشون یک سری دردسرها وجود داره. مثلا به یک پروگرمر خاص نیاز داریم و سخت افزار مرتبط با خودش رو باید قرار بدیم و … که این موضوعات برای کسی که میخواد تازه کار با avr رو شروع کنه ، ممکنه خیلی دوست داشتنی نباشه. برد آردوینو اومده همه این مشکلات رو یه جا حل کرده و یک فایل hex. میریزه روی برد و با این کار ، اون موقع تنها چیزی که برای پروگرم نیاز داریم ، یک کابل usb هست. به زبان ساده تر میکروکنترلرها از طریق پروگرمرها ، پروگرم میشن مگه این که در میکروکنترلر یه فرمور (firmware) رو داشته باشید که بتونید این فرمور رو عوض کنید و یک فرمور جدید بریزید و دیگه نیازی به پروگرمر نداشته باشید. به این فرمور میگن بوت لودر.

 

  • چرا باید بوت لودر نصب کنیم ؟

اگه بخواید که برد آردوینو مخصوص خودتون رو داشته باشید و یا میکروکنترلر بردتون رو عوض کنید ، لازم هست که بر روی میکروکنترلر بوت لودر بریزید. حالت دیگه ای هم که ممکنه ایجاد بشه اینه که بر روی میکروکنترلرتون یک بوت لودر بد نصب شده باشه ( البته این حالت کم اتفاق میفته) و در اینجا هم لازم هست که بوت لودر رو مجددا بر روی میکروکنترلر بریزید. مورد دیگه هم این که ممکنه تنظیمات عجیب و غریبی روی برد انجام داده باشیم و ساده ترین راه اینه که بوت لودر جدید رو روی برد بریزیم و اون رو به تنظیمات کارخانه ای برگردونیم. گاهی اوقات هم مشاهده شده که افراد مختلف ، پورت سریال برد رو خاموش میکنند و دیگه راهی برای ریختن کد روی برد وجود نداره. در این هنگام هم ریختن مجدد بوت لودر میتونه ساده ترین و سریعترین راه باشه.

همونطور که گفتیم این که بوت لودر بدی روی برد ریخته شده باشه خیلی خیلی نادر هست و در %99.9 که برای اول برد رو میخریم و نمیتونیم کد رو روش بریزیم ، مشکل از بوت لودر اون نیست و تنها %0.1 احتمال داره که بوت لودراون مشکل داشته باشه.

 

  • قطعات مورد نیاز :
  1. یک عدد برد آردوینو uno
  2. یک عدد میکروکنترلر atmega328
  3. یک عدد مقاومت 10 کیلواهم
  4. یک کریستال 16 مگاهرتز

 

  • شناخت بهتر atmega328 :

شاید بهتر باشه یک بار دیگه به پایه های میکروکنترلر atmega328P نگاه کنیم. هر چند که ممکنه قبلا این پایه ها رو دیده باشید. ( توجه داشته باشید که بهتره از میکروکنترلر atmega328P استفاده کنیم تا میکروکنترلر atmega328 ) . در شکل زیر پایه های خروجی میکروکنترلر ، از نگاه برد آردوینو آورده شده است :

 

  • ریختن بوت لودر arduino روی میکروکنترلر avr :

حالا که نگاهی به پایه های میکروکنترلر انداختیم وقتش هست که بوت لودر آردوینو رو روی یک میکروکنترلر خام atmega328P بریزیم. در ابتدا مداری مطابق شکل زیر ببندید:

 

حال در نرم افزار آردوینو ، از منوی File ، گزینه Example را انتخاب کنید و از بین گزینه Example ، مثال ArduinoISP را مطابق شکل زیر باز کنید :

 

سپس با زدن گزینه آپلود ، این مثال را بر روی برد آردوینو خود بریزید.حال از منوی Tools ، بخش Programmer گزینه arduino as ISP را مطابق شکل زیر انتخاب کنید:

 

پس از این کار از منوی Tools ، گزینه Burn bootloader را بزنید و بوت لودر آردوینو را روی میکروکنترلر avr خود بریزید. پس از این کار باید  عبارت Done burning bootloader برای شما ( از پایین نرم افزار)نشان داده شود. کار شما تمام شده است و حال دیگر میتوانید بر روی میکروکنترلر خود ، کدهای آردوینو بریزید. برای تست این کار هم تنها کافی است میکروکنترلری که جدیدا روی اون بوت لودر آردوینو رو ریختید با میکروکنترلر خود برد آردوینو عوض کنید و یک نمونه کد رو روش بریزید.

10 نظرات

arysh:
2019/10/31 18:22:00, 06:22:00 PM
پاسخ

با سلام و تشکر از مطالب مفیدتون دو تا سوال داشتم با ریختن بوت لودر اردوینو در میکروی اتمگا16 پایه های میکرو عوض میشه و برنامه هایی که قبلا با کدویژن نوشتیم نیاز به تغیر داره یا نه؟؟ سوال دومم اینه که این کار قابل برگشته ؟؟ یعنی میشه دوباره به همون میکروی تنظیم کارخونه برگردوند؟چگونه

امیر تاریخی:
2019/11/03 03:38:29, 03:38:29 AM
پاسخ

سلام مطلب بالا خیلی خوبی بود

علی گرامی:
2019/11/14 12:08:37, 12:08:37 PM
پاسخ

بسیار عالی بود

مهدی:
2019/12/24 13:48:07, 01:48:07 PM
پاسخ

سلام این چه نوع کریستالی هست که سه پایه دارد ؟ ممنون میشم نوع کریستال را ذکر کنید .

ایران آسا الکترونیک:
2019/12/30 20:49:09, 08:49:09 PM

سلام از کریستال های دو پایه معمولی استفاده کنید.

محسن:
2020/03/10 00:32:39, 12:32:39 AM
پاسخ

بسیار عالی و کاربردی

جمشید:
2020/07/06 08:32:53, 08:32:53 AM
پاسخ

سلام ببخشید نمیشه ات مگارو روی خود برد اردینو گذاشت و بوت لودر نصب کرد

ایران آسا الکترونیک:
2021/01/11 13:20:38, 01:20:38 PM

سلام برای این کار باید از پایه های ISP استفاده کنید.

محمد:
2020/09/13 08:39:29, 08:39:29 AM
پاسخ

سلام لطفاً بگین کدام پایه های اردویینو به اتمگا 328وصل شده و بگین پایه های کریستال و مقاومت به کجا وصل شده

ایران آسا الکترونیک:
2021/01/11 13:21:33, 01:21:33 PM

سلام این رو توی گوگل سرچ کنید Atmega328 Pinout for Arduino

محمد:
2020/09/17 06:43:06, 06:43:06 AM
پاسخ

سلام،اگه از برد نانو استفاده بشه روی میکرو هم اردوینو ناو پروگرام میشه؟ درسته؟

ایران آسا الکترونیک:
2021/01/11 13:21:52, 01:21:52 PM

سلام متاسفانه منظور شما رو متوجه نشدم

حبیب:
2020/10/23 10:54:14, 10:54:14 AM
پاسخ

وقت بخیر آیا با همین روش میشه بوت لودر روی atmega32a ریخت ؟ سپاس

ایران آسا الکترونیک:
2021/01/11 13:22:14, 01:22:14 PM

سلام بله میشه استفاده کرد

نوید کیانی:
2021/01/07 13:02:02, 01:02:02 PM, navidkiani.ir
پاسخ

آیا میشه روی تراشه ATmega32 هم این بوت لودر رو ریخت

ایران آسا الکترونیک:
2021/01/11 13:24:49, 01:24:49 PM

سلام بله میشه استفاده کرد

ارسال نظر

کالا در حال حاضر موجود نمیباشد.ایمیل خود را وارد نمایید، زمانی که کالا در دسترس باشد به شما اطلاع میدهیم.