ช่วงเวลาที่ดีในการเคลื่อนไหว 8-bits กำลังจะตายอย่างรวดเร็ว เมื่อคุณสามารถซื้อบอร์ดราคา $ 5 ด้วย (ตัวอย่าง) STM32F103 ซึ่งเป็นไมโครคอนโทรลเลอร์ ARM แบบ 32 บิตที่มีความสามารถมากกว่า (พร้อม USB แม้!) จะไม่มีการเปลี่ยนแปลงเวลาอย่างแน่นอน
คุณมีคำตอบที่ยอดเยี่ยมอยู่แล้ว แต่ส่วนใหญ่ฉันจะพูดว่า "ลืมชุดประกอบ" และเกือบ "ลืมดูแลเกี่ยวกับวิธีการทำงานของซีพียูในระดับต่ำ" - วันหนึ่งจะมีกรณีมุมที่คุณต้องขุดลงไป (การเพิ่มประสิทธิภาพที่เฉพาะเจาะจงหรือการดีบัก) แต่แกน ARM เรียกใช้รหัส C ได้ดีเป็นพิเศษ (จากการออกแบบ) และคุณมักจะต้องเปลี่ยนลึกเข้าไปในอวัยวะภายใน
นี่หมายความว่าคุณจะใช้เวลาในการต่อสู้กับปัญหาเกี่ยวกับคอมไพเลอร์ (และโดยเฉพาะอย่างยิ่ง linkers และ makefiles) barfing ข้อผิดพลาดที่ไม่ชัดเจนที่คุณ แต่พวกเขาทั้งหมดสามารถเอาชนะได้
ความกล้าของวิธีการทำงานของ ARM (เช่นหนังสือ ARM cpu) มีความหนาแน่นและไม่น่าสนใจมากจนกระทั่งถึงวันนั้นตามที่คุณต้องการเพิ่มประสิทธิภาพ (และคุณจะประหลาดใจว่านานแค่ไหนที่คุณมีการลงทะเบียน 32 บิตและ PLL ของคุณ ' นาฬิกาของ CPU อยู่ในพื้นที่ 100mhz)
ชุดคำสั่ง ARM "เก่า skool" ง่ายต่อการอ่านการถอดแยกชิ้นส่วนของ "Thumb2" ที่ใหม่กว่า - ซึ่งเป็นสิ่งที่คุณพบใน ARMS ระดับไมโครคอนโทรลเลอร์ที่ทันสมัยที่สุด (Cortex) - แต่คำแนะนำภาษาแอสเซมบลีอีกครั้ง ส่วนใหญ่จางหายไปเป็นพื้นหลัง; หากคุณมีชุดเครื่องมือที่ถูกต้อง (โดยเฉพาะอย่างยิ่ง debugger ระดับซอร์สที่ดีพร้อมกับเบรกพอยต์ / ขั้นตอนเดียว ฯลฯ ) คุณก็ไม่สนใจว่ามันคือ ARM เลย
เมื่อคุณอยู่ในโลกของการลงทะเบียนแบบ 32 บิตและความกว้างบัสข้อมูลแบบ 32 บิตและทุกสิ่งที่คุณต้องการบนชิปที่มีอยู่คุณจะไม่ต้องการกลับไปใช้ซีพียู 8 บิตอีกต่อไป โดยทั่วไปมักจะไม่มีบทลงโทษสำหรับ "การง่าย" และการเขียนโค้ดให้อ่านง่ายกว่ามีประสิทธิภาพ
อย่างไรก็ตาม ... อุปกรณ์ต่อพ่วง ... ใช่แล้วมีการถู
คุณแน่ใจหรือไม่ว่าจะมีของมากมายให้เล่นบน MCU ที่ทันสมัยและมีหลายสิ่งที่เป็นสิ่งที่น่ารัก คุณมักจะพบกับโลกที่ซับซ้อนไกลเกินกว่า AVR, PIC และอุปกรณ์ต่อพ่วงบนชิป 8051
จับเวลาได้หนึ่งโปรแกรม? ไม่ได้มีแปดคน! DMA? วิธีการประมาณ 12 ช่องทางที่มีลำดับความสำคัญโปรแกรมและโหมดต่อเนื่องและโหมดถูกล่ามโซ่และโหลดอัตโนมัติและ .. และ .. และ ...
I2C? I2S? มีตัวเลือก muxing จำนวน pin หรือไม่ วิธีที่แตกต่างกันสิบห้าวิธีในการตั้งโปรแกรมแฟลชบนชิปอีกครั้ง แน่นอน!
บ่อยครั้งที่รู้สึกว่าคุณออกไปจากการกันดารอาหารเพื่อฉลองกับอุปกรณ์ต่อพ่วงและเป็นเรื่องธรรมดาที่มีชิปชิ้นหนึ่งที่คุณจะชื่นชม แต่แทบจะใช้ไม่ได้เลย
จำนวนของฮาร์ดแวร์บนชิป (และรูปแบบที่แตกต่างกันนั้นเป็นเพียงหนึ่งในผู้ผลิตชิปรายหนึ่ง) ปัจจุบันทุกวันนี้ค่อนข้างน่าเหลือเชื่อ แน่นอนว่าผู้จำหน่ายชิปรายหนึ่งมักจะใช้บล็อก IP ซ้ำอีกครั้งดังนั้นเมื่อคุณคุ้นเคยกับแบรนด์บางยี่ห้อแล้วมันก็จะง่ายขึ้น แต่ "อึทำได้ทุกวันนี้ craaaazy"
หากอุปกรณ์ต่อพ่วงและการโต้ตอบ (และ DMA และการขัดจังหวะและการจัดสรรรถบัสและและและ ... ) นั้นซับซ้อนดังนั้น (และในบางครั้งไม่ตรงตามที่อธิบายไว้ในเอกสารข้อมูล) ซึ่งวิศวกรมักจะมี ARM MCU ที่ชื่นชอบและ มักจะต้องการติดกับมันเพียงเพราะพวกเขาคุ้นเคยกับอุปกรณ์ต่อพ่วงและเครื่องมือในการพัฒนา
ห้องสมุดที่ดีและเครื่องมือในการพัฒนา (เช่นวงจรคอมไพล์ + debug ที่รวดเร็วพร้อมดีบักที่เหมาะสม) และชุดโค้ดตัวอย่างการทำงานจำนวนมากมีความสำคัญอย่างยิ่งต่อทางเลือก ARM MCU ของคุณในปัจจุบัน ดูเหมือนว่าผู้ค้าส่วนใหญ่ตอนนี้มีบอร์ดประเมินราคาถูกมาก (
ตามที่ฉันแน่ใจว่าคุณสังเกตเห็นเมื่อคุณได้รับเกินระดับไมโครคอนโทรลเลอร์ที่มี ARMs และในระดับ SOC (เช่น Raspberry Pi / SOCs สไตล์ ฯลฯ ) จากนั้นกฎการเปลี่ยนแปลงอย่างสมบูรณ์และมันเป็นเรื่องของลินุกซ์ที่คุณจะไป เพื่อเรียกใช้เพราะ - ด้วยข้อยกเว้นบางประการที่หายไป - คุณจะเห่าบ้าที่จะลองสิ่งอื่น
โดยทั่วไป; ไม่ว่าจะเลือกซีพียูที่อาจได้รับการเลือกล่วงหน้าให้กับตัวคุณแล้วขอให้คุณซื้อบอร์ดทดลองใช้ Cortex ที่ราคาถูกสุด ๆ จากผู้ขายที่แตกต่างกันหลายราย (TI, STM, Freescale และอื่น ๆ อีกมากมาย) และ มีแฮ็ครอบกับรหัสตัวอย่างที่ให้ไว้
คำแนะนำสุดท้าย; เมื่อคุณพบหน้าหรือสามในแผ่นข้อมูลที่อธิบายตัวเลือกขา muxing สำหรับที่แน่นอนชิปหมายเลขชิ้นส่วนคุณกำลังทำงานกับคุณอาจต้องการที่จะพิมพ์ออกมาและติดบนผนัง การค้นหาสายในโครงการว่าการรวมอุปกรณ์ต่อพ่วงบางอย่างเป็นไปไม่ได้เพราะการตรึง muxing นั้นไม่สนุกและบางครั้งข้อมูลนั้นถูกฝังอยู่ดังนั้นคุณต้องสาบานว่าพวกเขากำลังพยายามซ่อน :-)