nios II--实验7——数码管IP软件部分

时间:2022-09-22 10:33:37

软件开发

  1. 首先,在硬件工程文件夹里面新建一个software的文件夹用于放置软件部分;打开toolsàNios II 11.0 Software Build Tools for Eclipse,需要进行Workspace Launcher(工作空间)路径的设置,需要注意的是路径中不要含有空格等,然后单击OK即可。

nios II--实验7——数码管IP软件部分

nios II--实验7——数码管IP软件部分

  1. 新建工程。单击File -> New -> Nios II Application and BSP from Template,弹出Nios II Application and BSP from Template对话框。先选择对应的SOPC系统,单击SOPC Information File name后面的浏览按钮,选择之前硬件部分做好的软核文件,后缀名为.sopcinfo,这里一定要注意,选择的文件一定要对应起来,否则会因为软硬不匹配导致系统失败。这里选择的lab6_seg.sopcinfo,然后系统会自动读取CPU name,不用再进行设置,下面填写Project name,这里填写为lab6_seg,工程模板(Project template)使用默认的即可。然后单击Finish完成即可。这时候会在左侧的Project Explorer中生成两个工程文件。

nios II--实验7——数码管IP软件部分

代码设计具体看源工程

nios II--实验7——数码管IP软件部分

  1. 右击工程,选择Nios II -> BSP Editor,进入Nios II BSP Editor配置界面。主要在main选项卡下hall中进行配置。然后单击Generate,生成BSP库。生成完成后,单击Exit退出即可。

nios II--实验7——数码管IP软件部分

nios II--实验7——数码管IP软件部分

  1. 编译工程。右击选择Build Project。第一次编译的话,时间也会比较常,耐心等待一下。
  2. 编译完成后,先将.sof文件下载到FPGA;
  1. 右击工程,选择Run As -> Nios II Hardware,弹出Run Configurations对话框,默认Project选项卡中Project name和Project ELF file name应该都是有内容的,没有的选一下。然后进入Target Connection选项卡,Connections中如果没有东西的话,单击右侧的Refresh Connection来查找下载器,查找后单击System ID Prroperties…,进行系统ID检测,检查是否是之前设置的ID号,无误后点击Apply,然后再点击Run,这是程序会被自动下载,最终在Nios II Console选项卡中会显示下载完成后程序运行的结果。

nios II--实验7——数码管IP软件部分

nios II--实验7——数码管IP软件部分

  1. 运行结果,板子上的数码管进行计数显示。

nios II--实验7——数码管IP软件部分

实验代码

/*

* "Hello World" example.

*

* This example prints 'Hello from Nios II' to the STDOUT stream. It runs on

* the Nios II 'standard', 'full_featured', 'fast', and 'low_cost' example

* designs. It runs with or without the MicroC/OS-II RTOS and requires a STDOUT

* device in your system's hardware.

* The memory footprint of this hosted application is ~69 kbytes by default

* using the standard reference design.

*

* For a reduced footprint version of this template, and an explanation of how

* to reduce the memory footprint for a given application, see the

* "small_hello_world" template.

*

*/

#include "system.h"

#include "altera_avalon_pio_regs.h"

#include "altera_avalon_timer_regs.h"

#include "alt_types.h"

#include "sys/alt_irq.h"

#include <stdio.h>

#include <unistd.h>

#include <io.h>

#include <string.h>

/********************************

Variables

********************************/

// 数码管显示字符对应的 16 进制数

]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,

0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};// 0-F

};

]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};

;

/********************************

Functions

********************************/

void init_timer(void);

/*

*================================functions================================

Name: main

Description:

*=========================================================================

*/

int main(void)

{

;

];

;

init_timer();

){

sprintf(buf,"%06u",j++);

;i++){

-i]-'0';

}

);

}

;

}

void ISR_handle_timer(void*context)

{

IOWR_ALTERA_AVALON_PIO_DATA(SEG_WEI_BASE,0xff);

IOWR_ALTERA_AVALON_PIO_DATA(SEG_WEI_BASE, bittab[cnt]);

IOWR_ALTERA_AVALON_PIO_DATA(SEG_DUAN_BASE, segtab[led_buffer[cnt]]);//

cnt++;

)

;

IOWR_ALTERA_AVALON_TIMER_STATUS(TIMER_BASE,0x00);// 清除中断标志寄存器

}

void init_timer(void)

{

IOWR_ALTERA_AVALON_TIMER_STATUS( TIMER_BASE,0x00);// 清除中断标志寄存器

);// 设置定时周期 1s

);

IOWR_ALTERA_AVALON_TIMER_CONTROL( TIMER_BASE,0x07);// 使能中断

alt_ic_isr_register( TIMER_IRQ_INTERRUPT_CONTROLLER_ID, TIMER_IRQ,

ISR_handle_timer,NULL,0x0);// 注册中断

}

每日推送不同科技解读,原创深耕解读当下科技,敬请关注微信公众号“科乎”。

nios II--实验7——数码管IP软件部分

nios II--实验7——数码管IP软件部分的更多相关文章

  1. nios II--实验7——数码管IP硬件部分

    数码管 硬件开发 新建原理图 打开Quartus II 11.0,新建一个工程,File -> New Project Wizard…,忽略Introduction,之间单击 Next>  ...

  2. 关于Quartus II 13&period;0对应开发NIOS II软件程序时报错Symbol 'NULL' could not be resolved问题的解决方法

    关于Quartus II 13.0对应开发NIOS II软件程序时报错Symbol 'NULL' could not be resolved问题的解决方法 近期在评估使用NIOS II处理器进行项目的 ...

  3. DE1-SOC开发板上搭建NIOS II处理器运行UCOS II

    DE1-SOC开发板上搭建NIOS II处理器运行UCOS II   今天在DE1-SOC的开发板上搭建NIOS II软核运行了UCOS II,整个开发过程比较繁琐,稍微有一步做的不对,就会导致整个过 ...

  4. 【小梅哥SOPC学习笔记】NIOS II处理器运行UC&sol;OS II

    SOPC开发流程之NIOS II 处理器运行 UC/OS II 这里以在芯航线FPGA学习套件的核心板上搭建 NIOS II 软核并运行 UCOS II操作系统为例介绍SOPC的开发流程. 第一步:建 ...

  5. Nios II 系统时钟timestamp的应用

    在用Nios II做外设时序驱动的时候,经常会用延时函数.有时会常使用某个FPGA芯片和时钟,比如笔者一直使用的芯片是cyclone系列 EP2C35F484C8N,PLL输入SOPC时钟是50M.因 ...

  6. 【小梅哥SOPC学习笔记】切换NIOS II CPU的主内存后软件中需要注意的几点设置

    切换NIOS II CPU的主内存后软件中需要注意的几点设置 有时候,我们可能面对这样一种情况: 1. 我们创建一个SOPC系统,并在QSYS中设置NIOS II的复位地址和异常地址都指向SRAM: ...

  7. FPGA回忆记事(一):基于Nios II的LED实验

    实验一:基于Nios II的LED实验 一.    创建Quartus II工程 1.打开Quartus II环境.开始->程序->Altera->Quartus II 9.1. 2 ...

  8. sof文件和NIOS II的软件(elf)合并为jic文件以使用Quartus Programmer烧写

    将Altera FPGA的sof文件和NIOS II的elf固件合并为一个jic文件以使用Quartus Programmer烧写   我们在学习和调试NIOS II工程的时候,一般都是先使用Quar ...

  9. 使用华邦的SPI FLASH作为EPCS时固化NIOS II软件报错及解决方案

    Altera器件有EPCS系列配置器件,其实,这些配置器件就是我们平时通用的SPIFlash,据AlteraFAE描述:“EPCS器件也是选用某家公司的SPIFlash,只是中间经过Altera公司的 ...

随机推荐

  1. Java &lbrack;leetcode 1&rsqb; Two Sum

    小二终于开通博客了,真是高兴.最近在看Java,所以就拿leetcode练练手了.以后我会将自己解体过程中的思路写下来,分享给大家,其中有我自己原创的部分,也有参考别人的代码加入自己理解的部分,希望大 ...

  2. 基于ASP&period;NET的comet简单实现 http长连接,IAsyncResult

    http://www.cnblogs.com/hanxianlong/archive/2010/04/27/1722018.html 我潜水很多年,今天忽然出现.很久没写过博客了,不是因为不想写,而是 ...

  3. Putty使用公钥认证时,报错:Disconnected&colon; No supported authentication methods available&lpar;server sent&colon;public key&rpar; 问题的解决

    Putty使用公钥认证时,按照常规方法设置,一直报错:Disconnected: No supported authentication methods available (server sent: ...

  4. 夜未央Test1

    积木游戏(block.pas)   [题目描述] 春春幼儿园举办了一年一度的“积木大赛”.今年比赛的内容是搭建一座宽度为n的大厦,最高的积木的最终需要达到h. 在搭建开始之前,没有任何积木(可以看成n ...

  5. Lambda类库篇 —— Streams API&comma; Collector和并行

    本文是深入理解Java 8 Lambda系列的第二篇,主要介绍Java 8针对新增语言特性而新增的类库(例如Streams API.Collectors和并行). 本文是对 Brian Goetz 的 ...

  6. js密码修改显示与隐藏效果

    一.添加input框 <form class="login_form"> <input class="password inputpwd" i ...

  7. 英语进阶系列-A06-本周总结

    本周总结 目录Content 英语进阶系列-A01-再别康桥 英语进阶系列-A02-英语学习的奥秘 英语进阶系列-A03-英语升级练习一 英语进阶系列-A04-英语升级练习二 英语进阶系列-A05-英 ...

  8. 使用PROC TRANSPOSE过程步对数据集进行转置时如何保持日期变量的时间顺序

    有一个数据集如下所示: 如果直接进行转置. SAS程序: proc transpose data=test out=outx1 (drop=_name_); by id; var amount; id ...

  9. Windows系统服务管理

    1.用SC命令管理: 启动redis服务: C:\Users\Administrator>sc start redis 停止redis服务: C:\Users\Administrator> ...

  10. IE8的兼容问题

    1: rgba失效的问题: 在添加rgba的类名内加上:filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#7f00000 ...