หนังสือเริ่มต้นที่ดีใน ARM [ปิด]


26

ฉันกำลังมองหาหนังสือเริ่มต้นที่ดีสำหรับไมโครคอนโทรลเลอร์ ARM มันควรจะครอบคลุมสถาปัตยกรรมของ CPU และลำดับการบู๊ตและยังมีแอสเซมเบลอร์ C และอุปกรณ์ต่อพ่วง

ฉันมีหนังสือแบบนี้สำหรับ AVRs และดูเหมือนจะมีตัวเลือกที่ดีหลายอย่างสำหรับชิป Atmel ภูมิทัศน์ของ ARM นั้นซับซ้อนกว่าด้วยผู้ค้าหลายรายและชิปหลายประเภท การดูบน Amazon ไม่ได้เปิดเผยรายการโปรดที่ชัดเจน ขอขอบคุณคำแนะนำบางอย่าง


หนังสือของคุณสำหรับ AVRs คืออะไร? ฉันอยากรู้. นอกจากนี้ผมมีชุดวิชาจากมหาวิทยาลัยของฉันสำหรับแขน แต่ผมเกรงว่ามันจะไม่เคยเห็นสิ่งพิมพ์ ...
เควิน Vermeer

1
@ kevin-vermeer มันเป็นหนังสือภาษาเยอรมัน: Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familieเขียนโดยศาสตราจารย์ที่เกษียณแล้ว เธอครอบคลุมหัวข้อทั้งหมดที่ฉันพูดถึงในคำถามของฉันแม้จะมีบางสิ่งที่ยอดเยี่ยมเช่นวิธีการนับคำแนะนำของแอสเซมเบลอร์เพื่อกำหนดว่าต้องใช้เวลาเท่าไรต่อการวนซ้ำ
kwo

เดาว่าฉันต้องเรียนภาษาเยอรมัน ...
เควินเวอร์เมียร์

นั่นเป็นความอัปยศหนังสือที่น่าสนใจฉันไม่รู้ภาษาเยอรมันว่าสามารถอ่านและเข้าใจมันได้ดี
คณบดี

@kwo ฉันคิดว่าไม่มีความหวังว่าจะได้รับเวอร์ชันแปลแล้วใช่ไหม
NickHalden

คำตอบ:


3

ฉันขอแนะนำให้คุณไปที่ศูนย์ข้อมูล ARM นั่นเป็นการเริ่มต้นที่ดีเท่าที่ฉันกังวล มีข้อมูลจำนวนมากแม้ว่าคุณจะย้ายจาก MCU หนึ่งไปยัง ARM http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dai0211a/index.html นอกจากนี้เว็บไซต์ ATMEL บนชิป ARM ของพวกเขาจะทำได้ดีมาก มีเอกสารที่ดีและบันทึกแอปพลิเคชันมากมาย ทั้งหมดที่ดีที่สุด


ขอบคุณ มีหนังสือแนะนำที่ไซต์เช่นกัน
kwo

13

ค้นหาคู่มือ ARM ARM, ARM อ้างอิงทางสถาปัตยกรรม ครอบคลุมกระบวนการบูตสถาปัตยกรรมแอสเซมบลี (ARM, thumb and thumb2) ทุกอย่าง ARM ARM เป็นแบบทั่วไปสำหรับแกนที่เฉพาะเจาะจงที่คุณสนใจจะมี TRM, คู่มืออ้างอิงทางเทคนิค เอกสารทั้งหมดนี้มีให้บริการฟรีจากเว็บไซต์ของ ARM TRM จะได้รับรายละเอียดเฉพาะสำหรับแกนนั้นโดยเฉพาะอย่างยิ่งถ้าคุณต้องการใช้ไมโครคอนโทรลเลอร์ที่ใช้ Cortex-M3 รุ่นใหม่ลำดับการบูตหรือสมมติว่าตารางการยกเว้นนั้นแตกต่างจาก ARM แบบดั้งเดิมและคุณต้องการ TRM สำหรับ Cortex-M3 เพื่อค้นหาข้อมูล

หากคุณจบด้วยแขนที่มีแคชหรือ mmu คุณอาจต้องรับ TRM สำหรับสิ่งนั้นจากเว็บไซต์ของ ARM คุณจำเป็นต้องรู้แกนที่เฉพาะเจาะจงที่สร้างขึ้นในชิปผู้ขายเฉพาะเช่น PL310 r2p0 สามารถ / อาจแตกต่างจาก r3p0 ผู้ขายควรมีข้อมูลนี้และอาจมีลิงก์ไปยังหรืออาจ arm arm โดยตรง ฉันคิดว่า ARM ชอบวิธีนั้น

เท่าที่ C ไปมันก็แค่ C ไม่มีอะไรพิเศษ ARM ได้รับการสนับสนุนจากผู้รวบรวมหลัก gcc, llvm, Keil (ตอนนี้เป็นเจ้าของโดย ARM), IAR, เนินเขาเขียวขจี ฯลฯ Microsoft แม้จะมี / เคย (จะหลีกเลี่ยง มันแม้ว่า) ไม่มีอะไรพิเศษสำหรับ ARM แต่คุณจำเป็นต้องรู้ถึงความแตกต่างของคอมไพเลอร์และการลิงก์ของมัน Code Sourcery เป็นวิธีที่จะดำเนินการในวันนี้สำหรับคอมไพเลอร์ ARM ที่พร้อมใช้งาน gcc รุ่น LITE สามารถดาวน์โหลดและใช้งานได้ฟรีและมีการจ่ายเงินสำหรับรุ่นหากคุณต้องการการสนับสนุน (สนับสนุน gcc arm ฟรีที่ google.com มากกว่า คุณมีเวลาอ่าน) ก่อนหน้าที่ emdebian รหัส sourcery เป็นสถานที่ที่จะไปสำหรับบางสิ่ง yagarto และ devkitarm และ winarm ทั้งหมดมี / มีพร้อมที่จะใช้โซลูชั่น (สำหรับฝังตัวและไม่จำเป็นต้อง linux, Code Sourcery หรือ emdebian ถ้าคุณต้องการข้ามรวบรวมสำหรับ linux)

ฉันมีบางบล็อกที่ไม่ใช่บล็อกจริงๆ แต่มีที่สำหรับวางโปรแกรมตัวอย่างและข้อมูลเกี่ยวกับวิธีนำไมโครคอนโทรลเลอร์ที่ใช้ ARM มาใช้งาน บางอันเช่น C, บล็อกเก่า ๆ ที่ฉันแสดงให้เห็นว่าจะสร้างคอมไพเลอร์ไขว้แบบ gcc ของคุณเองได้อย่างไร ฉันอาจมีข้อมูล llvm ด้วยเช่นกัน (thumbulator มีตัวอย่างสองสามตัวอย่างที่ไม่ได้จัดทำเป็นเอกสาร) จากกล่อง llvm สามารถใช้เป็นคอมไพเลอร์ไขว้สำหรับแพลตฟอร์มจำนวนหนึ่งคุณไม่ต้องสร้างมันเพื่อเป้าหมายเช่น gcc และการสร้างรหัสของ llvm นั้นขึ้นอยู่กับ gcc 4.x (gcc 4.x นั้นไม่จำเป็นต้องดีกว่า gcc 3.x และ gcc หรือ llvm นั้นไม่ดีเท่ากับค่าใช้จ่ายแพงอื่น ๆ สำหรับคอมไพเลอร์ของ ARM เอง)

http://stm32stuff.blogspot.com/

จากตรงนั้นคุณสามารถคลิกที่โปรไฟล์ของฉันและค้นหาข้อมูลที่คล้ายกันสำหรับ lpc, lmi (luminary micro, ส่วน stellaris, ซึ่งเป็นเจ้าของโดย ti) sam7 ฉันไม่ได้เป็นแฟนของครอบครัว lpc มากเท่าไร mbed2 ก็โอเคนอกเหนือจากไฟ LED สีน้ำเงินที่เจ็บปวด ตอนนี้มีบอร์ดราคา $ 12 stm32 บางตัวค้นพบบางอย่างพร้อมที่จะเล่นนอกกรอบ Coridium มีกระดานที่ตรงกับรอยเท้าของอาร์ดิโนเช่นเดียวกับเมเปิ้ลสามารถรับหนึ่งหรือทั้งสองอย่างที่ sparkfun (สารพัดที่ sparkfun มากมาย) หากคุณกำลังมองหาสิ่งที่มีประสิทธิภาพยิ่งกว่าบีเกิ้ลบอร์ดก็เจ็บปวดสำหรับการขาดอินเทอร์เฟซเวอร์ชั่นภาษาจีนในราคาเดียวกันคือ / ดีกว่า (ปรากฏในหนึ่งหรือสองสัปดาห์ แต่ไม่มีข้อมูลการติดตามใด ๆ ) มีอีเธอร์เน็ตและ พอร์ตอนุกรมที่ไม่เมา ฉันชอบเหยี่ยว แต่ฉันคิดว่าพวกเขาไม่สามารถทำตามคำแนะนำการออกแบบและพวกเขาอาจมีปัญหากับ omap ชอบ openrd จาก folks คำนวณปลั๊ก แต่เกลียดรุ่นปลั๊ก openrd มีพลัง sata และตัวเชื่อมต่อข้อมูลบนบอร์ดเพียงเสียบฮาร์ดไดรฟ์บอร์ดอื่น ๆ ในคลาสนี้จะบังคับให้คุณใช้แฟลชที่ใช้แฟลช (อ่าน: ช้ามาก) แกนมาร์เวลกำลังวิ่งวนรอบ ti omaps ในขณะนี้

หรือลองใช้ thumbulator (github) thumb ของฉันตั้งฟรี simulator กับเขา แต่ จำกัด ไว้ที่ thumb ไม่มีแขน (คุณสามารถนำโค้ดของคุณจากมันไปยัง stm32 บอร์ดได้เช่นเดียวกับ $ 12) armulator ที่อยู่ใน gdb และที่อื่น ๆ อาจจะเจ็บปวดมากกว่าการใช้งาน แต่รองรับแขนและนิ้วหัวแม่มือและ qemu นั้นใช้งานง่ายถ้าคุณไม่สนใจที่จะเห็นว่าโค้ดของคุณทำอะไรอื่นนอกจากเอาท์พุทพอร์ตอนุกรม qemu รองรับแขนนิ้วหัวแม่มือและนิ้วหัวแม่มือ 2 ฉันคิดว่า stellaris board หรือสองอันนั้นเป็นแบบจำลองที่นั่น

หากคุณรู้จักแอสเซมเบลอร์ AVR ซึ่งไม่ดีเท่าชุดคำสั่ง (ดีกว่าบางแย่กว่าคนอื่น) คุณไม่ควรมีปัญหากับ ARM หรือหัวแม่มือทำความสะอาดเล็กน้อยง่ายกว่าเล็กน้อย ในทำนองเดียวกันถ้าคุณทำ C (ฝังตัวนอกกล่องทราย) ด้วย AVR แล้ว ARM จะเหมือนหรือง่ายกว่า คุณสามารถไปกับ mbed หรือ maple ที่พวกเขามี sandbox ที่ควรทำให้ง่ายต่อการเริ่มต้นและจากนั้นถ้าคุณต้องการออกไปด้วยตัวคุณเองคุณสามารถทำได้โดยไม่มีปัญหามาก mbed คุณเพียงแค่คัดลอก. bin ไปยังแฟลชไดรฟ์เสมือนเมเปิ้ลที่คุณใช้ตัวโหลดหรือ dfu-util หรือสิ่งที่ฉันจำไม่ได้


คำตอบที่ยอดเยี่ยม
NickHalden

3

หนังสือที่ดีเกี่ยวกับ ARM คือ:

"ARM SOC Architecure" โดยสตีฟเฟอร์เบอร์

"คู่มือผู้พัฒนาระบบ ARM" โดย Andrew Sloss, Dominic Symes และ Chris Wright

"คู่มืออ้างอิงสถาปัตยกรรม ARM" โดย ARM

รายการล่าสุดมีให้บริการฟรีที่เว็บไซต์ของ ARMเว็บไซต์

Sloss, Symes and Wright นั้นยอดเยี่ยมถ้าคุณต้องการหลีกหนีจากต้นไม้เพื่อดูป่าโดยเฉพาะถ้าคุณมีระบบฝังตัวที่ต้องทำ

Furber เป็นหนึ่งในสถาปนิก ARM ดั้งเดิมและทำงานได้อย่างยอดเยี่ยมที่จะนำคุณผ่านการออกแบบ ARM และเหตุผลที่การทำงานของโปรเซสเซอร์ ARM โดยทั่วไป

แน่นอนทั้งหมดข้างต้นเป็นเพียงคำแนะนำโดยยึดตามความเห็นส่วนตัว / ความคิดเห็นส่วนตัวของฉันและไม่ได้ถูกมองว่าเป็นปลั๊กสำหรับผลิตภัณฑ์หรือผู้แต่งโดยเฉพาะ


การจัดรูปแบบรายการหนังสือเป็นรายการจะมีประโยชน์รวมถึงลิงก์สำหรับหนังสือเหล่านั้นก็มีประโยชน์เช่นกัน
Trygve Laugstøl


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.