ARM ARM, ARM Mimari Referans el kitabını arayın. Önyükleme işlemini, mimariyi, montajı (ARM, thumb ve thumb2), her şeyi kapsar. ARM ARM geneldir, ilgilendiğiniz belirli bir çekirdek için ayrıca bir TRM, Teknik Referans El Kitabı olacaktır. Bu belgelerin tümü ARM web sitesinden ücretsiz olarak temin edilebilir. Özellikle yeni Cortex-M3 tabanlı mikrodenetleyicilerden birini, önyükleme sırasını kullanmak istiyorsanız veya istisna tablosunun geleneksel ARM'ten farklı olduğunu ve bunun için TRM'ye ihtiyacınız olduğunu varsayalım. Bilgi bulmak için Cortex-M3.
önbellek veya mmu ile bir kol ile sonlandırırsanız, bunun için TRM'yi ARM web sitesinden almanız gerekebilir. Belirli satıcılar çipinde yerleşik olan belirli bir çekirdeği bilmeniz gerekir; örneğin, PL310 r2p0, r3p0'dan farklı olabilir / olabilir. Satıcı bu bilgiye sahip olmalı ve doğrudan kol belgelerine bağlantılar ya da belki doğrudan belgeler sunabilir, normal olarak kol belgelerini kendi belgelerine yerleştirmezler. Bence ARM bu şekilde tercih ediyor.
C'ye gelince, sadece C'dir, özel bir şey değildir, ARM ana derleyiciler, gcc, llvm, Keil (şimdi ARM'e ait), IAR, yeşil tepeler, vb. Tarafından desteklenir. o olsa). ARM için özel bir şey yok, ancak belirli bir derleyici ve bağlantısının nüanslarını bilmek zorundasınız. Code Sourcery, gcc tabanlı ARM derleyicisini kullanıma hazır hale getirmek için bu günlere gitmenin yoludur, LITE sürümü indirmek ve kullanmakta ücretsizdir ve destek istiyorsanız sürümler için ödeme yapılır (google.com adresinden daha fazla ücretsiz gcc kolu desteği) okumak için zamanın var). Kod ekiminden önce emdebian, gidilecek bir yerdi, yagarto ve devkitarm ve winarm bazılarının çözümleri kullanmaya hazırdı (bazı şeyler için linux için derleme yapmak zorunda kalmadan, Linux Eklentisi veya emdebian için).
Gerçekten blog olmayan birkaç blogum var, fakat birkaç farklı ARM tabanlı mikrodenetleyicinin nasıl geliştirileceğine dair bazı örnek programlar ve bilgiler içeren yerler. Bazıları bazı C, eski blogları kendi gcc tabanlı çapraz derleyicinizi nasıl oluşturacağınızı gösteriyorum. Llvm bilgisine de sahip olabilirim (thumbulator, birkaç örnekte olsa da belgelenmemiştir), kutunun dışında llvm birkaç platform için bir çapraz derleyici olarak kullanılabilir, bunu gcc gibi bir hedef oluşturmak zorunda değilsiniz. Ve llvm'nin kod üretimi gcc 4.x'i yakaladı (gcc 4.x, gcc 3.x'ten daha iyi olamaz ve gcc veya llvm, ARM'lerin kendi derleyicileri gibi olanlar için diğer pahalı ücretler kadar iyi değildir).
http://stm32stuff.blogspot.com/
Oradan profilime tıklayabilir ve lpc, lmi (luminary micro, stellaris parçaları, şimdi ti'nin sahip olduğu) sam7 için benzer bilgileri bulabilirsiniz. IPC ailesinin bir hayranı değilim, mbed2 acı veren mavi ledlerden başka bir şey değil. şu anda 12 dolarlık bir stm32 tabanlı anakart var, bir kısmı da keşif kutusuyla oynamaya hazır. coridium, akçaağaç gibi arduino ayakizine uyan bir tahtaya sahiptir, sparkfun'da bir veya her ikisini de alabilir (sparkfun'da birçok güzellik). Eğer daha güçlü bir şey arıyorsanız, beagleboard, arayüzlerin yokluğundan dolayı acı vericiydi, aynı fiyatın çince versiyonu daha iyi / daha iyi (bir veya iki haftada ortaya çıktı, ancak herhangi bir izleme bilgisi yok), ethernet ve vidalanmamış seri port. Hawkboard'u seviyorum ama tasarım rehberini takip etmekte başarısız olduklarını ve omap ile ilgili problemleri olabileceğini düşünüyorum. OpenDD'yi bilgisayarlı bilgisayardan sevdim, ama yeni sürümden nefret ettim. Openrd'ın anakartta bir sata gücü ve veri konektörü var, sadece bir sabit sürücüyü takın, bu sınıftaki diğer kartlar sizi flash tabanlı bir şeye zorlar (okuma: çok yavaş). marvell göbekleri şu anda ti omapler etrafında daireler çiziyorlar.
veya thumbulator (github) thumb komut seti simülatörünü ücretsiz deneyin, ancak başparmakla sınırlandırın, kolsuz (kodunuzu ondan stm32 panolarına götürebilirsiniz, yine de $ 12 gibi). gdb'de ve başka yerlerde bulunan armülatörün kullanımı muhtemelen daha acı vericidir, ancak kolu ve baş parmağını destekler ve kodunuzun seri port çıkışından başka ne yaptığını görmek istemiyorsanız, qemu kullanımı kolaydır. qemu kol, başparmak ve thumb2'yi destekliyor, sanırım bir ya da iki stellaris tahtası var.
Zaten bir komut setinden (bazılarından daha iyi, diğerlerinden daha kötü) büyük olmayan AVR assembler'ı biliyorsanız, ARM veya başparmak ile, biraz temizleyici, biraz daha basit bir problem yaşamazsınız. Aynı şekilde, AVR ile gömülü C (bir sanal alanın dışında) yapmışsanız, ARM aynı veya daha kolay olacaktır. Başlamasını kolaylaştırması gereken kum kutularının bulunduğu mbed veya akçaağaç ile gidebilirsiniz ve sonra kendi başınıza çıkmak istiyorsanız çok fazla sorun yaşamadan gidebilirsiniz. .bin'i basitçe .bin'i sanal flash sürücüye, yükleyicisini veya dfu-use kullandığınız akçaağaç veya hatırlayamadığım bir şeye kopyalayın.