ここからは、ARM上のプログラムの開発に入る。
- 使用ツール : Vivado 2016.2
- 使用OS : Windows 10
ARM上で動作するプログラムを書いてCustom IPを制御する
[File]→[New Project]をクリックする。
プログラムは以下のような記述にした。
int main() { init_platform(); print("Hello World\n\r"); Xil_Out32(XPAR_SIMPLE_BRAM_0_S_AXI_BASEADDR + 0, 123); Xil_Out32(XPAR_SIMPLE_BRAM_0_S_AXI_BASEADDR + 4, 345); uint32_t result = 0; result = Xil_In32(XPAR_SIMPLE_BRAM_0_S_AXI_BASEADDR + 0); xil_printf("BRAM[0] = %d\r\n", result); result = Xil_In32(XPAR_SIMPLE_BRAM_0_S_AXI_BASEADDR + 4); xil_printf("BRAM[1] = %d\r\n", result); cleanup_platform(); return 0; }
ベースアドレスから2ワード分の領域に、123, 345と書き込みを行い、それを読み込む。
Debugの設定
デバッグ用の設定を行う。デバッグに使用するのはUARTなので、この設定を行う。デフォルトの通信速度は115200なので、このように通信速度を変更する。
FPGAを起動し、動作させる。この結果、以下のように、正しく読み書きができることが確認できた。
参考文献
以下を参考にさせて頂いた。というかほぼパクってしまった。ありがたい。