76072


組込みに関しての質問です。  
マイコンと外部メモリ(実際はFPGA)が16bitデータバスで接続されており、バースト転送でデータを送りたいと考えています。

C言語上、以下のように記述すると、2word までであればバースト転送されることは確認できたのですが、4word, 8word
のバースト転送の場合、どのように記述すればよいのでしょうか？

  * 1word(16bit)の場合: `*((unsigned short *) addr) = data;`
  * 2word(32bit)の場合: `*((unsigned long *) addr) = data;`

追記：  
情報不足で申し訳ありません。環境を追記いたします。

  * マイコン：TI製AM3358
  * 開発環境：ti-psdkを使用し、linuxを起動
  * 概要：  
linux上のアプリを作成。  
マイコンのGPMCバスとFPGAが接続。  
GPMCバスでデータ転送する際に、Burst書き込み/読み込みを行う


CC BY-SA 4.0
2021-05-26T02:08:06.963
76069
2021-05-27T02:56:19.767
2021-05-27T02:56:19.767
42232
42232
question
linux c
組込みで 4word 以上をバースト転送させる時の記述方法は？


バースト転送させる、という命令はCには規定されてませんので無理ですね。  
CPUやコンパイラ環境によってはそのようなオプションもあるものもあるかもしれないので、そこらへんはお使いのコンパイラのマニュアルを読めばいいかと思います


CC BY-SA 4.0
2021-05-26T04:17:22.880
76072
2021-05-26T04:17:22.880
27481
76069
answer