نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه
أَللّهُمَّ ارْزُقْنی شَفاعَةَ الْحُسَیْنِ یَومَ الْوُرُودِ
مهدی دمیرچیلو

انواع دستگاه برنامه‌ریزی و اشکال‌زدایی avr

451

به نام خدا : تو این مطلب میخوام انواع روش پروگرام، دیباگ و ریست کردن فیوزبیت های میکروکنترلر های avr هشت بیتی رو بگم؛ درضمن در هرجایی از مطلب اگه جایی اشتباه بود، بگید تا اصلاح کنم ( عکس زیر تزئینی هستش! )

انواع دستگاه برنامه‌ریزی و اشکال‌زدایی avr

انواع دستگاه برنامه‌ریزی و اشکال‌زدایی avr

توجه : این مطلب مختص میکروهای CPU = 8bit AVR هستش ( سری tiny و mega و xmega و at90 )

 

چه مواردی در AVR باید پروگرام شوند؟

  1. Flash
  2. EEPROM
  3. Fuses
  4. Lock Bits

 

انواع روش اشکال‌زدایی AVR

توجه مهم : میکروهای زیر، هیچ روشی برای اشکال زدایی ( debugging ) ندارند ( به استدال دیتاشیتون؛ تو این پست هم یه بحث کوچولو شده دربارش : debugger for attiny 6pin )

ATtiny4
ATtiny5
ATtiny9
ATtiny10
ATmega8/A/L
ATmega8515/L
ATmega8535/L

روش‌های زیر مختص debug کردن میکرو هستند، اما عمل پروگرام کردن میکرو رو هم میتونن انجام بدن.

1) dW : پروگرام + دیباگ

1) dW : پروگرام + دیباگ

اگر چه رابط debugWIRE تنها به 3 پایه ذکر شده برای کارکرد صحیح نیاز دارد، توصیه می شود که دسترسی به کامل SPI را داشته باشید تا بتوان رابط کاربری debugWIRE را با استفاده از برنامه نویسی SPI فعال و غیرفعال کرد.

https://microchipdeveloper.com/atmelice:connecting-atmel-ice-to-a-debugwire-target

فیوزبیت های مورد استفاده : DWEN - SPIEN

پایه های مورد نیاز : VCC - GND - RESET؛ سوکتش فک کنم مثل سوکت ISP در حالت 6 پایه باشه؛ فک کنم سوکت زیر، درست باشه، حالا بازم تحقیق کنید :

debugWIRE pinout

میکروهایی که از debugWIRE پشتیبانی میکنند ( CPU = 8bit AVR )
AT90 ATxmega ATmega ATtiny
AT90PWM1
AT90PWM2/B
AT90PWM3/B
AT90PWM81
AT90PWM161
AT90PWM216
AT90PWM316
AT90USB82
AT90USB162
هیچ یک از میکرو های این سری، از debugWIRE پشتیبانی نمیکنند. ATmega8U2
ATmega16/U2
ATmega32M1/U2
ATmega48/A/P/V/PA/PB
ATmega64M1
ATmega88A/P/V/PA/PB
ATmega168A/P/V/PA/PB
ATmega328/P/PB
ATtiny13/A/V
ATtiny24/A
ATtiny25/V
ATtiny43U
ATtiny44/AA
ATtiny45/V
ATtiny48
ATtiny84/A
ATtiny85/V
ATtiny87
ATtiny88
ATtiny167
ATtiny261/A/V
ATtiny441
ATtiny461/A/V
ATtiny828
ATtiny841
ATtiny861/A/V
ATtiny1634
ATtiny2313/A/V
ATtiny4313

پروگرامرهای پشتیبانی شده :

  • JTAG-ICE MKII
  • JTAG-ICE3
  • Atmel-ICE
  • AVRONE

لینک های مفید :

  • http://www.ruemohr.org/docs/debugwire.html
  • https://hackaday.io/project/20629-debugwire-debugger
  • https://github.com/dcwbrown/dwire-debug
  • https://sites.google.com/site/wayneholder/debugwire
  • https://www.mikrocontroller.net/articles/DebugWIRE
  • https://awtfy.com/2010/02/21/modify-an-arduino-for-debugwire/
2) UPDI : پروگرام + دیباگ

2) UPDI : پروگرام + دیباگ

پایه های مورد نیاز : VCC - GND - UPDI؛ سوکتش هم به صورت زیر هستش :

UPDI Pinout

میکروهایی که از UPDI پشتیبانی میکنند ( CPU = 8bit AVR )
AT90 ATxmega ATmega ATtiny
هیچ یک از میکرو های این سری، از UDPI پشتیبانی نمیکنند. هیچ یک از میکرو های این سری، از UPDI پشتیبانی نمیکنند. ATmega808 (28/32pin)
ATmega809 (48pin)
ATmega1608 (28/32pin)
ATmega1609 (48pin)
ATmega3208 (28/32pin)
ATmega3209 (48pin)
ATmega4808 (28/32pin)
ATmega4809 (48pin)
ATtiny202
ATtiny204
ATtiny212
ATtiny214
ATtiny402
ATtiny404
ATtiny406
ATtiny412
ATtiny414
ATtiny416
ATtiny417
ATtiny804
ATtiny806
ATtiny814
ATtiny816
ATtiny817
ATtiny1604
ATtiny1606
ATtiny1614
ATtiny1616
ATtiny1617
ATtiny3216
ATtiny3217
3) JTAG : پروگرام + دیباگ

3) JTAG : پروگرام + دیباگ

پایه های مورد نیاز : VCC - GND - RESET - TCK - TDO - TMS - TDI - nTRST - nSRST؛ سوکتش هم به صورت زیر هستش :

JTAG Connector

میکروهایی که از JTAG پشتیبانی میکنند ( CPU = 8bit AVR )
AT90 ATxmega ATmega ATtiny
AT90CAN32
AT90CAN64
AT90CAN128
AT90USB646
AT90USB647
AT90USB1286
AT90USB1287
ATxmega64A1/A1U/A3/A3U/B1/B3
ATxmega128A1/A1U/A3/A3U/B1/B3
ATxmega192A3/A3U
ATxmega256A3/A3U/A3BU/A3B
ATmega16/A/L/U4
ATmega32/A/L/U4
ATmega64/A/L
ATmega128/A/L
ATmega162/V
ATmega164A/P/V/PA
ATmega165A/P/PA/PV
ATmega169A/P/PA/PV
ATmega324A/P/V/PA/PB
ATmega325/V
ATmega329A/P/V/PA
ATmega406
ATmega640/V
ATmega644/A/P/V/PA
ATmega645A/P/V
ATmega649/A/P/V
ATmega1280/V
ATmega1281/V
ATmega1284/P
ATmega2560/V
ATmega2561/V
ATmega325A/P/V/PA
ATmega3250/A/P/V/PA
ATmega3290A/V/P/PA
ATmega6450A/P/V
ATmega6490/A/P/V
هیچ یک از میکرو های این سری، از JTAG پشتیبانی نمیکنند.

پروگرامرهای پشتیبانی شده :

  • JTAG-ICE MKII
  • JTAG-ICE3
  • Atmel-ICE
  • AVRONE
  • STK600 (programming only)
  • Dragon

 

این مطلب رو ببینید : Build your own AVR JTAG ICE clone؛ البته خب مدار توی این مطلب، بر فرض این هستش که شما پورت سریال دارید ( که خب سیستم های جدید نمیدونم این پورت رو دارند یا نه )، حالا فرض میکینم که ندارند، برا حل این مشکل میایم به جای آیسی MAX232، از آیسی FTD232 استفاده میکنیم که به پورت USB وصل میشه و خروجی TTL به ما میده.

سوال : کد hex میکرو mega16 لینک فوق، چطوری نوشته شده؟

 

اینم یه مطلب مرتبط دیگه : Make your own AVR JTAG debugger

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

 

اینم یه لینک دیگه که ساده ترین مداری هستش که با usb کار میکنه : tinyJTAG

اینم یه مطلب دیگه که از آیسی ftd232 استفاده کرده : USB JTAG ICE for Atmel AVR microcontrollers

به نظرم این دو بهترین مدارات موجود هستند، البته در ظاهر tinyJTAG مدار ساده تری هستش ولی مشکلاتش چیه نمیدونم!

 

https://www.eca.ir/forums/thread22229.html

http://www.iranmicro.ir/forum/4884-روش-ساخت-3-نوع-پروگرامر-avr-isp-jtag-ice-stk500-فقط-برایavr.html

HappyJTAG2

 

با توجه به این که پورت سریال ممکنه تو بعضی کامپیوترها/لبتاب ها نباشه و این که هم اندازش بزرگه و هم کابلش یکم گرونه، بهترین گزینه استفاده از مداری هستش که از پورت USB استفاده کنه.

4) PDI : پروگرام + دیباگ

4) PDI : پروگرام + دیباگ

پایه های مورد نیاز : VCC - GND - PID_CLK - PDI_DATA؛ سوکتش هم به صورت زیر هستش :

PDI pinout

میکروهایی که از PDI پشتیبانی میکنند ( CPU = 8bit AVR )
AT90 ATxmega ATmega ATtiny
AT90CAN32
AT90CAN64
AT90CAN128
AT90USB82
AT90USB162
AT90USB646
AT90USB647
AT90USB1286
AT90USB1287
تمام میکرو های این سری، از PDI پشتیبانی میکنند. هیچ یک از میکرو های سری ATmega، از PDI پشتیبانی نمیکنند. هیچ یک از میکرو های این سری، از PDI پشتیبانی نمیکنند.

پروگرامرهای پشتیبانی شده :

  • JTAG-ICE3
  • ATMEL-ICE
  • AVRONE000
  • STK600
  • Dragon

 

انواع روش برنامه‌ریزی AVR

1) TPI : پروگرام

1) TPI : پروگرام

پایه های مورد نیاز : VCC - GND - TPI_DATA - TPI_CLOCK - RESET؛ سوکتش هم به صورت زیر هستش :

TPI pinout

میکروهایی که از TPI پشتیبانی میکنند ( CPU = 8bit AVR )
AT90 ATxmega ATmega ATtiny
هیچ یک از میکرو های این سری، از TPI پشتیبانی نمیکنند. هیچ یک از میکرو های این سری، از TPI پشتیبانی نمیکنند. هیچ یک از میکرو های این سری، از TPI پشتیبانی نمیکنند.

ATtiny4
ATtiny5
ATtiny9
ATtiny10
ATtiny102
ATtiny104

پروگرامرهای پشتیبانی شده :

  • AVRISP-MKII
  • JTAG-ICE3
  • ATMEL-ICE
  • STK600
2) ISP : پروگرام

2) ISP : پروگرام

در این روش میکروکنترلر از طریق پایه های پروتکول سریال SPI، توسط پروگرامر، پروگرام میشه.

پایه های مورد نیاز : VCC - GND - RESET - MISO - MOSI - SCK؛ سوکتش هم به صورت زیر هستش :

ISP Pinout

میکروهای پشتیبانی شده : تمام میکروهای avr به غیر از موارد زیر، پایه های فوق رو  دارند ( بررسی مجدد ) :

  • ATtiny4/5/9/10
  • ATtiny102/104

پروگرامرهای پشتیبانی شده :

  • AVRISP
  • AVRISP MKII
  • JTAG-ICE MKII
  • JTAG-ICE3
  • Atmel-ICE
  • AVRONE
  • STK500
  • STK600
  • Dragon

 

2.1) Parallel ISP : ساده ترین نوع پروگرامر ISP معروفه به Parallel Programming ( تو این مطلب برای راحتی بهش میگیم Parallel ISP ) که این نوع پروگرامر از طریق پورت Parallel به PC وصل میشه؛ در زیر عکسی از پورت Parallel رو مشاهده میکنید ( اون صورتیه سمت چپ بالا ! ) :

پورت Parallel

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

  1. نبودن پورت Parallel در اکثر کامپیوتر و لبتاب های جدید ( درباره سیستم های قدیمی اطلاع ندارم ولی جدیدا رو میدونم اکثرا ندارن )؛ که خب برا حل این مشکل میتونیم از مبدل USB TO Parallel استفاده کنیم، که اینم خودش اندازه یک پروگرامر USB ISP قیمتشه!
  2. بسته به این که از چه نوع مداری استفاده میکنید و مدارتون ایمن هستش یا نه، ممکنه به مادربرد کامپیوتر آسیب بزنه ( اینو تو نت خوندم، دلیلشو نمیدنم، و این که در کامپیوتر مدنظر پورت پاراللش خودش محافظت شده در مقابل اتصال کوتاه و ولتاژ زیاد و... هستش یا نه رو نمیدونم )

شماتیک و مدارات مختلفی توی نت برای Parallel ISP هستش که در کل دو تا مدل بیشتر من پیدا نکردم، اینم دو تا مطالب زیر رو ببیند :

  1. آموزش ساخت پروگرامر STK200/300 – AVR
  2. پروگرامر ISP برای میکروکنترلر Atmega32

که خب به نظرم بهترین راه اینه که بیخیال این پروگرامر بشیم و بریم سراغ پروگرامر ISP یی که از پورت Parallel استفاده نکنه و از پورت USB استفاده کنه ( امکان سوخت میکرو پورت پارالل سیستم یا اون مبدل USB TO Parallel وجود داره! )

 

2.2) USB ISP : تو این روش میان از یه میکروکنترلر استفاده میکنن، که میکروکنترلر به کمک پورت USB به PC وصل میشه ( و اینطوری مشکل نبودن پورت Parallel حل میشه ) و میکرو هدف ( میکرویی که قراره پروگرامش کنیم ) هم به میکرو پروگرامر وصل میشه ( به همین راحتی ) که بهترین گزینه تا اینجا همین پروگرامر هستش؛ این مطلب رو ببینید : آموزش ساخت پروگرامر USB ASP – AVR

در این روش باید اون میکرو مخصوص پروگرامر رو یکبار پروگرام کنیم و کد مخصوصش رو بهش بدیم ( هنگام ساخت پروگرامر فقط )، فلذا مشکل این پروگرامر هم همینی هستش که الان گفتم!

3) Bootloader : پروگرام ( فقط Flash )

3) Bootloader : پروگرام ( فقط Flash )

فیوزبیت های مورد استفاده : BOOTRST - BOOTSZ1 - BOOTSZ0

این روش، یک روش پروگرام کردن مستقیم نیست!؛ یک bootloader یک برنامه AVR کوچک است که در یک قسمت رزرو شده از حافظه فلش میکروکنترلر قرار دارد؛ بوت لودرها از ویژگی های "خود اصلاح" حافظه فلش موجود در AVR های جدید استفاده می کنند تا AVR بتواند خود را از طریق داده های برنامه بارگذاری شده از یک منبع خارجی ( یک حافظه فلش خارجی، SD کارت و... که خب شایع ترینش RS232 هستش ) برنامه ریزی کند.

استفاده از این روش بیشتر برا زمانی هستش که محصولتون رو تولید کردید و به بازار ارائه دادید، حالا میخواید برنامه تون قابلیت بروزرسانی داشته باشه توسط خود مشتری ( مشتری که پروگرامر نداره که! )، که مثلا مشتری دستگاه رو به PC وصل میکنه و فایل بروزرسانی که از وبسایت محصول دانلود کرده رو داخل دستگاه آپلود میکنه.

 

لینک های مفید :

  1. آموزش avr جلسه 25 avr bootloader tutorial
  2. بوت لودر bootloader جهت میکرو AVR

 

فایل های مفید : یه سری فایل هم دانلود کردم که بعدا باید برم/برید! سروقتشون، مربوطند به نوشتن بوت لودر و این جور چیزا ( البته ربطی به این مطلب نداره، بیشتر به عنوان یه موضوع فعالیت بیشتر و کار در خانه خخخ بهش نگاه کنید )، البته اگه درست دانلود کرده باشم! تو سایت های خارجی هم میتونید سرچ کنید تا ببینید که مطلب آموزشی در این باره موجود هستش یا نه، من بررسی نکردم.

  1. writing avr bootloader

 

انواع روش ریست کردن فیوزبیت‌های AVR

برای احیای AVR هایی که fusebits آنها به اشتباه تنظیم شده و دیگر میکروکنترلر توسط پروگرامر ها شناسایی نمیشه، این روش استفاده میشه تا فیوزبیت های میکروی فوق رو به حالت اولیه برگردونه.

تمام میکروهای سری tiny و mega ( به غیر از استثنا‌ها که در زیر بهش پرداختم ) دارای رابط HVSP یا HVPP هستند.

استثنا‌ها 1 : میکروهای Tiny4/5/9/10/20/40 رابط HVPP یا HVSP ندارند ولی یه چیز مشابه دارند که در دیتاشیت صفحه 105 توضیح داده شده؛ اگه بیت RSTDISBL رو فعال کرده باشید فلذا دیگه به روش عادی نمیتونید میکرو رو پروگرام کنید و باید از روش high voltage استفاده کنید و فیوز بیت‌ها رو ریست کنید، برا این کار برا مدت زمانی پایه RESET رو 12V بهش میدید تا وارد مود برنامه‌ریزی بشه.

استثنا‌ها 2 : میکروهای سری mega زیر و تمامی میکروهای xmega رابط HV ندارند ( چیزی فهمیدم اینه که نیاز ندارند، آیا این مشکلات مربوط به برنامه‌ریزی اشتباه فیوزبیت ها در سری xmega رفع شده است و دیگر به پروگرام کردن به روش high-voltage/HV نیازی نیست؟ )

ATmega808(28/32pin)
ATmega809(48pin)
ATmega1608(28/32pin)
ATmega1609(48pin)
ATmega3208(28/32pin)
ATmega3209(48pin)
ATmega4808(28/32pin)
ATmega4809(48pin)

توجه 1 : رابط HVPP یا HVSP همیشه فعال هستند، چون آنها را نمی توان توسط فیوزبیت‌ها ( و یا هر عمل دیگری توسط کاربر ) غیر فعال کرد.

توجه 2 : هر دو رابط high voltage فوق، یک ولتاژ 12 ولت روی پایه Reset میندازند و هر دو رابط نیاز به دسترسی به تعداد زیادی از پایه های میکرو دارند؛ رابط HVPP نیاز به حداقل 16 پایه دارد و رابط HVSP نیاز به حداقل 8 پایه دارد.

توجه 3 : با توجه به این که، رابط HVPP / HVSP نیاز به پین های زیادی دارند، زمانی که یک میکرو Tiny یا Mega به یک PCB لحیم شده است، تقریبا هرگز گزینه برنامه نویسی واقع گرایانه نیستند. ( خلاصه کلوم این که با توجه به این که این دو رابط نیاز به پایه های زیادی دارند، اینطوری اینقرا هم راحت نیست که بخواید در هربرد یک سوکت قرار بدید مخصوص بهش، اندازه برد الکی الکی بزرگ میشه، حالا ممکنه مشکلاتی هم ایجاد کنه که من فعلا اطلاعای ازشون ندارم، مثلا شاید نیاز باشه که میکرو کاملا از برد جدا بشه و سنسوری و چیزی بهش وصل نباشه، اینی که گفتم از روی حدس و گمان هستش، دقیقا اطلاع ندارم )

لینک های مفید : اینم یه سری لینک مربوط به ساخت/خرید مدار این دو روش :

  1. دستگاه بازیابی میکروکنترلرهای AVR
  2. HVProg
  3. AVR Atmega Fusebit Doctor (HVPP)
  4. فیوزبیت دکتر برای avr
  5. AVR serial and parallel High-Voltage programmer
1) HVSP : پروگرام ( ریست کردن فیوزبیت‌ها )

1) HVSP : پروگرام ( ریست کردن فیوزبیت‌ها )

پایه های مورد نیاز : یه چیز تو مایه های عکس زیر هستش، حالا بسته به مدل میکرو، ممکنه تغییر کنه، که میرید دیتاشیت میکرو مدنظر رو بررسی میکنید.

HVSP pinout

میکروهایی که از HVPP پشتیبانی میکنند ( CPU = 8bit AVR )
AT90 ATxmega ATmega ATtiny
هیچ یک از میکروهای این سری، از HVSP پشتیبانی نمیکنند. هیچ یک از میکروهای این سری، از HVSP پشتیبانی نمیکنند. هیچ یک از میکروهای این سری، از HVSP پشتیبانی نمیکنند. به لینک زیر مراجعه کنید :

ATtiny microcontroller comparison chart

پروگرامرهای پشتیبانی شده :

  • AVRONE
  • STK500
  • STK600
  • Dragon
2) HVPP : پروگرام ( ریست کردن فیوزبیت‌ها )

2) HVPP : پروگرام ( ریست کردن فیوزبیت‌ها )

پایه های مورد نیاز : یه چیز تو مایه های عکس زیر هستش، حالا بسته به مدل میکرو، ممکنه تغییر کنه، که میرید دیتاشیت میکرو مدنظر رو بررسی میکنید.

HVPP pinout

میکروهایی که از HVPP پشتیبانی میکنند ( CPU = 8bit AVR )
AT90 ATxmega ATmega ATtiny
تمام میکروهای این سری، از HVPP پشتیبانی میکنند. هیچ یک از میکروهای این سری، از HVPP پشتیبانی نمیکنند. تمام میکروهای این سری، غیر از موارد زیر از HVPP پشتیبانی میکنند :

ATmega808(28/32pin)
ATmega809(48pin)
ATmega1608(28/32pin)
ATmega1609(48pin)
ATmega3208(28/32pin)
ATmega3209(48pin)
ATmega4808(28/32pin)
ATmega4809(48pin)

ATtiny26/L
ATtiny28L/V
ATtiny43U
ATtiny48
ATtiny87
ATtiny88
ATtiny167
ATtiny261/A/V
ATtiny461/A/V
ATtiny828
ATtiny861/A/V
ATtiny1634
ATtiny2313/A/V
ATtiny4313

پروگرامرهای پشتیبانی شده :

  • AVRONE
  • STK500
  • STK600
  • Dragon

 

بهترین روش پروگرام کردن AVR

این سوال زیاد صحیح نیست بنظرم، چون هر کدوم از روش ها کار خاصی میکنه و برا رنج خاصی از میکروها هستش؛ مثلا :

برا بحث دیباگ/پروگرام، میبینید که 4 روش وجود داره اما dW برا یه تعداد از میکروها هستش، UPDI برا یه سری دیگه از میکروها، JTAG و PDI هم همینطور.

و برا بحث پروگرام کردن هم ISP برا اکثر میکروها و روش TPI هم برا میکروهای 6 پایه سری ATtiny کاربرد داره.

برا بحث پروگرام کردن و بروزرسانی برنامه توسط مشتری هم گفتیم که bootloader کاربرد داره.

و در آخر برا بحث ریست کردن فیوزبیت ها ( زمانی که میکروکنترلر توسط پروگرامرها شناسایی نمیشه / به دلیل اشتباه تنظیم کردن فیوزبیت ها توسط شما! )، روش های HVPP و HVSP کاربرد دارند ( که باز هرکدوم از این دو روش، مخصوص رنج خاصی از میکروها هستند، و حتی برخی از میکروهایی با تعداد پایه کم، روش خاص خودشون رو دارند! )

 

بهترین پروگرامر و دیباگر AVR

یک ابزار قدرتمند برای رفع اشکال و برنامه ریزی میکروکنترلرهای AVR با استفاده از رابطهای هدف UPDI ،JTAG ،PDI ،debugWIRE ،aWire ،TPI ،SPI و میکروهای ARM Cortex-M مبتنی بر SAM با استفاده از رابطهای هدف JTAG یا SWD است؛ Atmel-ICE یک ابزار توسعه قدرتمند برای اشکال زدایی و برنامه نویسی ARM Cortex-M مبتنی بر SAM و میکروکنترلرهای AVR با قابلیت debugging on-chip است. ( توضیح شرکت میکروچیپ! )

درحال حاظر تا جایی که من فهمیدم و میدونم، بهترین پروگرامر حال حاظر، Atmel-ICE ( پروگرامر و دیباگر ) هستش که قیمتی حدود 2 تومن و نسخه ارزونترش حدود 1 تومن هستش!؛ برا برنامه ریزی میکروهای 8 و 32 بیتی AVR و میکروهای SAM ARM Cortex-M مورد استفاده قرار میگیره. ( توضیح من!!! )

وبسایت سازنده : Atmel-ICE

Atmel-ICE Programmers and Debuggers

اینم نسخه PCBA اینروگرامر که قیمتش تقریبا نصف نسخه اصلی هستش :

ATMEL-ICE PCBA

مطالب مفید :

  1. کدام پروگرامر AVR بهتر است؟
  2. Connecting Atmel-ICE to AVR and SAM

 

تحقیق بیشتر :

  1. پایه های پورت پارالل و توضیح هر پایش و کاربردش و انواع روش ارتباط میکرو با pc به کمک پورت پارالل
  2. در روش usb isp، میکروی پروگرامر، کد hex اش چطوری و بر چه مبنایی نوشته شده.
  3. نحوه نوشتن نرم افزار پروگرام کردن برای این روش ( ISP ).
  4. نحوه نوشتن فایل بوتلودر؟ ( یه سری فایل و لینک تو قسمت مربوطه اش گزاشتم )
  5. لیست تموم فایل های بوت لودر میکرو ها به طرف پروگرام کردن مختلف
  6. نوشتن یه برنامه به کمک C# تا برنامه بوتلودر رو روی میکرو پروگرام کنم.
  7. avr jtag firmware source code ( تا جایی که سوال کردم، قسمت برنامه نویسی jtag عمومی و قسمت دیباگش خصوصی هستش – همون open source بودن یا نبودن رو میگمم )
  8. Open-source avr jtag programmer
  9. پروگرامر های پشتیبانی شده توسط اتمل استودیو 7
  10. فرق پروگرامر اصل با clone

 

مطالب مفید :

  1. مقایسه انواع میکروکنترلر AVR با هم

 

منابع :

  1. AVR Programming Methods
  2. microchip

 

امیدوارم این مطلب هر چند ناقص مفید باشه براتون، مارو هم از دعاهاتون بی نصیب نزارید، مطالب آموزش اتمل استدیو رو هم 10 جلسه ایش رو نوشتم، فعلا سر بحث دیباگ گیر کردم، نیاز پروگرامرش دارم که 2.5 پولشه! Atmel-ice هستش اسمش فک کنم، منم تاحالا با بحث دیباگ کار نکردم، اصلا هم دیباگر نداشتم تا حالا، فعلا موندم، مطالب فوق هم رو هوا هستش…، تا مطلب بعد، یا علی. bye

تعداد مطالب : 367 تا
جنگ ما فتح قدس را به همراه خواهد داشت. [ امام خمینی (ره) ]
بقیه جلسات :
این مطلب هیچ طبقه بندی یی ندارد!
ارسال دیدگاه
3
نظرات این مطلب بسته شده است.
  1. محسن

    مهمان

    محسن

    در کل دیباگر با میکرو کنترلر های ARM خیلی بهتر هست از لحاظ تهیه دیباگر ، و در درک برنامه نویسی کمک میکنه اما دیباگ با AVR مشکل هست

  2. ha

    مهمان

    ha

    سلام
    این کد ای وی آر پروگرامر با ولتاژ بالاست
    مطمعنا بایک جستجوی کوچک سایتش هم میتونید پیدا کنید
    امیدوارم به کار بیاد
    http://s5.picofile.com/file/8374780042/HV_AVR_programmer.bas.html

  3. اسماعیل

    مهمان

    اسماعیل

    سلام، من یه چندتا سوال درباره باتری های لیتیومی و ماژول های شارژ اونا دارم ممنون میشم جواب بدی.