روش اول:
بمنظور سهولت بهرهبرداري از دستگاه در مراحل برنامهنويسي ميكرو، مواري در نرمافزار پيشبيني شده كه با استفاده از آن، كار برنامهنويسي و تست مكرر آسان ميگردد. در اين جهت كافي است فايل اجرايي نرمافزار (Hattel.exe) را در كامپايلر معرفي نماييد بطوريكه بعنوان پروگرامر يا ابزار بعد از كامپايل قابل فراخواني باشد. ( در نرمافزار CodeVision در گزينه After Make از قسمت تنظيمات پروژه و در نرمافزار BASCOM در گزينه External Programmer از قسمت تعيين پروگرامر، قابل معرفي ميباشد) با اين روش نرمافزار هاتل از درون كامپايلر قابل فراخواني است و اگر از قبل باز باشد هنگام فراخواني، بطور اتومات، فرمان Auto Program صادر ميشود. بنابراين كافي است قبل از فراخواني تنها يك بار فايل hex توليد شده توسط كامپايلر را توسط گزينه Flash Load Buffer ، باز نموده، گزينه FL Reload Buf را روشن نموده باشيد همچنين يك بار فيوز بيت مورد نياز را از منوي Fuses تنظيم نموده، گزينه Prog. Fuses را از مجموعه تيكهاي Auto Program را فعال نموده باشيد.
روش دوم:
علاوه بر امكان فوق، باتوجه به نياز و علاقه برخي از مشتريان براي برخورداي از امكان انجام مستقيم عمليات مرتبط با آيسي، از درون نرمافزارهاي كامپايلر نظير CodeVision ، ابزار خاصي براي اين قابليت دربرنامه تعبيه شدهاست كه با استفاده از آن، يكي از پروتكلهاي آشنا براي نرمافزار CodeVision و AVR Studio شبيهسازي ميگردد. اين شبيهسازي براساس AVR910 Atmel Application Note صورتپذيرفتهاست كه با فعال نمودن آن از منوي Simulation ، پروگرامر هاتل بعنوان پروگرامر AVR Prog يا AVR910 قابل شناسايي و كار است.
براي امكان استفاده از قابليت شبيهسازي بايد ابزار نرمافزاري پل مجازي پورت سريال نصب گرديده و پورت مربوطه تنظيم گردد. در اين خصوص اگر با ويندوز سِوِن يا Vista كار ميكنيد، بايد قبل از نصب، User Account Control را خاموش نماييد و اگر از ويندوز Vista 64 استفاده ميكنيد بايد فرمان:
bcdedit.exe -set TESTSIGNING ON
را RUN كرده باشيد.
هنگام نصب، ويندوز وارد مراحل نصب دو سختافزار مجازي با نامهاي CNCA0 و CNCB0 ميگردد كه بايد در پنجره نصب، گزينه اتومات را انتخاب كنيد.
پس از نصب، گزينه Setup را از برنامه اضافه شده به دكمه استارت ويندوز انتخاب كنيد. (All Programs\com0com\Setup)
در پنجره ظاهر شده (شكل زير)، پورت مجازي با نام CNCA0 را به يكي از نامهاي COM1 تا COM4 (يك تا چهار بخاطر محدوديت Codevision ميباشد) و پورت مجازي با نام CNCB0 را به AVR910 تغيير دهيد. شماره پورت انتخاب شده نبايد تكراري باشد (سختافزار ديگري با همان كانال ارتباطي وجود نداشتهباشد و با پورت ارتباطي خود پروگرامر نيز يكي نباشد). سپس كليد Apply را فشار دهيد. ( اگر پنجره زير باز نشد احتمالاً Net Framework Version 2.0. در سيستم شما قبلاً نصب نشدهاست. آنرا از سايت مايكروسافت دريافت كرده، نصب كنيد. در غير اينصورت ميتوانيد بجاي Setup از Setup Command Prompt استفاده نموده، در پنجره سياه رنگي كه باز ميشود، دو فرمان :
change CNCA0 Portname=COM3
change CNCB0 Portname=AVR910
را صادر كنيد، (COM3 بعنوان نمونه انتخاب شدهاست)
اكنون اگر تيك AVR910 از صفحه اصلي برنامه هاتل فعال باشد، پروگرامر با استاندار ارتباطي AVR910 در شماره COMي كه در پنجره بالا انتخاب نمودهايد، شبيه سازي ميگردد.
اين پروگرامر در منوي Tools برنامه AVR Studio تحت عنوان AVR Prog ، و در برنامه CodeVision تحت عنوان Atmel AVRProg -AVR910 شناخته ميشود. تنظيم شماره COM، برابر شماره پورت وارد شده در پنجره فوق، در Codevision ضروري ميباشد ولي مقدار Baudrate در اين خصوص اهميتي ندارد.
همچنين
AVR Prog
شركت Atmel نيز بطور مستقل از طريق اين سايت قابل
دريافت است.
همچنين برنامه
اينترنتي
AvrOspII
در اين خصوص قابل استفاده است
(اين برنامه مورد تأييد نيست زيرا باگهايي دارد - ضمناً بهتر است در زمان
استفاده از آن، دو عبارت emulate baud rate را در پنجره
تنظيمات پل مجازي، تيك دار كنيد ).
شبيه سازي JTAGICE mkII:
شبيه سازي پروگرامر/ديباگِر JTAGICE mkII در برنامه قرار گرفتهاست.
پروگرامر/ديباگِر JTAGICE mkII ساخت Atmel بوده و قابليت ديباگ (درج نقطه توقف در برنامه و اجراي سطر به سطر برنامه جهت اشكالزدايي) در آن تعبيه شدهاست. اين پروگرامر/ديباگر قيمت نسبتاً زيادي دارد (حدود 400 دلار).
جهت كم كردن و مديريت هزينهها و نيازها، پروگرامر JTAGICE mkII بصورت قسمت به قسمت فعال خواهد شد و براي فعال سازي هر قسمت، هزينه مربوطه دريافت ميگردد. ارتقاء برنامه هاتل و فعال سازي هر قسمت از راه دور امكانپذير بوده و نياز به مراجعه يا ارسال دستگاه نيست.
براي شبيه سازي JTAGICE mkII، لازم است در پنجره تنظيمات پُل مجازي (تصوير فوق)، دكمه Add Pair را فشار داده تا پُل مجازي ديگري علاوه بر پُل قبل تشكيل گردد. پس از آن پُلي با نام طرفين CNCA0 و CNCB0 تشكيل ميگردد. در اين مقطع دو سختافزار مجازي با نامهاي مذكور، به ويندوز اضافه ميشود كه لازم است جهت نصب كامل، ضمن انتخاب گزينه عدم اتصال به اينترنت تنها دكمه Next را در پنجرههاي نصب فشار دهيد.
حال يكي از طرفين (مثلاً CNCA0) را به يكي از نامهاي COM1 تا COM8 تغيير دهيد (چون AVR Studio فقط COM1 تا COM8 را قبول ميكند) و ديگري را به MKII تغيير نام دهيد سپس دكمه Apply را فشار دهيد.
توجه نماييد كه مشابه قبل، شماره COM انتخاب شده با ساير COMهاي موجود در سيستم (نظير مودم، كانكتورهاي 9 پين سريال، شماره COM پروگرامر هاتل و شماره COMي كه جهت شبيه سازي AVR910 انتخاب نمودهايد) يكي نباشد.
اكنون با فعال نمودن تيك مربوط به شبيهسازي JTAGICE mkII كه در صفحه اصلي برنامه پروگرامر هاتل قرار دارد، اين پروگرامر/ديباگِر، در شماره پورتي كه انتخاب نمودهايد شبيهسازي ميگردد.
در اين مقطع، تنها شبيه سازي مود پروگرامينگ پروگرامر/ديباگر JTAGICE mkII در دسترس قرار گرفتهاست.
اين شبيهسازي با نسخه نسبتاً جديد AVR Studio كاملاً سازگار ميباشد. AVR Studio از اين لينك و سرويس پك آن از اين لينك قابل دريافت ميباشد. (بترتيب نصب كنيد)
توجه: سرعت كاركرد خود پروگرامر/ديباگر JTAGICE mkII با AVR Studio در حالت ارتباط سريال، كمتر از سرعت كاركرد پروگرامر هاتل است (سرعت، در قرائت آيسي مقايسه ميشود) و اين ناشي از كندي تبادل و پردازش اطلاعات سريال در AVR Studio ميباشد و به ضعف طراحي آن برميگردد. اين موضوع در شبيه سازي هم برقرار است و با وجود آمادگي ارسال سريع اطلاعات توسط برنامه هاتل، دريافت و پردازش، محدود به AVR Studio شده است.
نكته: اگر قطعه مورد نظر شما در ليست قطعات صفحه پروگرام JTAGICE mkII نبود، به محل نصب Avr Studio مراجعه كنيد و به دنبال فايل xml قطعه مربوطه بگرديد (مثلاً برای Atmega8، فايل ATmega8.xml را پيدا كنيد) سپس فايل مزبور را با يك ويرايشگر متن باز نموده و عبارت <MODULE_LIST> را پيدا كنيد بعد JTAGICEmkII را به ابتداي ليست مقابل آن اضافه كنيد. همچنين سه خط ارائه شده زير را بعد از آن را درج كنيد. (مطابق زير) با اين كار، قطعه مورد نظر به ليست اضافه میشود.
<MODULE_LIST>[JTAGICEmkII:ICE50:SIMULATOR:STK500:STK500_2:AVRISPmkII:AVRDragon:AVRDragon:STK600]</MODULE_LIST>
<JTAGICEmkII>
<ucAllowFullPageBitstream>0x00</ucAllowFullPageBitstream>
</JTAGICEmkII>