Buku pemula yang bagus tentang ARM [ditutup]

26

Saya mencari buku pemula yang bagus untuk mikrokontroler ARM. Itu harus mencakup arsitektur CPU dan urutan boot dan idealnya juga assembler, C dan periferal.

Saya punya buku seperti ini untuk AVR dan sepertinya ada beberapa pilihan bagus untuk chip Atmel. Lansekap ARM lebih kompleks dengan banyak vendor dan beberapa kelas chip. Pandangan di Amazon tidak mengungkapkan favorit yang jelas. Sangat menghargai beberapa rekomendasi.

kwo
sumber
Apa buku Anda untuk AVR? Saya penasaran. Juga, saya memiliki paket kursus dari universitas saya untuk ARM, tetapi saya khawatir itu tidak akan pernah melihat publikasi ...
Kevin Vermeer
1
@ kevin-vermeer Ini adalah buku Jerman: Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie ditulis oleh seorang pensiunan profesor. Dia mencakup semua topik yang saya sebutkan dalam pertanyaan saya, bahkan termasuk beberapa hal keren seperti bagaimana cara menghitung instruksi assembler untuk menentukan berapa banyak waktu yang dibutuhkan suatu loop per iterasi.
kwo
Kira saya perlu belajar bahasa Jerman ...
Kevin Vermeer
Itu kelihatannya buku yang memalukan, saya tidak tahu bahasa Jerman dengan baik untuk bisa membacanya dan memahaminya.
Dean
@kwo saya kira tidak ada harapan untuk mendapatkan versi terjemahan kan?
NickHalden

Jawaban:

3

Saya sarankan Anda pergi ke pusat informasi ARM. Itu awal yang baik sejauh yang saya perhatikan. Banyak informasi yang diberikannya bahkan ketika Anda bermigrasi dari satu MCU ke ARM. http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dai0211a/index.html Juga situs ATMEL pada chip ARM mereka akan melakukan banyak hal baik. Dokumentasi yang baik dan banyak catatan aplikasi. Semua yang terbaik.

Paul A.
sumber
Terima kasih. Ada beberapa buku yang direkomendasikan di situs ini juga.
kwo
13

Cari untuk ARM ARM, manual Referensi Arsitektur ARM. Meliputi proses boot, arsitektur, perakitan (ARM, jempol dan jempol2), semuanya. ARM ARM bersifat generik, untuk inti spesifik yang Anda minati juga akan ada TRM, Manual Referensi Teknis. Semua dokumen ini tersedia secara gratis dari situs web ARM. TRM akan masuk ke detail spesifik untuk inti itu, khususnya jika Anda ingin menggunakan salah satu mikrokontroler berbasis Cortex-M3 yang lebih baru, urutan boot atau katakanlah tabel pengecualian berbeda dari ARM tradisional dan Anda memerlukan TRM untuk Cortex-M3 untuk menemukan informasi.

jika Anda berakhir dengan lengan dengan cache atau mmu, Anda mungkin juga perlu mendapatkan TRM untuk itu dari situs web ARM. Anda perlu mengetahui inti spesifik yang dimasukkan ke dalam chip vendor tertentu, misalnya PL310 r2p0 dapat / mungkin berbeda dari r3p0. Vendor harus memiliki informasi ini dan dapat memberikan tautan ke atau mungkin dokumen lengan secara langsung, biasanya mereka tidak menanamkan dokumen lengan dalam dokumentasi mereka sendiri. Saya pikir ARM lebih suka begitu.

Sejauh C berjalan, itu hanya C, tidak ada yang istimewa, ARM didukung oleh kompiler arus utama, gcc, llvm, Keil (sekarang dimiliki oleh ARM), IAR, bukit hijau, dll. Microsoft bahkan memiliki / memiliki satu (akan menghindari meskipun). Tidak ada yang istimewa untuk ARM, tetapi Anda perlu tahu nuansa untuk kompiler spesifik dan tautannya. Sumber Kode adalah cara untuk pergi hari ini untuk kompiler ARM berbasis gcc siap pakai, versi LITE gratis untuk diunduh dan digunakan, dan ada versi berbayar jika Anda menginginkan dukungan (lebih banyak dukungan lengan gcc gratis di google.com daripada Anda punya waktu untuk membaca). Sebelum kode sumber emdebian adalah tempat untuk pergi, untuk beberapa hal yagarto dan devkitarm dan winarm semua sudah / sudah siap menggunakan solusi (untuk embedded dan belum tentu linux, Code Sourcery atau emdebian jika Anda ingin cross compile untuk linux).

Saya memiliki beberapa blog yang bukan benar-benar blog, tetapi tempat untuk menaruh beberapa contoh program dan informasi tentang cara membuka beberapa mikrokontroler berbasis ARM. Beberapa asm C, blog yang lebih tua saya tunjukkan bagaimana membangun kompiler silang berbasis gcc Anda sendiri. Saya mungkin punya info llvm juga (thumbulator memiliki beberapa contoh, meskipun tidak didokumentasikan), di luar kotak llvm dapat digunakan sebagai kompiler silang untuk sejumlah platform, Anda tidak perlu membangunnya ke target seperti gcc. Dan pembuatan kode llvm mencapai hingga gcc 4.x (gcc 4.x belum tentu lebih baik dari gcc 3.x dan gcc atau llvm tidak sebagus pembayaran mahal lainnya untuk yang seperti kompiler ARM sendiri).

http://stm32stuff.blogspot.com/

Dari sana Anda dapat mengklik profil saya dan menemukan info serupa untuk lpc, lmi (mikro termasyhur, bagian stellaris, sekarang dimiliki oleh ti) sam7. Saya bukan penggemar berat keluarga LPC, mbed2 tidak apa-apa selain led biru yang menyakitkan. saat ini ada papan berbasis stm32 $ 12, beberapa penemuan sesuatu, siap untuk bermain di luar kotak. coridium memiliki papan yang cocok dengan jejak arduino seperti halnya maple, bisa mendapatkan satu atau keduanya di sparkfun (banyak barang di sparkfun). jika Anda mencari sesuatu yang lebih kuat, beagleboard menyakitkan karena kurangnya antarmuka, versi Cina untuk harga yang sama adalah / lebih baik (muncul dalam satu atau dua minggu tetapi tidak ada info pelacakan dalam bentuk apa pun), memiliki ethernet dan port serial tidak-kacau. Saya suka hawkboard tapi saya pikir mereka gagal mengikuti panduan desain dan mereka mungkin memiliki masalah dengan omap. Menyukai openrd dari orang-orang plug computing, tetapi membenci versi plug. Openrd memiliki kekuatan data dan konektor data di papan tulis, cukup colokkan hard drive, papan lain di kelas ini akan memaksa Anda untuk sesuatu yang berbasis flash (baca: sangat lambat). inti marvell sedang menjalankan lingkaran di sekitar om om saat ini.

atau coba jempol saya (github) jempol instruksi set simulator gratis, tetapi terbatas pada jempol, tanpa lengan (Anda dapat mengambil kode Anda dari itu ke papan stm32, seperti $ 12 satu). armulator yang ada di gdb dan di tempat lain mungkin lebih menyakitkan untuk digunakan, tetapi mendukung lengan dan ibu jari, dan qemu mudah digunakan jika Anda tidak tertarik melihat apa yang kode Anda lakukan selain output port serial. qemu mendukung lengan, ibu jari dan ibu jari2, saya pikir satu atau dua papan stellaris dimodelkan di sana.

Jika Anda sudah tahu AVR assembler, yang tidak terlalu bagus dari set instruksi (lebih baik dari beberapa, lebih buruk daripada yang lain) Anda seharusnya tidak memiliki masalah dengan ARM atau ibu jari, sedikit lebih bersih, sedikit lebih sederhana. Demikian juga jika Anda telah melakukan embedded C (di luar kotak pasir) dengan AVR, maka ARM akan sama atau lebih mudah. Anda dapat menggunakan tempat tidur atau maple di mana mereka memiliki kotak pasir yang seharusnya memudahkan untuk memulai dan kemudian jika Anda ingin pergi sendiri, Anda bisa tanpa banyak kesulitan. tempat tidur Anda cukup menyalin .bin ke flash drive virtual, maple yang Anda gunakan loader atau dfu-util atau sesuatu seperti itu saya tidak ingat.

old_timer
sumber
Jawaban yang fantastis.
NickHalden
3

Buku bagus tentang ARM adalah:

"ARM SOC Architecure" oleh Steve Furber

"ARM System Developers Guide" oleh Andrew Sloss, Dominic Symes dan Chris Wright

"Manual Referensi Arsitektur ARM" oleh ARM

Yang terakhir tersedia secara gratis di situs ARM .

Sloss, Symes and Wright sangat baik jika Anda ingin menjauh dari pohon untuk melihat hutan, khususnya jika Anda telah menanamkan sistem yang harus dilakukan.

Furber adalah salah satu arsitek ARM asli dan melakukan pekerjaan yang sangat baik membawa Anda melalui alasan desain ARM dan bagaimana core prosesor ARM bekerja secara umum.

Tentu saja semua hal di atas hanyalah rekomendasi berdasarkan pendapat pribadi / subyektif saya dan tidak dianggap sebagai plug untuk produk atau penulis tertentu.

darbehdar
sumber
Memformat daftar buku sebagai daftar akan bermanfaat, juga termasuk tautan untuk buku-buku itu berguna.
Trygve Laugstøl