Nios-II编程入门

      • 一、实验设备
      • 硬件:PC 机、DE2-115 FPGA 实验开发平台;
        软件:Quartus-II、Platform Designer、Nios II SBT

        1、 新建一个工程

      • 2、 Qsys 系统设计
        a. 点击 Tools 下拉菜单下的 Qsys 工具

        b. 启动 Qsys 后,点击 File —> save,如图 1.7 所示,在文件名中填写为 kernel,后点击 OK

      • c. 鼠标放在 clk_0 处点击右键 Edit 或是双击 clk_0 元件,对 Clock 进行时钟设置,设为为 50M

      • 添加 Nios II 32-bit CPU

        在 “component library” 标签栏中找到 “Nios II Processor” 后点击 Add

        在 Nios Core 栏中选择 Nios II/f 选项,其他保持默认选项
      • 在 ”Caches and Memory Interfaces” 标签栏中保持默认设置 (Instruction Cache 选择
        4Kbytes)
      •  添加 jtag uart 接口。

        jtag uart 接口是 Nios II 嵌入式处理器新添加的接口元件,通过内嵌在 Intel FPGA 内部的 JTAG 电路,可以实现在 PC 主机与 Qsys 系统之间进行串行字符流通信。

        在 JTAG UART-jtag-uart_0 的设置向导中保持默认选项,点击 Finish

        进行 clkreset 以及 master-slave 的连线
        进行中断 irq 连线
      •  添加片上存储器 On-Chip Memory(RAM)核
        在左侧 ”Component Library” 标签栏中的查找窗口输入 On Chip 找到 ”On-Chip
        Memory(RAM or ROM)”
         后点击 Add

         添加 PIO 接口
        在左侧 ”Component Library” 标签栏中的查找窗口输入 pio 找到 ”PIO” 后点击Add

         添加片 System ID Peripheral 核
        在左侧 ”Component Library” 标签栏中的查找窗口输入 sys 找到 ” System ID
        Peripheral”
         后点击 Add

        保持默认选项,单击 Finish

      • 3、完成 Qsys 设计的后续工作
         基地址分配:点击 Qsys 主界面菜单栏中的 ”System” 下的 ”Assign Base Addresses”
        如下图所示:
      • 4、进行逻辑连接和生成管脚
         在 kernel 模块内点击鼠标右键选取 Generate Pin for Symbol Ports 生成管脚,然后将管脚命名如下:

        三、基于NIOS-II软核流水灯实现(软件设计)
        下面使用 Nios II Software Build Tools for Eclipse 来完成当前项目的软件开发

        ① 在 Quartus-II 界面,点击Tools,然后点击 Nios II Software Build Tools for Eclipse 打开 Nios II SBT for Eclipse

        ② 启动 Workspace 选择当前的项目目录,点 Ok

      • 将 hello_world.c 中的程序修改为流水灯控制程序
      • #include "system.h"
        #include "altera_avalon_pio_regs.h"
        #include "alt_types.h"
        const alt_u8
        led_data[8]={0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF};
        int main (void) {
            int count=0;
            alt_u8 led;
            volatile int i;
            while (1)
            {
                if (count==7)
                {count=0;}
                else
                {count++;}
                led=led_data[count];
                IOWR_ALTERA_AVALON_PIO_DATA(PIO_LED_BASE, led);
                i = 0;
                while (i<500000)
                    i++;
            }
            return 0;
        }

        四、运行流水灯项目

        配置 Run Configurations,转到 ”Target Connection” 标签栏,点击右侧的 Refresh
        Connections
         将 USB-Blaster 加入

        ③ 开发板的 LED 灯循坏闪烁
        显示结果如下
  • 12
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值