ST-Link V2_1 Firmware Hex Kodu Arıyorum

Başlatan apsis, 12 Temmuz 2019, 23:51:27

apsis

İyi geceler,

SPIN3201 kartımdaki st-link bootloader'ini yanlışlıkla sildim. Nasıl oldu diye sormayın dalgınlığıma geldi :).

Neyse, internetten aradım taradım stm8/stm32 olan firmware kodunu buldum ve başka bir st-link ile SWD pinlerinden yükledim ve çalıştı. Hatta board üzerindeki MCU'ya program atıp debug yaptım. Bu kod 30 tlye satılan klon programlayıcıdaki kod.

Ancak bilgisayara bağladığımda mass storage ve VCP olarak görünmüyor ve ben en çok VCP özelliğin kullanıyorum.

İnternette araştırdığımda stsw-link007 içerisinde STLinkUpgrade.jar isimli java dosyasını açıp içerisindeki f2_1.bin dosyasını encrypt/decrypt gibi şeyler yaparak içerisine yüklenebilir hale dönüştürüyorlar sanırım.
Ancak ben işlemi anlamadım. Linkler aşağıda:

https://www.eevblog.com/forum/microcontrollers/dumping-and-reverse-engineering-st-link-v22-1-firmware/

https://lujji.github.io/blog/reverse-engineering-stlink-firmware/

https://lujji.github.io/blog/reverse-engineering-stlink-firmware-part2/

Bana son haliyle vcp özelliği olan st-link v2_1 hex kodu lazım.

Teşekkürler.
"Makineye Beyin" MEKATRONİK

apsis

Yardımcı olabilecek ya da fikir verebilecek yok mu?
"Makineye Beyin" MEKATRONİK

Epsilon


apsis

Hocam orada STSW-LINK007 var. Bu mevcut firware'ını yükseltmeye yarıyor.

Çin klonlardaki yazılımı yüklediğimde "stm8/stm32 bootloader"  ve stlink V2 olarak gözüküyor ve varsa üst versiyona yükseltiyor.

Bunu yaparken de firmware seçemiyorsun.

VCP özelliği ST-link V2_1'de var.
"Makineye Beyin" MEKATRONİK

z

Bir baska STM kitten STM32F103C8 cipini sok ve eval kartin ustundeki ile degistir.

Daha az ugrasirsin.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

apsis

Hocam aklıma geldi ama kitlerimi de zaman zaman kullanıyorum. Bozmak istemem.
"Makineye Beyin" MEKATRONİK

apsis

Problemi çözdüm. Debuggarı ister JTAG, ister JTAG+SWIM, ister nucleo, audio debug seçeneğiyle yeniden yapılandırabiliyorsunuz.

Ben stspin3201 kartımı pc nucleo olarak görüyor  :D.

Benim seçenekte mass storage+vcp+jtag onlarak görüyor.

Kendinize programlayıcı yapabilir ya da geliştirme kartınızdaki firmware ı farklı bir modda yapılandırabilirsiniz.

Ayrıca farklı bir hex ile doğrudan jlink olarak da yapılandırabilirsiniz.

Öğleden sonra vcpyi deneyip doğru bir sonuç alırsam burada dosyalarını ekleyip açıklayacağım.

"Makineye Beyin" MEKATRONİK

apsis

#7
Denemeyi yaptım sonuç gayet güzel.

Şimdi nasıl yapıldığını açıklıyorum.

Aşağıdaki linkten .bin dosyalarını indiriyoruz.

https://github.com/Krakenw/Stlink-Bootloaders

Debugger yapacağımız stm32f103cb işlemcisine swd ile bağlanıyoruz ve indirilen bin dosyalarından "Protected-2-1-Bootloader.bin" dosyasını seçerek MCU'ya atıyoruz (Ben bu dosyayı seçtim).

Daha sonra aşağıdaki linkten modifiye yapılmış en.stsw-link007 firmware güncelleyicisini indiriyoruz. Bu linkte jlink için dosya da var.  Ayrıca programı attığımız denetleyiciye artık USB bağlantısını yapmamız gerekli.

https://drive.google.com/open?id=1QnOawwyX8of6bvHvtLByLZJvcZQ6CSmq

Programı çalıştırıp "Connect" yaptığımızda aşağıdaki ekran karşımıza çıkmalı.






upload


Ben "nucleo" seçeneğini seçtim. Audio ses uygulamaları için sanırım. Nucleo seçeneğinde mass+VCP var. Yani normal bir nucleo board olarak gözükecek.

Bu işlemler sonucunda hem "Bilgisayarım"da MBED için bir disk olarak gözükecek hem de "Aygıt Yöneticisi"nde COM Port olarak gözükecek.

Bitmedi. Bu şekilde VCP ve debug özellikleri çalışıyor ancak düzgün değil. Bunun için "en.stsw-link007" programını ST'nin sitesinden indirip firmware'ı en son sürümüne güncelleyin. Artık elinizde orjinalinden farklı olmayan bir ST'link var. Hemde VCP'li ya da JTAG li İstersen STM8'li SWIM.

İsteyen denesin sonuçları burada paylaşsın.

Ayrıca Rus'lara teşekkür etmemiz gerek.

Çoğu alıntıladığım yer : http://forum.easyelectronics.ru/viewtopic.php?f=17&t=6620&start=275

Eğer bir problem olmayacaksa başlık sabitlesin.
"Makineye Beyin" MEKATRONİK

Erol YILMAZ