MicroBlaze控制LED实验记录:
软件环境为Xilinx Platform studio 11.1,开发板为红色飓风2代Xilinx版
1.打开XPS,创建一个新工程,名称为microblaze_led
2.Board Selection: 选择和开发板对应的参数,reset polarity选active low
3.System Configuration: 选择Single-Processor System
4.Processor Configuration: Reference Clock Frequency和System Clock Frequency都选择 50MHz
5.Peripheral Configuration: Add Device,IO Interface Type选GPIO,Device选LEDS,GPIO Data Width默认为32bit,参数都设置完后一直next,直至finish
6.管脚定义:打开UCF文件,可以看到GPIO有32个管脚,板子上只有8个LED,所以只定义前8个管脚以及clk和reset,如下所示
Net fpga_0_LEDS_GPIO_IO_O_pin<0> LOC=p194;
Net fpga_0_LEDS_GPIO_IO_O_pin<1> LOC=p196;
Net fpga_0_LEDS_GPIO_IO_O_pin<2> LOC=p197;
Net fpga_0_LEDS_GPIO_IO_O_pin<3> LOC=p198;
Net fpga_0_LEDS_GPIO_IO_O_pin<4> LOC=p199;
Net fpga_0_LEDS_GPIO_IO_O_pin<5> LOC=p200;
Net fpga_0_LEDS_GPIO_IO_O_pin<6> LOC=p203;
Net fpga_0_LEDS_GPIO_IO_O_pin<7> LOC=p204;
Net fpga_0_clk_1_sys_clk_pin TNM_NET = sys_clk_pin;
TIMESPEC TS_sys_clk_pin = PERIOD sys_clk_pin 50000 kHz;
Net fpga_0_clk_1_sys_clk_pin LOC=p76;
Net fpga_0_rst_1_sys_rst_pin TIG;
Net fpga_0_rst_1_sys_rst_pin LOC=p152;
定义完管脚保存文件
7.在Application Tab中的空白处点击右键,选择Add Software Application Project,输入Project Name,确定,可以看到生成了一个新的Project,在新的Project中右键点Source,选择Add New File,建立一个新的C文件,打开C文件,输入如下代码
#include"xparameters.h"
void main(){
int *i;
i=0x81400000;
(*i)=0xf0000000;
}
其中0x81400000为XPS给LEDS定义的地址,保存文件
8.在左边"Software Projects"中的"Project:led"上单击右键,选择Mark to Initialize BRAMs,这样就激活“Project:led",因为Platform只允许一个工程处于激活状态(刚开始忘了这一步led死活都不亮)
9.Generate Libraries and BSPs
10.Build All User Applications
11.Generate Netlist
12.Generate Bitstream
13.在Project Tab中双击iMPACT Command File,把其中的5改为2,保存文件
14.Download Bitstream,可以看到8个Led灯有4个被点亮,有4个没有被点亮
文章评论(0条评论)
登录后参与讨论