Varsayımda bulunmanın zararları

taydin

Timur Aydın
Staff member
Katılım
24 Şubat 2018
Mesajlar
24,139
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 personel

Forum istatistikleri

Konular
6,951
Mesajlar
118,753
Üyeler
2,824
Son üye
selocan32

Son kaynaklar

Son profil mesajları

hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Merhaba elektronik tutsakları...
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
Back
Top