October 27, 2013

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シリーズに対応しています。

19:12 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/894
コメント
コメントする









名前、アドレスを登録しますか?
(次回以降コメント入力が楽になります)
  • 匿名でのコメントは受け付けておりません。
  • 名前(ハンドル名可)とメールアドレスは必ず入力してください。
  • メールアドレスを表示されたくないときはURLも必ず記入してください。
  • コメント欄でHTMLタグは使用できません。
  • コメント本文に日本語(全角文字)がある程度多く含まれている必要があります。
  • コメント欄内のURLと思われる文字列は自動的にリンクに変換されます。