AVR Shell是基於AVR的微控制器的最終開發,調試和教育系統。
AVR Shell是在8位AVR核心上執行的微小的自包式多任務操作系統,例如Atmega328p,它在流行的Arduino板(例如Arduino uno或Arduino Nano)上找到。
Avrshell的目的主要是支持您的硬件開發和或用於用於教育目的。
AVR Shell提供了一個微小的命令行接口,使您可以使用簡單命令讀取和寫入包括所有寄存器和程序內存的AVR內存。
要編譯您需要gcc-avr和avr-libc 。儘管此項目是無依賴性的,並且不使用標準libc,但該軟件包還包含編譯為代碼所需的標頭文件。
此外,您需要avrdude才能閃爍進行程序。
下載整個源,更改為src/ ,然後在連接您的Arduino板上,簡單地運行make and make upload 。您可能會打開Makefile ,並適當地修改USBDEV和BAUD 。
只需通過串行終端程序(例如minicom連接到您的Arduino。只需運行minicom -D /dev/ttyACM0 -o -b 9600 -w即可。
已實現以下命令。
in <reg_addr> ...工作類似於in ,但使用內存映射的說明( ldd )實現。
out <reg_addr> <value> 。 ...工作類似於out指令。
sbi <reg_addr> <bit> ......在IO寄存器中設置位(0-7)。
cbi <reg_addr> <bit> ...... io寄存器中的清除位(0-7)。
dump <addr> [len] ......... dumps len (默認= 512)內存的字節。
pdump <addr> [len] .................................................................................................
edump <addr> [len] ........ comvers len (default = 512)eeprom內存的字節。
ste <addr> <byte> .........將字節寫入地址addr 。
cpu ....................... Output CPU information, such as fuse bits, lock bits and signature.
uptime .................... Show system uptime ticks since last reset.
run <pid> ........................................................................................................................................................................................................................................................................
stop <pid> ..........................................................................................................................................................
new <address> ............. Create new process with start routine at address .
ps ........................ List processes, with pid, current stack pointer, and state.狀態是在過程中定義的。
所有這些命令均使用ld , lpm和st實現。
AVR Shell處理所有中斷,並輸出消息,如果捕獲了中斷。
例外是引導中斷0x00,串行中斷0x24和0x26,因為它們用於AVR Shell本身。
AVR Shell由Bernhard R. Fischer開發,[email protected]。
PGP密鑰: 9867 8E06 0630 07E4 A1F0 B9C5 9BD6 0166 8E24 F29D
不要猶豫與我聯繫。
使用AVR外殼有Phun!