以下のソースコード利用に関しての制限は一切ありません。
2004/04/18
binutils-2.13.tar.gz/gcc-3.3.2.tar.gz/newlib-1.11.0.tar.gz で
動作するようにしたファイル一式

フレームワークの特徴
マルチタスク
●コオペレーティブ(ノンプリエンプティブ)なマルチタスクである(Sleep関数を呼び出さないとタスク切り替えが発生しな い)
●RAM使用量が非常に少ない(多分最少)
●7タスク固定/優先順序無し
●タスク切り替え時に、割込み禁止期間が全く無い
「StartTask( 6, Monitor) ;」で、SCI1(書込み用ポート)を使用して
簡単なモニター機能が使える(38400bps/8-data/1-stop/non-parity)。
RAMの使用をひかえるための注意点
RAMの使用を減らすために、以下のようなメモリモデルを取っている。
(1)初期化されたデータは常に ROM に配置する。
(2)初期化されていないデータは常に RAM に配置する。
書換しないデータに付いては、常に const を付けること。
const char Str[] = "test\n" ;
関数内で書換しないデータに付いては、常に static を付けること。
static const char Str[] = "test\n" ;
おまけ(3664版フレームワーク)




以下、古いバージョン
makefile (メイクファイル)
console.c(複数タスクからLCDを操作できるようにする)
debug.c (デバッグ用)
hello.c (メインプログラム)
initperi.c
itu.c(タ イマー割り込み)
lcd.c(LCD の操作)
monitor.c (モニタ)
mtaskc.c (タスクの初期化等)
printf.c (効率のよいprintfのサブセット)
sio0.c
sio1.c
vector.c (割込みベクター)
wastloop.c
3048f.h
console.h
debug.h
initperi.h
itu.h
lcd.h
monitor.h
mtask.h
sio0.h
sio1.h
sioregbt.h
wastloop.h
crt1.s (スタートアップ)
mtask.s (ディスパッチャー:タスク切り替えプログラム本体)
perireg.s (内部レジスタ)
ram2.x (リンカスクリプト:モジュール)
rom.x(リ ンカスクリプト:アドレス)

戻る