STM32F4 IAR EMWIN UYGULAMASI

Başlatan garezza, 30 Mayıs 2015, 16:44:36

garezza

STM32F4 discovery board kullanarak 7" TFT sürmeyi başardım. Şimdide emwin uygulaması yapmak istiyorum ancak emwin kütüphanesini İAR'a ekleyemedim. Normalde st firması kütüphaneyi vermiş ancak uzantısı .a ve İAR'a bunu kütüphane olarak ekleyemiyorum. Resimde indirdiğim dosyaların görüntüsü var. Ayrıca örneğinden faydalandığım linkide ekliyorum. Bu konu hakkında yardımcı olabilirseniz sevinirim.

http://www.mcu-turkey.com/stm32f429i-disco-emwin-uygulamasi/

Klein

"Project" menüsünden  "Add files" alt menüsüne tıklayarak ekleyebilmeniz gerek.  Hiç mi ekleyemediniz? Eklediniz de hata mı verdi?

Karamel

hocam bende bu konuda sIkInti cekiyorum. keil e (sanirim iar da ayni mantikla calisiyor) kutuphane nasil eklenir anlayamadim. st librarylerini dahi ekleyemedim. yazin bence once visual tft sonrada emwin ile ugrasmak istiyorum.

Klein

Kütüphane eklemek için
IAR'da
Project->Add Files  menüsüne tıklayın.  Eklemek istediğiniz dosyaları seçin.
Seçtiğiniz dosyalar proje ağacına eklenecektir.
O dosyalardaki fonksiyonları kullanabilmek için header dosya verilmiştir. O dosyayı include edin.
Keil'de de mantık aynı. Sadece  menüler değişir.


garezza

#4
Cevaplarınız için teşekkür ederim. Soruyu biraz eksik sormuşum kusura bakmayın. İAR'da source kodlarını projede eklemek istediğimiz klasöre sağ tıklayıp add files ile ekliyoruz. daha sonra header eklemek için proje ağacında en üst dizine sağ tık options>>C/C++ Compiler>>Preprocessor bölümüne header dosyalarının olduğu yolu kopyalayıp yapıştırıyoruz. Bunda bi sıkıntı yok. Sıkıntı bundan sonra başlıyor. Bu kütüphanelere ait hiçbir fonksiyonu kullanamıyorum. Sanki hiç eklememişim gibi hatalar alıyorum. Örneğin kütüphanedeki CreateWindow(); komutunu kullanmak istediğimde biçok hata alıyorum.

Building configuration: FirstProject - Debug
Updating build tree...
main.c 
Warning[Pe223]: function "CreateWindow" declared implicitly C:\Users\Desktop\Stm32f4_FirstProject\main.c 91
Warning[Pe223]: function "CreateWindow" declared implicitly C:\Users\Desktop\Stm32f4_FirstProject\main.c 104
Linking
Error[Li005]: no definition for "WM_GetDesktopWindow" [referenced from C:\Users\Desktop\Stm32f4_FirstProject\Debug\Obj\WindowDLG.o]
Error[Li005]: no definition for "GUI_CreateDialogBox" [referenced from C:\Users\Desktop\Stm32f4_FirstProject\Debug\Obj\WindowDLG.o]
Error[Li005]: no definition for "WINDOW_CreateIndirect" [referenced from C:\Users\Desktop\Stm32f4_FirstProject\Debug\Obj\WindowDLG.o]
Error[Li005]: no definition for "IMAGE_CreateIndirect" [referenced from C:\Users\Desktop\Stm32f4_FirstProject\Debug\Obj\WindowDLG.o]
Error[Li005]: no definition for "WM_GetDialogItem" [referenced from C:\Users\Desktop\Stm32f4_FirstProject\Debug\Obj\WindowDLG.o]
Error[Li005]: no definition for "IMAGE_SetJPEG" [referenced from C:\Users\Desktop\Stm32f4_FirstProject\Debug\Obj\WindowDLG.o]
Error[Li005]: no definition for "WM_DefaultProc" [referenced from C:\Users\Desktop\Stm32f4_FirstProject\Debug\Obj\WindowDLG.o]
Error while running Linker

Total number of errors: 7
Total number of warnings: 2


Klein

Headeri #include "......h"  direktifi ile kaynak koda bağlıyor musunuz?

yamak

Hocam,
Project->Options->Linker->Library den "Additional Libraries" e Emwin Library sini eklediniz mi?

garezza

Sınavlardan dolayı foruma giremedim. Header dosyalarını ekledim diye düşünüyorum
#include "stm32f4xx.h"
#include "stm32f4_discovery.h"
#include "fonts.h"
#include "ssd1963.h"
#include "stm32f4xx_fsmc.h"
#include "GUI.h"

Sanırım sıfırdan başlayacağım biraz hızlı daldım mevzuya. Stemwin konusunda STnin kendi dökümanları dışında daha özet döküman varsa paylaşabilirseniz sevinirim. Bu arada yamak linkini verdiğim örnek sana ait değilmi. Hangi kaynaklardan faydalandın.

garezza

Yeniden merhaba.
Birkaç gün süren okumalar ve bol bol translate sonucu anladım ki st nin verdiği emwin kütüphanesini üzerinde değişiklikler yapmadan kullanmak mümkün değil (eğer eval boardun kendi lcdsi yoksa). Bize sunduğu kütüphanede yapmamız gereken değişiklikler kısaca 2 başlıkta toplanıyor. Bunlar gui_config ve lcd_Config. gui_Config kısaca gui'nin kullanabileceği hafıza alanı gibi parametreleri ayarlamamıza yarıyor çok karmaşık değil. LCD_config ise beni zorlayan ve bir türlü toparlayamadığım kısım. Burada yapmamız gereken kullandığımız lcd sürücüsüyle ilgili tüm ayarları yapmak. sonunda elde edeceğimiz lcd_config.c, gui_config.c,lcd_config.h,gui_config.h dosyalarını kütüphaneye dahil etmek. Bunlarla ve kütüphanedeki diğer fonksiyonlarla ilgili seggerin 1200 sayfa kadar klavuzu mevcut. Burada emwinin ssd1963'ü desteklediği yazıyor ve bi kaç yerde bununla ilgili ayarlar yazıyor ama nasıl düzenleneceği konusunda fazla detay vermiyor. Örneğin sürücüyle mikrodenetleyicinin bağlantısı paralel spi olabilir diyor ama bununla ilgili pin atamalarını şu şekilde yapmalısınız demiyor yada diyor ama ben anlamıyorum. Kısacası birçok güzel proje yapılabilecek geniş bir kütüphane iyi bir işlemci ve 7"tft bana ben onlara bakıyorum . Bu konuda yardım edebilecek arkadaşlara şimdiden teşekkür ederim.