ฉันใช้Boarduinoและบอร์ดขนมปัง 30 แถวเพื่อเขียนโปรแกรม ATtiny ของฉัน ฉันโหลดร่างที่ไม่ซับซ้อนที่เรียกว่าArduinoISP (รวมอยู่ในค่าเริ่มต้นแล้วใน Arduino IDE) และทันใดนั้นฉันก็มีโปรแกรมเมอร์ทำงานอยู่ Atmel ขายโปรแกรมเมอร์ที่ดีสำหรับระหว่าง $ 30 และ $ 40 และมีจำนวนมากของชุดสำหรับการทำคนที่ถูกกว่า
ฉันมีความสุขมากเมื่อฉันได้โปรแกรมเมอร์ทำงานและทำให้ไฟกระพริบเล็ก ๆ อย่างไรก็ตามตอนนี้ boarduino ที่น่าสงสารของฉันติดอยู่กับหน้าที่โปรแกรมเมอร์
เท่าที่ฉันสามารถบอกโปรแกรมเมอร์นี้กดปุ่มรีเซ็ตค้างไว้จากนั้นส่งและรับบนหมุด MOSI และ MISO ฉันคิดว่า SCK ไม่ได้ใช้งานหรืออย่างน้อยก็ไม่จำเป็น (SCK จำเป็นต้องใช้ตามแผ่นข้อมูล ATtiny โปรแกรมเมอร์ของฉันไม่สามารถทำงานได้หากไม่มีและฉันไม่สามารถหาสถานที่ที่ฉันคิดว่าฉันอ่านไม่จำเป็น)
เหตุใดฉันจึงต้องการโปรแกรมเมอร์ฮาร์ดแวร์เพื่อส่งสัญญาณอนุกรม ฉันหมายความว่าเราสมมติว่าฉันยินดีที่จะกดปุ่มรีเซ็ตด้วยนิ้วของฉันแทนการใช้ IC สิ่งที่เหลือคือการส่งและรับแบบอนุกรมดังนั้นสิ่งที่ฉันต้องการคือสายไฟสามเส้น GND, RXD และ TXD Heck ถ้าฉันมีสาย "DTR" หรืออะไรก็ตามคุณสามารถกดปุ่มรีเซ็ตด้วยสายเคเบิลอนุกรมได้
ทำไมจึงมีทั้งหมดเหล่านี้โซลูชั่นฮาร์ดแวร์ที่ยังต้องใช้ซอฟต์แวร์แฟนซี (เช่น AVRdude หรือสตูดิโอ AVR หรืออะไรก็ตาม)?
ฉันหมายถึงฉันสามารถเข้าใจสายเคเบิล USB เล็ก ๆ ที่นำเสนอไมโครคอนโทรลเลอร์เป็นอุปกรณ์เก็บข้อมูลขนาดใหญ่และให้คุณลากไฟล์ไบนารี่มาเขียนโปรแกรม (เช่นบอร์ด dev dev นี้ ) ฮาร์ดแวร์เท่านั้นที่ใช้ไดรเวอร์ซอฟต์แวร์มาตรฐาน
ฉันยังสามารถเข้าใจโซลูชันซอฟต์แวร์อย่างเดียว (โมดูโลเชื่อมต่อสายไฟจาก USB ไปยังชิปโดยใช้บางอย่างเช่นชิป FTDI เพื่อลดความซับซ้อนของสิ่งที่เกิดขึ้นกับสายไฟ) โพรโทคอลการเขียนโปรแกรมแฟนซีทั้งหมดจะได้รับการจัดการโดยซอฟต์แวร์บนคอมพิวเตอร์และฮาร์ดแวร์จะเป็นเพียงสายไฟ
ทำไมเราจึงต้องมีทั้งซอฟต์แวร์และฮาร์ดแวร์ที่ซับซ้อน ฉันหมายถึงเท่าที่ฉันสามารถบอกได้การเขียนโปรแกรมไมโครคอนโทรลเลอร์นั้นค่อนข้างง่าย แต่เมื่อฉันเพิ่งเข้ามาฉันก็กังวลเกี่ยวกับวิธีที่ฉันจะซื้อชิปจาก mouser หรือ digikey โดยไม่ต้องจ่าย guru เพื่อเขียนโปรแกรม bootloader สำหรับฉัน.
ฉันแน่ใจว่ามีเหตุผลที่ดี (ไม่ใช่ว่าฉันเขียนซอฟต์แวร์หรือเริ่มผลิตโปรแกรมเมอร์ USB drag-n-drop) แต่เป็นผู้ใช้ใหม่ฉันไม่รู้เลยว่ามันคืออะไร