Haberler:

Eposta uyarılarını yanıtlamayınız ( ! ) https://bit.ly/2J7yi0d

Ana Menü

SD Kart

Başlatan mr.engineer, 08 Şubat 2020, 14:46:56

mr.engineer

Merhaba

Mikrodenetleyiciye SD kart ile program atmak istiyorum. (SD karttan datayı alıp flash memory'e yazıcam) SD kartın içindeki dosya formatıyla ilgili kafam karıştı. SD- karta hangi dosyayı yükleyeceğim? Hex, asm, bin ya da başka ne var bilmiyorum. 

muhendisbey

Bootloader nedir araştırdığınızda bu sorunun cevabını bulacağınızı düşünüyorum.

ASM derlenmemiş bir çıktıdır, doğrudan ASM yazılabildiği gibi, C++ kodları da ASM'ye dönüştürüldükten sonra derlenir. ASM'den sonraki basamakta oluşturulan hexadecimal yapıdaki kod MCU'ya yüklenir. Dosya uzantısının bin yada hex olması bu noktada pek bir şey değiştirmez.
Zulmü alkışlayamam, zalimi asla sevemem; Gelenin keyfi için geçmişe kalkıp sövemem.

z

SD karttan Hex formatindaki programi okursaniz bunu MCU icindeki bir yazilimla decode edip ardindan flasha yazmaniz gerekir.

Dogrudan binary dosya olursa okuyup flasha yazabilirsiniz.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

mr.engineer

#3
Anladım .bin uzantılı dosyayı keil projemde bulamadım ama internette gördüğüm kadarıyla hex dosyasından bin dosyası üretiliyormuş.

 
Geçenlerde yine bu sitedekilerin yardımıyla flash memory'i ikiye bölüp iki farklı proje atmayı öğrenmiştim.
Şu anda da SD kartla veya başka bir yol da olabilir (USART, USB) güncelleme yapmak istiyorum. Fakat kodu nasıl yazacağım nereden başlayacağım onu anlayamadım. İnternette yapan birini buldum ama kendim de yazmak istiyorum. Nasıl bir yol izlemem gerekiyor? Aşağıdaki linkde anlatılan firmware güncelleme mantığını anladım. Bir bootloader ve application şeklinde flash belleği ikiye böleceğim.

Aşağıdaki linkde USB üzerinden flash memory güncelleme olayı anlatılmış.

Yardımınız için teşekkürler

https://www.st.com/content/ccc/resource/technical/document/application_note/63/df/93/c6/36/61/47/49/DM00023593.pdf/files/DM00023593.pdf/jcr:content/translations/en.DM00023593.pdf

z

Derleyicin urettigi hex frmati sen BIN fotrmata deonusturup SD karta oyle yazabilirsin.

Eskiden HectoBin diye program vardi simdi de vardir yada kendin yazabilirsin.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

mr.engineer

Alıntı yapılan: z - 09 Şubat 2020, 05:03:50Derleyicin urettigi hex frmati sen BIN fotrmata deonusturup SD karta oyle yazabilirsin.

Eskiden HectoBin diye program vardi simdi de vardir yada kendin yazabilirsin.


Bu .bin dosyasını pc'den MCU'ya yollayıp kendi tasarlayacağım bootloader ile güncelleme yapmaya çalışıyorum. Bu update firmware konusuyla ilgili önerebileceğiniz döküman var mı? Yukarıda bir döküman paylaştım ama o da yeterli gelmedi. Kodu yazmak için nereden başlamam lazım?

z

Flash delete, flash write rutinlerini yazdiysan bir de vektor tablosu duzenleyebiliyorsan is bitmistir.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

mr.engineer

Alıntı yapılan: z - 09 Şubat 2020, 12:34:10Flash delete, flash write rutinlerini yazdiysan bir de vektor tablosu duzenleyebiliyorsan is bitmistir.


Vektör table düzenlemeyi biliyorum. Flasha yazma silme kısmını da hazır bir projeden bakıp temel seviyede anladım aslında. Bir protection olayı var onu disable edip yazıyor veya siliyor. Fakat adamın oluşturduğu bootloader kütüphanesi biraz uzun ve yapması zor geldi. bootloader_init, flash_write, erase, check_prtection gibi fonksiyonlar var.

Bu fonksiyonları cube Mx den üretebiliyor muyuz? Üretemiyorsak kendimiz nasıl yazabiliriz? Asıl merak ettiğim bu. Hazır bir projeye bakmadan ben bunu nasıl yapabilirim?

Daha önce MCU'nun çevre birimlerini sadece reference manuel'e bakarak çalıştırmayı başarabiliyordum. Fakat bu bootloader oluşturma kısmı zor geldi.

Teşekkürler yardımınız için.