AVR Shell هو نظام التطوير النهائي ، تصحيح الأخطاء والتعليم لأفراد المتحكمون المستندة إلى AVR.
AVR Shell هو نظام تشغيل صغير متعدد المهام يتم تنفيذه على نوى AVR 8 بتات مثل ATMEGA328P التي تم العثور عليها على لوحات Arduino الشهيرة مثل Arduino Uno أو Arduino Nano.
الغرض من AVRSHELL هو دعم تطوير الأجهزة و / أو اختبار برنامجك أو لأغراض تعليمية.
توفر Shell AVR واجهة سطر الأوامر الصغيرة التي تمكنك من قراءة وكتابة ذاكرة AVR ، بما في ذلك جميع السجلات وذاكرة البرنامج ، باستخدام أوامر بسيطة.
لتجميع ، تحتاج إلى gcc-avr و avr-libc . على الرغم من أن هذا المشروع خالي من التبعية ولا يستخدم LIBC القياسي ولكن الحزمة تحتوي أيضًا على ملفات الرأس اللازمة لتجميع الكود.
علاوة على ذلك ، تحتاج على سبيل المثال avrdude to Flash to Program.
قم بتنزيل المصدر بأكمله ، والتغيير إلى src/ و Simply Run make and 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.
cbi <reg_addr> <bit> ...... Clear Bit (0-7) في IO Record.
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 ....................... إخراج معلومات وحدة المعالجة المركزية ، مثل بتات الصمامات ، وقطع القفل والتوقيع.
uptime .................... إظهار القراد لوقت التشغيل منذ إعادة تعيينه الأخير.
run <pid> ................. قم بتشغيل 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
لا تتردد في الاتصال بي.
لديك فون باستخدام شل AVR!