em::blocks kod yükleme ve debug hatası(stm32)

Başlatan Gökhan BEKEN, 16 Ağustos 2014, 17:45:19

Gökhan BEKEN

kodları stlink ile yükleyebiliyorum ama ide'nin kendi yükleme seçeneği yok galiba, ya da ben bulamadım.
Debug tuşuna basarım o şekilde yüklerim diye düşündüm, ama şu hatayı verdi:
"Debug server is closed/terminated, debug session will stop"
Özel mesaj okumuyorum, lütfen göndermeyin.

M_B

Merhabalar;
Elimde DM-STF4BB modul kit mevcut. Keille yazılmıs Lcd uygulamasını Em::blocks uyarlamaya calıştığımda Build Log kısmında aşağıdaki gibi hata mesajı alıyorum. Bu sorunu nasıl aşabilirim.
Basit uygulamaları derlerken sorun yasamıyorum.

Not: Komple projeyide  yükleyebilirim.




Compiling: src\stm32f4_discovery_lcd.c
Compiling: src\system_stm32f4xx.c
Linking executable: bin\Debug\TFT_uygulama.elf
obj\debug\src\stm32f4_discovery_lcd.o:(.rodata.ASCII16x24_Table+0x0): multiple definition of `ASCII16x24_Table'
obj\debug\src\fonts.o:(.rodata.ASCII16x24_Table+0x0): first defined here
obj\debug\src\stm32f4_discovery_lcd.o:(.rodata.ASCII12x12_Table+0x0): multiple definition of `ASCII12x12_Table'
obj\debug\src\fonts.o:(.rodata.ASCII12x12_Table+0x0): first defined here
obj\debug\src\stm32f4_discovery_lcd.o:(.rodata.ASCII8x12_Table+0x0): multiple definition of `ASCII8x12_Table'
obj\debug\src\fonts.o:(.rodata.ASCII8x12_Table+0x0): first defined here
obj\debug\src\stm32f4_discovery_lcd.o:(.rodata.ASCII8x8_Table+0x0): multiple definition of `ASCII8x8_Table'
obj\debug\src\fonts.o:(.rodata.ASCII8x8_Table+0x0): first defined here
obj\debug\src\stm32f4_discovery_lcd.o:(.data.Font16x24+0x0): multiple definition of `Font16x24'
obj\debug\src\fonts.o:(.data.Font16x24+0x0): first defined here
obj\debug\src\stm32f4_discovery_lcd.o:(.data.Font12x12+0x0): multiple definition of `Font12x12'
obj\debug\src\fonts.o:(.data.Font12x12+0x0): first defined here
obj\debug\src\stm32f4_discovery_lcd.o:(.data.Font8x12+0x0): multiple definition of `Font8x12'
obj\debug\src\fonts.o:(.data.Font8x12+0x0): first defined here
obj\debug\src\stm32f4_discovery_lcd.o:(.data.Font8x8+0x0): multiple definition of `Font8x8'
obj\debug\src\fonts.o:(.data.Font8x8+0x0): first defined here
collect2.exe: error: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 10 seconds)
0 errors, 0 warnings (0 minutes, 10 seconds)
İmkanın sınırlarını görmek için imkansızı denemek lazım.                                                             Fatih Sultan Mehmet

MrDarK

Çoklu tanımlama görmüş gibi. Eğer Emblocks projesi şeklinde buraya eklersen açıp derlemeye çalışırım ;)
Picproje Eğitim Gönüllüleri ~ MrDarK

M_B

Alıntı yapılan: MrDarK - 07 Ağustos 2015, 09:55:26
Çoklu tanımlama görmüş gibi. Eğer Emblocks projesi şeklinde buraya eklersen açıp derlemeye çalışırım ;)
Buyrun Hocam;
http://s6.dosya.tc/server/nz8zvt/TFT.rar.html

Tesekkurler.
İmkanın sınırlarını görmek için imkansızı denemek lazım.                                                             Fatih Sultan Mehmet

MrDarK

#4
Arm Gcc Compiler ile derledim. Herhangi bir değişiklik yapmadım projende. Fakat benim derleme ayarlarımda fark olabilir.

Picproje Eğitim Gönüllüleri ~ MrDarK

M_B

@MrDarK Hocam; 
stm32f4_discovery_lcd.c 
dosyasındaki
#include "stm32f4xx.h"
#include "stm32f4_discovery.h"
#include "stm32f4_discovery_lcd.h"
#include "fonts.c"

kısımda sadece fonts.c yi  fonts.h olarak değiştirince düzeldi.   
Sagolsun @AsHeS hocam yol gösterdi. Burdan kendisine tekrar teşekkür ederim.

İlginc bir durum vardır bir mantığı.
Not: Yalnız aynı sekilde keil de derleme yapıyor.

İmkanın sınırlarını görmek için imkansızı denemek lazım.                                                             Fatih Sultan Mehmet

MrDarK

Sorununun çözülmesine sevindim. Bende herhangi bir uyarı vermeden projen derlendi bu arada. Kullandığın Emblocks versionu eski olabilir. Güncelle istersen :)
Picproje Eğitim Gönüllüleri ~ MrDarK

M_B

en son bugun 2.30 indirip kurdum.
@AsHeS  Hocamdan acıklama
Alıntı Yap
Keil gereğinden fazla akıllı :) Derleme bittikten sonra değişkenleri hafıza ile ilişkilendirirken (linking) aynı isimli değişkenlerin olduğunu söylüyor derleyici ve neyi nereye ilişkilendireceğini bilemiyor. Keil'ın MDK-ARM derleyicisinin linkerı, gcc nin linkerından akıllı davranarak bu durumu engelliyor. Fakat bu kod derleyicilerin çoğunda aynı ya da benzer hatayı verir.

Teşekkürler.
İmkanın sınırlarını görmek için imkansızı denemek lazım.                                                             Fatih Sultan Mehmet