STM32 iki main fonksiyonu

Başlatan mr.engineer, 23 Ocak 2020, 23:27:01

volkanunal

Şurayı bir inceleyebilir misiniz, derleme yaptığınız ortamda yapılması gerekenleri yaptığınızdan emin olamadım. Keil ortamında çalışmıştım.

https://engineeringvolkan.wordpress.com/2020/01/31/iki-main-tek-islemci/
Primum nil nocere

kralsam

Bunları uyguladığımı düşünüyorum. Aslında ilk bootloader tecrübem değil ilk defa bu kadar uzun sürdü bu kısım. F103 ile deniyordum bir de F4xx lerle deneyeyim.
Elimdeki işlemci çin klonu olup başka bir davranış mı sergiliyor diye düşünmeye başladım.

mr.engineer

Merhaba hocam ben de Cortex-M0 ile yaptım bu projeyi. Şu an sıkıntı çektiğiniz yer neresidir tam olarak? Jump fonksiyonu doğru çalışıyor mu?

kralsam

Hocam disassambler ile kontrol ettik compiler saçmalıyor. Optimizasyon size olarak gelmiş varsayılan olarak. Onu kapatınca jump birşey değiştirmeden çözüldü. Ama bu sefer re init yapmıyor. Aslında tam anlamıyla çalışmadı. Onu anlamaya çalışıyorum.

kralsam

Belki karşılaşılan olursa diye paylaşıyorum. IDE değişince sorun kalmadı. ST yeni ide yayınlamış STCubeIDE onu kullandım. CubeMX içine entegre edilmiş.
Test için 0x8000 sonrasına ve başa iki farklı uygulama yazıp bir ona bir ona zıplayabiliyor uygulama şuanda.

muhendisbey

Casio'nun hesap makinelerindeki asic içerisinde bir adet eeprom bulunur. İçerisinde 3-4 makinenin kodu bulunur bu makinelerde. Fabrikada bu hesap makineleri ilk açıldığında rom sayısı sorar. Bu numaralar uygun kasaya göre girildiğinde artık olay biter. Eeprom içerisine donanımsal reset olmadan (ki bu fark edilince artık donanımsal olarak da artık bu konulmuyor) tekrar eeproma girilemiyor.

Eskiden videosu vardı silinmiş ama yöntem burada anlatılmış:
https://trybotics.com/project/Upgrade-your-Casio-fx-82es-into-115es991es570es-84207

Benzer durumu mcu'da kullanmak yerine bu şekilde iki main fonksiyonlu yapmanın artısı/eksisi nedir? Mesajları okudum ama anlayamadım. Maksat sadece birinin pin durumuna ya da yazılıma göre çalışması olarak anladım, multithread değil gibi.
Zulmü alkışlayamam, zalimi asla sevemem; Gelenin keyfi için geçmişe kalkıp sövemem.

kralsam

O dediğin mümkün hocam da onun için iki app e gerek yok. Konfigürasyon seçimi olayı onda yeterli. Aslında bu konu multicore mcu larda da benzer şekilde kullanılıyor. Birinci core başlangıç ayarlamalarını yapıp ilgili adresleri pointerlere bağlayıp bırakıyorsun.

Buradaki konu servis menüsü için kullanılabilir vs. Aslında tercih. Nasıl yapmak istersen.

muhendisbey

Alıntı yapılan: kralsam - 05 Mayıs 2020, 01:06:07O dediğin mümkün hocam da onun için iki app e gerek yok. Konfigürasyon seçimi olayı onda yeterli. Aslında bu konu multicore mcu larda da benzer şekilde kullanılıyor. Birinci core başlangıç ayarlamalarını yapıp ilgili adresleri pointerlere bağlayıp bırakıyorsun.

Buradaki konu servis menüsü için kullanılabilir vs. Aslında tercih. Nasıl yapmak istersen.
Kafa eski olunca çok çekirdekli mcu kavramını düşünemedim. Haklısınız çok çekirdekli mcu'da gereklilik bile sayılabilir. Teşekkürler.
Zulmü alkışlayamam, zalimi asla sevemem; Gelenin keyfi için geçmişe kalkıp sövemem.