ARM mikrodenetleyicileri üzerinde programlamaya başlamak için en ucuz, (kolay) yol [kapalı]


18

Çok uzun süredir kullandığım PIC'lerden geçiş yapan ARM işlemcilerini kullanmaya başlamak istiyorum. 8 bit modelleri 1 $ 'ın altında, programcılar 10 $' ın altındaydı ve başlamanın kolaylığı ve düşük maliyeti nedeniyle şımarık oldum. Ancak güçlerinin bazı ARM çipleri tarafından aynı fiyata cüce edildiğini ve kapalı kaynak yazılımdan bıktığını görünce, geçiş yapmak istiyorum.

Daha ziyade herhangi bir geliştirme panoları almaktan kaçının ve bunun yerine doğrudan ucuz bir genel devre dışı bırakma pcb ($ 1) ile ve bunu almak için gerekli olan harici bileşenleri kullanan bir breadboard'a doğrudan girin.

ARM çiplerini bu şekilde programlamak için seçeneklerim nelerdir? PICKit2 gibi bir bilgisayara bağlanmak için USB kullanan, çip ile basit bir seri bağlantı (ICSP gibi) üzerinden programlama yapan programcılar var mı? Farklı ARM üreticileri, ARM sürümleri ve ayrı yongalar için kurulumlarda ne kadar fark gereklidir? (ST, Atmel ...) Örneğin her üreticinin kendi derleyicilerine, programcılarına, IDE'ye ihtiyacı var mı? Yoksa herkes için ortak araçlar var mı?

DÜZENLEME: Tamam, daha fazla araştırmadan sonra nispeten ucuz bir çözüm bulduğuma inanıyorum, bir stm32 dev kartı DAPLINK ürün yazılımı ile yanıp sönebilir, ancak resmi github ürün yazılımının yerel olarak çalışacağına inanmıyorum (tüm bunlar spekülasyon benim stm32 dev kurulu almak posta). Ama ben okuma mk20 ile dahil daplink_usb kurulu bir stm32 çip çalıştıran buldum, onlar 8 mhz kristal ile uyumlu hale getirmek için bir çizgi değiştirilmesi gereken firmware yayımladı (Aşağıda bağlantılı forum sonrası ayrıntılı). Aksi takdirde 16 mhz bir kristal değiştirin. Geliştirme kitim geldiğinde bunu onayladıktan sonra güncelleme yapacağım.

GITHUB REPO

İyi Forum Kaynağı burada .

Redbear Github çatal


4
5 $ 'ın size mükemmel bir normal (ve ücretsiz!) GCC tarafından desteklenen bir Raspberry Pi Zero aldığını anlamak güzel. Ve eğer ARM mikrodenetleyicilerinin ne kadar hızlı olduğunu şok ederseniz, RPi sizi tekrar sersemletir. Asıl sorun IMO, hiçbir ARM üreticisinin RPi'nin altındaki mesajı anlamadığıdır. Artık ARM mikroişlemcilerde fazla para kazanamayacaksınız, ancak kullanıma hazır CPU modülleri sağlayarak daha fazlası yapılacak.
MSalters

4
Bazen gömülü bir uygulamada kullanıma hazır bir CPU modülü kullanmak aşırıya kaçar.
Bence Kaulics

3
@MSalters, RPI hantal ... Sadece beraberinde gelen ekstralara ihtiyacım yok. Hızlı gerçek zamanlı işleme için çok kompakt bir alanda çıplak kemiklere ihtiyacım var. Ayrıca, RPI kabul edilenden çok daha fazla güç tüketir.
CL22

3
Tabii, ama çoğu dev kurulları bu şekilde olacak. Ancak MCU geliştirme ile ilgili en güzel şeylerden biri, donanım ve yazılım geliştirmenin her birinin bir noktaya kadar izole edilebilmesidir.
Ignacio Vazquez-Abrams

2
Entegre bir USB-SWD köprüsü ile birlikte gelen düşük maliyetli bir geliştirme kartı almayı düşünün. Bu, kod indirmenin yanı sıra hata ayıklama özelliklerine erişmenizi sağlar. Size uygun olduğunda SWD erişimini başka herhangi bir hedefe bölebilirsiniz.
Sean Houlihane

Yanıtlar:


14

Stm32F0 ve stm32L0 hattı, yaklaşık 10 $ çalışan keşif kartlarına sahiptir ve Keil, bu hat için sıfır maliyetle tam işlevli bir IDE sağlayacaktır.

Keil ücretsiz pro MDK kurulum talimatları BURADA

Ayrıca, ARM'nin PIC'den Cortex M3'e geçişte yararlı bulabileceğiniz beyaz bir sayfası vardır .


7
+1 Ancak, keşif kartlarının çoğunun (hepsinin) jumper'ları yapılandırarak bağımsız aygıtları programlamak için kullanılabilen yerleşik bir STLINK'e sahip olduğunu da belirtmek gerekir.
Roger Rowland

@RogerRowland - harika bir nokta. Daha önce kendi panolarım için yerleşik programcıları kullandım. Keşif genel olarak harika bir çizgidir. Keşke montaj delikleri olsaydı!
Scott Seidman

Nucleo veya Discovery'yi önerir misiniz? Aynı fiyat gibi görünüyorlar ve her ikisi de ST-LINK özelliğine sahip.
David

@david, nükleo'yu kullanmadı, ama Keşiflerin bana iyi hizmet ettiğini söyleyebilirim. Bu fiyat noktasında, her ikisinden birini alın (iki
keşifle


7

Tam işlevli bir Keil Pro derleyici için en kolay yol> 10.000 ABD doları, JLINK hata ayıklayıcılarını satın alın (belki 1K $ - belki de bazı sınırlamalara sahip daha ucuz olanları vardır). IAR başka bir pahalı olasılıktır (30 günlük IAR demosunda çalışan STM32F7 Cortex M7 işlemci için örnekler verilmiştir)

En ucuz yol - JLINK hata ayıklayıcı eklentileri ile (ücretsiz) GCC-ARM + Eclipse araç zincirini indirin ve yükleyin. Hata ayıklama için henüz iyi test - henüz işe yaramayacağını düşünüyorum 20 $ ya da öylesine bir JLINK klon alın.

İnternette ikincisi için ayrıntılı talimatlar vardır, ancak belirli varsayımlar yaparlar. Özellikle Windows altında bir veya daha fazla gün geçirmeyi bekleyin. Bazı IDE'ler için sağlanan örneklerin birçoğunu biraz çalışmadan kullanabilmeyi beklemeyin. Etkileyici bir şekilde, ücretsiz araç zinciri 'paketleri' (şu anda 'deneysel') kullanabilir.

Rowley Crossworks gibi (gcc kullanan, sanırım) finansal olarak daha az acı veren başka sistemler de var. Atmel Studio başka bir şey, ama çok deneyimli firmware geliştiricimden bu konuda acı şikayetler yaşadım (sadece kısaca kendim oynadım).

Kod ihtiyaçlarınız 32K'dan azsa, aynı Keil sistemini ücretsiz olarak kullanabilirsiniz (kod sınırlı sürüm), ancak yükseltme yolunun kolay ama oldukça pahalı olduğunu unutmayın. Örneğin, SAME70 için basit Ethernet örneklerini derlemez. PIC'leri veya AVR'leri düşük uçlu ARM'lerle değiştiriyorsanız iyi, ancak ARM'ye gidiyorsanız çok iyi değil çünkü aslında LCD ekranlarla konuşmanız ve karmaşık iletişim protokollerini çalıştırmanız gerekiyor (muhtemelen önceden derlenmiş modüller, 32K sınırı, belirli bir açıyı araştırmadım).


7

İşte ne kullanıyorum:

  • STM32F103 "asgari sistem kartı" (örneğin bkz burada , Cortex-M3 çekirdek ), herhangi bir dış bileşenler olmadan 3.3V veya USB güç çalıştığında, klonlar yaklaşık US $ 3 her biri için geliyor. Bu "ucuz jenerik koparma pcb ve bir breadboard üzerinde doğrudan içine almak" için güzel bir istek uyuyor.
  • ST-Link V2 USB programcı klon (gibi görünüyor bu bir ), $ 2 ABD yaklaşık başlar ve on-chip destekleri lutfen ayıklama.
  • Gcc toolchain ile IDE olarak EmBitz (eski adı Em :: Blocks), US $ 0
  • STM'nin CubeMX'i yeni projelere başlamanıza yardımcı olacak, US $ 0

5

En kolay başlangıç ​​muhtemelen üçüncü taraf klon panolarından biridir. ST'den rastgele örnek . Bu, 'SWD' protokolünü kullanan bir programcı gerektirir. ST 'ST-LINK' markalı olanları yaparsanız, ST-LINK olanları ST cihazlarıyla mı kullanmanız gerektiğinden veya gerçekten genel olup olmadığından emin değilim.

SWD ve JTAG'ın bazı kombinasyonları, ARM sistemleri üzerinde ICSP rolünü oynar ve size programlama ve hata ayıklama yetenekleri verir.

Yazılım açısından, çoğu çipte GCC ve OpenOCD ile çalışmak genellikle mümkündür. Ayrıntılar her cihaz için biraz farklıdır. Profesyoneller genellikle oldukça pahalı olan Keil araç zincirini kullanırlar.

Bazı cihazlarda (örneğin Kinetis serisinde) USB önyükleyicileri vardır: cihaz bir yığın depolama cihazı olarak görünür, üzerine bir BIN dosyası indirir ve bir düğmeye basarsınız. Mümkün olan en kolay çözüm, programcı gerekmez. Atmel AT91, SAM-BA adlı özel bir protokolle çalışan bir USB önyükleyiciye sahiptir.


keşif ve nükleo tahtalar üzerinde bir bağ vardır ve bağımsız bağlanma donanımlarından% 30 daha düşük maliyetlidir. artı oynamak için en az bir mcu olsun. Bir bağlantı elde etmek hala iyidir ve swd yoluyla diğer st veya st olmayan korteks-m çiplerine bağlanmak için openocd ile kullanabilirsiniz.
old_timer

1
Kenetisis çip ilginç Ben kullanamıyorum (henüz) çünkü hiçbir bootloader sadece swd ve bir stlink kullanarak bağlanmak alışkanlık, sözde bir cmsis-dap gerekir. aynı şekilde samd21 artık bir bootloader taşımaz, bir tane ekleyebilirsiniz, ancak aslında uygulama flash alanında ve yanlışlıkla silmeniz oldukça önemsizdir. stm32s hala nxp gibi bir bootloader var, belki de çok gidiyor ...
old_timer

3

IDE cephesinde Silicon Labs , Eclipse'e dayanan Simplicity Studio'yu sağlıyor . GCC ile standart olarak gelir.

Sattıkları tüm başlangıç ​​kitleri için yerleşik destek var, bu da başlamayı nispeten ağrısız hale getiriyor.

Programlama, başlangıç ​​kitleri için bir Segger J-Link sürücüsü kullanır (ücretsiz). Kiti USB'ye bağlayın ve gidin.

Atmel onların sahip Studio , Visual Studio IDE dayalıdır ve Atmel debugger'lar herhangi birine bağlanabilir. Bu aynı zamanda GCC ile birlikte gönderilir.

Her iki tedarikçi de cihazlarını çalıştırmak için çok sayıda (çok sayıda) örneğe sahiptir.

Her ikisini de kullandım ve belgeler mükemmel olmasa da (asla öyle değil), kesinlikle nispeten acısız gitmemi sağlamak için yeterliydi.

ST kitlerinin çoğu (ve diğerleri) mbed özelliklidir.


2

Cypress, kesme bölümünde USB tabanlı bir programlama adaptörü içeren DIP-40 form faktörlü PSOC-4200 tabanlı (ARM Cortex M0) kesme panoları yapar. Koparma kartı ve bağlı (çıkarılabilir) programlama adaptörü için fiyat Digi-Key'den tam bir US $ 3.99.


1

CooCox'u tavsiye ederim - aynı GCC + Eclipse kombinasyonudur, ancak toolchain'i manuel olarak yapılandırmaya gerek yoktur, sadece yükleyin ve kodlamaya başlayın.


Güzel gözüküyor, sanırım Atmel desteklenmiyor. ST M7 çekirdeği destekleniyor mu?
Spehro Pefhany

Görünüşe göre Atmel desteklenmiyor, bileşenlerde STM32F7 serisi için bazı kütüphaneler var. CoIDE'ın geleceğinin net olmadığını söylemeliyim - web sitesi karışıklık, güncellemeler artık nadir, ancak ARM programlamaya başlamak için mükemmel bir seçimdir (özellikle STM32 ile).
Flanker

1

İnanıyorum ki TI, NXP (NXP + Freescale'den oluşuyor) ve ST, korteks M dünyasında önemli rol oynuyor, özellikle ST ve NXP, yeni gelenler için gerçekten rekabetçi bir araç sunuyor, bir başka önemli parametre, açık kaynak topluluğunda popülerliğe neden oluyor. öğreticiler, kütüphaneler, aygıt sürücüleri, araçlar vb.

sonra :

  1. mbed çevrimiçi derleyici + bir mbed kartı
  2. Bir STM32 keşif kartı (STM32F407discovery gibi) + st-link hata ayıklayıcı + SPL veya HAL (STM CUBE) çerçevesi + ücretsiz lisans keil IDE'de yerleşik.
  3. Bir LPC keşif kartı + LPC-link 2 hata ayıklayıcı + LPCOPEN çerçevesi + LPCXPRESSO ücretsiz lisans IDE.

2 ve 3 numaralar üst seviye için hobiden daha iyi bir seçimdir. Ayrıca, profesyonel bölgeye taşınırken IAR, Keil veya LPCXPRESSO gibi profesyonel araçların ücretsiz lisansını kullanarak daha az ağrınız olduğunu unutmayın.


1
ARM'nin mcu kütüphaneleri ve araç zinciri mbed- bkz. [ Developer.mbed.org] [developer.mbed.org]
Sean Houlihane
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.