همان طور که میدانید، سخت افزار و معماری RISC-V (ریسک پنج) به صورت متن باز و رایگان بوده و بر خلاف دیگر معماریها (مثلاً ARM)، برای استفاده از آنها نیازی به پرداخت هزینه مجوز وجود ندارد. به همین دلیل محبوبیت این معماری روز به روز در حال افزایش است. در طراحی سیستم RISC-V معمولاً از حافظه خارجی NAND Flash یا NOR Flash استفاده میشود. اما مشکلی که وجود دارد، برای پروگرام کردن این حافظهها، میبایست آن را از روی برد برداشت و پس از پروگرام کردن، مجدداً بر روی برد قرار داد. برای بر طرف شدن این مشکل، شرکت segger به تازگی فلش لودر Flashloader متن باز و جدیدی را برای سیستمهای RISC-V منتشر کرده است.
به این صورت که ابتدا فلش لودر segger بر روی حافظه RAM تراشه RISC-V بارگذاری شده و سپس از طریق آن، حافظه فلش جانبی پروگرام میشود. این برنامه میتواند متناسب با هر سیستم RISC-V تنظیم شده و به مهندسین اجازه میدهد تا فلش لودر را فقط با کمک 2 کیلوبایت در حافظه RAM بنویسند. همچنین این امکان را فراهم میکند تا با پروگرامر J-Link مستقیماً و به راحتی به حافظه فلش جانبی میکروکنترلر RISC-V یا SoC متصل شده و آن را دیباگ کنند. همچنین به کمک پروگرامر های سری Flasher میتوان برای تولید انبوه استفاده کرد.
فلش لودر segger همه جا به کار می آید!
برنامه نویسان میتوانند از این Flashloader در هر نرم افزاری که از J-Link پشتیبانی میکند، استفاده کنند. از برنامههای خط فرمانی ساده مانند J-Link Commander گرفته، تا دیباگری مانند GDB یا SEGGER’s Ozone، یا ابزارهایی مانند J-Flash و همچنین محیطهای برنامه نویسی مانند امبدد استادیو همگی پشتیبانی میشوند.
همچنین قابلیت J-Link GDB Server این مکان را میدهد که از دیباگر GBD، اکلیپس و هر دیباگری که پروتکل GBD را پشتیبانی میکند، استفاده کنید.
وقتی که برنامههای خود را با کمک دیباگرهایی مثل مدلهای J-Link Plus، Ultra + یا PRO، دیباگ میکنید، میتوانید تعداد نامحدودی Break Point برای اشکال زدایی تعریف کنید.
رولف سگر (Rolf Segger)، بنیانگذار SEGGER میگوید: “ما شاهد رشد فروش روز افزون RISC-V در بازار، به ویژه در چین هستیم. اکنون حتی سیستمهای بسیار کوچک RISC-V را میتوان با سرعتی باور نکردنی با استفاده از SEGGER J-Link برنامه ریزی کرد. من فکر میکنم راحتی و عملکرد J-Link در صنعت پیشرو است و باعث افزایش بهرهوری توسعه دهندگان میشود. به کمک دیباگر J-Link و flasher، اکوسیستم کاملی از ابزارها در دسترس است.”
هر برنامه نویسی که به این موضوع مسلط باشد، میتواند طی یک یا دو روز، یک فلش لودر برای J-Link و RISC-V بنویسد.
J-Link سریع ترین پروگرامر موجود است!
در این آزمایش، با کمک J-Link Commander حافظه دستگاههای مختلف پروگرام شد و سرعت آن اندازه گیری شد. حجم فایل فلش به گونه ای بود که تمام حافظه را در دستگاه مورد نظر اشغال کند.
توجه داشته باشید که همه نتایج از خروجی J-Link Commander گرفته شده است. از آن جایی که پاک کردن حافظه فلش در هر دستگاهی ممکن است زمانهای متفاوتی داشته باشد، قبل از آزمایش حافظه فلاش پاک شده است. برای کسب اطلاعات در مورد زمان پاک کردن، لطفاً به دیتاشیت یا دفترچه راهنمای هر دستگاه مراجعه کنید.
سرعت برنامه نویسی در حافظه فلش داخلی ( به کمک j-link)
مدل دستگاه | سرعت برنامه ریزی | سرعت برنامه ریزی و تست |
---|---|---|
APEXMIC APM32F103ZET6 | 52 KB/s | 50 KB/s |
Cypress CYT2B98CAC_M0 | 988 KB/s | 938 KB/s |
GigaDevice GD32E1 | 154 KB/s | 143 KB/s |
IndieSemi LH7A400-10 | 76 KB/s | 74 KB/s |
NordicSemi NRF52810 | 89 KB/s | 89 KB/s |
NXP LPC11U68 | 148 KB/s | 140 KB/s |
NXP LPC1857 | 431 KB/s | 431 KB/s |
NXP MKL25Z128VLK4 | 37 KB/s | 37 KB/s |
NXP MKL28Z512VLL7 | 33 KB/s | 33 KB/s |
NXP MKW36A512xxx4 | 81 KB/s | 81 KB/s |
Renesas R7FA6M3AH | 398 KB/s | 388 KB/s |
Renesas R7FS3A67 | 64 KB/s | 64 KB/s |
Renesas R7FS5D97E | 396 KB/s | 395 KB/s |
ST STM32F429ZI | 270 KB/s | 270 KB/s |
ST STM32F746ZG | 220 KB/s | 217 KB/s |
ST STM32H735IGK | 364 KB/s | 358 KB/s |
ST STM32L432KC | 90 KB/s | 90 KB/s |
ST STM32U5 | 262 KB/s | 223 KB/s |
سرعت پروگرام کردن در حافظه فلش QSPI NOR
مدل دستگاه | QSPI Flash | سرعت ریختن برنامه | سرعت ریختن برنامه وتست |
---|---|---|---|
NXP MIMXRT595 | Macronix MX25UW51345G | 1086 KB/s | 1086 KB/s |
NXP MIMXRT685S | Macronix MX25UM51345G | 988 KB/s | 988 KB/s |
NXP MIMXRT1052 | ISSI IS25WP064A | 865 KB/s | 486 KB/s |
NXP MIMXRT1064 internal QSPI | Winbond W25Q32JV | 390 KB/s | 386 KB/s |
NXP MK80FN256V15 | Macronix MX25U3235F | 362 KB/s | 323 KB/s |
Renesas R7FA6M3AH | Macronix MX25L25645G | 954 KB/s | 797 KB/s |
Renesas R7FS5D97E | Winbond W25Q64FV | 439 KB/s | 442 KB/s |
ST STM32H757XI QSPI | MT25QL512ABB8ESF | 1080 KB/s | 959 KB/s |
ST STM32L4R9AI QSPI | Macronix MX25LM51245G | 964 KB/s | 763 KB/s |
ST STM32L562QE QSPI | Macronix MX25LM51245G | 1043 KB/s | 894 KB/s |
تست و مقایسه سرعت پروگرامر ها
در شرایط یکسان، سرعت پروگرام کردن توسط دیباگرهای مختلف اندازه گیری شد. سرعت پروگرام کردن J-Link در مقایسه با دیگر دیباگرها را میتوانید در جدول زیر مقایسه کنید. نتایج نشان میدهد که J-Link در این رقابت از دیگران بهتر عمل میکند.
SEGGER J-Link، IAR I-jet، ST-Link V2 و Keil’s ULINKpro مورد آزمایش قرار گرفتند.
J-Link تنها دیباگری است که در محیطهای مختلف مانند IAR Embedded Workbench for ARM, KEIL uVision و SEGGER’s J-Link commander تست شد.
آزمایشات با نرم افزار J-Link نسخه 4.59a و با استفاده از لودر J-Link انجام شد.
تمام آزمایشات با قرار دادن برنامهای با حجم 512 کیلوبایت در حافظه فلش خالی میکروکنترلر STM32F417IG و از طریق رابط SWD انجام شده است. رابط SWD حداکثر سرعت ممکن برای را دارد.
آزمایشات از طریق رابط JTAG نیز نتایج مشابهی را ارائه داد. با بررسی این آزمایشها، میتوان اهمیت فلش لودر segger را متوجه شد.
# | Probe | Configuration | Time [s] | Speed [KB/s] |
---|---|---|---|---|
1 | J-Link | J-Link Commander (v4.59a) | 2.1 | 244 |
2 | J-Link | IAR EWARM (v6.40.2) | 3.1 | 165 |
3 | J-Link | KEIL uVision (v4.60) | 3.1 | 165 |
4 | J-Link | emIDE (v120814) | 3.2 | 160 |
5 | ULINKpro | KEIL uVision (v4.60) | 8.6 | 60 |
6 | I-jet | IAR EWARM (v6.40.2) | 18.8 | 27 |
7 | ST-LINK | IAR EWARM (v6.40.2) | 35.1 | 15 |
J-Link در مقایسه با I-jet
I-jet که فقط برای استفاده در IAR Embedded Workbencn و برای تراشههای ARM محدود است، در مقایسه با سرعت پروگرام کردن J-Link بسیار ضعیف است. همانطور که در جدول مشاهده میشود، سرعت آن شش برابر کندتر از SEGGER J-Link است. از آن جایی که J-Link قابلیتهای بیشتری دارد و همچنین در هنگام دیباگ، میتوانید بی نهایت brack point تعریف کنید، J-Link را به عنوان برنده اعلام میکنیم!
J-Link در مقایسه با ULINKpro
استفاده از ULINKpro نیز متأسفانه فقط به نرم افزار KEIL uVision محدود شده است. قیمت آن نیز بسیار از J-Link بیشتر بوده و فاقد عملکرد و ویژگیهای اضافی برای رفع اشکال است. همچنین برخلاف J-Link، قادر به تنظیم بی نهایت نقطه برای خطایابی نیست. از آنجا که این دیباگر به مجوز KEIL uVision نیاز دارد، برای تولید یک محصول تجاری نیز مناسب نمیباشد.
J-Link در مقایسه با ST-LINK
ST-LINK که فقط برای استفاده در خانوادههای میکروکنترلر STM8 و STM32 محدود شده است، با قیمت ارزانی در دسترس است. اما این دستگاه، همان طور که در جدول بالا میبینید، در بین آزمایش شدهها کمترین عملکرد را دارد. از ویژگیهای بد آن میتوان به افزایش چشمگیر زمان توسعه اشاره کرد. همچنین از این دیباگر نمیتوان برای یک میکروکنترلر یا یک cortex دیگر استفاده کرد. همین موضوع، باعث افزایش هزینه میشود. زیرا ممکن است پروژههایی داشته باشید که در آن از یک میکروکنترلر دیگر استفاده شده و شما در نهایت مجبور هستید تا یک دیباگر دیگر خریداری کنید.
ویدئو
در ویدئو زیر، مقایسه عملی بین j-link و i-jet را مشاهده خواهید کرد.
نتیجه گیری
این مقایسه سرعت نشان میدهد J-Link سریعترین دیباگر موجود است. حتی اگر دیباگر دیگری نیز به غیر از این سه وجود داشته باشد، مطمئن باشید همچنان J-Link بهترین عملکرد را خواهد داشت. معماری متن باز RISC-V و فلش لودر segger به همراه پروگرامر j-link و Flasher یک اکوسیستم کامل را تشکیل میدهند.