(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 
> =========================================  
>