ARM(STM32F429) - PIC32 ve library

Başlatan F493, 14 Ocak 2015, 01:00:32

F493

Merhaba,

   Açıkçası biraz kafam karışmadı değil. ARM M3, M4 konularında çalışmış kişilerle doğrudan konuşma şansım oldu ve bazı şeyler kafama takıldı.

   Benim sorum şu, elimde bir iş var ve burada STM32F429 kullanmak istiyorum fakat konuştuğum kişiler derleyicilerin çok lanet olmasından, kütüphanelerin yetersiz olduğundan (lwIp-> Yetersiz, Usb de HID yok bu yüzden yazmak zorunda kalanlar.)bahsettiler. Açıkçası anlayamadım. PIC' i ararsın dediler. Mesela PIC32'nin ücretsiz grafik library'sinin gayet başarılı oldugundan bahsettiler. (PIC32MZ serisi 200Mhz civarı sanırım.)

Yıllardır Pic mcu kullanıyoruz o nedenle PIC32 mi STM32F429 mu kaldım arada. Sonuçta projenin bir de teslimat süresi var. Bu konuda gerçek anlamda bu tip işlemcilerle çalışmış ve tcp, usb, 3'',5'',7'' tft ve GUI library vb. kısımları endüstriyel olarak kullanan arkadaşlardan cevap bekliyorum. Lütfen yorum yazmayın yani kullanmayan kişiler yorum yazmasın, yanlış anlamayın gerçek verilere ihtiyacım var.
Şunu biliyorum zorlanırım ama sonunda yaparım fakat kaynaklarda sıkıntı olursa ozaman sıkıntı işte. PIC32 de kaynak çok fazla fakat gurur yaptık bu ARM olayını artık vallahi. özellikle STM32F429 daki TFT hardware (transparan vb.) özelliği mest etti beni. ST ve Ti da yok bu özellik.

Not : Şunu da eklemek isterim konuştuğum kişiler en son 2-3 yıl önce ARM ile proje geliştirmişler yani elimdeki veriler 2 yıl kadar öncesine ait.

Esen kalın.


hgs

Teslim süresi ve daha önce arm ile çalışılmamasından dolayı pic ile devam etmeniz daha doğru olur. Becerememe değilde, kısıtlı sürede arm yapısına hakim olup projeyi düzgün seviyede teslim etme ihtimaliniz zor. Arm için kaynağın daha fazla olabileceğini sanıyorum.

iyildirim

Microchip in en son çıkardığı harmony kütüphanesi hakkında tek bildiğim ST gibi HAL yapısına dönmeye çalıştıkları.  Harmony hakkında deneyimim yok. Ama harmony öncesi MAL kütüphanelerinin gayet düzgün çalıştığını söyleyebilirim. Hem TCP/IP hem de USB için. Ayrıca Microchip dökümantasyonunun ST ye göre çok daha anlaşılır olduğunu da.

Öte yandan ST de LwIP nin yetersizliği ve USB HID konusunda ise,
STM de USB HID yok diye bir şey yok. Farklı kütüphane yapıları için bolca USB HID örnekleri var.
LwIP deneyimim sadece tanışmış olmak gibi diyelim. Yetersizdir diyemem. ARP, TCP, UPD gibi temel protokoller destekleniyor.  Yetersizlik konusu sizin IP ile ilgili ihtiyaçlarınız nedir,  ethernet için kullandığınız MAC nedir gibiye göre yorumlanmalı. ENC serisi birşey kullanacaksanız Microchip önde olur. Ama STM32F4' ün internal MAC ı veya Wiznet için STM de daha fazla örnek bulunabilir.

Microchip in veya ST nin grafik lab i ile deneyimim yok.
2 yıl öncesinden PIC32MZ serisinden bahsedilmiş ise bahseden arkadaşlar alfa-beta tester sanırım.  Duyurulalı o kadar olmadı bildiğim.  :)
Eğer PIC32MX ile STM32F429 u karşılaştıracaksanız STM32F429 her şartta daha güçlü. PIC32MZ serisi elime geçmedi, deneyimim yok birşey diyemem. Kitabında yazdığı gibi çalışıyorsa iyi, ama errata lara da bakmalı. Microchip kervanı yolda düzüyor bence.
Önemli olan sizin mcu donanımının ne kadarına, neye ihtiyacınız olduğu ve ne kadar kullanabildiğiniz.
ST de register seviyesinde mi, CMSIS mi, yoksa en son HAL yapısına döndükleri kütüphane mi gibi sorular da olacak.
STM ile deneyiminiz az ise bildiğiniz yol en iyi yoldur diyeyim. Bu açıdan @hgs ye katılırım. Microchip için örnek-kaynak değil ama kolay anlaşılır döküman bence daha fazla.

F493

Selam,
      Aslinda Pic32 ile de çalışmadim. O da MIPS zaten pic den uzak. Ama microchip destek ve lib konusunda cok iyi. Mesela Stm32F429 için hangi compiler daha uygun sorunsuz. Ayrıca programlayicilari pahali mi. Örneğin keil den baska bir IDE ye gecince yazılım uyumlulugu sorunu cikiyor mu? Aslinda bu sorular birazda sizlerin düşünmenizi sağlar belki.
Pic32 grafik lib. free ve bayagi geniş. Ben arm kullanirsam hangi ücretsiz grafik lib. kullanabilirim. Daha önce 16bit(pic24), 32bit(c2000 dsp) ler de  çalıştım.  Sorsanız Arm konusunda burada döktürürum ama bu duyduklarım ve gördüklerim dışına cikmaz. Çoğumuzun yorumlari bunlara dayaniyor. Fakat bu forumda cok deneyimli arkadaslar illaki var. Tam da onların tecrübesine ihtiyaç olan an.

Projede 7" capacitive tft ve usb var onun disinda adc, spi, uart oralar da sorun yok ama usb ve tft kısmı önemli.
Esen kalin.

XX_CİHAN_XX

Stm32F4 ile kıyaslama yapacaksak PIC32MZ serisi gayet yerinde bir seçim olur. STM32F407 168Mhz de 210Dmips iken PIC32MZ serileri 200Mhz - 330DMIPS performansı verebilmektedir. Kesinlikle gerek tedarik gerek kütüphane gerekse dökümantasyon olarak Microchip ST yi döver. Eğer hızınız kurtarıyorsa 32MX serileri de başarılı (100Mhz). Ben yeni projemde ST kullanmaktan vazgeçip PIC32MX ile yola devam etmeye karar verdim. Kafam çok daha rahat etti alıştığımız microchip düzeni, kalitesi aynen devam :)
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

leblebitozu

#5
@F493

Alıntı YapProjede 7" capacitive tft ve usb var onun disinda adc, spi, uart oralar da sorun yok ama usb ve tft kısmı öneml

TFT kullanacaksan PIC32'de ne TFT ne de SDRAM desteği yok, STM32 sırf compiler ve debug rahatlığı yüzünden bile seçilebilir. (15-20 usd'ye klon JTAG alınabiliyor). LWIP'ye laf söyleyenler ayıp etmiş, çok geniş ve yaygın kullanımı vardır ve her ihtiyaca cevap verebilir, gerek ENC28J60 gibi çiplerle gerekse harici PHY çipleri ile kullanılabilir. USB HID'te sorun yok yakın zamanda kullandım hatta barkod okuyucu bağlayıp kullanıyoruz. STEMWIN grafik kütüphanesi ücretsiz kullanılabiliyor o da microchip'in kütüphanesinden çok daha detaylı. Microchip'in derleyicileri yavaş, debug yavaş, debuggerları pahalı vs. vs. Kesinlikle STM32.

F493

Selam,

   XX_CİHAN_XX ve leblebitozu tecrübeler için teşekkürler. Iki zıt deneyim var ortada, vallahi işler zora giriyor. Şimdi ebv elektronik ile görüştüm oradan bir uygulama mühendisi ile görüşüp olayları daha net anlamaya çalışacagım. Örneğin grafik library de sınır nedir, standart ubs uygulamada ki son durum ve TFT seçimi.  Fakat tecrübelerini paylaşmak isteyen arkadaşlar yine fikirlerini yazsınlar. Bu işe nokta koyacagız inşallah.

Esen kalın.

Burak B

#7
LwIP' ye ayıp etmiş o arkadaş kimse. 3 yıl oldu nerdeyse STM32 ve lwip kullanmaya başlayalı. Her işimi gördü ki bunların içinde TCP,UDP,ARP,DHCP,ICMP,NETBIOS,SNMP,SNTP,TFTP,HTTP,... gibi pekçok protokol sayılabilir. PPP ve IPv6 desteği de yabana atılacak gibi değil. Ayrıca WolfSSL gibi paketlerle entegre olabiliyor. Zatet Keil ve CubeMX kendileri bu pakete destek veriyor. RTOS uyumlu çalışabiliyor. Notebook ile devam edicem cepten zor oluyor. [emoji3]
"... a healthy dose of paranoia leads to better systems." Jack Ganssle

F493

Selam üstad,

Alıntı yapılan: Burak BAYRAK - 14 Ocak 2015, 21:35:30
LwIP' ye ayıp etmiş o arkadaş kimse. 3 yıl oldu nerdeyse STM32 ve lwip kullanmaya başlayalı. Her işimi gördü ki bunların içinde TCP,UDP,ARP,DHCP,ICMP,NETBIOS,SNMP,SNTP,TFTP,HTTP,... gibi pekçok protokol sayılabilir. PPP ve IPv6 desteği de yabana atılacak gibi değil. Ayrıca WolfSSL gibi paketlerle entegre olabiliyor. Zatet Keil ve CubeMX kendileri bu pakete destek veriyor. RTOS uyumlu çalışabiliyor. Notebook ile devam edicem cepten zor oluyor. [emoji3]


Üstad, STM de derleyici veya işlemci, debugger, library konusunda sıkıntıya sokan bir şey oldumu hiç, yani lanet olsun :-) noktasına geldin mi.
Mesela derleyici olarak ne önerirsin.

Esen kalın.


Burak B

#9
Ben yıllardır Keil kullanıyorum. Derleyicisi bence ARM için kullanılabilecek en iyi derleyici. Ancak uVision IDE adamı bunaltabiliyor zaman zaman. Bunun yanı sıra GNU ARM GCC yi Eclipse ile kullanabilirsin. Bence senin için en büyük zorluk mimariye alışmak olacaktır.

Debug konusunda görebileceğin en rahat ve en çok desteği olan chipler ARM chipler. Hele PIC gibi chiplerle uğraşanlar ve sorunlarla saç baş yolanlar için bulunmaz nimettir. Çok ucuza debug problarını temin edebilirsin.
"... a healthy dose of paranoia leads to better systems." Jack Ganssle

esensoy

Bu işler alışkanlıklarla mı alakalı acaba? Bana da MPLABX çok kolay geliyor, yok keil, yok iar coocox, karışık geliyor,
Kütüphaneler desen ayrı bir dert,
Açıyorum microchip application libraryden yakın bir proje, içine yazıyorum gerekli kodları, pic32 olmuş 24 olmuş, istediğime derleyebiliyorum,
Debug için de ICD3 kullanıyorum,

Debug ın "ucuz"luğu konusunda clone aletleri örnek gösteriyorsunuz, bunlar bence yanlış, maliyetler gerçek ücreti neyse onun üzerinden değerlendirilmelidir, derleyici maliyetleri de,

En tehlikeli an "zafer" anıdır.

leblebitozu

@esensoy

Herkes mevcut imkanları dahilinde konuşuyor, memleketin hali malum. Ama ARM için GNU C'de kullansan, JTAG'ı ni kendin de yapsan Microchip'ten açık ara önde konfora sahipsin bu net ve kesin.  Yanlış olan birşey yok bence klon cihaz orjinal ICD3'ten açık ara iyi çalışıyorsa oturup düşünmek lazım.

X-Fi

ARM derleyicileri size karışık gelmesi normal çünkü ARM kullanmanın en temel amacı core yapısı aynı işlemciler arasında taşınabilir yazılımlar yapabilmektir. Birkez kullanırsanız tüm işlemcilere hakimsiniz demektir. üç aşağı beş yukarı aynıdır. Söylediğiniz donanım yapısı için en geniş internet kaynağı armda var. Kaç kişi çalışacaksınız? Ne kadar profesyonel çalışabileceksiniz? Ne kadar sürecek bu çalışma? bunları bilmeden birşey önermek zor ancak çevremde arm ile ürün üretip pişman oldum avr ve pic kullanmalıydık diyeni görmedim.

iyi çalışmalar.
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

Burak B

#13
@esensoy alışkanlıklarla alakalı değil deneyimlerle alakalı. MPLABX, MPLAB, CCS hepsini kullandım kullanmaya da devam ediyorum. PIC için MPLABX ve XC serisi derleyicilerden başkasını da önermem. Netbeans tabanlı olduğu için eclipse ile kıyaslanabilecek bir arayüzdür. Microchip kaynaklı bazı sorunlarına rağmen oldukça kullanışlı bir arayüzdür. En azından kod tamamlama, refactoring v.s. gibi işlevleri sorunsuz çalışıyor gibi basit örnekler verebilirim.

ICD3 ve klon ARM debugger konusuna gelince. Microchip PIC8 ve 16 bit MCU' lar için bu konuda zayıf kalıyor. Yeni PIC32 ailesi MIPS4K çekirdekli işlemcileri ile bunu telafi edecek gibi görünüyor. Çünkü bunlar JTAG destekleyen chipler olduğu için MPLABX' de direkt jlink desteği veriliyor.

Ancak ARM bu konuda yine birkaç adım önde çünkü ARM chiplerin SWD arayüzü ile JTAG arayüzüne ihtiyacı olmadan 2-3 tel ile debug edilebilmesi ve programlanması mümkün. Üstelik klon cihaz kullanmaya da gerek yok.

Diğer yandan ST firmasının STM32F0 serisi chipleri microchip MCU' ların yeteneklerini fiyat/performans açısındanda hayli zorlamış durumda.

"... a healthy dose of paranoia leads to better systems." Jack Ganssle

esensoy

Burada da bir çok kez tartışmalar oldu, karşılaştırmalar yapıldı,
Ben de oturup düşündüğümde arm kullanmalıyım diyorum, ama ne zaman elimi atsam daha ide aşamasındayken asabım bozuluyor, elim yine mplabx ya da ccs c ye gidiyor,
En tehlikeli an "zafer" anıdır.