sh2再び
ちょっとした縁あって、10年ぶりくらいにルネサスのSH2(SH7125)のドキュメントを見ている。
懐かしいものだ。今使っているstm32あたりからすると、隔世の感がある。
コアのスピード的には、そんなに違いはないような気もするが、ペリフェラルの構成が、もう全然違う。
------
最初に走らせた4輪マウスは、SH7145を使ったので、自分的にはSH7125は取っつきやすい。
SHの勘所...というか、旧日立系SH/H8のペリフェラルには、クセというかコツみたいなものがある。
特にタイマとDMA(DTC)。
うまく組み合わせることで、かなりのことがソフトウエアの介在抜きで実現できる。
DMAを使ってペリフェラル内部のレジスタを書き換え、さらにそのDMA転送終了イベントで、次のデータ転送を起動したりとか。
トリッキーな使い回しで、プログラムではタイミングの超厳しい処理をさせつつも、別の高速なシーケンスもまわし続けたり、とかいろいろ面白いこともできた。
------
今回の案件も、この手の怪しい技で、ちょいとカマすかと思っていたら、なんとSH7125にはDMAが実装されていないようだ。
なんということだ。
これは...まいったなあ。
まあ、DMAで1ワードだけ転送して、ペリフェラルの動作を切り替えたりとか、こんな動作は、デバッガーの類をほとんど無力化するし。
一般の設計では禁忌になっていても不思議ではない。
DMAを残しておいてくれればよかったのに、と思うけど、SHは当時からすでに消費電力で見劣りし始めていたから、優先順位低し、ってことで落ちてしまったのだろうか。
というわけで、作戦は1日で頓挫。
プランBを検討中...
| 固定リンク | 0
« 引っ越し中 | トップページ | プログラミング入門 »
コメント