zynq事始
冬休み中はひまなのでzynqで遊ぶ。
買ったもの
Digilent Inc. - Digital Design Engineer's Source
秋月で購入
TOSHIBA(東芝) microSDHCカード Class10 読込最大30MB/S 8GB 海外パッケージ品 SD-C008GR7AR30
- 出版社/メーカー: TOSHIBA
- メディア: Personal Computers
- この商品を含むブログを見る
Amazonベーシック USB2.0ケーブル 1.8m (タイプAオス- マイクロタイプBオス)
- 出版社/メーカー: AmazonBasics
- 発売日: 2010/08/25
- メディア: Personal Computers
- 購入: 40人 クリック: 44回
- この商品を含むブログを見る
準備
- vivadoのインストール
- digilentから情報の取得
LEDチカチカ
とりあえず、ざっくりとプロジェクトを作成
下記から、zybo用のzynqインポートファイルをダウンロード
http://digilentinc.com/Data/Products/ZYBO/ZYBO_def.zip
axi-gpioを配置してzynqと結ぶ。
vivadoから「file→launch_SDK」でSDKを起動
xparameters.hを確認し、GPIOのベースアドレスを調べる。
/* Definitions for driver GPIO */ #define XPAR_XGPIO_NUM_INSTANCES 1 /* Definitions for peripheral AXI_GPIO_0 */ #define XPAR_AXI_GPIO_0_BASEADDR 0x41200000 #define XPAR_AXI_GPIO_0_HIGHADDR 0x4120FFFF #define XPAR_AXI_GPIO_0_DEVICE_ID 0 #define XPAR_AXI_GPIO_0_INTERRUPT_PRESENT 0 #define XPAR_AXI_GPIO_0_IS_DUAL 1
とりあえず適当にLチカプログラムを作成
/* * led_flash.c * * Created on: 2014/12/30 * Author: ippei */ #include <stdio.h> #include "xil_types.h" #include "xparameters.h" #include "xil_io.h" #include "xil_exception.h" #include "xscugic.h" int main() { volatile int i = 0; Xil_Out32((u32)(XPAR_AXI_GPIO_0_BASEADDR+4),0x00000000); while(1) { Xil_Out32((u32)(XPAR_AXI_GPIO_0_BASEADDR),0x00000004); for(i=0;i<0xFFFFFFFF;i++); Xil_Out32((u32)(XPAR_AXI_GPIO_0_BASEADDR),0x00000000); for(i=0;i<0xFFFFFFFF;i++); } }
んでプログラムダウンロードしたらエラー
とりあえず調べます