Varsayımda bulunmanın zararları

taydin

Timur Aydın
Staff member
Katılım
24 Şubat 2018
Mesajlar
21,727
Birkaç gündür üzerinde çalıştığın Renesas MCU ya söverken ağzım yamuldu resmen. İçinde 1 MByte flash bellek var. Bir bootloader, bir runtime firmware, bir de factory reset firmware olacak flash içerisinde. Boot loaderin ilk aşamada runtime ve factory firmware imajlarını flash belleğe yazması lazım. Günlerdir uğraşıyorum, tam yazma başlarken boot loader programı sapıtıyor ve saçma sapan bir yerlere uçup gidiyor. En sonunda bugün o kadar tuhaf sapıttı ki işlemciye emulator ile dahi bağlanamıyorum. Sanki kalıcı olarak MCU bozuldu.

Artık deneyecek mantıklı şey kalmadı, oturdum roman gibi bunun 1750 sayfalık kullanım kılavuzunda flash bölümünü okuyorum. Ve şunu farkettim: Bunda flash programlanırken, flash belleğin tamamı belirsiz bir duruma geliyor!!! Yani blok blok silip programlamak mümkün değil! Flash programlama başladığı anda, programlama işlemi bitene kadar flash'ın TAMAMI kullanılamaz hale geliyor. Programlama işini yapan boot loader da flash'da olduğuna göre, klasik yürürken altından halının çekilmesi efekti sözkonusu. Kaç senedir bu işlerle uğraşıyorum, böyle bir flash bellek ile karşılaşmadım. Bu Renesas RA6M2 yi seçerek büyük bir hata yaptığımı anlıyorum şimdi.

Şu anda yapmam gereken şey, boot loader resetten sonra çalışmaya başladığı anda, kendi kendini SRAM'e kopyalayacak ve oradan çalışmaya başlayacak. Böylece flash bellek programlanırken boot loader da sapıtmayacak. Büyük iş açıldı başıma :mad:

Her seferinde de farklı şekilde sapıttığı için kim bilir neleri bozdu bunda. Emülatör bağlanamıyor. Eğer içerideki bazı yapılandırma sigortalarını değiştirdiyse ayvayı yedim. Onları geri almak da mümkün değil. Yeni prototip kart veya yeni işlemci gerekecek, bir sürü zaman kaybı.
 
Aynı benim keil&32F103 mecarama benzer şeyler olmuş abi.

STM Cube Programmer ile uart çevirici kullanarak hex yükleyince kusursuz çalışan program hiçbir değişim yapmadan keil üzerinden st-link/v2 ile yüklediğimde sapıtıyor kendi kendine butona basılmış gibi işlem yapıyor led blink süresi 500ms olduğu halde bazen 20 saniyeye çıkıyor.

Allah sabır versin.
 
Şu anda MCU nun flash belleği tamamen gidik gibi duruyor. Bir programlayıcı kullanarak denedim, flash bellek okunabiliyor, ama yazmak mümkün değil artık. Herhalde rastgele çok sayıda yazma gerçekleşti ve belleği eskitti. MCU değişecek.
 
stm32 serisinde yazma koruması sigortası var. Bu sigorta bir defa aktifleşince o mcu içine tekrar program yazmak mümkün olmuyor. Sizin denetleyicide de böyle bir durum olabilir belki.
 

Çevrimiçi üyeler

Forum istatistikleri

Konular
5,788
Mesajlar
98,999
Üyeler
2,464
Son üye
s4met

Son kaynaklar

Son profil mesajları

cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Kesici/Spindle hızı hesaplamak için SpreadSheet UDF'leri kullanın, hesap makinesi çok eski kalan bir yöntem :)
Dr. Bülent Başaran,
Elektrik ve Elektronik Mühendisi
Yonga Tasarım Özdevinimcisi
Üç güzel "çocuk" babası
Ortahisar/Ürgüp/Konya/Ankara/Pittsburgh/San Francisco/Atlanta/Alaçatı/Taşucu...

Back
Top