AVR Shell es el último sistema de desarrollo, depuración y educación para microcontroladores basados en AVR.
AVR Shell es un pequeño sistema operativo múltiple autónomo que se ejecutará en núcleos AVR de 8 bits, como el ATMEGA328P, que se encuentra en las tablas de Arduino populares como el Arduino Uno o Arduino Nano.
El propósito de AVRShell es principalmente apoyar su desarrollo de hardware o probar su software o con fines educativos.
El shell AVR proporciona una pequeña interfaz de línea de comandos que le permite leer y escribir la memoria AVR, incluidos todos los registros y la memoria del programa, mediante el uso de comandos simples.
Para compilar, necesita el gcc-avr y avr-libc . Aunque este proyecto no tiene dependencia y no utiliza el LIBC estándar, el paquete también contiene los archivos de encabezado que se necesitan para compilarlo.
Además, necesita, por ejemplo, el avrdude para flashear para programar.
Descargue toda la fuente, cambie a src/ y simplemente ejecute make and make upload suponiendo que su placa Arduino esté conectada. Probablemente abra el Makefile y modifique USBDEV y BAUD de manera apropiada.
Simplemente conéctese a su Arduino con un programa terminal en serie como minicom . Simplemente ejecute minicom -D /dev/ttyACM0 -o -b 9600 -w .
Todavía se implementan los siguientes comandos.
in <reg_addr> ... funciona como la instrucción in la instrucción pero se implementa con instrucciones mapeadas de memoria ( ldd ).
out <reg_addr> <value> . ... funciona como la instrucción out .
sbi <reg_addr> <bit> ...... set bit (0-7) en el registro IO.
cbi <reg_addr> <bit> ...... Clare bit (0-7) en el registro IO.
dump <addr> [len] ......... Volcado len (predeterminado = 512) bytes de la memoria.
pdump <addr> [len] ........ descarga los bytes de Len (predeterminado = 512) de la memoria del programa.
edump <addr> [len] ........ descarga len (predeterminado = 512) bytes de la memoria EEPROM.
ste <addr> <byte> ......... Escribe byte a Eeprom en la dirección addr .
cpu ........................... Información de CPU de salida, como bits de fusibles, brocas de bloqueo y firma.
uptime .................... Mostrar el tiempo de tiempo del sistema desde el último reinicio.
run <pid> ................. Ejecutar proceso PID .
Stop stop <pid> ................
new <address> ............. Cree un nuevo proceso con Rutina de inicio en la dirección .
ps ........................ Procesos de lista, con PID, puntero de pila actual y estado. Los estados se definen en el proceso. H.
Todos estos comandos se implementan utilizando ld , lpm y st .
El shell de AVR maneja todas las interrupciones y emite un mensaje si se atrapa una interrupción.
Las excepciones son la interrupción del arranque 0x00, y la serie interrumpe 0x24 y 0x26 ya que se usan para el caparazón AVR en sí.
AVR Shell es desarrollado por Bernhard R. Fischer, [email protected].
Clave PGP: 9867 8E06 0630 07E4 A1F0 B9C5 9BD6 0166 8E24 F29D
No dudes en contactarme.
¡Tenga Phun usando Shell AVR!