A AVR Shell é o sistema de desenvolvimento, depuração e educação definitivo para microcontroladores baseados em AVR.
O AVR Shell é um pequeno sistema operacional multitarefa independente a ser executado em núcleos AVR de 8 bits, como o ATMEGA328P, que é encontrado em placas populares de Arduino, como o Arduino Uno ou Arduino Nano.
O objetivo do AVRSHELL é apoiar principalmente seu desenvolvimento de hardware e / ou testar seu software ou para fins educacionais.
O shell AVR fornece uma pequena interface de linha de comando que permite ler e escrever a memória AVR, incluindo todos os registros e a memória do programa, usando comandos simples.
Para compilar, você precisa do gcc-avr e avr-libc . Embora este projeto seja livre de dependência e não use o LIBC padrão, mas o pacote também contém os arquivos de cabeçalho necessários para compilar para codificar.
Além disso, você precisa, por exemplo, o avrdude para piscar para programar.
Faça o download de toda a fonte, mude para src/ e simplesmente make e make upload assumindo que sua placa Arduino está conectada. Você provavelmente abre o Makefile e modifica USBDEV e BAUD aprimorado.
Basta conectar -se ao seu Arduino com um programa de terminal serial, como minicom . Basta executar minicom -D /dev/ttyACM0 -o -b 9600 -w .
Os seguintes comandos ainda foram implementados.
in <reg_addr> ... funciona como a in , mas é implementado com instruções mapeadas de memória ( ldd ).
out <reg_addr> <value> . ... funciona como a instrução out .
sbi <reg_addr> <bit> ...... Defina o bit (0-7) no registro de IO.
cbi <reg_addr> <bit> ...... bit limpo (0-7) no registro de IO.
dump <addr> [len] ......... despejar Len (padrão = 512) bytes da memória.
pdump <addr> [len] ........ dump len (padrão = 512) bytes da memória do programa.
edump <addr> [len] ........ despejar Len (padrão = 512) bytes da memória EEPROM.
ste <addr> <byte> ......... escreva byte para a eeprom no endereço addr .
cpu ....................... Saída Informações da CPU, como bits de fusível, bits de bloqueio e assinatura.
uptime .................... mostre o tempo de atividade do sistema Ticks desde a última redefinição.
run <pid> ................. Execute o processo PID .
stop <pid> ................ Parada do processo PID .
new <address> ............. Crie um novo processo com a rotina inicial no endereço .
ps ........................ Processos de lista, com PID, ponteiro de pilha atual e estado. Os estados são definidos em processo.
Todos esses comandos são implementados usando ld , lpm e st .
O AVR Shell lida com todas as interrupções e produz uma mensagem se uma interrupção for capturada.
Exceções são a interrupção da inicialização 0x00 e as interrupções em série 0x24 e 0x26, pois são usadas para o próprio shell AVR.
Avr Shell é desenvolvida por Bernhard R. Fischer, [email protected].
Chave PGP: 9867 8E06 0630 07E4 A1F0 B9C5 9BD6 0166 8E24 F29D
Não hesite em entrar em contato comigo.
Tenha phun usando shell AVR!