microblaze通过switch开关ip运行led

  • 硬件部分
  • 点亮led的SDK设计
  • 点亮led的GPIO历程文件的解读
  • 点亮led的运行结果
  • 添加switch开关的GPIO控制
  • 在FPGA运行结果
  • 补充:SDK的开发技巧


硬件部分

因为上面硬件已经有了gpio的switch开关和led,所以硬件部分和上面一个硬件一样,不需要做任何改变

点亮led的SDK设计

Android studio Switch 开关大小 micro switch开关_单片机


这里面有我们硬件设计的说明文件

Android studio Switch 开关大小 micro switch开关_单片机_02


说明文件和案例文件

Android studio Switch 开关大小 micro switch开关_硬件工程_03


选择第一个,最标准的gpio历程

Android studio Switch 开关大小 micro switch开关_单片机_04


打开.c文件

点亮led的GPIO历程文件的解读

Android studio Switch 开关大小 micro switch开关_头文件_05


首先是头文件,可以按住ctrl,再左键点击,转到头文件

Android studio Switch 开关大小 micro switch开关_stm32_06


常量定义:

#define LED 0x01:表明把GPIO最低一位连接到LED上

定义设备ID

定义了LED的通道为1

Android studio Switch 开关大小 micro switch开关_硬件工程_07


初始化,初始化检查,数据方向(函数0是写,1是读)

可以把前面#define LED 0x01修改为#define LED 0x0F,这样就点亮4个LED灯

while循环进行点灯操作(一直循环)

Android studio Switch 开关大小 micro switch开关_stm32_08


连接开发板

点击program,下载bit流到开发板

Android studio Switch 开关大小 micro switch开关_单片机_09


运行文件

点亮led的运行结果

Android studio Switch 开关大小 micro switch开关_stm32_10


Android studio Switch 开关大小 micro switch开关_单片机_11


可以看到4个LED灯都一闪一闪,运行成功

添加switch开关的GPIO控制

Android studio Switch 开关大小 micro switch开关_头文件_12


在上述点亮led的基础上改写实现拨码开关的效果

修改1:添加常数,确定其输入输出方向,开关数据方向和LED相反,低四位为0,高四位为1,低四位为向处理器输入的

Android studio Switch 开关大小 micro switch开关_硬件工程_13


GPIO的id初始化不需要添加,因为本次实验中硬件只有一个GPIO

Android studio Switch 开关大小 micro switch开关_#define_14


添加开关通道

Android studio Switch 开关大小 micro switch开关_stm32_15


设置开关通道读写情况

Android studio Switch 开关大小 micro switch开关_头文件_16


在GPIO的头文件中可以看到读函数

Android studio Switch 开关大小 micro switch开关_头文件_17

定义一个变量value,将开关值读到value中,再将value值当做led写数据
开关读数据函数,只有两个参数
删除时间控制led部分,直接由switch控制led亮灭

在FPGA运行结果

Android studio Switch 开关大小 micro switch开关_单片机_18


bit流文件若是已经下载好,直接运行工程文件

Android studio Switch 开关大小 micro switch开关_stm32_19


结果暂时,拨动开关,led就亮

补充:SDK的开发技巧

Android studio Switch 开关大小 micro switch开关_#define_20


外设的历程位置

Android studio Switch 开关大小 micro switch开关_stm32_21


工程的头文件位置

Android studio Switch 开关大小 micro switch开关_stm32_22


外设函数的定义位置

Android studio Switch 开关大小 micro switch开关_#define_23


数据存储空间的显示文件

目前软核是用的BARM进行数据存储,若是添加外部存储设备,比如DDR3,则存储空间就会增大出来

Android studio Switch 开关大小 micro switch开关_单片机_24


右键工程,选择“build settings”

优化等级和调试等级的设置

Android studio Switch 开关大小 micro switch开关_硬件工程_25


在optimization中设置优化等级

一般保持默认,不进行修改

还有debug