Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => ARM => Konuyu başlatan: tesladream - 29 Mayıs 2013, 22:49:04

Başlık: St_Lib SystemInit hatası
Gönderen: tesladream - 29 Mayıs 2013, 22:49:04
Arkadaşlar Merhaba,

St_lib i öğrenmeye çalışıyorum fakat sürekli aşağıdaki hatayı alıyorum acaba neden kaynaklanıyor olabilir?

deneme.axf: Error: L6218E: Undefined symbol SystemInit (referred from startup_stm32f4xx.o).

Halbuki stm libraryleri ekledim manage kısmından St_lib kullanırken SystemInit kullanmamıza gerek var mı sadece basit led-yak uygulaması yapiyorum.
M.Fatih İnanç Hocanın websitesindeki uygulamalar: http://www.fatihinanc.com/diger/stm32f4-discovery-gelistirme-kiti-incelemesi/. (http://www.fatihinanc.com/diger/stm32f4-discovery-gelistirme-kiti-incelemesi/.)

Aşağıda kodu paylaştım SystemIniti açıyorum ledler toggle ediyor ama kapatınca çalışmıyor.#include "stm32f4_discovery.h"
#include "stm32f4xx_gpio.h"

GPIO_InitTypeDef    GPIO_InitStructure;

void GPIO_Setup(void);
/*void SystemInit()
{
unsigned int i;

    (*((int*)0xE000ED88))|=0x0F00000; 
    for (i=0;i<0x00100000;i++);          // OSC oturtma ve kurtarma rutini
    RCC->CFGR |= 0x00009400;         // AHB ve APB hizlarini max degerlere set edelim
    RCC->CR |= 0x00010000;            // HSE Xtal osc calismaya baslasin       
    while (!(RCC->CR & 0x00020000));// Xtal osc stabil hale gelsin
    RCC->PLLCFGR = 0x07405408;      // PLL katsayilarini M=8, N=336, P=2 ve Q=7 yapalim
    RCC->CR |= 0x01000000;            // PLL calismaya baslasin  (Rehber Sayfa 95)
    while(!(RCC->CR & 0x02000000)); // Pll hazir oluncaya kadar bekle
    FLASH->ACR = 0x00000605;        // Flash ROM icin 5 Wait state secelim ve ART yi aktif edelim (Rehber Sayfa 55)
    RCC->CFGR |= 0x00000002;        // Sistem Clk u PLL uzerinden besleyelim
    while ((RCC->CFGR & 0x0000000F) != 0x0000000A); // Besleninceye kadar bekle
    RCC->AHB1ENR |= 0x0000000F;    // GPIO A,B,C,D clock'u aktif edelim
    GPIOD->MODER = 0x55000000;     // GPIOD nin 15, 14, 13, 12 pinleri cikis tanimlandi (LEDler icin)
    GPIOD->OSPEEDR= 0xFFFFFFFF;   // GPIOD nin tum cikislari en yuksek hizda kullanacagiz
}
*/
void Delay()
{
unsigned int i;

     for(i=0;i<0x800000;i++);
}

int main()
{
    while(1)
      {
GPIO_ToggleBits(GPIOD, GPIO_Pin_15 | GPIO_Pin_14 |GPIO_Pin_13 | GPIO_Pin_12);
    Delay();
}
}

void GPIO_Setup(void)
{
  /* GPIOD Clocku aktif hale getiriliyor... */
  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE);

  /* PD12,PD13,PD14 ve PD15 çikis olarak ayarlaniyor. GPIO Bus hizi 100 MHz...  */
  GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_12 | GPIO_Pin_13| GPIO_Pin_14| GPIO_Pin_15;
  GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_OUT;
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
  GPIO_InitStructure.GPIO_PuPd  = GPIO_PuPd_NOPULL;
  GPIO_Init(GPIOD, &GPIO_InitStructure);
}
Başlık: Ynt: St_Lib SystemInit hatası
Gönderen: Klein - 30 Mayıs 2013, 13:24:07
"SystemInit()" fonksiyonu "system_stm32fxxxx.c" dosyasında. Bu dosya projeye dahil edilmiş mi?
Derleyici ayarlarında "USE_STDPERIPH_DRIVER" tanımı var mı?
Başlık: Ynt: St_Lib SystemInit hatası
Gönderen: tesladream - 30 Mayıs 2013, 15:19:24
   Evet hocam yazınızı ekledim sonrasında baktım yine olmadı halbuki aynı dosyalar peripheral example larda var ama bendeki çalışmadı sonra bahsettiğiniz dosyaya girdim değiştirdim GPIO_MODER falan ama olmadı acaba elinizde temiz st_lib eklenmiş system_init gerektirmeyen bir dosya var mı hocam?
Başlık: Ynt: St_Lib SystemInit hatası
Gönderen: Klein - 30 Mayıs 2013, 16:55:21
Yukarıda bahsettiğim tanımı yaptın,  "system_stm32fxxxx.c" dosyasını projeye dahil ettin, "stm32f4xx.h" dosyasını include ettin ve halen "SystemInit()" fonksiyonunu bulamıyorum hatası mı alıyorsun?
Başlık: Ynt: St_Lib SystemInit hatası
Gönderen: tesladream - 30 Mayıs 2013, 19:56:17
Aynen ustacım  dediğin gibi options-c/c++ kısmına yazmıştım ama systemınit hatası alıyorum hala

mesaj birleştirme:: 30 Mayıs 2013, 19:58:14

   stm324xx.h dosyası zaten include edilmişti usta ona başka bir işlem uyguluyor muyuz sen bi video tutorial falan ceksen bizde feyz alsak nasıl olur:)
Başlık: Ynt: St_Lib SystemInit hatası
Gönderen: Klein - 31 Mayıs 2013, 14:22:41
(http://s1305.hizliresim.com/19/z/nn9xq.png) (http://bit.ly/c25MCx)

Proje ağacının resimdeki gibi görünmesi gerek.
"system_stm32f4xx.c" muhakkak projeye ekli olmalı.
ayrıca kütüphanenin yolunu da derleyiciye bildirmiş olmalısınız.

http://www.dosya.tc/server10/iFysoT/Stm32F4Conf.rar.html (http://www.dosya.tc/server10/iFysoT/Stm32F4Conf.rar.html)
Burada "system_stm32f4xx.c", "stm32f4xx_conf.h" , "main.c" ve proje dosyası var.
Başlık: Ynt: St_Lib SystemInit hatası
Gönderen: tesladream - 31 Mayıs 2013, 14:39:40
  Klein hocam dediğin gibi ekledim c file ları ardından headerları gösterdim hiç hata vermedi ama kodu yüklüyorum bir şey göremedim veri göndermiyor ledlerde yanmıyor acaba neden kaynaklanıyor olabilir?
Başlık: Ynt: St_Lib SystemInit hatası
Gönderen: Klein - 31 Mayıs 2013, 14:49:58
Verdiğim kodu derlediysen çalışması gerek.
Programı karta ne ile yüklüyorsun?

debugger olarak ST-Link seçili olduğundan emin ol. Simülatörde kalmış olabilir.
Başlık: Ynt: St_Lib SystemInit hatası
Gönderen: tesladream - 01 Haziran 2013, 10:15:56
Klein hocam verdiğiniz dosyadaki kodlar calışıyor problemim başka bir yerde

http://safaunalmis.blogspot.com/2013/02/stm32f4-discovery-icin-keil-ayarlari.html (http://safaunalmis.blogspot.com/2013/02/stm32f4-discovery-icin-keil-ayarlari.html) buradaki arkadaş yapılacakları guzel anlatmıs tek tek yaptım template bir proje hazırladım sizin usart kodunu attım ama çalışmıyor.Ustune bir de Keil 4.60 kurdum onda da aynı problemim var.St_lib kodlarını ancak library in icindeki ornek projelerde deneyebiliyorum.Ama herseyi denedim hala anlamadım neden kaynaklandığını.