(toppers-users 3288) Re: Renesas Starter Kit for RX610 簡易パッケージについての確認

ソフトバンク 小山 koyama @ softbank.vc
2010年 11月 16日 (火) 13:30:17 JST


片岡様

素早い、対応ありがとうございます。

当方も現象(モニタデバッガがタイムアウト)が出なければ
気付かなかったと思います。

レジスタをr4に変更する方法で確認ができました。
ありがとうございました。

----- Original Message ----- 
From: ""片岡 歩"" <kata @ witz-inc.co.jp>
To: <users @ toppers.jp>
Cc: "ソフトバンク 能見" <noumi @ softbank.vc>
Sent: Tuesday, November 16, 2010 1:16 PM
Subject: (toppers-users 3287) Re: Renesas Starter Kit for RX610 簡易パッケージについての確認


> ソフトバンク 小山様
>
> ヴィッツの片岡です。
>
> 不具合の報告ありがとうございます。
>
> ご指摘のとおり、0x00000001番地に書き込んでますね。
> reqflg のクリアは実施したいので、以下の様に値を取得する
> レジスタを変更することが良いかと思います。
>
> line:394とline:395のディスティネーションレジスタをr5からr4に変更
> 393 : mov.l    #__kernel_reqflg, r5    ; reqflg が FALSE なら
> 394 : mov.l    [r5], r4
> 395 : cmp      #0, r4
> 396 : bz         dispatcher_idle_loop    ; アイドルループを繰り返す
> 397 : mov.l    #0, [r5]                          ; reqflgがtrueならfalseにする
>
> メモリマップでは
>  0x00000000 __kernel_kerflg
>  0x00000004 _histcb_table
> となっており、サンプルプログラムや付属のテストプログラムでは
> 問題が表面化しなかったようです。
>
> アイドル復帰後の状態確認って、テスト必要ですね。
>
> 修正パッケージについてはどこかのタイミングでリリースしたいと思いますが、
> 現在、計画が立っておりませんので、本メール記載の対策を入れていただければ
> 幸いです。
>
> 以上、よろしくお願いします。
>
>>先日、Renesas RXについて質問をした 小山 です。
>>
>>TOPPERS/ASPカーネルの
>>「Renesas Starter Kit for RX610 簡易パッケージ」を
>>ルネサス製の「RX-Stick」というボードへの移植を
>>試みているのですが、カーネルに問題点がありまして
>>回答をお願いします。
>>
>>問題点:
>>  カーネルのアイドルループに移行すると
>>  RX-Stick専用のモニタデバッガがタイムアウトしてしまう。
>>
>>カーネルのアイドルループのソースを見ると
>>疑問の思うところが見つかりました。
>>
>>ソース    :arch/rx_rxc/prc_support.src
>>モジュール:dispatcher_pre_idle
>>問題の行  :397行目
>>
>>393 : mov.l    #__kernel_reqflg, r5    ; reqflg が FALSE なら
>>394 : mov.l    [r5], r5
>>395 : cmp      #0, r5
>>396 : bz         dispatcher_idle_loop    ; アイドルループを繰り返す
>>397 : mov.l    #0, [r5]                          ; reqflgがtrueならfalseにする
>>
>>398 : mov.l    #__kernel_intnest, r5
>>399 : mov.w  #0, [r5]                           ; タスクコンテキストに切換え 
>>
>>
>>397行目でr5の指すアドレスを0クリアしているのですが、
>>r5はその前に__kernel_reqflgの読み込みによって壊れています。
>>その結果、00000001hに4バイトで0を書き込むという動作になります。
>>
>>RX-Stick専用のモニタデバッガでは、00000000h〜00000FFFhまでは
>>モニタ専用領域で使用不可という仕様になっており、
>>このエリアを書き換えると暴走するようです。
>>
>>よろしくお願いします。
>
> ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
> ||                                                                  ||
> || (株)ヴィッツ                                                   ||
> ||    組込制御開発部                               ||
> ||                                                                  ||
> ||     片岡 歩    E-mail:kata @ witz-inc.co.jp                      ||
> ||                                                                  ||
> ||    〒460-0008 名古屋市中区栄2-13-1 白川第2ビル2F/7F              ||
> ||       TEL:(052)223-7570                      ||
> ||           (052)220-1218(代表)                                    ||
> ||       FAX:(052)218-5855                                          ||
> 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
>