(toppers-users 4540) Re: toppers/atk1のSH7147への移植

片岡 歩 kata @ witz-inc.co.jp
2016年 6月 4日 (土) 16:52:50 JST


吉見さん

初めまして。片岡と申します。

ATK1では、主に旧三菱系のM32Cなどを担当しておりました。
SH系はあまり詳しくは無いため、有識者よりご意見をいただきたいところです。

また、最近はATK2の方がサポーターが多いと思いますので、時間が取れるので
あれば、そちらの方にチャレンジいただいても良いかと思います。
保護機能などがついているものは少々移植難易度が高いと思いますが、
SC1という保護機能の無いクラスであれば、ATK1と大きな差は無いかと思います。


さて、私からは、機種依存部の構造としてわかる範囲で回答させていただきます。

まず、記載いただいているactivate_rの処理ですが、タスクの先頭にジャンプする
部分かと思います。
M32Cの様に遅延スロットが無いマイコンであれば、修正案と同様に
 1.割込みを許可
 2.タスクの先頭にジャンプ
というコードを記載します。
そもそも、タスク先頭にジャンプする直前であれば、OS内の管理データへの
アクセスは終えているはずなので、割込みを許可しても問題はありません。

モーター制御プログラムの内容は分からないのでコメントが難しいですが、
移植されたOSで、他に怪しいところはございませんでしょうか?
割込みの出入口処理などは、意外とミスが入り込みやすいので、確認して
頂ければと思います。

ちなみに、移植されたときに、付属のサンプルプログラムはおおよそ動いている
という認識で良いでしょうか。

以上、よろしくお願いします。

★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
||
|| (株)ヴィッツ
|| 高信頼性PF開発部 ←部署名が11月1日から変わりました
||
|| 片岡 歩 E-mail:kata @ witz-inc.co.jp
||
|| 〒460-0008 名古屋市中区栄2-13-1 名古屋パークプレイス
|| TEL:(052)220-1218
|| FAX:(052)218-5855
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-----Original Message----- 
From: Y.Yoshimi
Sent: Saturday, June 04, 2016 11:23 AM
To: users @ toppers.jp
Subject: (toppers-users 4539)toppers/atk1のSH7147への移植

初めまして。 吉見と申します。
このMLの主旨とは離れる内容なのかもしれませんが、質問(相談)をさせてください。 



趣味でマイコンプログラミングをしているのですが、toppersを用いたプログラミングに興味を持ち、見よう見まねでSH7147にtoppers/atk1を移植してみました。


移植したものの、上手く起動せず、

cpu_Support.srcファイル内、activate_rの

jmp @r2
ldc r3 , sr ; 遅延スロット、割り込み許可

を

ldc r3 , sr ; 遅延スロット、割り込み許可
jmp @r2
nop

としたら、起動するようになりました。

しかし、その後モータを動かしていると、
頻繁にフリーズするようになりました。

モータ制御中に止まることがあるので、モータ制御のプログラムが悪い可能性もありますが、
上記の変更の結果、「割り込み許可しちゃいけない所で割り込み許可をしてしまったこと」が原因なのかと考えていますが、元に戻すと起動しないという状況で…。

もし、移植時に似たようなトラブルを抱えたことがある方がいらっしゃいましたら
何かアドバイスをご教示くださると有難いです。

以上、よろしくお願いします。