P4:プログラムの一部 ROM化成功
昨日作った ROM化した TimerA アクセスルーチンを使うためのプログラムを作る。
「関数のポインタの配列へのポインタ」をアクセスするのに悩んだが、なんとか一発で動く。
ROM にある関数のアクセスはこんな感じ。
enum {dummy,InitTimerA,GetTimerA_Counter};
#define func_tbl_ptr (int (**)(int))(*(volatile unsigned long *)0x5800)
int (**func_tbl)(int);
func_tbl = func_tbl_ptr;
func_tbl[InitTimerA](0);
このあと、二つの *.mot ファイルを CPU の FLASH に書き込むのに手間取るが(結局二本の *.mot をエディターで結合した)、ROM 化した関数のアクセス・動作は問題なく成功。
明日は TIimerW アクセスルーチンの ROM 化だ。
「関数のポインタの配列へのポインタ」をアクセスするのに悩んだが、なんとか一発で動く。
ROM にある関数のアクセスはこんな感じ。
enum {dummy,InitTimerA,GetTimerA_Counter};
#define func_tbl_ptr (int (**)(int))(*(volatile unsigned long *)0x5800)
int (**func_tbl)(int);
func_tbl = func_tbl_ptr;
func_tbl[InitTimerA](0);
このあと、二つの *.mot ファイルを CPU の FLASH に書き込むのに手間取るが(結局二本の *.mot をエディターで結合した)、ROM 化した関数のアクセス・動作は問題なく成功。
明日は TIimerW アクセスルーチンの ROM 化だ。
トラックバック(1)
このブログ記事を参照しているブログ一覧: P4:プログラムの一部 ROM化成功
このブログ記事に対するトラックバックURL: http://www.co-mind.info/cgi-bin/mt/mt-tb.cgi/1127
» P4:TimerW アクセスルーチンの ROM 化(徒然日記 電子工作編)~のトラックバック
昨日に引き続いて TimerW アクセスルーチンを ROM化。測定した周期の読... 続きを読む