本栏目将会介绍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灯闪烁相关推荐

  1. ESP32入门之GPIO:点亮一盏LED灯

    目录 前言 一.硬件准备 二.使用步骤 1.硬件连接 2. 代码实现 2.1 LED初始化 2.2 KEY初始化 2.3 main函数 2.4 中断处理与任务函数 三 完整代码 总结 参考资料 ​​ ...

  2. 米思奇blynk_米思奇编程积木套件入门教程 项目一:点亮板载LED灯

    该教程实验平台:上一篇教程:本节课程任务 任务1--点亮板载LED灯 1.程序编写 双击右图中的Mixly.vbs文件,即可打开Mixly软件: 2.png (109.53 KB, 下载次数: 56) ...

  3. linux 心跳灯_Linux下点亮第一个LED灯

    第一步:  在window下编写汇编代码,点亮第一颗led灯: .text .global _start _start: /* * */ /*设置GPF4 输出*/ ldr r1, =0x560000 ...

  4. 瑞萨开发记录01:点亮一颗LED灯(R5F104FEA芯片)

    01.点亮一颗LED灯 一.创建工程 二.查看原理图 三.工程配置 1.引脚复用 2.时钟配置 3.debug设置 4.fix settings完成配置 5.配置各个引脚功能 6.生成代码 四.编写代 ...

  5. Esp8266进阶之路11 企业者的福音之8266接入阿里智能,点亮一盏LED灯,期待天猫精灵语音控制的不约而至!

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 序号 SDK版本 内容 链接 1 nonos2.0 搭建 ...

  6. 记录1——stm32f411CEU6之点亮一盏LED灯+按键控制LED灯

    文章目录 前言 一.准备工作 二.点亮一盏LED灯 1.配置工程 2.代码实现 3.程序烧录注意 三.按键控制LED灯 1.配置工程 2.代码实现 按键控制 按键进阶1: 按键进阶2 3.基于自己理解 ...

  7. Step1 :【C51】LED灯闪烁、跑马灯、流水灯、实现每次亮两个灯的流水灯

    Step1Step1Step1 :[C51]LED灯闪烁.跑马灯.流水灯.实现每次亮两个灯的流水灯 在我所使用的开发板中,LED采用共阳极接法,即所有LED阳极管脚接电源VCC,其阴极管脚接到P2口上 ...

  8. 【ESP32DEVKITV1学习笔记】点亮一盏LED灯

    目录 前言 一.环境的搭建 1.下载Visual studio Code 2.下载platformIO IDE 二.点亮一盏LED灯 1.硬件准备 2.新建工程 3.烧录 总结 Q&A 前言 ...

  9. Esp8266进阶之路10 【小实战下篇】Windows系统搭建8266的本地Mqtt服务器,局域网点亮一盏LED灯。(带Demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 序号 SDK版本 内容 链接 1 nonos2.0 搭建 ...

最新文章

  1. [JAVA EE] JPA 查询用法:自定义查询,分页查询
  2. 使用html测试数据库连接与操作(含界面) 第一步界面设计
  3. python 100题
  4. python 创建空文件的方法
  5. BigDecimal去除末尾多余的0
  6. halcon python缺陷检测_Halcon学习笔记之缺陷检测(一)
  7. iservice封装有哪些方法_对WebService的一些封装技巧总结
  8. 千方科技的中场战事:选择、进化与野望
  9. Linux shell 编程(四):变量
  10. 20171006-构建之法:现代软件工程-阅读笔记
  11. 在浏览器中将表格导入到本地的EXCEL文件,注意控制内存
  12. 2019数模美赛规则
  13. 【FFmpeg4.1.4 编码】h265编码
  14. AndroidX App Startup 介绍及使用
  15. 解空间树搜索 及 最优解
  16. Linux内核regulator架构和编写
  17. 论CTOR添加到11月BCH协议升级
  18. android控制wifi,Android控制wifi开关
  19. 移动机器人全覆盖路径规划及仿真(三.地图分割)
  20. Linux系统配置(磁盘管理)

热门文章

  1. CentOS 7系统关闭yum自动下载更新
  2. Linux下MySql数据库常用操作
  3. IT项目之旅(一)《宿舍管理系统》设计与实现
  4. 使用python 提取html文件中的特定数据
  5. VC++更改主窗口标题栏文字
  6. VMware 虚拟机 无法将Ethernet0连接到虚拟网络VMnet0 问题
  7. C# DirectX 开发2 - 定义一个矩阵和赋值
  8. Win32 汇编环境和入门程序图解
  9. Java JDBC数据库 之 DBUtil 封装类
  10. 消除文法中一切左递归算法