MicroC ile uygulama yazdıktan sonra derleyip stm32f4'ü programlamak için CTRL+F11 yetiyor. MikroProg açılıp programlıyor. Ancak programlama süresi 15 saniyeden fazla sürüyor. Direk ST-Utility ile programlarsam 5-6 saniye sürüyor (sanki önceleri 1-2 saniye sürüyordu, buda ayrı bir mevzu). Kart üzerindeki programlayıcı kullanılıyor.
15 saniye kısa süre gibi görünse de çoğu zaman 1-2 dakika kimi zaman da 5 dakika gibi geliyor. Ufak bir düzenlemede bile bu süreyi beklemek rahatsız edici. Ayrıca JLink benzeri programlayıcı şu an almayı düşünmüyorum.
MikroE'nin PC uygulamasından kaynaklanıyor diyebilirsiniz. MikroProgda ST-Utility gibi ST'nin komut satırıyla programlıyor ve her ikisinin de dosyaları güncel.
Bunun çözümü var mıdır?
Hocam programlayıcı ayarlarını kontrol edin. Normalde programlama için 3 seçenek olur:
1. Üzerine yaz: Yeni programı olduğu gibi ilk sektörden itibaren yaz.
2. Etkileneni sil: Programın kaplayacağı alana denk gelen sektörleri sil sonra yaz.
3. Komple sil: Her programlamadan önce tüm flashı sil.
İlki en hızlısıdır ama programın beklendiği gibi sonlanmaması durumunda yazılımın tepkisi belirsiz olur ve zero-initialized section'larda sorun olabilir (çoğu zaman olmaz).
İkincisi daha güvenlidir. Program flash bellekten adreslere endirekt dallanma yapmadığı sürece - ki buna da çoğu zaman rastlanmaz - sorun olmaz.
Üçüncüsü en güvenli yöntemdir ama çok yavaştır. Aynı zamanda flash belleğin ömrünü de tüketir.
Bu ayar ST programlama aracında sanırım Settings altında bir yerlerde var ( Overwrite - Erase Affected - Erase All sectors anahtar kelimeler )
MikroProg aracında da bir araştırma yapabilirsiniz aynı anahtar kelimelerle.
Aslında problemin ayarlardan kaynaklandığı belli. Bir kısayol ile harici program çalıştırıp bir kaç basit makro atanabiliyor. Harici bir araçla bu çözülebilir. Bu yönde bir öneri bekliyorum.
Aslında ST-LINK_CLI aracında komut satırından tecrübeli arkadaş varsa ilgili parametreleri paylaşırsa bu iş çözülecek.
Olayı çözdüm. İsteyen varsa yazabilirim.
Alıntı yapılan: engerex - 29 Haziran 2016, 22:24:43
Olayı çözdüm. İsteyen varsa yazabilirim.
Çözdüyseniz yazın, isteyen varsa ne demek ?
Alıntı yapılan: LukeSkywalker - 29 Haziran 2016, 22:31:47
Çözdüyseniz yazın, isteyen varsa ne demek ?
Gündüz eklerim.
Anlatırsanız sevinirim bende bu yavaşlıktan sıkıldım.
Mikroprog suite isimli programi açın, options kismina gelin. Verify ve buffer tiklerini kaldirin. Frekansi da 6 Mhz olarak ayarlayin.
(https://s31.postimg.cc/4p26osetj/image.png) (https://postimg.cc/image/4p26osetj/)
Sadece buffer ve verify değişiyor frekans kısmı kilitli. Bu ayarlar ile yine hızlanma olmadı.
Konuyu açmadan önce MikroProg ayarları ile oynamıştım ve hız konusunda hiç bir fark görememiştim. Şimdi de aynı. CTRL+F11 ile DEBUG+PROGRAM 15-20 saniye sürüyor. Az önce tekrar denediğimde MikroProg ilk açtığımda Stlink seçili olmasına rağmen Mhz seçeneği aktifti ancak ondan sonraki denemelerimde pasifti. ????
Detaylı anlatım;
1) MikroC açık iken F12'ye basın. (veya Tools > Options)
2) Açılan ekranda sol taraftan Tools tıklayın.
3) Açılan alt menüde Tool0'dan Tool9'a kadar düğmeler var. Boş olan birini örneğin Tool1'i tıklayın ve sağ tarafı dolduralım.
4) Herhangi bir isim verelim. "Tool Name: SpeedFlash"
5) Çalıştırılacak uygulamanın (Stlink programlayıcının) tam yolunu gösterelim. "File Name: C:\Users\Public\Documents\Mikroelektronika\mikroProg Suite For ARM\ST-LINK_CLI.exe" Bu yol sizde farklı olabilir.
6) Çalıştırılacak uygulamanın kullanacağı parametreleri girelim. "-c SWD -p "%HEX_FILE_NAME" -Rst -Run SWCLK=10 -V "after_programming"
7) Bu işe bir kısayol atayalım. "Ctrl+F10"
8) OK diyerek çıkalım.
9) Uygulamada iki aşamamız var.
u1) CTRL+F9 ile DEBUG (1-2sn)
u2) CTRL+10 PROGRAMLAMA ve DOĞRULAMA dahil (3-5sn)
işlemini gerçekleştiriyoruz. Bu iki işlem 4-5 saniye arası sürüyor. 15-20 saniyeden bu değerlere düşmesi çok iyi.
İlk denediğim zamanlar daha hızlı sonuç aldığımı hatırlıyorum.
Tam olarak şu;
(http://i.imgur.com/SgCpccD.png)
Düzeltme : VERIFY (doğrulama) içeren parametre değerleri eklendi.
Teşekkürler.
Mesaj içeriğinde bahsetmiş ancak değerleri girmemişim. Yeni parametre ile programladıktan sonra doğrulama yapılıyor.