بلاگ خبری, توصیه شده

فلش لودر شرکت segger برای پروگرام و دیباگ فلش خارجی

همان طور که میدانید، سخت افزار و معماری 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

 

 

فلش لودر 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 APM32F103ZET652 KB/s50 KB/s
Cypress CYT2B98CAC_M0988 KB/s938 KB/s
GigaDevice GD32E1154 KB/s143 KB/s
IndieSemi LH7A400-1076 KB/s74 KB/s
NordicSemi NRF5281089 KB/s89 KB/s
NXP LPC11U68148 KB/s140 KB/s
NXP LPC1857431 KB/s431 KB/s
NXP MKL25Z128VLK437 KB/s37 KB/s
NXP MKL28Z512VLL733 KB/s33 KB/s
NXP MKW36A512xxx481 KB/s81 KB/s
Renesas R7FA6M3AH398 KB/s388 KB/s
Renesas R7FS3A6764 KB/s64 KB/s
Renesas R7FS5D97E396 KB/s395 KB/s
ST STM32F429ZI270 KB/s270 KB/s
ST STM32F746ZG220 KB/s217 KB/s
ST STM32H735IGK364 KB/s358 KB/s
ST STM32L432KC90 KB/s90 KB/s
ST STM32U5262 KB/s223 KB/s

 

سرعت پروگرام کردن در حافظه فلش QSPI NOR

مدل دستگاهQSPI Flashسرعت ریختن برنامهسرعت ریختن برنامه وتست
NXP MIMXRT595Macronix MX25UW51345G1086 KB/s1086 KB/s
NXP MIMXRT685SMacronix MX25UM51345G988 KB/s988 KB/s
NXP MIMXRT1052ISSI IS25WP064A865 KB/s486 KB/s
NXP MIMXRT1064 internal QSPIWinbond W25Q32JV390 KB/s386 KB/s
NXP MK80FN256V15Macronix MX25U3235F362 KB/s323 KB/s
Renesas R7FA6M3AHMacronix MX25L25645G954 KB/s797 KB/s
Renesas R7FS5D97EWinbond W25Q64FV439 KB/s442 KB/s
ST STM32H757XI QSPIMT25QL512ABB8ESF1080 KB/s959 KB/s
ST STM32L4R9AI QSPIMacronix MX25LM51245G964 KB/s763 KB/s
ST STM32L562QE QSPIMacronix MX25LM51245G1043 KB/s894 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 را متوجه شد.

#ProbeConfigurationTime [s]Speed [KB/s]
1J-LinkJ-Link Commander (v4.59a)2.1244
2J-LinkIAR EWARM (v6.40.2)3.1165
3J-LinkKEIL uVision (v4.60)3.1165
4J-LinkemIDE (v120814)3.2160
5ULINKproKEIL uVision (v4.60)8.660
6I-jetIAR EWARM (v6.40.2)18.827
7ST-LINKIAR EWARM (v6.40.2)35.115

 

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 یک اکوسیستم کامل را تشکیل می‌دهند.

 

منابع

segger.com – news

segger.com – products

انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

شما نیز میتوانید یکی از نویسندگان سیسوگ باشید.   همکاری با سیسوگ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *