Kısa bir süre önce bir STM32F7 keşif kartı satın aldım [1] ve bu nedenle, yönetim kurulu gömülü bir st-link hata ayıklayıcısına sahip olduğundan openocd kullanarak flaş yapmaya çalışıyorum. Benim alet zincirimi kullanıyorum (makefiles ve arm-none-eabi-gcc kullanıyorum), ancak eclipse kullanarak kartı flaş etmek istiyorum, böylece grafik hata ayıklayıcım olabilir. Bunu yapmak içinFlash ve hata ayıklama openMPD ile STM32F7 discovery
, onların git repo dan openocd yüklü ve aşağıdaki yapılandırma dosyası ile başlatın:
source [find board/stm32f7discovery.cfg]
Sonra birlikte Tutulma aşağıdaki komutları kullanın kol-hiçbiri-eabi- gdb kartını flaş: I: [2] veya diğer çok yayınlardan tutulması benim ayıklama zinciri kurmak için kullanılan öğretici bir inci de dahil olmak üzere, verilen farklı komut listesini güvenilir
target remote localhost:3333
monitor flash protect 0 0 11 off
monitor flash erase_address 0x08000000 0x100000
monitor flash write_image erase "/absolute/path/hello-world.hex" 0 ihex
monitor reset halt
[3] [4] . Bazen yazma işlemi başarısız olur ve ne zaman yanlış bir PC ile bitmezse (örneğin sıfırlama işleyicisi ise 0x080004ac yerine 0xfffffffe). Bu nedenle CPU, mevcut olmayan (hafızamın dışında) bir şey yürütmeyi deneyecek ve başarısız olacaktır.
Neyin yanlış olabileceğine dair bir fikrin var mı? Küçük bir hassasiyet: Linux üzerinde çalışıyorum. Şerefe,
Antoine.
[1]: www.st.com/web/en/catalog/tools/FM116/SC959/SS1532/LN1848/PF261641?sc=stm32f7-discovery
[2]: vedder.se/2012/12/debugging-the-stm32f4-using-openocd-gdb ve tutularak/
[3]: stackoverflow.com/questions/5535110/stm32-gdb-openocd-commands-and-initialization-for-flash -ve-ram-ayıklama
[4]: stackoverflow.com/questions/17003519/stm32f4discovery-openocd-telnet-uploading-demo-program
[5]: github.com/texane/stlink
Ben de [5] github bir st bağlantı programı kullanmak için ve gdb ile yüklemeye çalıştı ve ben benzer bir hata alıyorum
[Düzenle]:
2016-03-23T09:22:22 INFO src/stlink-common.c: Attempting to write 32768 (0x8000) bytes to stm32 address: 134217728 (0x8000000)
2016-03-23T09:22:22 WARN src/stlink-common.c: Failed to unlock flash!
EraseFlash - Sector:0x0 Size:0x8000
Flash page at addr: 0x08000000 erased
2016-03-23T09:22:22 INFO src/stlink-common.c: Finished erasing 1 pages of 32768 (0x8000) bytes
2016-03-23T09:22:22 INFO src/stlink-common.c: Starting Flash write for F2/F4/L4
2016-03-23T09:22:22 INFO src/stlink-common.c: Successfully loaded flash loader in sram
enabling 32-bit flash writes
size: 32768
2016-03-23T09:22:23 INFO src/stlink-common.c: Starting verification of write complete
2016-03-23T09:22:23 ERROR src/stlink-common.c: Verification of flash failed at offset: 0
openocd yerine github'dan. ST parçaları için oldukça iyi çalışma eğilimindedir.Programlamadan sonra açık bir donanım sıfırlama veya güç döngüsü yapmayı denediniz mi? –
Ayrıca github'dan gelen bağlantıyı da denedim ve yönetim kurulumu hiç yanıp sönemiyorum, her zaman bir hata alıyorum (düzenlenmiş yazıya bakın). Programlayamadığımdan, tahtaya güç verdiğimde hiçbir şey yapmıyor. – Antoine
St-flash komut satırı aracını kullanmayı deneyin, gdb'nin çalışıp çalışmadığını bilmiyorum. Bu çip/tahta ile bilinen herhangi bir sorun için github'u da kontrol edebilirsiniz. –