2010-10-01 18 views
7

Yakında bir resmi eğitim (CPU tarafı) ile ARM Cortex M3 yarışmasına başlayacağım.ARM Cortex M3 acemi için gerekli olan tavsiye

Şimdi biraz önce Arduino ve AVR yaptım ve elektronikte bazı temel bilgilere sahibim fakat çoğunlukla bir yazılım geliştiricisiyim. Buradaki pek çok konuyu okudum ve eldeki aletlerle ilgili olarak başka bir yere baktım ve gerçekten yardımcı oldular. İhtiyacım olan şey, tüm bu cevap öğelerini birbirine bağlayacak bir şey.

Kendimi, beni harekete geçirecek kadar genel bir başlangıç ​​kiti ile donatmayı ve en azından farklı donanım/yazılım kombinasyonlarını (Stepper, CAN-Bus, SPI vb ...) denememi sağladım. Ben (! Fazla öğe eklemek için çekinmeyin) Aşağıdaki listeye arıyorum:

  • Cortex M3 Çip
  • Değerlendirilmesi kurulun
  • Aracı Zincir
  • JTAG araçları için

çip Her şeyden biraz deneyebilmek için üst modellerden birini istiyorum. NXP LPC1768 iyi bir seçim gibi gözüküyor ancak STM ve Stellaris'in de düşünmesi gerekiyor.

Şu anda tahta için ilginç adaylar, Keil MCP1760, STM3210E-EVAL'tır, ancak tek bir kartta çeşitli takım zincirlerini denemek istediğim için satıcı kilitlemesinden korkuyorum. mBed çok cazip fakat derleyicinin dışına çıkmış olması nedeniyle (normal bir derleyici de kullanılamadığı sürece)

Takım Zinciri için IAR, Rowley Associates'e karşı bir “his” var. Açık kaynağa ve tercihen çoklu hedeflerde kullanılabilecek araçlara karşı kullanım kolaylığı/iyi olma hali tercih ederim.

Gerçekten bir JTAG birimine ihtiyacım var mı? Eğer "standart bir endüstri aracı" gibi görünüyorsa, en azından biraz tecrübe almak istiyorum. Başka bir tedarikçinin kilitlenmesi zor gibi görünüyor. Kendimi tanıyabilir veya değerlendirme panosunda yer alan bir tanesini kullanabilir miyim?

Temel olarak, yukarıda bahsedilen kategoriler için kazanan bir kombinasyon seçerken yardıma ihtiyacım var. Mümkün mü, yoksa saf mıyım ve masraflarımı korumalı mıyım? Çünkü sonunda her birini satın alacağım.

Teşekkür ederiz. Ben sipariş Ne:

SONUÇLARI

Sonunda Joseph Yiu yönettiği "ARM CortexM3 (Gömülü Teknolojisi) Definitive Guide", satın (çok yakında) CortexM3 platformu için bazı eğitim bulundu ve satın Bir STMicro kiti: STM3210C-Eval yerleşik bir dizi sensöre sahiptir ve belirli bir yazılım ortamına göre satıcı tarafından kilitlenmez. Ayrıca, yerleşik JTAG ile birkaç STm32vl-Discovery kartı (digikey'den 13 $ cdn) aldım. Şimdi Keil uVision IDE'nin bir değerlendirme sürümü (32K) ile oynuyordum ve gerçekten etkilendiğimi söyleyebilirim! Discovery'nin donanım yazılımını yeniden oluşturabilirdim, geri yükledim ve hata ayıklayıcı ile tek bir günde adım atmayı başardım!

Herkese teşekkürler!

+1

Bunu http://electronics.stackexchange.com adresinden sorabilirsiniz. –

+0

Teşekkürler, harika site, Başka bir yer işareti! –

+0

stm32vl bulgum var ama sadece stm32f keşfini aldım. 168Mhz, i ve d önbellekleri, kayan nokta birimi, kripto, karma, az miktarda bellek, flaş, vb. mbeds depoya gidiyor ve bunlar masamın üstünde kalıyor. https://github.com/dwelch67/stm32vld/tree/master/stm32f4d –

cevap

1

Ayrıca bir yazılım geliştiriciyim. Birkaç farklı kit kullanmıştım, ancak en kolay kullanım ve en çok kullandığım şey mbed'dur.Kutuyu açmanızdan tam anlamıyla beş dakika içinde alabilirsiniz. CD'den herhangi bir IDE yüklemenize gerek yok, JTAG dongle'larına gerek yok, veri sayfalarının üzerine dökülmeye gerek yok - sadece kodu yazın, derleyin ve çalıştırın.
Evet, bazıları çevrimiçi derleyiciye "bağlı" olduğundan şikayet ediyor. Ama sadece bunu gerçekten denemeyenlerden duydum. Ve sadece değil true - LPC1768: IAR, Keil, CodeSourcery, Yagarto veya kendi takım zinciriniz için ikili üretebilen başka bir takım zincirini kullanabilirsiniz. Henüz kendim için bir dava bulamadım, ama kesinlikle mümkün.
Muhtemelen mbed'in en büyük dezavantajı, JTAG arayüzünü ortaya çıkarmaması ve böylece etkileşimli olarak hata ayıklayamamanızdır. Şimdiye kadar bu kritik noktayı bulamadım ama çok düşük seviyeli bir iş yaparsanız önemli olabilir.

+1

Cortex-m3'ün büyük bir dezavantajı, ARM'nin daha az iğne kullanan bir jtag arabirimine dönüşmesidir (jtag zaten seri olsa bile bazı seri şey) ve Belgelerin bir NDA ile yayınlanmayacaklarını, en azından bu yılın başlarında denediğimde böyle bir durum ortaya çıkmadıklarını söyledi. Yani bir sandbox içine kilitlenmediğiniz, ancak programlarınızı yüklemek için bir yol olan mbed veya stellaris gibi bir şeyle gitmek bir korteks-m3 için arzu edilebilir. –

+1

Aslında, SWD (iki telli JTAG), gereksinim olmayan, Cortex-M3'te bir seçenektir. Örneğin, LPC17xx hala dört telli JTAG'a sahiptir (ancak LPC11xx ve LPC13xx gerçekten sadece SWD'dir). Ve SWD dokümanları NDA olmadan kesinlikle kullanılabilir, ancak onları indirmek için arm.com'a kaydolmanız gerekebilir. –

+0

Mbed, esas olarak fiyattan dolayı ev projelerim için ilk tercihim olurdu. Şu anda Doulos'tan eğitim görüyorum ve sonuçta maliyetlerden tasarruf etmek için bazı özel tahtaların üretilmesini istiyorum. Bir öğrenme deneyiminde tam kıyafetle (derinlemesine M3 öğrenme, jtag, kaynak hata ayıklama vb.) Gitmeyi düşünüyordum. Belki de onu henüz yönetmemeliydim. –

2

Sen Atmel ATSAM3U-EK dev kit (yak. $200 from Digi-Key) bakmak isteyebilirsiniz. LCD dokunmatik ekranı, ivmeölçer, sıcaklık sensörü, analog girişler, JTAG, iki seri bağlantı noktası ve USB 2.0 (SAM3U içine yerleştirilmiştir).

Ben SAM3 serisi hakkında gibi bir şey kolay getirmek-up. Bir program ROM'unun yanı sıra bir program ROM'una sahiptir. Fabrikadan, ROM'u (daha sonra flaştan önyüklemesine değiştirirsiniz) yükler. Bu, USB İletişim Aygıtı Sınıfı (CDC) olduğunu ve USB-BA önyükleme izleyicisini çalıştırdığını belirten USB bağlantı noktasını tetikler. Ayrıca tüm şeyi fabrika ayarlarına sıfırlayan yonga üzerinde bir ERASE pinine sahiptir.

sıfırdan yeniden programlamak için, yapmak zorunda nedenle tüm şöyledir:

  • reset üzerinde güçle en az 200 ms için

    • Jumper ERASE ve bir USB portuna kurulu fiş
    • Windows veya Linux ya üzerinde Atmel'in SAM-BA programını çalıştırmak
    • ikili dosyayı seçin seri port
    • etkinleştirmek flaş yazma
    • seçip o
    • o USB unhook
    • flaş
    • boot tekrar reset İsabet set gönderin.

    gerek yok kilidi veya JTAG kutusu. IAR aracılığıyla JTAG yoluyla yeniden programlamanın muhtemelen daha az adım olduğunu biliyorum, ancak diğer araçların arızalanması durumunda bilinen bir duruma ulaşmanın bir yolu olduğunu bilmek isterim.

    IAR araç zinciri SAM3 serisini destekler ve (IAR en $ 5K lisansları bizim için çok zengin olduğundan şimdi SAM3U + GCC bağlantı noktası çalışıyorum) bir port of FreeRTOS to SAM3U + IAR yoktur.

    SAM3U-EK ile ilgili başka bir şey de var: Üzerinde NAND flaşı var ve demoyu çalıştırırken kartı bir bilgisayara takarsanız, flaşı bilgisayarınıza "flash sürücü" olarak takacaktır. . Bu flaşta GCC, IAR ve Keil araçlarının belgeleri, şemaları, demo programları ve kütüphaneleri ve demo programını geri yüklemek için talimatlar ve dosyalar bulacaksınız (bir şeyi kırdığınızı düşündürdüğünüzde faydalıdır).

  • +0

    Bu gerçekten güzel bir tahtaya benziyor. Yüklü bir tahtaya sahip olmak gerekirse, Ethernet ve CANbus yüksek öncelikler listemdir ve burada bulunmaz. –

    3

    Bu sadece başparmak ve başparmak 2 ama korteks-m3 başparmak ve thumb2 hem yapmasıdır başparmak simülatörü http://github.com/dwelch67/thumbulator/wiki/thumbulator var. Bir süredir farklılıklar hakkında endişelenmene gerek yok. Regress dizininin hem gcc hem de llvm örnekleri için bir make dosyası vardır. Benioku konuyu bile kapsayabilir.

    hem LLVM ve gcc

    , herhangi bir yazılım satın almak için gerek mükemmel para cezası.Burada ücretsiz yardım sağlayan çoğu insan gcc kullanıcısı olacak. Codesourcery daha yeni/daha iyi gcc (kol için) almak için geçerli yerdir. Lite sürümü gayet iyi. Kendi gcc'inizi yuvarlamak nispeten kolay bir şeydir, ama belki de içine girdiğiniz bir şey değil. Llvm hakkında güzel bir şey, her zaman bir çapraz derleyici ve pre-builts genellikle birkaç/tüm hedeflere sahip olmasıdır.

    Ayrıca stellaris ve mbed ve diğer korteks-m3 örnekler var. Yıldızı severim, lpc hayranı değilim, ifade etmekten kaçının, mbed aslında kötü değil. Çılgın parlak mavi ledler bana bir göçmen veriyor, ben de onları yeşil ile değiştirdim, aksi halde sadece iyi çalışıyor, kullanımı kolay. Igor haklı olduğun gibi sandboxlarına kilitlenmediğin doğru, bir örnek var, bir yerde derlemek için gcc kullanarak ledleri göz kırp. .bin dosyasını flash flash sürücü gibi görünen bir şeye kopyalayın ve yeni dosyayı yüklemek için reset düğmesine basın.

    sparkfun.com, $ 50 artı mbedenin altında olan ve başka kim bilir, stm32 başlık kartına sahiptir. Stellaris panoları 100 $ aralığındaki ve gayet iyi. 811'i neredeyse derhal, uyarmanın tam olarak yapmamanın söylediği şeyi yapmasını sağladım. Jtag gpio'm yanlış yöne döndü ve ... oyun bitti. 1968 ve diğer 811 olmayan seriler ya tuğlalanamaz ya da tuğlalanması kolay değildir. Stellaris anakartlar, bir süredir eğlenceye sahip olan tümleşik çevre birimleri ile tüm io'yu çiğniyorlar, ancak bu çevre birimlerinin nasıl kullanılacağı dışında bir şey yapmak istemiyorsanız. Stm32 üstbilgisini (stm primerlerinden kaçının) amontek iyi bir tane, jtag-minik ve olimex'in iyi çalışması gerektiğini düşünüyorsanız bir jtag wiggler'ı isteyeceksiniz, ama aslında benim çıkmamı bilmiyorum. kutu. Teoride bir stellaris tahtası, başka bir veya diğer korteks-m3'ler için jtag wiggler olarak kullanılabilir. Eğer bir stellaris kurulu varsa başka bir şeye ihtiyacınız olmaz, ihtiyacınız olan her şey tek bir fiyat için kutuya gelir, eğer o alet zincirini kullanmak istemiyorsanız, yukarıda listelenen bir tane indirebilirsiniz.

    +0

    Çipin bir değerlendirme kurulundan çıkarılmasının orta vadedeki hedefim olduğu doğru. Gadget'larla dolu bir tahtadan başlayarak, CPU'yu öğrenmeye odaklanmak ve şeyleri nasıl birbirine bağlayamamak için gerçekten bana hitap ediyor. Bu stm32 Header kesinlikle iyi görünüyor! Not: JTAG ve bir wiggler arasındaki fark nedir? varsa? –

    +0

    Aynı şey. Ben wigglers dediğim, jtag arayüzü ile bir amaç tasarlanmış jtag vs bitiyor. Paralel bağlantı noktalarını kullanmak için kullanılır, ancak şimdi paralel bağlantı noktası tipi yongaları kullanın. –

    2

    Benim için, LPC1768 için LPCXpresso kartını beğendim. Dahili bir USB JTAG arabirimine sahiptir ve Kod Kırmızı IDE'nin (Eclipse tabanlı) ücretsiz bir sürümü ile birlikte gelir. Bu çipi kullanmayı öğrenirken JTAG etkileşimli hata ayıklamayı çok yararlı buldum. Normalde programladığımda etkileşimli hata ayıklama kullanmıyorum, ancak gömülü programlama için onu daha çok gerekli buluyorum.

    Her şey DigiKey'de sadece 33 dolar.