FPGA:MicroBlaze LED
前回のHelloのプリントと同じ要領でVitisの「File → New → Application Project」からplatform projectを作っていく。テンプレートでhelloを選ぶところまでは同じ。 今回は、#include "xparameters.h"としてxparameters.hをまず読み込む。このファイルは どのメモリアドレスに IP コアを割り当てたかなどの情報を持っている。 #define LED *((volatile unsigned int*) (XPAR_GPIO_0_BASEADDR + 0x00)) #define LED_ctrl *((volatile unsigned int*) (XPAR_GPIO_0_BASEADDR + 0x04)) XPAR_GPIO_0_BASEADDRが、GPIOの先頭アドレスを示すとの事で、先頭から4ビット離れたところが、コントロールビットなるとの事だが、ここがわからない。 XPAR_GPIO_0_BASEADDRを選択してOpen Declarationで定義に飛んでみると確かにXPAR_GPIO_0_BASEADDR が定義されている。 /* Canonical definitions for peripheral AXI_GPIO_0 */ #define XPAR_GPIO_0_BASEADDR 0x40000000 #define XPAR_GPIO_0_HIGHADDR 0x4000FFFF #define XPAR_GPIO_0_DEVICE_ID XPAR_AXI_GPIO_0_DEVICE_ID #define XPAR_GPIO_0_INTERRUPT_PRESENT 0 #define XPAR_GPIO_0_IS_DUAL 0 ハードウェア構成のときに”AXI GPIO”というIPをブロックダイアグラムに追加しました。この数値は”AXI GPIO”における各レジスタのベースアドレス0x40000000になっている (後で確認してみる) しかし4ビット目がコントロールだというのは??? https://www.xilinx.com/support/documentation/ip_documentation/axi_gpio/v2_0/pg14...