ابزار حرفه ای avrdude برای پروگرام کردن AVR

blog
۱۴۰۰-۰۱-۲۲
9 دقیقه

شاید تا به حال برای پروگرام کردن میکروکنترلر AVR بارها به مشکلات بسیار زیادی برخورد کرده باشید. برای مثال، در پیدا کردن درایور یا نرم افزار فلش پروگرامر، یا اتصال آن به محیط برنامه نویسی به مشکل برخورده باشید. در این آموزش قصد داریم تا شما را با ابزاری به نام AVRDUDE معرفی کنیم که تا حد بسیار زیادی مشکلات شما را در ارتباط با پروگرامر بر طرف می‌سازد.

 

از avrprog تا AVRDUDE

AVRDUDE ابزاری برای بارگیری، بارگذاری و ویرایش محتوای ROM و EEPROM میکروکنترلرهای AVR با استفاده از تکنیک برنامه نویسی درون سیستم (ISP) است. AVRDUDE اولین بار توسط Brian S. Dean جهت پروگرام کردن میکروکنترلر های AVR ساخته شد. اصل این نرم افزار برای سیستم عامل FreeBSD و با نام avrprog ساخته شد. با گسترش نرم افزار و پورت شدن آن برای سیستم عامل‌های مختلف، توجهات و استقبال از این نرم افزار بیشتر و بیشتر شد، تا جایی که برایان تصمیم گرفت پروژه خود را به‌صورت عمومی در savannah.nongnu.org منتشر کند.

همچنین برایان نام آن را از avrprog به AVRDUDE تغییر داد، زیرا می‌خواست با avrprog.EXE که در اتمل استودیو وجود داشت، اشتباه نشود.

 

برخی ویژگی های AVRDUDE

  • تمام عملیات‌های آپلود، دانلود و حتی تغییر فیوز بیت‌ها با ساده‌ترین دستورات در رابط کاربری محیط کامند لاین قابل اجرا هستند. این امر به برنامه نویس اجازه می‌دهد تا آن را به راحتی درون makefile اضافه کنید و عملیات کامپایل و پروگرام به‌صورت خودکار صورت پذیرد.
  •   در حالت ترمینال شما به ویژگی‌های بسیار زیادی برای عملیات‌های خود دسترسی دارید. همچنین پارامترهای عملیاتی پروگرام STK500 مثل target voltage, VAref, master clock frequency و… برای شما در دسترس هستند.
  •  پشتیبانی از گستره بسیار بزرگی از پروگرامرها، مثل: usbASP، STK500، پروگرامرهای پارالل و…
  •   پشتیبانی از سیستم عامل‌های مختلف! همین امر باعث می‌شود کاربر تفاوت چندانی در کار میان سیستم عامل‌های مختلف احساس نکند.
  •   پشتیبانی از فرمت‌های مختلف فایل برای آپلود و دانلود، مثل Intel Hex, Motorola S-Record, binary files. همچنین فرمت فایلی که به عنوان ورودی به AVRDUDE داده شود، به‌طور خودکار تشخیص داده می‌شود.
  •   در حالت ترمینال، شما می‌توانید به مناطق مختلف حافظه (در صورت اجازه داشتن) دسترسی داشته باشید، آن‌ها را بخوانید، بنویسید و دست‌کاری کنید. حتی فیوز بیت‌ها و خانه‌های EEPROM را نیز می‌توانید تغییر دهید.

 

دانلود AVRDUDE

این ابزار پس از دانلود نیازی به نصب نداشته و در محیط کامندلاین قابل اجرا می‌باشد، اما باید آن را در path ویندوز اضافه کنید. بنابراین بهتر است محتویات دانلودی را در درایو C مثلاَ در مسیر C:\AVRDUDE ذخیره کنید.

AVRDUDE در WINAVR، ATMEL STUDIO، آردوینو و بسیاری از بسته های نرم افزاری معروف AVR وجود دارد. شما میتوانید AVRDUDE را بدون دانلود کردن، از مسیر نصب این نرم افزار ها نیز پیدا کنید. برای مثال، اگر نرم افزار آردوینو را نصب دارید، ممکن است در مسیر زیر، AVRDUDE را پیدا کنید. (آدرس محل نصب، ممکن است با توجه به نسخه نصبی و نوع ویندوز شما (64 بیت یا 32 بیت) متفاوت باشد.)

ابزار حرفه ای avrdude برای پروگرام کردن AVR

پوشه ابزار ها آردوینو (شامل AVRDUDE)

همچنین می‌توانید از طریق این لینک بسته avrdude را دانلود کنید.

 

افزودن به path

بعد از دانلود AVRDUDE، برای این که محیط‌های برنامه نویسی مختلف بتوانند از آن استفاده کنند، لازم است تا محل فولدر آن را در path ویندوز اضافه کنید. برای این کار بر روی this PC کلیک راست کرده و properties را بزنید.

thisPC properties

 

سپس بر روی Advances Envirenment setting کلیک کنید.

Advanced system setting

ویندوزAdvanced system setting

 

از پنجره system properties و از تب Advanced، ‏Envirenment Variables را انتخاب کنید.

system properties

 

سپس متغیر PATH را ویرایش کنید:

ویرایش PATH

 

در پنجره‌ای که باز شد، گزینه NEW را بزنید تا بتوانید مسیر AVRDUDE را در path اضافه کنید:

Add AVRDUDE to path

 

پس از اضافه کردن مسیر، در تمام پنجره هایی که باز کردید، بر روی کلید OK کلیک کنید.

برای بررسی این که آیا به صورت صحیح PATH را وارد کردید، کامند لاین را باز کنید و درون آن دستور زیر را تایپ کنید: (اگر از قبل باز است، آن را بسته و مجدداَ باز کنید)

و اگر همه چیز درست باشد، خروجی زیر را دریافت خواهید کرد:

 

گزینه (آپشن) های AVRDUDE

همان طور که در خروجی دستور بالا هم می‌بینید، گزینه یا آپشن های بسیاری برای سفارشی سازی و کار با AVRDUDE وجود دارد.

 

برخی از آپشن های مهم:

-p: شما به وسیله این پارامتر می‌توانید نوع میکروکنترلر AVR خود را مشخص کنید. برای مثال، میروکنترلر ATmega32 با کد اختصاری m32 مشخص می‌شود. لیست کل میکروکنترلرها و علامت اختصاری آن را می‌توانید از اینجا ببینید. پس، این آپشن به‌صورت زیر به دستور ما اضافه می‌شود:

 

-P: دقت داشته باشید، AVRDUDE به حروف کوچک و بزرگ حساس است، بنابراین P بزرگ، برای تعیین پورت پروگرامر استفاده می‌شود. برای مثال، اگر پروگرامر خود را از طریق پورت usb متصل کرده باشید، به این صورت بکار می‌رود:

 

-c: (با حرف کوچک) نوع پروگرامر را مشخص می‌کند. برای مثال، اگر از پروگرامر usbasp استفاده می‌کنید، باید دستور زیر را وارد کنید:

 

برای دریافت لیست کامل پروگرامر هایی که توسط AVRDUDE پشتیبانی می‌شوند، می‌توانید از دستور زیر استفاده کنید:

 

-b: با حرف کوچک، در صورتی که از پورت سریال برای پروگرامر استفاده می‌کنید، سرعت buadRate را مشخص می‌کند.

 

شما به وسیله آپشن U می‌توانید عملیات حافظه را انجام دهید. برای مقدار دهی به این آپشن، اولین عبارت یا پارامتر، نوع حافظه (مثلاً flash) را وارد می‌کنید، دومین پارامتر نوع عملیات (Read, Write, Verify)، سومین عبارت آدرس فایل و چهارمین عبارت نوع فایل (هگز دسیمال، اینتل هگز، خام و…) می‌باشد.

برای مثال، فرض کنید می‌خواهید فایل diag.hex را که در کنار AVRDUDE قرار دارد را به وسیله پروگرامر stk500 بر روی حافظه فلش تراشه stk500 بنویسید!

گزاره بالا در حالت دستوری، به شکل زیر در می‌آید:

 

آپشن های دیگر AVRDUDE را می‌توانید از طریق help و یا مستندات آن مطالعه کنید. همچنین مثال‌های دیگر را می‌توانید اینجا مشاهده کنید.

آموزش نصب درایور USBASB را نیز در این آموزش می توانید ببینید.

 

رابط گرافیکی AVRDUDE GUI

اگر جزء افرادی هستید که از محیط ترمینال فراری هستید، خبر خوب اینکه رابط گرافیکی مختلفی نیز وجود دارد که شما با استفاده از چند کلیک، می‌توانید عملیات پروگرام کردن و تنظیم فیوزبیت های AVR را به راحتی انجام دهید. برای مثال، AVRDUDE GUI نیز متن باز بوده و می‌توانید آن را از اینجا دانلود کنید.

ADRDUDE GUI

همچنین کار با رابط گرافیکی BitBurner نیز بسیار راحت و ساده است.

 

نصب درایور پروگرامر USBASP

در این آموزش از پروگرامر USBASP استفاده شده است. برای شناخته شدن آن توسط AVRDUDE باید مطمئن شویم که درایور آن به درستی نصب شده است. برای این کار، ابتدا USBASP را به کامپیوتر متصل کرده و سپس نرم افزار Zadig را از این قسمت دانلود کنید. از طریق منوی Options بر روی List all devices کلیک کنید و از لیست USBASP را انتخاب کنید. سپس در کادر جلوی آن، گزینه libusbK(v3.0.7.0) driver را انتخاب کرده و بر روی دکمه install کلیک کنید تا درایور USBASP نصب شود.

Zadig driver installer

 

اتصال AVRDUDE به IDE

AVRDUDE را می‌توانید به سادگی به بسیاری از محیط‌های برنامه نویسی یکپارچه (IDE) متصل کنید. قبلاً در سیسوگ، مقالاتی در این زمینه منتشر شده است:

آماده سازی محیط Eclips برای برنامه نویسی میکروکنترلر های  AVR

آماده سازی محیط VSCODE برای برنامه نویسی AVR

برنامه‌نویسی میکروکنترلر AVR در محیط ویژوال استودیو

 

اطلاعات
20
0
لینک و اشتراک
profile

Digi Boy

متخصص الکترونیک

به دانش فزای و به یزدان گرای، که او باد جان تو را رهنمای (فردوسی)

مقالات بیشتر
slide

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند. فروش در پالت
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد. جستجو در آیسی
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند. پرسش در سیسوگ فرم
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
خانواده سیسوگ

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند.
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد.
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند.
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند.
family

دیدگاه ها

profile
محمد نوری گفت :
۱۴۰۳-۰۴-۱۲ ۱۵:۲۹

ببخشید من نتونستم ارتباط بگیرم. البته با پروگرمر ساده همون پورت پرینتر با کدویژن می تونم کار بکنم. یعنی سخت افزار من درست است.
ولی چند تا کامند رو تست کردم جواب نگرفتم.
میشه راهنمایی کنید برای تست مثلا خوندن امضائ میکرو یا فیوز بیتهاش به صورت ساده که بدونم ارتباط با سخت افزار دارم یک کامند بدید.
من این چند تا رو تست کردم جواب منفی بود.
AVRDUDE -c avrisp -p m8
AVRDUDE -c stk200 -p m8

profile
Zeus ‌ گفت :
۱۴۰۳-۰۴-۱۸ ۰۹:۰۸

سلام دوست عزیز
اول این که سخت افزار پروگرامر شما چی هشت، چون مثلا فکر میکنم STK200 توی ویندوز های ۷ به بعد بخاطر محدودیت درایور توی ویندوز مشکل ساز میشه میشه
ولی avrisp نباید مشکل خاصی داشته :

avrdude -c avrisp -p m328p -P com6 -b 19200 -U lfuse:r:-:i -v

profile
حسین گفت :
۱۴۰۰-۱۱-۲۶ ۱۵:۲۳

سلام
من یه پروژه از اینترنت دانلود کرده بودم که داخلش فایل با پسوند هگز و eep داشت و توی سایتش با avrdude مراحل پروگرام کردن میکرو رو گذاشته بود.من با پروگرمر هاتل میتونم میکرو رو پروگرام کنم یا باید از avrdude استفاده کنم؟
اینم لینک سایت :
https://www.google.com/amp/s/www.instructables.com/Component-Tester-in-a-Keychain/%3famp_page=true

profile
Zeus ‌ گفت :
۱۴۰۰-۱۱-۲۷ ۱۱:۵۶

سلام دوست عزیز
اون فایل eep در واقع مقادیری هست که باید داخل eeprom میکروکنترلر ذخیره کنید – اگر هاتل این قابلیت رو داره بدون نگرانی میتونید این کار رو انجام بدید اگر نه avrdude حتما میتونه

profile
کاوه گفت :
۱۴۰۰-۰۳-۰۷ ۲۰:۴۶

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

profile
Digi Boy گفت :
۱۴۰۰-۰۳-۱۱ ۱۵:۵۴

درود بر شما. بله، احتمالا باید بشه، باید از شرکت هاتل بپرسید.

profile
میثاق گفت :
۱۴۰۰-۰۱-۲۹ ۲۲:۲۶

یکی از ویژگیای جالبش اینه که میشه توی make اصافش کرد و بعد کامپایل شدن اتوماتیک روی میکرو آپلود میشه یادش بخیر

profile
Digi Boy گفت :
۱۴۰۰-۰۲-۰۴ ۰۸:۴۸

بله، به خاطر اجرا در حالت کامندلاین، استفاده‌های زیادی می‌توان از آن کرد.

profile
مشهدی گفت :
۱۴۰۰-۰۱-۲۵ ۲۲:۴۳

سلام.
خیلی جالب بود، برای اتمگا ۳۲A میزنم m32A ولی کار نمیده چکار باید کرد؟

profile
Digi Boy گفت :
۱۴۰۰-۰۲-۰۴ ۰۸:۵۳

درود بر شما، برای میکروکنترلر atmega32a از همان m32 استفاده کنید.

profile
genus گفت :
۱۴۰۰-۰۱-۲۳ ۲۲:۳۴

خوبی avrdude gui اینه که وقتی باهاش کار میکنی کامند هاش رو هم یاد میگیری. bitburner یکم راحت تره. مطلب خوبی بود متشکرم.

profile
Digi Boy گفت :
۱۴۰۰-۰۱-۲۴ ۱۲:۱۶

درود بر شما.
ممنون.

profile
مهرداد گفت :
۱۴۰۰-۰۱-۲۳ ۲۱:۲۵

AVR BURN-O-MAT هم هست، اما برای کار کردن جاوا لازم داره. همین AVRDUDE GUI و BitBurner که دوستان معرفی کردند خیلی خوبه و خیلی بهتر از progisp مضخرفه که معمولا استفاده می شه. ممنون که برنامه های متن باز و خوب رو معرفی می کنید.

profile
Digi Boy گفت :
۱۴۰۰-۰۱-۲۴ ۱۲:۱۶

درود بر شما.
همین طور ممنون از شما بابت ارسال نظر و تجربیاتتون.

profile
مهدی گفت :
۱۴۰۰-۰۱-۲۳ ۲۰:۴۱

چه جالب من این avrdude.exe رو همش همه جا میدیم ولی نمیدونستم چیه. ممنون که توضیح دادید. خیلی جالب و کاربردی بود، مخصوصا اینکه توی لینوکس و ویندوز یکجور کار میکنه.

profile
Digi Boy گفت :
۱۴۰۰-۰۱-۲۴ ۱۲:۱۵

درود بر شما.
با سیسوگ همراه باشید، باز هم ابزار معرفی خواهیم کرد.

profile
وحید گفت :
۱۴۰۰-۰۱-۲۲ ۲۳:۵۸

BitBurner AVR Programmer هم یک رابط گرافیکی خیلی خوب برای AVRDUDE هست.

profile
Digi Boy گفت :
۱۴۰۰-۰۱-۲۳ ۱۵:۵۹

درود بر شما دوست عزیز!
خیلی ممنون از اینکه معرفی کردید!

profile
محمد گفت :
۱۴۰۰-۰۱-۲۲ ۲۱:۲۷

سلام.
خیلی عالیه. زود تر معرفی میکردید که انقدر با این نرم افزارای کرکی کار نکنیم همش ارور میدن. این avrdude خیلی عالیه.

profile
Digi Boy گفت :
۱۴۰۰-۰۱-۲۳ ۱۶:۰۰

درود بر شما.
ممنون. امیدوارم موفق باشید.

become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله