项目作者: gustinmi

项目描述 :
AVR - Arduino Realtime operating system. Realtime scheduler is written in assembler. Optimized for performance, with included keyboard and LCD display driver.
高级语言: Assembly
项目地址: git://github.com/gustinmi/AVRtoS.git
创建时间: 2019-05-17T12:27:01Z
项目社区:https://github.com/gustinmi/AVRtoS

开源协议:GNU General Public License v3.0

下载


AVROS

AVR - Arduino Realtime operating system. With preemptive realtime scheduler written in assembler. Optimized for performance. Maximal utilization of onboard EEPROM, SRAM, FLASH.

Support is planned for Realtime system clock (working), 4x4 keyboard (ongoing), LCD driver (prototype), stepper motor driver (planned), ADC (planed) and UART Serial driver (working and tested). Uses a realtime interrupt scheduler (time slice-ing) for implementing non blocking drivers that pool slow devices and gave away CPU to main program, in case previous operation is not yet completed.

Originally written as a port of Motorola’s 68HC11 learning operating system, designed at University of Ljubljana (prof. Tadej Tuma).
Main purpose is learning the ATMEGA 328PU internals and to get glimpse into realtime kernel design.

Project includes some important concepts as a separete modules, in order to demonstrate only one topic.

AVROS AVR Arduino real-time operating system

Developing

Currently all development is done using Atmel Studio.

Deploy with avrdude.exe

Adapt -PCOM port and -b baudrate to suite your needs. COM port is assigned by system, baudrate by bootloader.
Main file is avrosmain.asm

  1. c:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe -C "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -v -patmega328p -carduino -PCOM8 -b115200 -D -Uflash:w:$(TargetDir)$(TargetName).hex:i

Include EEPROM data (if any)

  1. -Ueeprom:w:$(TargetDir)$(TargetName).eep:i