stm32f030f4 stack hatası

Başlatan PROTECH_, 18 Kasım 2013, 09:01:30

PROTECH_

Merhabalar,
STM32F030F4p6 işlemcisine interrupt içeren kod yazıp deneyen oldu mu ?
Multi-Core ,RTX,ThreadX, FreeRTOS, MODBUS  RTOS - Electronic-Hardware -- BERLIN

z

Pek çok kere denendi. ARM öğreniyoruz başlığı altındaki programlarda örnekleri de var.

Stack hatası alıyorsan kodlama hatan da yoksa büyük miktarda veriyi stacka atıp stackı şişiren bir uygulama yaptıysan stack alanı yetmiyordur. Bunun çözümü de startup dosyasında.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

PROTECH_

Multi-Core ,RTX,ThreadX, FreeRTOS, MODBUS  RTOS - Electronic-Hardware -- BERLIN

z

Cipin adi sani onemli degilki. Sonucta NVIC CPU'nun bir parcasi bu da ARM core.

Bugune kadar cikartilmis CM0..CM4 serisinden farkli yepyeni bir core'a sahipse bilemem.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

CoşkuN

#4
Alıntı yapılan: PROTECH_ - 18 Kasım 2013, 09:01:30
Merhabalar,
STM32F030F4p6 işlemcisine interrupt içeren kod yazıp deneyen oldu mu ?
Cortex- M0 serisinden bu da.
Şurada STM32F0 discovery kartı için olan örnekler var, onlardan faydalanabilirsiniz belki:
http://www.st.com/web/en/catalog/tools/PF257885#

Ne tür bir kesme kullanırkan stack hatası alıyorsun? Örn: Harici kesme girişine buton bağlama vs..?

PROTECH_

Core olarak aynı fakat peripherallarda diğer stm32f0 serilerine göre  farklılıklar var.
Multi-Core ,RTX,ThreadX, FreeRTOS, MODBUS  RTOS - Electronic-Hardware -- BERLIN

z

Peripheraller stack açısından önemli değil.

Bence programınızı yayınlayın.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

MC_Skywalker

Programla konusunda uzman değilim. Ama stack taşması oluyorsa programınızda hata var demektir. 
Normal olmayan şekilde iç içe/peş peşe dallanmalar yapıp stack alanını tüketiyorsunuz gibi anlaşılmakta.


muhittin_kaplan

peki buna derleyicinin "hop arkadaş geri dönmeden bu kadar ekmek kırıntısı atamam" demesi gerekmiyor mu ?

z

Pic gibi 8 derinlikteki stacklar için olabilir ama ARM gibi çekirdekler için derleyicinin stack hakkında yorum yapması doğru olmaz.

Recursive program yazmak hakkımız söke söke alırız.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

muhittin_kaplan

Yorum yapmasın, Sadece Emir tekrarı Yapsın. Bilgi versin.

z

Büyük işlemcilerle çalışırken stack derya deniz bir veri saklama alanı. Stack sadece call tipi komutlar için geri dönüş adresinin saklandığı ram bölgesi değilki. Ne istersen sakla. Derleyicinin bunu yorumlaması imkansız.

Sadece işlemcinin yeteneklerine bağlı olarak stack overflow yada stack underflow durumlarında programı akışını sonlandırtacak kod ekletebilir.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

PROTECH_

kesme olmasa sıkıntı yok, stack şişmiyor. 
Multi-Core ,RTX,ThreadX, FreeRTOS, MODBUS  RTOS - Electronic-Hardware -- BERLIN

CoşkuN

Alıntı yapılan: PROTECH_ - 19 Kasım 2013, 16:18:40
kesme olmasa sıkıntı yok, stack şişmiyor.
Hangi kesmeyi kullanıyorsunuz?

PROTECH_

Multi-Core ,RTX,ThreadX, FreeRTOS, MODBUS  RTOS - Electronic-Hardware -- BERLIN