با سلام
برای کار با هر میکرو کنترلری یکی از مهمترین وسایل مورد نیاز ، پروگرمر هست. میکرو های آرم هم از این قاعده مستثنی نیستن . البته این ابزار فقط برای پروگرم کردن میکرو نیست بلکه برای emulate کردن میکرو (دیباگینگ) هم ازش استفاده میشه و به همین علت بیشتر به اسم emulator میشناسنشون تا پروگرمر ! یعنی به وسیله این ابزار شما میتونید کار کرد میکرو رو توی مدار اصلی زیرنظر داشته باشید و مثلا ببینید فلان متغییر یا پورت الان مقدارش چنده.
به طور کلی پروگرمر هایی که برای این میکرو کنترلر موجوده 2 دسته هستند:
wiggler:
این پروگرمر ها به وسیله پورت parallel یا همون lpt به کامپیوتر وصل میشن .مزیت این پروگرمر اینه که نقشش تو اینترنت موجوده و براحتی میشه ساختش.همچنین به وسیله برنامه H-Jtag کامپیوتر باهاش ارتباط برقرار میکنه که هم کار پروگرم و هم کار دیباگ رو انجام میده. برای پیدا کردن برنامه و نقشه مدار wiggler کافیه تو اینترنت عبارت wiggler Jtag یا H-Jtag رو جست جو بکنید. عیب این پروگرمر ها عمدتا همون پورت موازیشون هست که باعث میشه به لپتاپ و مادربورد های جدید وصل نشن.
به عنوان مثال
تو این سایت نقشه پروگرمر رو داره و اینجا هم
سایت اصلی H-Jtag .
USB Emulator:
این نوع پروگرمر ها نوع حرفه ای تر ، سریعتر و دارای امکانات زیادی هستن . تو این دسته Sam-ICE و J-Link و U-Link معروفن که هر کدوم برای یه شرکت خاصی هست. اما از بین اینها J-link از بقیشون بهتره و پشتیبانی بهتری هم شده . البته این پروگرمر ها یه عیبی که دارن اینه که : اولا تو ایران برای خرید پیدا نمیشن (به دلیل ثانیا!) و ثانیا قیمتشون خیلی زیاده (تقریبا 100 دلار به بالا !) . نقشه بوردشون هم در دسترس عموم نیست (البته من زیاد دنبالش نگشتم ، شایدم بشه پیدا کرد) و اگر هم باشه به دلیل smd بودن و استفاده از یه سری ic عجیب غریب نمیشه ساختش.
اما زیاد نا امید نشید برای پروگرم کردم(و دیباگینگ) میکرو های ARM ساخت شرکت Atmel از طریق پورت usb یه راه سوم و خیلی ساده دیگه هم هست به نام sam-ba (فکر کنم lpc ها هم یه همچین امکانی داشتن ولی مطمئن نیستم) :
sam-ba یه برنامه هست که داخل Rom خود میکرو های At91sam قرار داره . اگه میکرو رو با این برنامه بوت کنید(روشش رو میگم) و سپس به کامپیوتری که برنامه AT91-ISP توش نصبه ، به وسیله پورت USB و یا COM وصل کنید ، میتونید براحتی و بدون نیاز به پروگرمر میکرو رو پروگرم و دیباگ کنید(به همین راحتی!) .
خب ، حالا روش بوت کردن Sam-ba :
* شما باید یه بورد داشته باشید که usb داشته باشه و علاوه بر اون یه جامپر بین پایه TST و 3.3+ داشته باشه.(اکثر بورد ها این امکان رو دارن)
1. در حالی که میکرو به هیچ جا متصل نیست (خاموش) جامپر مذکور رو وصل میکنید تا TST به 3.3 ولت وصل بشه (تو حالت عادی نباید وصل باشه ها!)
2. بورد رو روشن میکنید(مثلا با وصل کردن کابل usb به کامپیوتر) و 10 ثانیه صبر میکنید ، تا samba از rom به flash منتقل بشه . توجه : تو این حالت برنامه قبلی پاک میشه.
3.بورد رو خاموش میکنید(usb رو جدا کنید) و جامپر رو جدا میکنید تا به حالت عادی برگرده
4. حالا بورد رو به کامپیوتر وصل میکنید و از طریق برنامه نام برده شده میکرو رو پروگرم میکنید.
حتما متوجه عیب این روش شدید ، اینکه برای هر بار پروگرم کردن باید قبلش samba رو به روش بالا بوت کنید ولی در عوض نه نیازی به چند صد هزار تومن هزینه هست و نه از پورت موازی خبری هست.
اینم آدرس دانلود برنامهAT91-ISP
این روش رو هم من به صورت عملی امتحان کردم و هیچ مشکلی نداره.