ARM iyi başlangıç ​​kitabı [kapalı]


26

ARM mikroişlemcileri için iyi bir başlangıç ​​kitabı arıyorum. CPU mimarisini ve önyükleme sırasını ve ayrıca ideal olarak montajcı, C ve çevre birimlerini kapsamalıdır.

AVR'ler için böyle bir kitabım var ve Atmel cipsleri için birkaç iyi seçenek var. ARM peyzajı, birden fazla satıcı ve birkaç sınıf cips ile daha karmaşıktır. Amazon'a bakıldığında net bir favori ortaya çıkmadı. Bazı önerileri takdir ediyorum.


AVR'ler için kitabınız nedir? Merak ediyorum. Ayrıca, üniversitemden ARM'ler için bir kurs paketim var, ama korkarım hiç yayın görmeyecek ...
Kevin Vermeer

1
@ kevin-vermeer Bu bir Alman kitabı: Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie emekli bir profesör tarafından yazılmış. Benim soruda bahsettiğim tüm konuları kapsar, yinelemede ne kadar zamana ihtiyaç duyacağına karar vermek için assembler komutlarının nasıl sayılacağı gibi harika şeyler de dahil.
kwo

Sanırım almanca öğrenmeliyim ...
Kevin Vermeer

Bu ilginç bir kitap utancasına benziyor Almanca okuyabiliyorum ve anlayabiliyorum.
Dean,

@kwo çevrilmiş bir versiyona sahip olma umudum yok galiba?
NickHalden

Yanıtlar:



13

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.


Harika cevap
NickHalden,

3

ARM'deki iyi kitaplar:

Steve Furber tarafından "ARM SOC Architecure"

Andrew Sloss, Dominic Symes ve Chris Wright'ın “ARM Sistem Geliştiricileri Rehberi”

ARM tarafından "ARM Architecture Reference Manual"

Sonuncusu ARM sitesinde ücretsiz olarak kullanılabilir .

Sloss, Symes ve Wright, ormanı görmek için ağaçlardan uzaklaşmak istiyorsanız, özellikle gömülü sistemler kullanıyorsanız, mükemmeldir.

Furber, orijinal ARM mimarlarından biridir ve sizi ARM'in tasarım mantığı ve ARM işlemci çekirdeğinin genel olarak nasıl çalıştığı konusunda sizi yönlendiren mükemmel bir iş çıkarır.

Tabii ki yukarıdakilerin tümü benim kişisel / öznel görüşüme dayanarak yapılan bir öneridir ve belirli bir ürün veya yazar için fiş olarak görülmemelidir.


Kitap listesini bir liste olarak biçimlendirmek faydalı olabilir, ayrıca bu kitaplara bağlantılar da yararlı olacaktır.
Trygve Laugstøl


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.