« 引っ越し中 | トップページ | プログラミング入門 »

2015年3月17日 (火)

sh2再び

ちょっとした縁あって、10年ぶりくらいにルネサスのSH2(SH7125)のドキュメントを見ている。

懐かしいものだ。今使っているstm32あたりからすると、隔世の感がある。
コアのスピード的には、そんなに違いはないような気もするが、ペリフェラルの構成が、もう全然違う。

------

最初に走らせた4輪マウスは、SH7145を使ったので、自分的にはSH7125は取っつきやすい。

SHの勘所...というか、旧日立系SH/H8のペリフェラルには、クセというかコツみたいなものがある。
特にタイマとDMA(DTC)。
うまく組み合わせることで、かなりのことがソフトウエアの介在抜きで実現できる。

DMAを使ってペリフェラル内部のレジスタを書き換え、さらにそのDMA転送終了イベントで、次のデータ転送を起動したりとか。

トリッキーな使い回しで、プログラムではタイミングの超厳しい処理をさせつつも、別の高速なシーケンスもまわし続けたり、とかいろいろ面白いこともできた。

------

今回の案件も、この手の怪しい技で、ちょいとカマすかと思っていたら、なんとSH7125にはDMAが実装されていないようだ。

なんということだ。

これは...まいったなあ。


まあ、DMAで1ワードだけ転送して、ペリフェラルの動作を切り替えたりとか、こんな動作は、デバッガーの類をほとんど無力化するし。
一般の設計では禁忌になっていても不思議ではない。

DMAを残しておいてくれればよかったのに、と思うけど、SHは当時からすでに消費電力で見劣りし始めていたから、優先順位低し、ってことで落ちてしまったのだろうか。

というわけで、作戦は1日で頓挫。
プランBを検討中...

| |

« 引っ越し中 | トップページ | プログラミング入門 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: sh2再び:

« 引っ越し中 | トップページ | プログラミング入門 »