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シリーズに対応しています。
コメント
コメントする
- 匿名でのコメントは受け付けておりません。
- お名前(ハンドル名可)とメールアドレスは必ず入力してください。
- メールアドレスを表示されたくないときはURLも必ず記入してください。
- コメント欄でHTMLタグは使用できません。
- コメント本文に日本語(全角文字)がある程度多く含まれている必要があります。
- コメント欄内のURLと思われる文字列は自動的にリンクに変換されます。
- 投稿ボタンを押してエラーがでなければ、投稿は成功しています。反映されるまでには少し時間がかかります。