ソフトウェア作成

4. ソフトウェア作成

 

ここからはSDKでの作業に移ります。
この手順ではPCとの通信およびPL部との通信を行うソフトウェアを作成します。

まず、先ほどのVivadoプロジェクトのFileタブの Export -> Export Hardware を実行します。
以下のウィンドウが表示されるので、Include bitstreamにチェックをいれ OK ボタンを押します。

 

6-1

 

FileタブのLaunch SDKを実行し、表示されるウィンドウはデフォルトのままOKボタンを押すと、
SDKが立ち上がります。

 

6-2

 

 

 

Fileタブ New -> Application Projectを押します。
表示される以下のウィンドウではProject Name を led_blink とし、
他はデフォルトのまま Next ボタンを押します。

 

6-4

 

Templates では Hello World を指定し、Finish ボタンを押します。

 

6-5

画面左 Project Explorer に led_blink, led_blink_bsp が追加されるので、
led_blink -> src -> helloworld.c をダブルクリックして内容を以下のように編集します。

 

#include "xparameters.h"
#include "xgpio.h"
#include 
#include 

int main()
{
    XGpio led;
   	XGpio_Config led_config;
   	char s_interval[100];
   	int i_interval = 1000;
   	int count;

   	led_config.DeviceId = XPAR_AXI_GPIO_0_DEVICE_ID;
	XGpio_CfgInitialize(&led, &led_config, XPAR_AXI_GPIO_0_BASEADDR);
	XGpio_SetDataDirection(&led, 1, 0);

	while(1){
		printf("input Interval[ms] (now %d [ms])\n", i_interval);
		scanf("%s",s_interval);
		i_interval = atoi(s_interval);
		printf("set %d[ms]\n\n",i_interval);
		count = i_interval * 50000; //50000 = 50000000[MHz] / 1000 (input [ms])
		XGpio_DiscreteWrite(&led,1,count);
	}


    return 0;
}

 

 

 

ctrl + B でプロジェクトをビルドします。
作成された led_blink -> Debug -> led_blink.elf が、PS部で動かすためのプログラムです。