AVRX是针对Atmel的AVR单片机开发的RTOS,他的特点是全部使用汇编写作,是我见过最小的开源RTOS(编译后500~700字节!)。 不过麻雀虽小,五脏据全,基本的调度功能一个也不少。
应用
1。编译器的选择
由于AVRX的编者是在GNU推出的AVR-GCC编译器下写的,所以选用AVR-GCC
2。重新编译AVRX内核
为了将应用程序成功编译,需要重新编译AVRX内核。
修改"AVRX/源码中的makefile文件,
ABSPATH=....../avrx /*更改为AVRX原路径到实际路径下*/
修改
MCU = 8535
AAVRMCU = 1
GCCMCU = at90s$(MCU)
AVRXMCU = __AT90S$(MCU)__
为
ICCMCU = m16
AAVRMCU = 3
GCCMCU = atmega16
AVRXMCU = __AT90Mega16__
重新修改AVRX源码的serialio.s文件,即根据不同的单片机修改串口部分的寄存器定义。需要添加以下代码:
#if defined(UBRRL)
#defind UBRR UBRRL
#endif
#if defined(UBRRH)
sts UBRRH,plh
#endif
重新编译内核,到此完成AVRX在单片机上的内核移植,就可以编写应用程序了。
下载地址: