(toppers-users 3264) Re: 「RSK-M16C-62P(ルネサステクノロジ)簡易パッケージ」のポーティング
Nozomu Kon
kon-n @ vecc.co.jp
2010年 10月 15日 (金) 17:26:02 JST
小田様
ベクトル(株)今と申します。
自分もカーネル起動の際にはまりましたが、要はCで用いるTCBと
asmで用いるTCBに整合性が取れていればいいはずです。
片岡様も指摘されていましたが、offset.incをHEWで生成する際、
コンパイル条件はどうされていますか?
(ポインタのデフォルト、もしくは取扱をどうされていますか?)
自分の環境ではOSをfar領域に配置しており、
ポインタのデフォルトをfar(4byte)としているため、
>「TCB_sp:20」「TCB_pc:24」
となります。
ポインタがnearの場合、
>「sp:14」「pc:16」
のようになると思います。
spに4byte取られていますが、m16c/65はリトルエンディアンのため
dispatchでは、正しく2byteを参照できています。
気になる場合は「cpu_config.h」内のCTXB定義内に
nearを指定することをお勧めします。
ご参考になれば幸いです。
(2010/10/15 9:39), 小田 純之 wrote:
> 小田と申します。
>
> offset.incについて質問させてください。
>
> 現在「RSK-M16C-62P(ルネサステクノロジ)簡易パッケージ」から
> RENESAS製 M16C65マイコンへのポーティングを行っています。
>
> offset.incの作成を、HEWの環境でmakeoffset.c内の説明を元に行い
> ました。
> それを元にsample1プロジェクトをビルドし実行すると、TCBの要素へ
> 正しく参照できません。
> offset.incでは「TCB_sp:20」「TCB_pc:24」となっていますが、
> sample1でTCB内の配置を確認するとは「sp:14」「pc:16」となってい
> ました。
>
> 簡易パッケージ内のtask.hのTCBやTINIBの内容をいじらなくても
> 、makeoffset.cの内容を自分で設定する必要があるのでしょうか?
>
> 以上です。
> 宜しくお願い致します。
>
> =========================================
> ビクターテクノブレーン株式会社
> システムG システム1チーム(兼 開発G 開発3チーム)
> 小田純之
> E-mail : oda-yoshiyuki @ jvc-victor.jp
> =========================================
>