(toppers-users 3265) Re: 「RSK-M16C-62P(ルネサステクノロジ)簡易パッケージ」のポーティング

高橋和浩@nifty takahashi_kazuhiro @ nifty.com
2010年 10月 15日 (金) 20:09:52 JST


今晩は、アライブビジョンソフトウエアの高橋と申します。

以前、M16C/aspの簡易パッケージでビルドした環境があったので確認していました。
自分も、小田様とたぶん同じ値になっているかと思います。

具体的には以下の通りです。
----------------------
offset.inc
TCB_tstat	.equ	20
TCB_pc	.equ	16
TCB_sp	.equ	14
TCB_enatex	.equ	21
TCB_enatex_bit	.equ	2
TCB_enatex_mask	.equ	4H
TCB_texptn	.equ	10
-----------------------

これでたぶん正解だと思っています。

NC30の標準のポインタはnearになり、
TCBのメンバのうち	
const TINIB		*p_tinib; 
はconst宣言のためfarで他はnearポインタですね。

さらに
target_stddef.hにて
#pragma STRUCT task_control_block arrange
と宣言してメンバーの順番が変えられる指定になっています。

またコンパイルオプションについても、元からあるHEWのワークスペースファイルそのままで
特にコンパイルオプションを強制farなどのオプションは設定されていませんので
それでいいはずです。

ですので、上記のような順番とサイズになるようです。
makeoffset.cのコメントに20とか24とかありますが依存部でない部分のコメントでもあり、あくまで参考では
ないでしょうか。



On Fri, 15 Oct 2010 09:39:08 +0900
小田 純之 <oda-yoshiyuki @ jvc-victor.jp> 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 
> =========================================  
> 
---
アライブビジョンソフトウエア株式会社
高橋和浩
673-0005兵庫県明石市小久保2-2-7幹線ビル4F
Email:takahashi_kazuhiro @ nifty.com
http://homepage3.nifty.com/ALVS/
TEL:078-922-2177