AVR Shell เป็นระบบการพัฒนาที่ดีที่สุดการดีบักและระบบการศึกษาสำหรับไมโครคอนโทรลเลอร์ที่ใช้ AVR
AVR Shell เป็นระบบปฏิบัติการแบบมัลติทาสกิ้งที่มีอยู่ในตัวเองขนาดเล็กที่จะดำเนินการในคอร์ AVR 8 บิตเช่น ATMEGA328P ซึ่งพบได้ในบอร์ด Arduino ยอดนิยมเช่น Arduino Uno หรือ Arduino Nano
จุดประสงค์ของ AvrShell เป็นหลักเพื่อสนับสนุนการพัฒนาฮาร์ดแวร์ของคุณและหรือทดสอบซอฟต์แวร์ของคุณหรือเพื่อวัตถุประสงค์ทางการศึกษา
เชลล์ AVR ให้อินเทอร์เฟซบรรทัดคำสั่งเล็ก ๆ ซึ่งช่วยให้คุณสามารถอ่านและเขียนหน่วยความจำ AVR รวมถึงการลงทะเบียนทั้งหมดและหน่วยความจำโปรแกรมโดยใช้คำสั่งง่ายๆ
ในการรวบรวมคุณต้องใช้ gcc-avr และ avr-libc แม้ว่าโครงการนี้จะปราศจากการพึ่งพาและไม่ได้ใช้ LIBC มาตรฐาน แต่แพ็คเกจยังมีไฟล์ส่วนหัวที่จำเป็นในการรวบรวมรหัส
นอกจากนี้คุณต้องมีเช่น avrdude เพื่อแฟลชในการโปรแกรม
ดาวน์โหลดแหล่งที่มาทั้งหมดเปลี่ยนเป็น src/ และเพียงเรียกใช้ make และ make upload โดยสมมติว่าบอร์ด Arduino ของคุณเชื่อมต่อกัน คุณอาจเปิด Makefile และแก้ไข USBDEV และ BAUD อย่างเหมาะสม
เพียงเชื่อมต่อกับ Arduino ของคุณกับโปรแกรมเทอร์มินัลอนุกรมเช่น minicom เพียงเรียกใช้ minicom -D /dev/ttyACM0 -o -b 9600 -w
คำสั่งต่อไปนี้ยังมีการใช้งาน
in <reg_addr> ... ใช้งานได้เหมือน in สั่ง แต่ถูกนำไปใช้กับคำแนะนำการแมปหน่วยความจำ ( ldd )
out <reg_addr> <value> ... ใช้งานได้เหมือนคำสั่ง out
sbi <reg_addr> <bit> ...... ตั้งค่าบิต (0-7) ใน IO register
cbi <reg_addr> <bit> ...... ล้างบิต (0-7) ใน IO register
dump <addr> [len] ......... Dumps Len (ค่าเริ่มต้น = 512) ไบต์ของหน่วยความจำ
pdump <addr> [len] ........ Dumps Len (ค่าเริ่มต้น = 512) ไบต์ของหน่วยความจำโปรแกรม
edump <addr> [len] ........ Dumps Len (ค่าเริ่มต้น = 512) ไบต์ของหน่วยความจำ EEPROM
ste <addr> <byte> ......... เขียน ไบต์ ไปยัง EEPROM ที่ที่อยู่ addr
cpu ....................... ข้อมูล CPU เอาท์พุทเช่นบิตฟิวส์บิตล็อคและลายเซ็น
uptime .................... แสดงเห็บเวลาทำงานตั้งแต่รีเซ็ตครั้งล่าสุด
run <pid> ................. RUN PROCESS PID
stop <pid> ................ หยุดกระบวนการ PID
new <address> ............. สร้างกระบวนการใหม่ด้วยรูทีนเริ่มต้น ที่อยู่
ps ........................ รายการประมวลผลด้วย PID ตัวชี้สแต็กปัจจุบันและสถานะ รัฐถูกกำหนดไว้ในกระบวนการ
คำสั่งทั้งหมดเหล่านี้ถูกนำไปใช้โดยใช้ ld , lpm และ st
AVR Shell จัดการกับการขัดจังหวะทั้งหมดและส่งข้อความหากถูกขัดจังหวะ
ข้อยกเว้นคือการขัดจังหวะการบูต 0x00 และการขัดจังหวะอนุกรม 0x24 และ 0x26 เนื่องจากใช้สำหรับเชลล์ AVR เอง
AVR Shell ได้รับการพัฒนาโดย Bernhard R. Fischer, [email protected]
คีย์ PGP: 9867 8E06 0630 07E4 A1F0 B9C5 9BD6 0166 8E24 F29D
อย่าลังเลที่จะติดต่อฉัน
มี Phun โดยใช้ AVR Shell!