KeilからsdccへC8051ヘッダを移植

ちょっとすごいロガー(NinjaScan-Light)を作っている過程で、ビルド環境(sdcc 3.3.0)にターゲットとしているマイコンのSilicon Laboratories C8051F381のレジスタ定義などを記したヘッダが標準付属しないことに気づきました。以前そのような話を記事にしたことがあるのですが、せっかくなので別の開発環境であるKeilからsdcc向けにヘッダを移植する作業を自動化してみました。

keil2sdcc.rbというスクリプトを使います。使い方は

ruby keil2sdcc.rb (Keil用ヘッダ) > (書き出す先のsdcc用ヘッダ)

です。sdcc特有の_XPAGE(外部メモリにアクセスする際に使うレジスタ、詳細はsdccマニュアルの4.1.1 pdata access by SFR)も、EMI0CNの定義を参考に継ぎ足すようにしました。Keil用のヘッダreg51f380.hをもとに生成されたsdcc用ヘッダはc8051f380.hです。C8051F381を含むC8051F38xシリーズに対応しています。

October 27, 2013 19:12 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク

コメント

コメントする