Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => ARM => Konuyu başlatan: yamak - 01 Eylül 2014, 17:20:44

Başlık: Stm32 Bootloader
Gönderen: yamak - 01 Eylül 2014, 17:20:44
Merhaba Arkadaşlar,
Stm32'ye bootloader yazmayı düşünüyorum da bu konu hakkında önerebileceğiniz örnek kod, application note vs var mı?
Başlık: Ynt: Stm32 Bootloader
Gönderen: tekosis - 01 Eylül 2014, 17:32:57
öğrenmek istediğimden soruyorum neden mevcut bootloaderler yerine kendiniz yazmak istiyorsunuz? ilave özellikler mi ekleyeceksiniz?
Başlık: Ynt: Stm32 Bootloader
Gönderen: yamak - 01 Eylül 2014, 17:41:11
Hocam ftp'den ya da gprs üzerinden firmware update yapmamız gerekiyo ve hex i kriptolu göndermek gerekiyo.Yani isteğimize uygun bootloader olmadığı için mecburen yeniden yazmak lazım.
Başlık: Ynt: Stm32 Bootloader
Gönderen: tekosis - 01 Eylül 2014, 18:38:54
güzel iş kolay gelsin hocam...
Başlık: Ynt: Stm32 Bootloader
Gönderen: yamak - 02 Eylül 2014, 00:22:05
Hocam kripto isi sonraki is. Benim icin onemli olan bootloader ile ilgili kaynak bulma. Kripto olayi icin Aes 128 accelerator i da kullanabilirim.
Başlık: Ynt: Stm32 Bootloader
Gönderen: X-Fi - 02 Eylül 2014, 07:45:36
Hocam ben FTP dosya sistemi ile şöyle yapmıştım FTP ye bağlandıktan sonra "AT#FTPGETPKT=\Firmware.bin" komutu ile dosyayı paket erişimli açıp "AT#FTPRECV=1024" komutu ile 1k lık paketler halinde indirilebiliyor. Buffera yazar yeni paket istersiniz.
Başlık: Ynt: Stm32 Bootloader
Gönderen: yamak - 02 Eylül 2014, 07:51:20
Hocam şu an bana lazım olan kaynak aslında en basitinden uart üzerinden boot edebilecek bi bootloader ile ilgili kaynak.İlk denememi zaten uart üzerinden yapacam.Az çok mantığını biliyorum.Ama kullanılan yöntemler,püf noktalar hakkında bi kaç bişeyler okumak istiyorum.Direkt kafamdaki bootloader mantığı ile yazmak istemiyorum.
Başlık: Ynt: Stm32 Bootloader
Gönderen: X-Fi - 02 Eylül 2014, 08:15:03
yamak hocam STM32 Usart bootloaderları Y Modem protekolunde paket alır açık kaynak kodlu apisi internette var işinize yarayacakmı emin değilim.
Başlık: Ynt: Stm32 Bootloader
Gönderen: AsHeS - 02 Eylül 2014, 08:22:02
-
Başlık: Ynt: Stm32 Bootloader
Gönderen: yamak - 02 Eylül 2014, 08:29:06
Alıntı yapılan: X-Fi - 02 Eylül 2014, 08:15:03
yamak hocam STM32 Usart bootloaderları Y Modem protekolunde paket alır açık kaynak kodlu apisi internette var işinize yarayacakmı emin değilim.
Hocam link verebilirseniz güzel olur.
Alıntı yapılan: AsHeS - 02 Eylül 2014, 08:22:02
Bootloader denen yazılım flasha veri yazan bir yazılımdan farklı değil önce yapmanız gereken 2 adet proje oluşturmak ve bu projelere özel ram ve rom alanı atamak(bkz: Keil Scatter File). Bootloader projenizinin hafıza alanları farklı olacağından proje kodunuzun bu alanlara müdahele etmeyeceğinden emin olmanız lazım. Bu da tamamsa hex dosyasının formatını kendinize göre yorumlayarak (bkz: http://www.keil.com/support/docs/1584.htm (http://www.keil.com/support/docs/1584.htm)) flasha yazma işlemlerini gerçekleştirirsiniz.
Flasha yazma işlemi gerçekleştirdikten sonra 2 seçeneğiniz var ya soft reset atarsınız sisteme ya da fonksiyon pointerı programın başlangıç adresine dallanıp koşturmaya başlarsınız.
Evet hocam temel olarak böyle ama.Güvenli bir şekilde boot etmek için kullanılan yöntemler var.Örneğin aşağıdaki dökümandaki gibi:
http://cache.freescale.com/files/microcontrollers/doc/app_note/AN4533.pdf (http://cache.freescale.com/files/microcontrollers/doc/app_note/AN4533.pdf)
Başlık: Ynt: Stm32 Bootloader
Gönderen: X-Fi - 02 Eylül 2014, 08:47:16
Hocam bufferlayıp değiştirmekten başka bir şansınız zaten yok yazılımı koşan kodun üzerine yazamayız. Buffer olarak bende flash hafızanın banklarını kullanıyorum. Sahada yaklaşık 2000 cihaz çalışıyor defalarca güncelledim sorun olmuyor.

bakınız; "gprs sulama sayaçları"
Başlık: Ynt: Stm32 Bootloader
Gönderen: AsHeS - 02 Eylül 2014, 10:17:00
,
Başlık: Ynt: Stm32 Bootloader
Gönderen: XX_CİHAN_XX - 02 Eylül 2014, 11:52:35
https://www.picproje.org/index.php/topic,43551.msg317841.html#msg317841 (https://www.picproje.org/index.php/topic,43551.msg317841.html#msg317841)
Başlık: Ynt: Stm32 Bootloader
Gönderen: minicihazlar - 15 Eylül 2014, 22:53:21
Çalışan kod da güncellenebiliyor. Bunun için güncelleme yapılacağı zaman bootloader kodu ram'e kopyalanıp o koda atlanıyor ve interrupt'lar ram'de oluşturulan vector tablosuna yönlendiriliyor. Artık bundan sonra çalışan kod her istediğini yapabiliyor flash üzerinde. Ben bir müşteri için bu şekilde bir bootloader kodu yazdım. IAR için kodu ram'de çalıştırma için gerekli linker ayarlarını yapmak zaman almıştı. Keil veya gcc ile hiç denemedim. Zaten için püf noktası linker'i doğru ayalrayıp kodu istediğimiz adres aralığına göre link etmesi.