AVR Shell-это окончательная система разработки, отладки и образования для микроконтроллеров на базе AVR.
Avr Shell-это крошечная автономная многозадачная ОС, которая будет выполнена на 8-битных ядрах AVR, таких как Atmega328p, которые встречаются на популярных досках Arduino, таких как Arduino Uno или Arduino Nano.
Цель Avrshell состоит в том, чтобы поддержать разработку вашего оборудования и тестирование вашего программного обеспечения или для образовательных целей.
Оболочка AVR предоставляет крошечный интерфейс командной строки, который позволяет читать и записывать память AVR, включая все регистры и память программы, используя простые команды.
Для компиляции вам нужны gcc-avr и avr-libc . Несмотря на то, что этот проект не содержит зависимости и не использует стандартный LIBC, но пакет также содержит файлы заголовков, которые необходимы для компиляции для кода.
Кроме того, вам нужно, например, avrdude , чтобы Flash to Program.
Загрузите весь источник, измените в src/ и просто запустите 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 Register.
cbi <reg_addr> <bit> ...... прозрачный бит (0-7) в IO-регистре.
dump <addr> [len] ......... дамп Len (default = 512) байты памяти.
pdump <addr> [len] ........ дампа Len (default = 512) байты памяти программы.
edump <addr> [len] ........ дампа Len (default = 512) байты памяти EEPROM.
ste <addr> <byte> ......... написать байт в eeprom at ardress addr .
cpu ....................... вывод информации ЦП, такой как биты предохранителей, биты блокировки и подпись.
uptime .................... показывать время безотказной системы с момента последнего сброса.
run <pid> ................. Запустите процесс PID .
stop <pid> ................ Остановить процесс PID .
new <address> ............. Создайте новый процесс с начальной подпрограммой на адресе .
ps ........................ Перечислите процессы, с PID, текущим указателем стека и состоянием. Государства определены в процессе.
Все эти команды реализованы с использованием ld , lpm и st .
AVR Shell обрабатывает все прерывания и выводит сообщение, если поймано прерывание.
Исключениями являются прерывание загрузки 0x00, а последовательные прерывания 0x24 и 0x26, поскольку они используются для самой оболочки AVR.
Avr Shell разработан Бернхардом Р. Фишером, [email protected].
Ключ PGP: 9867 8E06 0630 07E4 A1F0 B9C5 9BD6 0166 8E24 F29D
Не стесняйтесь обращаться ко мне.
Используйте Phun, используя Avr Shell!