U BOARD ir.

ورود به حساب کاربری
مرا بخاطر بسپار
گذرواژه را فراموش کرده اید؟
هنوز ثبت نام نکرده اید؟ تنها سه گزینه برای ثبت نام ثبت نام

U BOARD ir.

ثبت نام
ثبت نام
لطفا تمامی موارد خواسته شده را تکمیل نمایید لطفا ایمیل معتبر وارد نمایید لطفا گذرواژه را بیشتر از 6 کاراکتر وارد نمایید لطفا گذرواژه را مجددا بیشتر از 6 کاراکتر وارد نمایید
پروگرامر J-Link و برنامه ریزی میکروکنترلرهای ARM | یوبرد

پروگرامر J-Link، پردازنده هایی که توسط J-Link پشتیبانی می شوند، انواع J-Link، ویژگی های J-Link، نرم افزار J-Flash چیست؟ پروگرام کردن STM32F1xx و LPC17xx با J-Flash و J-Flash Lite و Keil، اتصالات JTAG و SWD در J-Link، تنظیمات J-Flash و Keil برای پروگرام کردن با J-Link

پروگرامر J-Link و برنامه ریزی میکروکنترلرهای ARM
data:image/jpeg;base64,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
رضا بداغی ۹۹/۰۷/۱۸ زمان موردنیاز برای مطالعه ۵۰ دقیقه

پروگرامر J-Link (یا پروگرامر جی لینک) یک سخت افزار برنامه ریزی و دیباگ ساخت شرکت آلمانی SEGGER Microcontroller است. هر میکروکنترلر، میکروپروسسور یا SoC با هستۀ پردازنده ایی که پروگرامر J-Link پشتیبانی کند، قابل برنامه ریزی و دیباگ است. این ویژگی در کنار سایر ویژگی ها و همچنین انواع مختلف پروگرامر J-Link باعث شده این پروگرامر کاربردهای فراوانی در برنامه ریزی و دیباگ سیستم های برنامه پذیر داشته باشد. شرکت SEGGER سال هاست که این پروگرامر را توسعه داده و امروزه انواع پیشرفته ای با امکانات گسترده تولید می کند. به طوری که در لیست محصولات این شرکت پروگرامر J-Link با امکان اتصال به کامپیوتر از طریق وای فای و اترنت و همچنین پروگرامرهایی با سرعت بالا یافت می شود. ممکن است پروگرامر J-Link با عنوان پروگرامر میکروکنترلر ARM یا پروگرامر آرم نیز معرفی شود. این تعریف به دلیل پشتیبانی شدن هسته های مختلف ARM توسط این پروگرامر است. اما پروگرامر J-Link تنها برای برنامه ریزی میکروکنترلرهای ARM به کار نمی رود. بلکه برای پروگرام انواع حافظه های Flash و پردازنده های متعدد دیگر هم کاربرد دارد.

اکنون که دریافتیم J-Link چیست، در ادامه به منظور آشنایی بیشتر و نحوۀ کار با پروگرامر J-Link، پس از بیان ویژگی ها و معرفی نرم افزار آن، به پروگرام کردن میکروکنترلرهای روی برد توسعۀ STM32F10xVxxx و برد توسعۀ LPC1768 یوبرد می پردازیم. پروگرامر J-Link از پروتکل های ارتباطی JTAG و SWD پشتیبانی می کند. از طرفی با هر دوی این پروتکل ها می توان میکروکنترلرهای STM32F103VETx و LPC1768 را برنامه ریزی کرد. بنابراین در این نوشته توضیحاتی دربارۀ نحوۀ اتصالات JTAG و SWD داده می شود. همچنین در هر بار با یکی از این پروتکل های ارتباطی بردهای مذکور را پروگرام می کنیم.

پروگرامر-j-link-segger

تصویر 1 – یک مدل پروگرامر J-Link

 

هدف از این نوشته علاوه بر آموزش کار با پروگرامر J-Link و نرم افزار آن ، آشنایی خوانندگان با نحوۀ پروگرام از طریق JTAG و SWD به طور مختصر است. اهمیت نحوۀ استفاده از JTAG و SWD آنجایی ظاهر می شود که بخواهیم محصولی با قابلیت دیباگ بسازیم. بنابراین دانستن مباحث مربوط به این موضوع ضرورت فراوانی دارد. از طرفی صحبت دربارۀ این دو پروتکل ارتباطی به درازا می کشد و مطالب آن در این نوشته نمی گنجد. بنابراین به اندازۀ نیاز این نوشته که توضیح اتصالات آنهاست، صحبت خواهیم کرد. همچنین ممکن است در منابع مختلف روش های متعددی برای اتصالات JTAG و SWD ذکر شده باشد. پس ضروری است نحوۀ اتصالات صحیح را در کار با JTAG و SWD بدانیم. در این نوشته نحوۀ اتصال پایه های میکروکنترلر به کانکتور پروگرامر J-Link با JTAG و SWD توضیح داده شده است. هدف از این کار، شفاف سازی موضوع اتصال میکروکنترلرها از طریق این دو پروتکل به پروگرامر و دیباگر است.

از اهداف دیگر این نوشته، تکمیل مباحث پروگرام کردن میکروکنترلرهاست. در نوشته های پیشین دربارۀ نرم افزار ST-Link Utility، آموزش کار با نرم افزار ProgISP، نحوۀ نصب درایور USBasp و پروگرام کردن میکروکنترلرهای AVR صحبت کردیم. این نوشته نیز با موضوع و اهداف نوشته های مذکور است. (میکروکنترلرهای AVR)

نکته: منظور از عبارت "میکروکنترلرهای ARM" در این نوشته، میکروکنترلر با هستۀ پردازندۀ ARM است.

نکته: منظور از عبارت "المان تحت پروگرام" در اینجا، میکروکنترلر، حافظۀ Flash یا هر قطعۀ دیگری است که توسط پروگرامر J-Link پروگرام می شود.

نکته: پروگرام و دیباگ با JTAG و SWD روش های مختلفی دارد. در نکات ذکر شده برای اتصالات JTAG و SWD از پرداختن به این روش ها و نکات آنها صرف نظر شده است. نوشتۀ «روش های پروگرام کردن STM32» حاوی اطلاعات مفیدی در این زمینه است.

چند-نمونه-j-link

تصویر 2 – چند نمونه پروگرامر J-Link

 

پروگرامر J-Link از چه پردازنده هایی پشتیبانی می کند؟

این پروگرامر از هسته های پردازندۀ مختلفی از جمله ARM Cortex و Renesas RX و Microchip PIC پشتیبانی می کند. همچنین انواع مختلفی از حافظه های SPI Flash توسط این پروگرامر پشتیبانی می شوند. پردازنده هایی که توسط پروگرامر J-Link پشتیبانی می شوند عبارتند از:

  • پردازنده های ARM Cortex و ARM Legacy

ARM Cortex-A/R 64bit

ARM Cortex-A/R 32bit

ARM Cortex-M

ARM Legacy

Cortex-A53

Cortex-A5

Cortex-M0

ARM720T

Cortex-A72

Cortex-A7

Cortex-M0+

ARM7TDMI

 

Cortex-A8

Cortex-M1

ARM7TDMI-S

 

Cortex-A9

Cortex-M23

ARM920T

 

Cortex-A12

Cortex-M3

ARM922T

 

Cortex-A15

Cortex-M33

ARM926EJ-S

 

Cortex-A17

Cortex-M4

ARM946E-S

 

Cortex-R4

Cortex-M7

ARM966E-S

 

Cortex-R5

 

ARM1136JF-S

 

Cortex-R8

 

ARM1136J-S

 

 

 

ARM1156T2-S

 

 

 

ARM1156T2F-S

 

 

 

ARM1176JZ-S

 

 

 

ARM1176JZF

 

 

 

ARM1176JZF-S

جدول 1 – لیست هسته های پردازندۀ ARM پشتیبانی شده توسط پروگرامر J-Link

 

  • پردازنده های Renesas RX

Renesas RX110

Renesas RX210

Renesas RX23T

Renesas RX62G

Renesas RX631

Renesas RX65N

Renesas RX111

Renesas RX21A

Renesas RX24T

Renesas RX62N

Renesas RX63N

Renesas RX651

Renesas RX113

Renesas RX220

Renesas RX610

Renesas RX62T

Renesas RX63T

Renesas RX66T

Renesas RX130

Renesas RX231

Renesas RX621

Renesas RX630

Renesas RX64M

Renesas RX71M

جدول 2 – لیست پردازنده های Renesas RX پشتیبانی شده توسط پروگرامر J-Link

 

  • • پردازنده های Microchip PIC: که عبارتند از Microchip PIC32MX و Microchip PIC32MZ و Microchip PIC32WK؛
  • • پردازندۀ Silicon Lab 8051 که عبارت است از EFM8؛
  • • پردازنده های RISC-V که شامل RV32 و RV64 و AndesTech A25 و SiFive E31 هستند.

علاوه بر پردازنده هایی که ذکر شد، این پروگرامر تعداد زیادی حافظۀ SPI Flash را پشتیبانی می کند. لیست این حافظه ها که ساخت شرکت های Adesto Technologies و Eon و GigaDevice و ISSI و Macronix و STMicrielectronics و Microchip و ... هستند، در سایت شرکت SEGGER آمده است.

پشتیبانی-پردازنده-flash-j-link

تصویر 3 – پشتیبانی پروگرامر J-Link از میکروکنترلر و SPI Flash

 

انواع پروگرامر J-Link

پروگرامر J-Link انواع و نسخه های مختلفی دارد. هر کدام از آنها در برخی از ویژگی ها با دیگری متفاوت است. همچنین برخی از آنها تمامی پردازنده های ذکر شده را پشتیبانی نمی کنند. در سایت شرکت SEGGER تعدادی پروگرامر مختلف J-Link با یکدیگر مقایسه شده اند. این پروگرامرها عبارتند از:

  • • J-Link EDU: این مدل از پروگرامر J-Link ارزان قیمت و برای اهداف آموزشی است. J-Link EDU همان J-Link BASE است و عملکردی مشابه آن دارد. تفاوت آنها تنها در چند ویژگی نرم افزاری است. برخی ویژگی های مهم آن عبارتند از: پشتیبانی از طیف وسیعی از میکروکنترلرها، پشتیبانی از پردازنده های 8051 و ARM7/9/11 و ARM Cortex-M/R/A و PIC32 و Renesas RX و RISC-V، سرعت دانلود تا 1 مگابایت در ثانیه، پشتیبانی از تعداد نامحدود Breakpoint در حافظۀ Flash، قابلیت VCOM داخلی. (شمارۀ 1 در تصویر زیر)
  • • J-Link EDU Mini: یک نسخه از پروگرامر J-Link EDU است که نسبت به آن قابلیت های کمتری دارد. این پروگرامر عملکرد یکسانی با J-Link EDU دارد و برخی ویژگی های آن عبارتند از: ابعاد کوچک (18 در 50 میلی متر)، دارای عملکرد کامل J-Link، پشتیبانی از JTAG و SWD. (2)
  • • J-Link BASE (و J-Link BASE Compact): این نسخۀ پیشرو در بازار از طیف وسیعی از میکروکنترلرها پشتیبانی می کند. ویژگی های دیگر آن عبارتند از: پشتیبانی از پردازنده های 8051 و ARM7/9/11 و ARM Cortex-M/R/A و PIC32 و Renesas RX و RISC-V، سرعت دانلود تا 1 مگابایت در ثانیه، پشتیبانی از تعداد نامحدود Breakpoint در حافظۀ Flash، قابلیت VCOM داخلی. (3)
  • • J-Link PLUS (و J-Link PLUS Compact): که ساخته شده از پردازندۀ 32 بیتی RISC است. J-Link PLUS نسبت به J-Link BASE از ویژگی های نرم افزاری بیشتری برخوردار است. (4)

انواع-پروگرامر-j-link

تصویر 4 – انواع پروگرامر J-Link

 

پروگرامرهای J-Link پیشرفته تر

پروگرامر J-Link انواع پیشرفته تر دیگری نیز دارد که عبارتند از J-Link WiFi و J-Link ULTRA+ و J-Link PRO. پروگرامر J-Link WiFi دارای رابط کاربری WLAN/WiFi است و از این طریق به کامپیوتر متصل می شود. این پروگرامر که برای المان های تحت پروگرام متحرک مناسب است، تغذیۀ خود را از طریق یک کابل USB می گیرد. J-Link WiFi به غیر از ویژگی وای فای، در دیگر مشخصات سخت افزاری مشابه J-Link BASE و J-Link PLUS و از لحاظ ویژگی های نرم افزاری مانند J-Link PLUS است. همچنین از نظر پردازنده های تحت پشتیبانی تفاوتی با دو نوع مذکور ندارد. لازم به ذکر است رابط USB در این پروگرامر برای پیکربندی نیز استفاده می شود. J-Link ULTRA+ نیز یک پروگرامر فوق سریع است و سرعت دانلود آن به 3 مگابایت بر ثانیه می رسد. همچنین این پروگرامر به طور کامل با پروگرامر J-Link PLUS سازگار است و تنها تفاوت آن سرعت بالاتر است. علت سرعت بالای این پروگرامر استفاده از TCP/IP به جای USB است. J-Link PRO نیز یکی دیگر از پروگرامرهای پیشرفتۀ SEGGER است. این پروگرامر علاوه بر USB دارای رابط Ethernet است و سرعت دانلود آن مانند J-Link ULTRA+ است. همچنین دارای ویژگی های سخت افزاری دیگر مشابه J-Link ULTRA+ (و نتیجتاً J-Link PLUS) است. با توجه به وجود اترنت، ایجاد ارتباط بین کامپیوتر و پروگرامر در مسافت های طولانی امکان پذیر است. در تصویر زیر سه پروگرامر J-Link WiFi و J-Link ULTRA+ و J-Link PRO را مشاهده می کنید.

نکته: پروگرامرهای J-Link دیگری در سایت شرکت SEGGER آورده شده اند. از جمله پروگرامر J-Link OB که قابل مونتاژ روی بردهای دیگر است (حروف OB مخفف On-board) و پروگرامرهای مدل Lite که خود چند نوع هستند.

پروگرامر-j-link-پیشرفته

تصویر 5 – پروگرامرهای پیشرفتۀ J-Link

 

ویژگی های پروگرامر J-Link

در بخش قبل تا حدودی دربارۀ ویژگی های پروگرامر J-Link صحبت کردیم. در این بخش به بیان برخی ویژگی های مشترک انواع پروگرامرهای J-Link می پردازیم. این ویژگی ها عبارتند از:

  • • وجود رابط USB؛
  • • پشتیبانی از هسته های ARM7/ARM9/ARM11 و Cortex-A5/A7/A8/A9/A12/A17 و Cortex-M0/M1/M3/M4/M7/M23/M33 و Cortex-R4/R5؛
  • • تشخیص خودکار هسته؛
  • • حداکثر فرکانس ارتباط با المان تحت پروگرام (بسته به مدل پروگرامر) 15 یا 50 مگاهرتز؛
  • • ادغام یکپارچه در IDEهای اصلی (مانند SEGGER Embedded Studio و emIDE و Eclips و اتمل استودیو و Keil و ...)؛
  • • بدون نیاز به منبع تغذیۀ جداگانه؛
  • • پشتیبانی از زمان بندی تطبیقی (Adaptive Clocking)؛
  • • قابلیت مانیتور تمامی سیگنال های JTAG و همچنین اندازه گیری ولتاژ المان تحت پروگرام؛
  • • پشتیبانی از Multiple devices (برای پروگرام کردن چند المان روی یک برد)؛
  • • Plug and play کاملاً سازگار؛
  • • دارای کانکتور 20 پین JTAG/SWD، کانکتور 19 پین Trace و JTAG/SWD و کانکتور 38 پین JTAG+Trace استاندارد؛
  • • شامل کابل USB و کابل فلت 20 پین؛
  • • قابلیت مشاهدۀ محتویات حافظه (J-Mem)؛
  • • قابلیت Remote server، که امکان استفادۀ J-Trace را از طریق شبکه های TCP/IP فراهم می آورد؛
  • • وجود رابط RDI، که امکان استفادۀ پروگرامر J-Link را با نرم افزارهای سازگار با RDI فراهم می کند؛
  • • امکان استفاده با نرم افزار J-Flash (نرم افزار پروگرامر J-Link).

پروگرامر-j-link-flash

تصویر 6 – نرم افزار J-Flash و پروگرامر J-Link

 

نرم افزار J-Flash چیست؟

شرکت SEGGER برای راه اندازی J-Link یک مجموعۀ نرم افزاری به نام نرم افزار J-Link دارد. یکی از نرم افزارهای این مجموعه، نرم افزار J-Flash است. از J-Flash برای برنامه ریزی حافظه های Flash داخلی و خارجی میکروکنترلرها با پروگرامر J-Link یا Flasher استفاده می شود. نرم افزار J-Flash سازگار با ویندوزهای 2000 به بعد و همچنین قابل اجرا در لینوکس و macOS است. از ویژگی های این نرم افزار پشتیبانی از اغلب قطعات/ هسته های Cortex-A/R/M و RX و PowerPC است. همچنین حافظه های Flash داخلی و خارجی که J-Flash پشتیبانی می کند، عبارتند از:

  • • حافظه های Flash داخلی اغلب میکروکنترلرهای محبوب؛
  • • حافظه های NOR falsh سازگار با CFI (انواع p1x8 و p2x8 و p2x8 و p2x16)؛
  • • اغلب حافظه های NOR flash غیر سازگار با CFI (انواع p1x8 و p2x8 و p2x8 و p2x16)؛
  • • حافظه های SPI NOR flash؛
  • • حافظه های NAND flsh.

همانند نرم افزار ST-Link Utility که در گذشته بررسی کردیم، J-Flash نیز قابلیت پاک کردن، نمایش محتویات و تأیید حافظه را دارد. همچنین ابزار Check Blank و قابلیت خواندن محتویات حافظه در این نرم افزار نیز موجود است. برای دانلود نرم افزار J-Link، در سایت SEGGER از بخش Downloads روی J-Link/J-Trace کلیک می کنیم. سپس در صفحۀ باز شده در بخش J-Link Software and Documentation Pack روی Click for downloads کلیک می کنیم. بعد از آن در جدول ظاهر شده، مجموعۀ نرم افزاری J-Link را متناسب با سیستم عامل خود دانلود می کنیم. گفتنی است که نرم افزار J-Flash Lite این مجموعه، نرم افزاری با امکانات کم برای پروگرام کردن با پروگرامر J-Link است. در ادامه روش کار با J-Flash و J-Flash Lite شرح داده خواهد شد.

نکته: J-Flash با عبارت "نرم افزار پروگرام ARM" نیز شناخته می شود.

دانلود-نرم-افزار-j-flash

تصویر 7 – دانلود نرم افزار J-Flash و مجموعه نرم افزار J-Link

 

اتصالات J-Link برای پروگرام کردن میکروکنترلرهای ARM

ترتیب پایه های کانکتور 20 پین IDC پروگرامر J-Link برای JTAG و SWD در تصویر زیر آورده شده است. همچنین جدول زیر راهنمایی برای اتصال پایه های میکروکنترلر STM32F103VETx و LPC1768 به پروگرامر J-Link است.

JTAG Pins

SWD Pins

J-Link

STM32F103VETx

(LQFP100)

LPC1768

(LQFP100)

J-Link

STM32F103VETx

(LQFP100)

LPC1768

(LQFP100)

nTRST

(Pin 3) *

NJTRST

(PB4 - Pin 90)

TRST

(Pin 4)

     

TDI

(Pin 5)

JTDI

(PA15 - Pin 77)

TDI

(Pin 2)

     

TMS

(Pin 7)

JTMS

(PA13 - Pin 72)

TMS

(Pin 3)

SWDIO

(Pin 7)

SWDIO

(PA13 - Pin 72)

SWDIO

(Pin 3)

TCK

(Pin 9)

JTCK

(PA14 - Pin 76)

TCK

(Pin 5)

SWCLK

(Pin 9)

SWCLK

(PA14 - Pin 76)

SWCLK

(Pin 5)

RTCK

(Pin 11) *

-

RTCK

(Pin 100)

     

TDO

(Pin 13)

JTDO

(PB3 - Pin 89)

TDO

(Pin 1)

SWO

(Pin 13)

TRACESWO

(PB3 - Pin 89)

SWO

(Pin 1)

RESET

(Pin 15)

NRST

(Pin 14)

RESET

(Pin 17)

RESET

(Pin 15)

NRST

(Pin 14)

RESET

(Pin 17)

جدول 3 – پایه های مربوط به JTAG و SWD در پروگرامر J-Link و میکروکنترلرهای STM32F103VETx و LPC1768

 

کانکتور-idc-پروگرامر-j-link

تصویر 8 – ترتیب پایه های کانکتور IDC پروگرامر J-Link

 

نکاتی دربارۀ اتصالات در JTAG و SWD در پروگرام کردن با J-Link

  • 1- پروگرام با JTAG در دو حالت 4 پین و 5 پین انجام می شود. در حالت چهار پین تنها پایه های TDI و TMS و TCK و TDO نیاز است. در حالت پنج پین علاوه بر چهار پایۀ مذکور، به پایۀ nTRST نیز نیاز داریم.
  • 2- پایه های nTRST و RTCK ممکن است در برخی المان ها موجود و یا در دسترس نباشند. در المان هایی که پایۀ RTCK وجود ندارد، این پایه از پروگرامر J-Link باید زمین شود.
  • 3- اتصال پایۀ تغذیه، یعنی 5v-Supply اختیاری است. از این پایه به عنوان تغذیۀ اصلی سیستم تحت پروگرام استفاده می شود. اما پایۀ VTrefباید به پایه (های) VCC المان تحت پروگرام متصل باشد.
  • 4- پایۀ DBGRQ در پروگرام کردن با پروگرامر J-Link استفاده نمی شود.
  • 5- در پروگرام با SWD تنها به دو پایۀ SWDIO و SWCLK نیاز داریم.
  • 6- پایه هایی که در تصویر بالا در کنار آنها علامت * وجود دارد، در برخی از مدل های J-Link برای اکستنشن های Firmware رزرو شده اند. در حالت عادی می توان آنها را بدون اتصال رها و یا به زمین متصل کرد. نباید فرض شود که این پین ها از داخل پروگرامر به زمین متصل هستند.
  • 7- در ارتباط JTAG باید پایه های TMS و TDI با مقاومت 100 کیلو اهم، پول آپ و پایۀ TCK با مقاومت 100 کیلو اهم، پول دون شود.
  • 8- در ارتباط SWD باید پایۀ SWDIO را پول آپ و پایۀ SWCLK را پول دون کنیم. مقدار مقاومت پول آپ و پول دون نیز می تواند 100 کیلو اهم باشد.
  • 9- مقاومت پول آپ باید به VCC المان تحت پروگرام وصل شود نه پایۀ 5v-Supply.

در تصویر زیر نحوۀ اتصال پروگرامر J-Link به المان تحت پروگرام برای JTAG و SWD (بدون مقاومت های پول آپ و پول دون) نمایش داده شده است.

اتصال-پروگرامر-j-link

تصویر 9 – اتصال پایه های پروگرامر J-Link به المان تحت پروگرام

 

پروگرام کردن با نرم افزار J-Flash و پروگرامر J-Link

برای کار با J-Flash باید ابتدا یک پروژه بسازیم. پس از اجرای نرم افزار J-Flash پنجرۀ Welcome to J-Flash ظاهر می شود. در این پنجره می توان انتخاب کرد که پروژه های قبلی باز شوند و یا پروژۀ جدید ایجاد شود. گزینۀ Create new project را برای ایجاد پروژۀ جدید انتخاب و روی Start J-Flash کلیک می کنیم (1 و 2). در صورتی که پنجرۀ Welcome to J-Flash باز نشد، از منوی File گزینۀ New Project را انتخاب می کنیم. بدین شکل پنجرۀ New Project باز می شود. در این پنجره روی Browse کلیک (3) و میکروکنترلر خود را انتخاب می کنیم. برای این کار باید از پنجرۀ باز شده (پنجرۀ Target Device Setting) در ستون Device، میکروکنترلر خود را جست و جو کنیم (4). بعد از کلیک روی میکروکنترلر مورد نظر و OK، این پنجره بسته می شود (5). در پنجرۀ Create New Project در قسمت Target interface و Speed، پروتکل ارتباطی مورد نظر و فرکانس آن را انتخاب و یا تایپ می کنیم (6). در نهایت روی دکمۀ OK کلیک می کنیم (7).

ساخت-پروژه-در-j-flash

تصویر 10 – مراحل ساخت پروژه در نرم افزار J-Flash

 

در این مرحله پنجرۀ اصلی J-Flash باز می شود. در سمت چپ در پنجرۀ Project information اطلاعات پروژۀ حاضر دسته بندی و نمایش داده شده است. می توان روی هر کدام از موارد نمایش داده شده کلیک کرد و تنظیمات را تغییر داد. به این صورت که ابتدا روی یکی از آنها کلیک می کنیم، سپس با کلیک روی دکمۀ Browse جلوی آن، پنجرۀ تنظیمات مربوط را باز می کنیم. در قسمت پایین نرم افزار نیز پنجرۀ Log وجود دارد. این قسمت اطلاعات مربوط به عملیات انجام شده در نرم افزار و پروگرامر J-Link را نمایش می دهد. در ادامه نحوۀ پروگرام کردن میکروکنترلر STM32F103VETx موجود روی برد توسعۀ STM32F10xVxxx یوبرد با نرم افزار J-Flash و پروگرامر J-Link شرح داده می شود.

محیط-نرم-افزار-j-flash

تصویر 11 – محیط نرم افزار J-Flash پس از ساخت پروژه

 

پروگرام کردن با نرم افزار J-Flash

برای پروگرام کردن میکروکنترلر STM32F103VETx باید پایه های آن را به کانکتور پروگرامر J-Link با ارتباط JTAG یا SWD متصل کنیم. این کار را با توجه به مطالب گفته شده در بخش اتصالات J-Link انجام می دهیم. توجه شود که اتصالات، مطابق با نوع ارتباطی باشد که در مراحل ساخت پروژه انتخاب کردیم (JTAG یا SWD). پس از اتصال پروگرامر به کامپیوتر، برای اطمینان از صحیح بودن اتصالات، از منوی Target روی Connect کلیک می کنیم (1). در صورتی که اتصالات صحیح نباشد، در نرم افزار پیغام خطایی ظاهر می شود. در غیر این صورت، اتصال به درستی انجام شده و در قسمت Log پیام Connected successfully نمایش داده می شود (2). برای افزودن فایل HEX به پروژه، از منوی File روی Open data file کلیک (3) و فایل HEX را جست و جو و باز می کنیم (4).

افزودن-فایل-hex-j-flash

تصویر 12 – افزودن فایل HEX در نرم افزار J-Flash

 

با این کار در قسمت خالی نرم افزار پنجره ای با محتویات فایل باز شده، ظاهر می شود (1). برای پروگرام کردن کافی است از منوی Target روی Production Programming کلیک کنیم (2). پس از پروگرام شدن، در پنجرۀ Log پیغامی شامل عملیات انجام شده ظاهر می شود (3). همچنین پنجره ای با موضوع موفقیت آمیز بودن عملیات پروگرام باز می شود. با کلیک روی دکمۀ OK آن را می بندیم (4). عملیاتی را که در این بخش توضیح داده شد، می توان در تنظیمات تعیین کرد. می توان در تنظیمات، تیک Program و Verify را برداشت و حافظۀ میکروکنترلر را Erase کرد. نکتۀ مهم این است که در صورت تنظیم برای یک یا دو عملیات، پیغامی که پس از عملیات نمایش داده می شود، به اشتباه بیانگر Erase، پروگرام و Verify شدن حافظه است. در صورتی که باید تنها بیان کنندۀ عملیات تعیین شده باشد. در بخش بعدی تنظیمات مربوط به پروگرام کردن توضیح داده می شود.

پروگرام-j-flash-j-link

تصویر 13 – پروگرام کردن با نرم افزار J-Flash و پروگرامر J-Link

 

منوها و تنظیمات نرم افزار J-Flash

در این بخش به طور مختصر به شرح منوها و تنظیمات کاربردی J-Flash برای پروگرام کردن با پروگرامر J-Link می پردازیم. در منوی File گزینه هایی برای ساخت، ذخیره و باز کردن پروژه های J-Flash وجود دارد. همچنین در این منو گزینه هایی برای باز کردن و ذخیرۀ فایل موجود است (1). از این منو برای ساخت و ذخیرۀ پروژه و فایل استفاده می کنیم. در منوی Edit ابزارهایی برای ویرایش فایل موجود است (2). منوی Target شامل عملیات اتصال و قطع و همچنین ابزارهایی برای کار روی حافظۀ میکروکنترلر است (3). منوی Options شامل تنظیمات پروژه و تنظیمات عمومی نرم افزار است (4). در منوی View نیز با تیک روی Show project information و Show log، پنجره های مربوط در صورت بسته بودن، باز می شوند (5).

منوهای-نرم-افزار-j-flash

تصویر 14 – منوهای نرم افزار J-Flash

 

برای انجام تنظیمات مربوط به پروگرام کردن، از منوی Options روی Project Settings کلیک می کنیم. در تصویر زیر بخش های مهم پنجرۀ تنظیمات نمایش داده شده است. موارد موجود در بخش Target Interface برای تنظیم نوع و مشخصات ارتباط پروگرامر J-Link با میکروکنترلر است (1). در این بخش می توانیم JTAG، SWD یا ... را به عنوان پروتکل ارتباطی بین پروگرامر و میکروکنترلر انتخاب کنیم. در بخش MCU می توان المان تحت پروگرام را تعیین کرد (2 و 3). در بخش Production نیز تنظیماتی از قبیل فعال کردن ولتاژ 5v-Supply و تعیین عملیات حین پروگرام وجود دارد. در صورت قرار دادن Power source روی VCC5V، ولتاژ 5 ولت پایۀ 19 پروگرامر پس از Connect شدن فعال می شود (5). در بخش Actions performed by 'Production programming' نیز با تیک زدن هر کدام از گزینه ها، عملیات مربوط به آن، پس از کلیک روی گزینۀ Production programming منوی Target، طی پروگرام کردن انجام می شود (6).

تنظیمات-نرم-افزار-j-flash

تصویر 15 – تنظیمات مهم نرم افزار J-Flash برای کار با پروگرامر J-Link

 

منوی Target

در این منو می توانیم عملیات پروگرام و دیگر عملیات مربوط به حافظۀ Flash را انجام دهیم. برای انجام هر عملیاتی باید ابتدا روی Connect کلیک کنیم. همان طور که مشاهده می کنید گزینه های Connect و Disconnect در منوی Target هستند (1). در منوی Target  ابزای وجود دارد که با آن می توان یک فایل تست ساخت. برای ایجاد یک فایل تست از گزینۀ Test (شمارۀ 2) روی Generate test data کلیک می کنیم. در این صورت می توان فایل تست ایجاد شده را به حافظۀ المان تحت پروگرام، منتقل کرد. گزینۀ بعد Production Programming است که در بخش های بعدی دربارۀ آن و تنظیم عملیات آن صحبت کردیم (3). آخرین گزینۀ منوی Target که Manual Programming نام دارد، برای انجام عملیات مختلف روی حافظه است (4). در بخشی از این منو (5) ابزار Check Blank قرار گرفته است. با استفاده از این ابزار می توان از خالی بودن حافظه اطمینان حاصل کرد. عملیات پاک کردن با استفاده از Erase Sectors و Erase Chip نیز در همین بخش (5) قرار گرفته است. در بخش بعدی Program و Program & Verify وجود دارد (6). با استفاده از این ابزار ها می توان المان تحت پروگرام را برنامه ریزی کرد. اگر روی  Program کلیک کنیم، المان تحت پروگرام تنها پروگرام می شود. اگر روی Program and Verify کلیک کنیم، هم پروگرام و هم محتویات حافظۀ آن تأیید (Verify) می شود. در بخش بعدی ابزارهای Verify و Read back قرار گرفته است (7). با ابزار Verify محتویات حافظه تأیید و با ابزار Read back حافظۀ المان تحت پروگرام خوانده و محتویات آن در محیط نرم افزار نمایش داده می شود. می توان با استفاده از گزینه های Save data file این محتویات را در چند فرمت مختلف ذخیره کرد.

منوی-target-j-flash-link

تصویر 16 – منوی Target در نرم افزار J-Flash از ملزومات کار با پروگرامر J-Link

 

پروگرام کردن با J-Flash Lite و پروگرامر J-Link

همان طور که بیان کردیم، نرم J-Flash Lite یک نرم افزار با امکانات کم در بستۀ نرم افزار J-Link است. در این نرم افزار تنها می توان حافظۀ مرد نظر را Erase و Program کرد. پس از اجرای نرم افزار J-Flash Lite پنجره ای باز می شود که در آن المان تحت پروگرام، نوع ارتباط و فرکانس ارتباط را تعیین (1 و 2 و 3) می کنیم. نوع ارتباط را در این نرم افزار می توانیم روی JTAG و SWD و ... قرار دهیم. پس از این مراحل روی OK کلیک می کنیم (4). در مرحلۀ بعد محیط J-Flash Lite نمایش داده می شود. در این محیط باید از قسمت Data file، فایل مورد نظر را جست و جو و باز کنیم (5). بعد از آن اگر روی Erase Chip کلیک کنیم، حافظۀ المان تحت پروگرام پاک می شود (6). اگر روی دکمۀ Program Device کلیک کنیم، المان متصل به پروگرامر J-Link برنامه ریزی می شود (7). در محیط این نرم افزار در قسمت Log نیز می توان پیغام ها و شرح عملیات را مشاهده کرد (8).

نرم-افزار-j-flash-lite

تصویر 17 – پروگرام کردن با نرم افزار J-Flash Lite و پروگرامر J-Link

 

پروگرام کردن با نرم افزار Keil و پروگرامر J-Link

در بخش ویژگی ها اشاره ای به IDEهایی کردیم که از پروگرامر J-Link پشتیبانی می کنند. یکی از این IDEها Keil است که سهم چشمگیری در برنامه نویسی میکروکنترلرهای ARM دارد. در این بخش به برنامه ریزی میکروکنترلرهای ARM با نرم افزار Keil و پروگرامر J-Link می پردازیم. پروژه ای که در این بخش در نظر گرفته شده، برنامه ای برای میکروکنترلر LPC1768 است. میکروکنترلر LPC1768 را مطابق یکی از اتصالات JTAG یا SWD به پروگرامر متصل می کنیم. پس از باز کردن Keil، با کلیک روی آیکون Options for Target، پنجرۀ آن را باز می کنیم (1). سپس از تب Debug گزینۀ Use … را فعال می کنیم (2). در جلوی آن J-LINK / J-TRACW Cortex را انتخاب (3) و روی دکمۀ Settings کلیک می کنیم (4).

نرم-افزار-keil-j-link

تصویر 18 – انتخاب پروگرامر J-Link در Keil

 

از تب Debug تنظیمات و مشخصات ارتباط بین پروگرامر و میکروکنترلر قابل مشاهده است. در بخش J-Link / J-Trace Adapter مشخصات پروگرامر، فرم ور آن و نوع ارتباط مشاهده می شود (1). از این بخش می توان نوع ارتباط را بین JTAG و SWD (یا SW) انتخاب و سرعت آن را نیز تعیین کرد. در بخش Device میکروکنترلر متصل به پروگرامر نمایش داده می شود (2). در بخش Connect & Reset Options نیز تنظیماتی برای اتصال و ریست وجود دارد (3). ما در این بخش تنظیمات پیش فرض را تغییر نمی دهیم. در تب Flash Download گزینه های پروگرام وجود دارد (4). در این بخش می توان نوع Erase حافظه را تعیین کرد. همچنین می توان عملیات پروگرام و تأیید را فعال یا غیر فعال کرد. پس از انجام این تنظیمات، با کلیک روی دکمۀ OK در پنجره های باز شده، آنها را می بندیم. بعد از کامپایل برنامۀ نوشته شده و ایجاد فایل HEX آن، با کلیک روی آیکون Download، میکروکنترلر پروگرام می شود (5).

تنظیمات-j-link-keil

تصویر 19 – تنظیمات پروگرامر J-Link در Keil

 

نکاتی دربارۀ پروگرامر J-Link و کار با آن

  • 1- اتصالات JTAG و SWD که توضیح داده شد، ملزومات این دو ارتباط هستند. در پروگرامر J-Link علاوه بر آنها باید VTref به VCC و همچنین GND آن به GND میکروکنترلر متصل باشد.
  • 2- مقدار مقاومت های پول آپ و پول دون استفاده شده در اتصالات ممکن است در منابع مختلف، متفاوت باشد.
  • 3- ترتیب پایه های کانکتور IDC برای JTAG و SWD در همۀ پروگرامرها و دیباگرها مشابه یکدیگر نیست. این موضوع در طراحی سخت افزار سازگار با JTAG و SWD حائز اهمیت است.
  • 4- درست است که J-Link در اتمل استودیو پشتیبانی می شود. اما این بدان معنا نیست که می تواند همۀ میکروکنترلرهای Microchip را پروگرام کند. برای مثال میکروکنترلرهای AVR خانوادۀ ATmega به طور معمول با J-Link قابل برنامه ریزی نیستند.
  • 5- پروگرامرهای J-Link غیر اصلی گاهی حین کار دچار مشکلاتی می شوند. روش های رفع مشکلات پروگرامر J-Link غیر اصلی در سطح اینترنت موجود است. این مشکلات نقص عملکرد درایور پروگرامر J-Link، توقف عملکرد فرم ور آن و ... هستند.
  • 6- در این نوشته از دو برد توسعۀ STM3210xVxxxو LPC1768یوبرد استفاده شد. در تصویر زیر این دو برد را مشاهده می کنید. همان طور که مشاهده می شود، کانکتور IDC منطبق با پروگرامر J-Link روی برد LPC1768 موجود است. برد STM32F10xVxxx فاقد این کانکتور است و برای اتصال J-Link به STM32 روی آن، باید پایه ها با سیم متصل شوند.

برد-توسعه-یوبرد-stm32-lpc1768

تصویر 20 – بردهای توسعۀ میکروکنترلرهای ARM یوبرد

 

نتایج پروگرامر J-Link و برنامه ریزی میکروکنترلرهای ARM

  • 1- J-Link یک پروگرامر و دیباگر ساخت شرکت SEGGER Micricontroller است. این شرکت مدل های مختلف J-Link را توسعه داده و امروزه مدل های پیشرفته تری را در لیست محصولات خود دارد.
  • 2- در J-Link از پروتکل های JTAG و SWD پشتیبانی می شود.
  • 3- J-Link از هسته های پردازندۀ ARM Cortec و ARM Legacy و Renesas RX و Microchip PIC و Silicon Lab 8051 و RISC-V و همچنین تعداد زیادی حافظۀ SPI Flash پشتیبانی می کند.
  • 4- انواع مدل های J-Link عبارتند از: J-Link EDU و J-Link EDU Mini و J-Link BASE و J-Link BASE Compact و J-Link PLUS و J-Link PLUS Compact و J-Link WiFi و J-Link ULTRA+ و J-Link PRO و J-Link OB و J-Link Lite و ... .
  • 5- ویژگی های مهم J-Link عبارتند از: پشتیبانی از طیف وسیعی از هسته های پردازنده و SPI Flash، فرکانس بالا در ارتباط با المان تحت کنترل، پشتیبانی IDEهای اصلی از آن، وجود منبع تغذیۀ داخلی، قابلیت مانیتور سیگتال های JTAG و ولتاژ تغذیۀ المان تحت پروگرام، پشتیبانی از پروگرام چند المان متصل به هم، پشتیبانی از رابط های JTAG و SWD، قابلیت مشاهدۀ محتویات حافظه و ... .
  • 6- J-Flash یکی از نرم افزارهای مجموعۀ نرم افزاری J-Link است که برای پروگرام کردن و کار با محتویات حافظۀ المان تحت پروگرام به کار می رود.
  • 7- برای ارتباط JTAG حداقل 4 پین (به جز تغذیه، زمین و Reset) مورد نیاز است. برای ارتباط SWD این تعداد 2 پین است.
  • 8- در اتصالات JTAG و SWD تعدادی مقاومت پول آپ و پول دون نیاز است.
  • 9- مراحل کار با J-Flash به طور کلی عبارتند از: ساخت پروژه، اضافه کردن فایل داده، انجام تنظیمات، عملیات روی حافظۀ المان تحت پروگرام و (در صورت نیاز) ذخیره کردن پروژۀ J-Flash.
  • 10- برای فعال شدن ولتاژ 5v-Supply (پایۀ 19 پروگرامر) باید در تنظیمات J-Flash در بخش Production، مقدار Power Supply را روی VCC5V قرار داد. در این صورت پس از اتصال، این ولتاژ فعال می شود.
  • 11- J-Flash Lite یک نرم افزار ساده با امکانات محدود برای پروگرام کردن با J-Link است. در این نرم افزار تنها عملیات Erase و Program وجود دارد.
  • 12- یکی از IDEهایی که J-Link را پشتیبانی می کنند، Keil است. تنظیمات J-Link و عملیات روی المان تحت پروگرام از پنجرۀ Options for Target در تب Debug قابل دستیابی و تغییر است.

 

data:image/jpeg;base64,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
رضا بداغی
کارشناس الکترونیک هواپیمایی، نویسندۀ یوبرد، طراح برد مدار چاپی PCB، طراح و برنامه نویس مدارات مبتنی بر میکروکنترلر، طراح مدارات مبتنی بر میکروکنترلر و ماژول های SIM800
اگر دیدگاهی دارید میتوانید از طریق فرم زیر دیدگاه خود را در سایت درج کنید.
فرم پاسخ به دیدگاه