AVR Shell은 AVR 기반 마이크로 컨트롤러를위한 최고의 개발, 디버깅 및 교육 시스템입니다.
AVR 쉘은 Arduino Uno 또는 Arduino Nano와 같은 인기있는 Arduino 보드에서 발견되는 Atmega328p와 같은 8 비트 AVR 코어에서 실행되는 작은 자체 포함 멀티 태스킹 OS입니다.
Avrshell의 목적은 주로 하드웨어 개발을 지원하거나 소프트웨어 또는 교육 목적으로 테스트하는 것입니다.
AVR 쉘은 간단한 명령을 사용하여 모든 레지스터 및 프로그램 메모리를 포함하여 AVR 메모리를 읽고 쓸 수있는 작은 명령 줄 인터페이스를 제공합니다.
컴파일하려면 gcc-avr 및 avr-libc 필요합니다. 이 프로젝트는 종속성이없고 표준 LIBC를 사용하지 않지만 패키지에는 코드에 컴파일하는 데 필요한 헤더 파일도 포함되어 있습니다.
또한 avrdude 플래시를 위해 프로그램을 할 예정이 필요합니다.
전체 소스를 다운로드하고 src/ 로 변경하고 Arduino 보드가 연결되어 있다고 가정 할 때 간단히 make 하고 make upload . 아마도 Makefile 열고 USBDEV 와 BAUD 적극적으로 수정할 것입니다.
minicom 과 같은 연속 터미널 프로그램을 사용하여 Arduino에 연결하십시오. minicom -D /dev/ttyACM0 -o -b 9600 -w 실행하십시오.
다음 명령은 아직 구현되었습니다.
in <reg_addr> ... in inristruction과 같이 작동하지만 메모리 매핑 명령어 ( ldd )와 함께 구현됩니다.
out <reg_addr> <value> . ... out 명령처럼 작동합니다.
sbi <reg_addr> <bit> ...... IO 레지스터에서 SET 비트 (0-7).
cbi <reg_addr> <bit> ...... IO 레지스터의 클리어 비트 (0-7).
dump <addr> [len] ......... 덤프 Len (default = 512) 바이트의 메모리.
pdump <addr> [len] ........ 프로그램 메모리의 Len (default = 512) 바이트를 덤프합니다.
edump <addr> [len] ........ eeprom 메모리의 LEN (default = 512) 바이트를 덤프합니다.
ste <addr> <byte> ......... 주소 Addr 에서 바이트를 eeprom에 쓰십시오.
cpu ....................... 퓨즈 비트, 잠금 비트 및 서명과 같은 출력 CPU 정보.
uptime .................... 마지막 재설정 이후 시스템 가동 시간 표시를 표시하십시오.
run <pid> ................. 프로세스 PID를 실행하십시오.
stop <pid> ................ 프로세스 중지 PID .
new <address> ............. 주소 에서 시작 루틴으로 새 프로세스를 만듭니다.
ps ........................ PID, 현재 스택 포인터 및 상태가 포함 된 프로세스 목록. 상태는 프로세스에 정의됩니다. h.
이 모든 명령은 ld , lpm 및 st 사용하여 구현됩니다.
AVR 쉘은 모든 인터럽트를 처리하고 인터럽트가 잡히면 메시지를 출력합니다.
부팅 인터럽트 0x00 예외는 AVR 쉘 자체에 사용되기 때문에 0x24 및 0x26을 방해합니다.
AVR Shell은 Bernhard R. Fischer, [email protected]에 의해 개발되었습니다.
PGP 키 : 9867 8E06 0630 07E4 A1F0 B9C5 9BD6 0166 8E24 F29D
주저하지 말고 저에게 연락하십시오.
AVR 쉘을 사용하여 Phun을 가지고 있습니다!