คำเตือนคำอธิบายที่ยืดยาวกำลังจะเกิดขึ้น ฉันต้องการล้างความเข้าใจผิดที่ฉันคิดว่าคุณมี
Arduino เป็นสองสิ่งจริงๆ
- คอลเล็กชันของไลบรารี C / C ++ ที่คอมไพล์ด้วย avr-gcc และ
- โปรแกรมเฟิร์มแวร์ bootloader ขนาดเล็กซึ่งเคยตั้งโปรแกรมไว้บนชิปจากโรงงาน
ใช่ Arduino IDE โดยทั่วไปจะห่อ avr-gcc - คอมไพเลอร์ AVR C โปรเจ็กต์ของคุณหรือ "สเก็ตช์" รวมเอาห้องสมุด Arduino ที่กล่าวถึงและรวบรวมด้วย avr-gcc อย่างไรก็ตามไม่มีสิ่งใดที่เกี่ยวข้องกับการเขียนลงบนกระดาน วิธีการปรับใช้ร่างเหล่านี้แตกต่างจากปกติเล็กน้อย
Arduino IDE สื่อสารกับ Arduino ของคุณผ่านชิป usb เป็นอนุกรมบนบอร์ดและเริ่มต้นโหมดการเขียนโปรแกรมที่ bootloader เข้าใจและส่งโปรแกรมใหม่ของคุณไปยังชิปที่ bootloader จะวางไว้ในตำแหน่งที่รู้จักแล้วเรียกใช้ . ไม่มี "avr library ที่ใช้เขียนจริง" - เป็นเพียง Arduino IDE ที่เปิดพอร์ตอนุกรมและพูดคุยกับ bootloader - นี่คือวิธีที่ข้อความดีบั๊กของคุณถูกพิมพ์ไปยัง IDE ระหว่างรันไทม์เช่นกัน
IDE ทางเลือกใด ๆ จะต้องสามารถสื่อสารแบบอนุกรมเดียวกันกับ bootloader Arduino เป็นเรื่องง่ายเพราะห้องสมุดทั้งหมดที่พวกเขามีให้แล้วและโปรแกรมหนึ่งสัมผัสจาก IDE ฉันไม่คิดว่ามันจะง่ายขึ้นหรือเป็นมิตรกับผู้ใช้ พวกเขาได้สรุปรายละเอียดทั้งหมดของ AVR micro-controller และกระบวนการสร้าง / ปรับใช้
ทางเลือกจะเป็นอะไรที่เหมือน avr-studio (ซึ่งใช้ avr-gcc สำหรับคอมไพเลอร์ด้วย) และโปรแกรมเมอร์ ICSP (ซึ่งเป็นฮาร์ดแวร์เพิ่มเติมที่คุณต้องซื้อ) คุณไม่ได้ให้มาพร้อมกับไฟล์อื่นนอกจากไฟล์ส่วนหัวของข้อกำหนดการลงทะเบียนและมาโครที่มีประโยชน์ คุณยังไม่ได้รับ bootloader ใด ๆ บนชิป AVR ของคุณมันเป็นเพียงกระดานชนวนที่ว่างเปล่า อะไรก็ตามที่คุณต้องการทำกับไมโครคอนโทรลเลอร์คุณจะต้องเรียนรู้อย่างลึกซึ้งและเรียนรู้เกี่ยวกับอุปกรณ์ต่อพ่วงฮาร์ดแวร์และรีจิสเตอร์และย้ายไบต์จำนวนมากในซีต้องการพิมพ์ข้อความดีบั๊กกลับไปที่พีซีหรือไม่ เขียนรูทีน UART สำหรับการพิมพ์ () ก่อนและเปิดเทอร์มินัลบนคอมพิวเตอร์ของคุณ
ขั้นตอนที่ต่ำกว่านี้คุณกำลังเขียนโค้ดในโปรแกรมแก้ไขข้อความและเรียกใช้ avr-gcc และ avr-dude (เครื่องมือบรรทัดคำสั่งการเขียนโปรแกรม) จาก Makefile หรือบรรทัดคำสั่ง
ขั้นตอนที่ต่ำกว่านั้นและคุณกำลังเขียนแอสเซมบลีในเท็กซ์เอดิเตอร์และเรียก avr-assembler และ avr-dude
ฉันไม่แน่ใจว่าฉันจะมีนี้ผมก็คิดว่า IDE ที่มีอยู่และ Arduino เป็นอย่างอัจฉริยะและสมบูรณ์แบบสำหรับการเริ่มต้น - การเรียกร้องของพวกเขาจะมีชื่อเสียงเป็นมิตรกับผู้ใช้-Ness อาจไม่ใช่คำตอบที่คุณกำลังมองหาเรียนรู้กระบวนการทำงานและทำอะไรที่เจ๋ง ๆ ให้กับมัน