J-Link یکی از بهترین پروگرامر های موجود برای انواع میکروکنترلر های ARM است که توسط شرکت آلمانی Segger تولید شده. اهمیت وجود یک پروگرامر خوب بر کسی پوشیده نیست ؛ پروگرامر یکی از کلیدی ترین ابزارهای اولیه برای شروع یک پروژه سخت افزاری است ؛ اهمیت این موضوع چنان زیاده که قبلا توی سیسوگ دست به طراحی یک پروگرامر چند منظوره ( هم برای ARM و هم AVR ) زدیم و تمام سورس های آن را به صورت رایگان در اختیار عموم قرار دادیم.
پروگرامر J-Link تنها یک پروگرامر نیست و علاوه بر پروگرام کردن انواع میکروکنترلر ARM قادره خطایابی و دیباگ رو هم انجام بده. چیزی که پروگرامر J-Link رو منحصر به فرد کرده وجود نرم افزار قوی J-Flash هست که امکانات خوبی برای برنامه ریزی در اختیار قرار میده.
حالا مشکل J-Link کجاست ؟
در واقع میشه گفت که خود J-Link مشکل خاصی نداره و اونچه قراره به عنوان مشکل بیان کنیم در واقع از اصل نبودن محصولی است که ما در حال استفاده هستیم ! همونطور که قبلا گفتیم پروگرامر دیباگر J-Link یک سخت افزار و نرم افزار حرفه ای است که برای توسعه و ارتقاء انواع پروژه های الکترونیکی طراحی شده ؛ در واقع امیدارم انتظار نداشته باشید که این ابزار حرفه ای قیمتی چنین ناچیزی (حدود 50 هزار تومان سه ماه پیش و 100 هزارتومان جدید) داشته باشه !
خوب اما چطور میشود که جی لینک با این قیمت ناچیز در دسترس ما باشد ؟ دقیقا به همان دلیلی که دی وی دی نصبی ویندوز 5 هزار تومان است ! بله در واقع به جرات میتوان گفت تمام J-Link های موجود در بازار ایران همگی فیک و تقلبی هستند ؛ این تقلبی بودن باعث ایجاد خطا در نرم افزار های مختلفی نظیر Keil یا خود نرم افزار Segger می شود که باعث بسته شدن نرم افزار یا حتی پریدن فریمور J-Link میشود !
پاک شدن فریمور ؛ باعث میشود که J-Link در کامپیوتر شناسایی نشود ؛ همین امر باعث می شود که برخی فکر کنند J-Link سوخته و اقدام به تهیه J-Link دیگری میکنند ! در صورتی که اینطور نیست و با برنامه ریزی مجدد میتوان از آن استفاده کرد.
چطور مشکل J-Link رو حل کنم ؟
مطمئن ترین راه برای رفع ایراد ذکر شده در بالا قطعا تهیه نسخه اصلی J-Link است یا استفاده از دیگر انواع پروگرامر نظیر Sis-Link که قبلا نحوه ساخت آن را آموزش داده ایم. اما اگر اصرار دارید از J-Link تقلبی استفاده کنید شاید مطالعه ادامه این پست برای رفع مشکلات مربوط به پروگرارم J-Link کمک کند.
اولین چیزی که توسط فروشندگان توصیه میشود استفاده از نسخه های قدیمی J-Flash است ، البته راهکار درستی هم است، چرا که در نسخه های قدیمی هنوز شرکت Segger اهمیتی به نسخه های کپی شده نمی دهد و با آنها به خوبی کار می کند ، منظور از نسخه های قدیمی یعنی نسخه 4.5 یا 4.4 نرم افزار J-Flash
خوب اگر شما تولید کننده باشد و تنها قصد شما پروگرام کردن آیسی باشد که با نرم افزار J-Flash انجام میدهید این کار را ، این راهکار مناسب شما است اما اگر یک توسعه دهنده هستند و قصد دارید برنامه را دیباگ کنید ، این راهکار مناسبی نیست چرا که شما مجبور به استفاده از نسخه های قدیمی نرم افزار کامپایلر نطیر Keil میشوید که چندان خوشایند نیست.
چطور سریال معتبر پیدا کنیم ؟
قبل از پرداختن به این موضوع بگذارید روشن کنیم که این تنها یک آموزش است و کمک خواهد کرد که شرکت ها و افراد از نحوه هک شدن دستگاه های مختلف آگاه شوند و سعی کنند که ایرادات امنیتی دیگر شرکت ها را تکرار نکنند تا محصولاتی مطمئن تر داشته باشند.
اما چطور می توان یک سریال معتبر داشت؟ از انجایی که خط تولید سخت افزار از پروسه توسعه نرم افزار جداست ، منطقی نیست که سریال هر دستگاه در نرم افزار درج شود تا صحت آن مورد بررسی قرار گیرد ؛ پس احتمالا باید الگوریتم اعتبار سنجی خاصی وجود داشته باشد که صحت سریال دستگاه را تایید کند. این گونه روش ها اعتبار سنجی کاربرد فراوان دارد، به عنوان نمونه کد ملی ، هر کد ملی حاوی اعتبار خودش است، به این معنی که شما با داشتن یک عدد میتونید متوجه بشید که اون عدد یک کد ملی واقعی است یا یک عدد ساختگی است.
اگر یک هکر عادی باشید احتمالا اولین قدم شما بررسی و پیدا کردن الگوریتم رمز گذاری و شناسایی صحت سریال دستگاه در DLL ها و فایل های اجرایی آن می باشد، با پیدا کردن این الگوریتم می توانید سریال دلخواه خود را ایجاد کنید. اما همیشه راه ساده تری وجود دارد.
معمولا افراد در خصوص کار کردن یا J-Link به مشکل بر میخورن که سوالات خودتون رو توی فروم Segger مطرح می کنند، همیشه مطرح کردن سوال همراه با قرار دادن مستندات هست ، مستنداتی مثل عکس از محیط نرم افزار یا لاگ عملکرد که خوب معمولا سریال دستگاه هم درون لاگ وجود داره و درون عکس و به سادگی میشه سریال را کپی کرد. 😉
به عنوان نمونه اگر به این صفحه (فروم سایت Nordic) مراجعه کنید میبیند کاربر در خصوص عدم اتصال J-Link به آیسی سوال داشته و کل لاگ نرم افزار رو قرار داده که حاوی سریال هم هست.
البته باید سریال دستگاهی رو پیدا کنید که با سخت افزار شما همخوانی داشته باشد ، مثلا J-Link Pro نسخه 8 ! ! !
خوب حالا که سریال رو دارم چکارش کنم ؟
برای این که بتونید از سریال به دست اومده استفاده کنید ، ابتدا لازمه که نرم افزار J-Zues رو که در ادامه لینک دانلودش رو قرار دادیم دانلود کنید. نحوه کارکرد نرم افزار بسیار ساده است ؛
در قسمت سریال ؛ شماره سریال دلخواه خودتون رو وارد میکیند و بعد با فشردن کلید Generate یک فایل فریمور با سریال مورد نظر ایجاد خواهد شد.
دانلود نرم افزار j-Zeus
چطور از فریمور J-Link استفاده کنم ؟
خوب واقعا سوال بجایی است ، کار ساده ای است ؛ تنها کافی است که این فریمور را بر روی سخت افزار خودتون پروگرام کنید ؛ اگر هم نمیدونید چطور این کار رو انجام بدید ؛ جای نگرانی نیست ؛ منتظر مقاله بعدی باشید.
سلام کسی رو سراغ دارید که بتونه جی لینک رو تعمیر کنه؟
مشکلش چیه ؟
فریمورش پریده آیا ؟
سلام ببخشید من در مورد احیای J-LINK ورژن 9 سوال داشتم!
راهی می تونید پیشنهاد بدید؟
تا حالا جی لینک نسخه ۹ رو از نزدیک ندیدم ولی بدم نمیآد روش کار کنم 🙂
سلام
وقت بخیر
لینک دانلود j-zeus خرابه…امکانش هست تو ایمیل بفرستین واسم
خیلی ممنون
سلام لینک دانلود تصحیح شد
آقا خدا قبول کنه. دمت گرم. زنده شد پروگرامر. همه میگن آپدیت کنید ولی این ساختن فریمور با سریال دلخواه چیز دیگه ای بود.
خواهش میکنم 🙂
سلام وقت بخیر
شاید یکم سوالم بی ربط باشه ولی مجبور بودم اینجا بپرسم
من یه برد stm32f107 دارم که با st-link v2 پروگرامش می کردم. ولی یه بار که خواستم پروگرامش کنم خطا داد و گفت میکرو را نمیشناسه
و هر کاری کردم دیگه نمیشناسه، خود پروگرامر را میشناسه و سالمه، اما target را نمیشناسه. به نظرتون دقیقا چه بلایی سرش اومده و آیا میشه زندش کرد؟؟؟ و اینکه مشکل از کجاست که دیگه این بلا سرم نیاد (:
با تشکر
اگر ولتاژ غیرمجاز بهش نزده باشید و میکرو سالم باشه در یک حالت ممکنه این اتفاق بیفته و اون هم وقتی است که به شکل دستی و توی برنامه رابط دیباگ رو غیرفعال میکنید (jtag or swd) در این حالت پروگرامر دیگه نمیتونه بهش کانکت بشه
توی نرم افزار stlink فکر کنم گزینه ای برای کانکت شدن به چیپ در حالت ریست باید وجود داشته باشه (connect under reset mode) دنبال این گزینه بگردید.
سلام ممکنه شما هم با نرم افزار سی شارپی زِئوس ما رو هک کنین ؟
چی شد متوجه نشدم !!
سی شارپ کجا بوده :/
با c++ نوشتم 🙂 و کسی رو هم هک نمیکنه – میتونید دسترسی به اینترنت نرم افزار رو ببنید و یا خیال راحت استفاده کنید.
گفتم ی چی بگم فضا تلطیف بشه _ چرا قاط زدین _ ازبس این و اون را هک کردم میترسم عذاب الهی صادر بشه و خودمم هک بشم
سلام ببخشید شایدسوالم بی ربط باشه
یه پروگرامر میخوام که سیپیوSC667034 رو برام جیتگ بزنه تو رو خدا معرفی کنید
سلام من این چیپ رو نمیشناسم ولی دوتا پروگرامر رایگان هست که احتمالا بتونید از یکی از اونها جواب بگیرید
uniJtag
urjtag
سلام
واقعا میشه نجاتش داد اینجوری ؟؟
من یه پروگرامر دارم (یا داشتم!!) که بعد از 2 سال کار کردن از کاز افتاد
یعنی به سیستم که وصلش میکنم سیستم اونو نمیشناسه
بازش کردم و دیدم روی اون نوشته V9.3 _ بنظر میاد ورژن 9.3 باشه
پردازنده ای هم که در اون استفاده شده یه STM32 هست که اگه اشتباه نکنم سری F2 بود …
اگه بشه احیا کرد که عالی هست
—————————
اون قسمتی که گفتین : سریال دستگاهی رو پیدا کنید که با سخت افزار شما همخوانی داشته باشد _ میشه بیشتر توضیح بدین و بگین چجوری ؟؟
و اینکه دقیقا متوجه نشدم سریال دستگاه چجوری پیدا کنیم ؟
—————————
منتظر پست بعدی هستم
ممنونم
سلام دوست
شدنش بله میشه اینطور نجاتش داد ؛ ولی توجه داشته باشید دوست عزیز این آموزش برای J-Link ورژن هشت است و با توجه به توصیفاتی که شما انجام دادید شما J-Link ورژن 9 دارید
مدار و سخت افزار ورژن 9 متفاوت است و نمیتونید برنامه ورژن 8 رو روی اون پروگرام کنید.