پروگرامر چیست؟
برنامه نویسی icنوعی برنامه نویسی است که در آن یک نرم افزار از طریق کد ایجاد میشود و پس از کامتایل شدن از طریق پروگرامر به ic اضافه میشود.
انواع پروگرامر های AVR
این پروگرامر هابسیار ساده و بسیار ارزان هستند
آنها مستقیما به یک پورت serial و یک پورت parallel متصل میشوندو سپس اطلاعات نرم افزار از طریق پورت ها به ic
منتقل میشود.
این پروگرامر های برای افرادی که تازه کار هستند و کارهای بسیار ساده ای انجام میدهند خوب است اما قویا توصیه میشود که بعدا آن را به یک پروگرامر smart ISP یا development board ارتقا دهید.
این پروگرامر ها ظاهری شبیه به تصویر زیر دارند:

میکرو روی صفحه قرار میگیرد و بعد از طریق پورت ها به کامپیوتر متصل شده و برنامه ای کهنوشته و کامپایل شده روی میکروکنترلر پیاه سازی میشود.
این پروگرامر ها شکلی شبیه زیر دارند:

ده ها برد توسعه وجود دارد که با یکدیگر متفاوت هستند بنابراین ما دو مورد را که محبوب تر(و نسبتا ارزان تر) هستند و توسط شرکت ATMEL تایید شده اند را معرفی میکنیم.
development board STK500
اولین مورد development board STK500 است با قیمت حدود 80 دلارکه تقریبا از همه ی تراشه هایی که ATMEL با سوکت های مختلف میسازد پشتیبانی میکند

development board AVR Dragon
دومین مورد development board AVR Dragon است که قیمتی حدود 50 دلار دارد و مانند شکل زیر است:

در سال های اخیر طراحان میکروکنترلر ها این قابلیت را برای تراشه ها اضافه کرده اند که فلاش خود را برنامه ریزی کنند (که اغلب به آن self programming میگویند)این بدان معنی است که برنامه ای که روی یک میکرو کنترلر رایت شده است میتواند برنامه ی خود را باز نویسی کند به خودش آسیب بزند یا باعث شود میکرو از کار بیوفتد با این حال در مواردی این میتواند یک مزیت باشد .
لازم به ذکر است برای قرار دادن bootloader روی تراشه برای اولین بار شما نیاز به یک ISP دارید.