در مقاله “پروگرامر Sis-Link ساخت پروگرامر ARM و AVR: دگردیسی” توضیح دادیم که چطور پروگرامر st-Link خود را به پروگرامر حرفه ای sis-Link تبدیل کنید! پروگرامر sis-link علاوه بر پروگرامر کردن انواع میکروکنترلرهای ARM قادر به برنامه ریزی میکروکنترلر های AVR نیز هست ، در این مقاله بررسی خواهیم کرد که چطور می توانید از پروگرامر sis-link به صورت مستقیم در نرم افزار keil استفاده کنیدو به کمک آن علاوه بر پروگرام کردن میکروکنترلر را دیباگ کنید. با سیسوگ همراه باشید.
البته در پست های آینده استفاده از پروگرامر sis-link را در دیگر نرم افزار های ARM آموزش میدهیم ، اما در این پست قصد داریم نحوه استفاده از پروگرامر دیباگر sis-link را در نرم افزار محبوب Keil آموزش بدهیم ، فرقی نمی کنه از چه ورژن keil استفاده می کنید از ورژن 4 به بعد این نرم افزار از Cmsis-DAP پشتیبانی میکند، پس از sis-link هم پشتیبانی می کند! شما با استفاده از sis-link هم قادر به برنامه ریزی (پروگرام کردن) و هم خطایابی (دیباگ کردن) برنامه خود خواهید بود. توجه داشته باشید که علاوه بر میکروکنترلر های خانواده ST شما قادر به پروگرام و خطایابی دیگر میکروکنترلر ها نیز هستید ، برای روشن شدن بهتر این موضوع ما در این آموزش از میکروکنترلر LPC1768 محصول شرکت NXP استفاده خواهیم کرد. پروژه مربوطه رو در انتهای مطلب در بخش دانلود ها می توانید دانلود کنید.
در برنامه فوق بعد از انجام تنظیمات اولیه کلاک که توسط تابع SystemInit انجام میشود ، تمام پایه ها از پورت GPIO2 به صورت خروجی تعریف می شوند و بعد هر 100 میلی ثانیه یک بار صفر و یک می شوند در واقع حالت چشمک زن را بوجود می آورد.
قبل از اعمال هرگونه تنظیمات ، لازم که اتصال فیزیکی پروگرامر و میکروکنترلر برقرار شود ، این اتصال به صورت یک به یک خواهد بود ، در واقع برای پروگرام کردن و خطایابی با استفاده از رابط swd تنها نیاز به 2 پایه به اسم های swdio و swclk بیشتر نیست و سیگنال زمین هم برای هم پتانسیل کردن حتما باید متصل شود ولی پایه های Reset و 3.3 کاملا اختیاری هستند و اگر هم متصل نباشند اتفاق خاصی نمی افتد.
در پنجره باز شده زبانه Debug را انتخاب کنید و از لیست کشویی گزینه CMSIS-DAP را انتخاب کنید و بر روی کلید Settings کلیک نمایید
در پنجره تنظیمات باز شده ، ابتدا نوع پروگرامر را Sisoog-Link انتخاب کنید و گزینه پورت را بر روی SW قرار دهید ، چنانچه پروگرامر به برد LPC1768 متصل شده باشد و برد روشن باشد ، باید IDCODE هسته پردازنده در قسمت SW Device همانند تصویر زیر به نمایش در آید. این بدان معناست که پروگرامر به میکروکنترلر متصل شده است.
بعد از آن به همان پنجره به سربرگ Flash Download بروید، و گزینه Reset and Run را تیک بزنید.
خوب تمام شد ، بر روی کلید Ok کلیک کنید ؛ تا تنظبمات اعمال شود. برای پروگرام کردن تنها کافی است که از منوی Flash گزینه Download را انتخاب کنید
و برای خطایابی و دیباگ تنها کافی است که از منوی Debug گزینه Start/Stop Debug را انتخاب کنید تا برنامه در حالت خطایابی قرار بگیرد.
چرا نرم افزار Keil
توضیح برنامه تست
برنامه تست در واقع ساده ترین حالت ممکن یک برنامه است1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | #include <LPC17xx.h> void delay_ms(unsigned int ms) { unsigned int i,j; for(i=0;i<ms;i++) for(j=0;j<20000;j++); } int main(void) { SystemInit(); //Clock and PLL configuration LPC_PINCON->PINSEL4 = 0x000000; //Configure the PORT2 Pins as GPIO; LPC_GPIO2->FIODIR = 0xffffffff; //Configure the PORT2 pins as OUTPUT; while(1) { LPC_GPIO2->FIOSET = 0xffffffff; // Make all the Port pins as high delay_ms(100); LPC_GPIO2->FIOCLR = 0xffffffff; // Make all the Port pins as low delay_ms(100); } } |
اتصال سخت افزاری پروگرامر sis-link
البته لازم به ذکر است اگر در برنامه نوشته شده توسط کاربر این سیگنال های SWDIO و SWCLK غیر فعال یا Remap شده باشد اتصال Reset الزامی است
سلام علیکم.
استاد دو مدل st link هست.
کدوم رو باید تهیه کنیم(بنده قصد پروگرام lpc 1768 رو دارم)
https://b2n.ir/634786
https://b2n.ir/470055
هر دو مدل کار میکنن – من روی هر دو جواب گرفتم – ولی توصیه میکنم اولی رو بگیرید کیفیت بهتری داره
سلام
ممنون از مطالب خیلی خوب سایتتون فقط چرا لینک های دانلود از کار افتادن ؟ چنتا از پست هارو هم امتحان کردم ولی نتونستم دانلود کنم
سلام دوست عزیز ؛ ظاهرا مشکلی توی سرویس دانلودمون وجود داره که داریم سعی میکنم مشکل رو برطرف کنیم