SOPC第三课---同时点亮4个LED灯闪烁
本栏目将会介绍Alteral的SOPC系列,整个过程不会沿袭教材,那样就成了抄教材了,而是将课程笔记汇总,并且把一些我实验过程中犯过的错误记录下来。
更新时间比较缓慢。
资源: 锆石A4开发板
小梅哥AC620开发板
----
- 介绍
SOPC是基于FPGA的SOC系统 - 建立基于NIOS II处理器系统来控制一个LED灯闪烁
- 创建工程
打开QSYS
nios的3种性能
经济型,标准型,快速型
硬件乘法器的类型默认使用嵌入式的硬件乘法
exception vector(异常向量)
出现异常后,从哪一个地址开始运行。
MMU and MPU
要在nios跑linux系统才勾选,
细节在以后的应用中再不断补充搭建系统
我们建立好上面的系统。
指令总线就是加减乘除
数据总线就是数字。所以对于存储的设备,我们会进行加减乘除等运算。但是对于输出管脚等非存储设备,我们只用将CPU的数据送达即可,不需要将指令送达。指令在存储类设备or cpu中完成。
我们的pio需要导出,控制着我们的led亮or灭
地址,我们可以自动分配。如果我们要清醒ROM从0开始分配,用小锁锁住即可,再进行自动分配。
另外设置好nios里面的复位向量(指向ROM)和异常向量(指向RAM)
注意nios时钟要与实际的时钟一致
将HDL example拷贝到quartus顶层文件当中。
并记得把我们的qsys系统纳入我们的FPGA工程。
我们现在把PIO改为控制4个灯
注意只有在generate过后,才会生成正确的HDL模板
注意我们添加的QSYS系统是.qip
管脚分配,可在assignment edtor里面把之前的管脚名字删除,然后重新分配管脚
#include "system.h"
#include "altera_avalon_pio_regs.h"
#include "alt_types.h"
int main(void)
{
alt_u8 led = 0;
alt_u32 i;
while(1)
{
led = 0X0;
IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_0_BASE,0XF);//此寄存器控制PIO的方向
IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE, led);//点亮LED灯
i = 0;
while(i<500000) //延时功能,非精确延时,数值太小将无法看到灯的闪烁效果
{
i++;
}
led = 0XF;
IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE, led);//熄灭LED灯
i = 0;
while(i<500000) //延时功能,非精确延时,数值太小将无法看到灯的闪烁效果
{
i++;
}
}
return 0;
}
另外记得一旦quartus编译过后,一定要重新生成bsp
一定要先保存,再编译,eclipse不会自动保存
下面是测试结果
SOPC第三课---同时点亮4个LED灯闪烁相关推荐
- ESP32入门之GPIO:点亮一盏LED灯
目录 前言 一.硬件准备 二.使用步骤 1.硬件连接 2. 代码实现 2.1 LED初始化 2.2 KEY初始化 2.3 main函数 2.4 中断处理与任务函数 三 完整代码 总结 参考资料 ...
- 米思奇blynk_米思奇编程积木套件入门教程 项目一:点亮板载LED灯
该教程实验平台:上一篇教程:本节课程任务 任务1--点亮板载LED灯 1.程序编写 双击右图中的Mixly.vbs文件,即可打开Mixly软件: 2.png (109.53 KB, 下载次数: 56) ...
- linux 心跳灯_Linux下点亮第一个LED灯
第一步: 在window下编写汇编代码,点亮第一颗led灯: .text .global _start _start: /* * */ /*设置GPF4 输出*/ ldr r1, =0x560000 ...
- 瑞萨开发记录01:点亮一颗LED灯(R5F104FEA芯片)
01.点亮一颗LED灯 一.创建工程 二.查看原理图 三.工程配置 1.引脚复用 2.时钟配置 3.debug设置 4.fix settings完成配置 5.配置各个引脚功能 6.生成代码 四.编写代 ...
- Esp8266进阶之路11 企业者的福音之8266接入阿里智能,点亮一盏LED灯,期待天猫精灵语音控制的不约而至!
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 序号 SDK版本 内容 链接 1 nonos2.0 搭建 ...
- 记录1——stm32f411CEU6之点亮一盏LED灯+按键控制LED灯
文章目录 前言 一.准备工作 二.点亮一盏LED灯 1.配置工程 2.代码实现 3.程序烧录注意 三.按键控制LED灯 1.配置工程 2.代码实现 按键控制 按键进阶1: 按键进阶2 3.基于自己理解 ...
- Step1 :【C51】LED灯闪烁、跑马灯、流水灯、实现每次亮两个灯的流水灯
Step1Step1Step1 :[C51]LED灯闪烁.跑马灯.流水灯.实现每次亮两个灯的流水灯 在我所使用的开发板中,LED采用共阳极接法,即所有LED阳极管脚接电源VCC,其阴极管脚接到P2口上 ...
- 【ESP32DEVKITV1学习笔记】点亮一盏LED灯
目录 前言 一.环境的搭建 1.下载Visual studio Code 2.下载platformIO IDE 二.点亮一盏LED灯 1.硬件准备 2.新建工程 3.烧录 总结 Q&A 前言 ...
- Esp8266进阶之路10 【小实战下篇】Windows系统搭建8266的本地Mqtt服务器,局域网点亮一盏LED灯。(带Demo)
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 序号 SDK版本 内容 链接 1 nonos2.0 搭建 ...
最新文章
- [JAVA EE] JPA 查询用法:自定义查询,分页查询
- 使用html测试数据库连接与操作(含界面) 第一步界面设计
- python 100题
- python 创建空文件的方法
- BigDecimal去除末尾多余的0
- halcon python缺陷检测_Halcon学习笔记之缺陷检测(一)
- iservice封装有哪些方法_对WebService的一些封装技巧总结
- 千方科技的中场战事:选择、进化与野望
- Linux shell 编程(四):变量
- 20171006-构建之法:现代软件工程-阅读笔记
- 在浏览器中将表格导入到本地的EXCEL文件,注意控制内存
- 2019数模美赛规则
- 【FFmpeg4.1.4 编码】h265编码
- AndroidX App Startup 介绍及使用
- 解空间树搜索 及 最优解
- Linux内核regulator架构和编写
- 论CTOR添加到11月BCH协议升级
- android控制wifi,Android控制wifi开关
- 移动机器人全覆盖路径规划及仿真(三.地图分割)
- Linux系统配置(磁盘管理)