TOPへ戻る

20080815 ATROS ATtyny2313で動かしてみる

ATtiny2313でも、ATROSって動くのかな?と言う疑問から、移植してみました。
と言っても、数行変えただけであっさり動きました(^_^)

変更箇所は以下の3箇所で、__AVR_ATtiny2313__ の部分の追加です。
atros.c #if defined (__AVR_ATmega163__) #define enable_interrupts_INT_TIMER0 sbi(TIMSK, TOIE0); // Timer0割込み許可ビットinterrupt enable bit #define disable_interrupts_INT_TIMER0 cbi(TIMSK, TOIE0); // Timer0割込み許可ビットinterrupt disable bit #elif defined (__AVR_ATmega168__) #define enable_interrupts_INT_TIMER0 sbi(TIMSK0, TOIE0); // Timer0割込み許可ビットinterrupt enable bit #define disable_interrupts_INT_TIMER0 cbi(TIMSK0, TOIE0); // Timer0割込み許可ビットinterrupt disable bit #elif defined (__AVR_ATtiny2313__) #define enable_interrupts_INT_TIMER0 sbi(TIMSK, TOIE0); // Timer0割込み許可ビットinterrupt enable bit #define disable_interrupts_INT_TIMER0 cbi(TIMSK, TOIE0); // Timer0割込み許可ビットinterrupt disable bit #endif ///////// System Global Variables //////////// static int Current_Task; volatile static int Timer_Flag; static int TCB[2*task_number+2]; // initialize timer 0; #if defined (__AVR_ATmega163__) outp( p,TCCR0 ); #elif defined (__AVR_ATmega168__) outp( p,TCCR0B ); #elif defined (__AVR_ATtiny2313__) outp( p,TCCR0B ); #endif
ATROSの構成

ソースファイル

機能

備考

led_tsk.c led タスク  
sio_tsk.c lcd タスク  
アプリケーションとして、上記2つのプログラムを使用しました。
led タスクは、LEDを点滅させて、SIO タスクは、SIOに文字を出力させます。

コンパイラは、WinAVR-20071221 を使いました。
某所で話題になった、volatile static int Timer_Flag; は、直しておきました。

サイズは、以下の様です。
Size after: AVR Memory Usage ---------------- Device: attiny2313 Program: 1032 bytes (50.4% Full) (.text + .data + .bootloader) Data: 79 bytes (61.7% Full) (.data + .bss + .noinit) ソースファイルのダウンロード


みにくくてすみません!・・・ほとんど見えないじゃん(^^;

TOPへ戻る