RZ/A1の一部でデバイス名の同じ型番の末尾に「_DualSPI」のあるものがあります。
例:
R7S721000 R7S721000_DualSPI
これは何が違いますか?
例えばe2studioから新規プロジェクトを作成する際、ターゲットデバイスとしてどのような基準で選択すればよいのでしょうか?
個人の推測ですが。
DualSPI は、Dual Single/Dual/Quad-SPI の略で、「シリアルフラッシュを2個接続」みたいな意味だと思います。
ハードウェアマニュアルによると、RZ/A1 内蔵のシリアルフラッシュインタフェース(SPIBSC)は、(1) 1チャネルあたりシリアルフラッシュを2個まで接続可能(2) データバス幅を1つのシリアルフラッシュに対し、1ビット、2ビット、4ビットから選択可能という特徴があります。
デバイス名の末尾の _DualSPI は、(1) の特徴に関連したもので、(a)「R7S721000」は、1チャネルあたりシリアルフラッシュを1個、接続(b)「R7S721000_DualSPI」は、1チャネルあたりシリアルフラッシュを2個、接続したシステム構成であることを表しています。
ツールとしては、同じ R7S721000 を使用したシステムであっても、例えば、シリアルフラッシュへの書き込み処理などで、(a) と (b) を区別する必要があります。本来なら、ツールの UI に個別の設定項目を設けるのが解り易いと思うのですが、色々と面倒だったのでしょう。1個接続時のデバイス名「R7S721000」に対して、2個接続時には「R7S721000_DualSPI」という便宜上のデバイス名を指定させることで区別する仕様にし、お茶を濁したのだと思います。
関連するトピックとして、English Forum に次のスレッドがあります。読むと参考になるかもしれません。
Programming RZ/A1M with dual quad spi and J-link
詳細なご返答ありがとうございます。シリアルフラッシュにプログラムするような場合の動作が異なるということで理解しました。e2studio(や内部で呼び出すツール)がシリアルフラッシュ2個つまり末尾「_DualSPI」の型番を指定した場合は、シリアルフラッシュ1個目にN番地データ、2個目にはN+1番地データが書き込まれるようなイメージをしています。
はい。二ブル単位ではなくバイト単位でインタリーブ、で正しいと思います。