05 2012 档案
使用alt_main()无法进入中断问题的解决(转帖)
摘要:Abstract 最近使用接触到alt_main(),发现会有很多问题,还好网上有些大侠已经给出了解决方法,本热也实验了一下,在此总结下来。Introduction 一个计时器中断程序始终跑不起来:volatile alt_u8 led;static void handle_Timer_interrupts(void* context, alt_u32 id){ volatile alt_u8 *led_ptr = (volatile alt_u8 *)context; IOWR_ALTERA_AVALON_TIMER_STATUS(TIMER_0_BASE, 0);//清TO标志 IOWR_ 阅读全文
posted @ 2012-05-25 15:48 lbyzsf 阅读(526) 评论(0) 推荐(0)
nios中alt_main 和main的区别(转)
摘要:NiosII处理器的启动可采用两种方式:自动初始化和用户自定义初始化,nios中alt_main 和main的区别也在这里。如果NiosII处理器自动初始化,ANSIC标准定义应用程序可以通过调用main()来开始执行。在调用main()之前,应用程序假定运行环境和所有的服务系统都被初始化并准备运行。初始化可以被硬件抽象层(HAL)系统库自动执行。程序员不需要考虑系统的输出设备以及如何初始化每一个外设,HAL会自动初始化整个系统。如果用户要避免自动初始化。ANSIC标准将提供了一个可变的入口点程序,定义程序员能手动初始化任何所用的硬件。alt_main()函数提供了一个独立式的编程环境,能够完 阅读全文
posted @ 2012-05-24 08:55 lbyzsf 阅读(561) 评论(0) 推荐(0)
JTAG_UART控制LED实验(转帖)
摘要:一、硬件(使用的是Quartus II 9.0)1、建立工程,打开SOPC Builder,添加CPU(次部分可根据实际硬件平台更改)。选择标准NIOS即可2、添加PLL点击Launch Altera‘s ALTPLL MegaWizard器件速度等级按自己的FPGA选择,我的FPGA是EP2C8,所以选择8输入时钟根据晶振决定,我的板子上是50MHz输出两个时钟: C0 50MHz 相位 0 C1 50MHz 相位 -72度将Clock Settings中的pll.co更名为sys_clk,pll.c1更名为sd_clkCPU的clock选择sys_clk3、添加SDRAM(我板... 阅读全文
posted @ 2012-05-19 18:31 lbyzsf 阅读(1472) 评论(0) 推荐(0)
gets()fgets()scanf()和puts()fputs()printf()
摘要:Abstruct: 最近在学习niosII的相关软件联系,发现JTAG UART还是很好用的,但是自己对用到的一些输入输出函数等有些生疏了,所以网上搜了搜资料,整理了一下。Introduction:字符串输入:gets() char name[20]; printf("Hi,What's your name?\n"); gets(name); printf("Nice name %s",name);它使用一个地址把字符串赋予name。 char name[20]; char *p; printf("\nEn,What's you 阅读全文
posted @ 2012-05-19 15:44 lbyzsf 阅读(928) 评论(0) 推荐(0)
NiosII watchdog使用方法(转帖)
摘要:本文简单描述如何使用watchdog_timer服务,并给出一个简单范例。使用环境:Altera Quartus 9.1 SP1 + Nios II 9.1 Software Build Tools for Eclipse SP1步骤1 在SOPC Builder中例化Interval Timer核:1. 在SOPC Builder中例化Interval Timer核,命名为watchdog_timer。图1 例化Interval Timer核2. 配置Interval Timer核图2 配置Interval Timer核在Hardware options的预设置处,选择Watchdog。注意 阅读全文
posted @ 2012-05-17 18:36 lbyzsf 阅读(750) 评论(0) 推荐(0)
NAND和NOR flash的区别(转载)
摘要:Abstruct 最近涉猎嵌入式相关,有些存储器方面的知识不是很明白,看到一篇童鞋的flash介绍,分享一下。Introduction NOR和NAND是现在市场上两种主要的非易失闪存技术。Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。紧接着,1989年,东芝公司发表了NAND flash结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。但是经过了十多年之后,仍然有相当多的硬件工程师分不清NOR和NAND闪存。 相“flash存储器”经常可以与相“NOR存储器”互换使用。许多业内人士也搞不清楚NAND. 阅读全文
posted @ 2012-05-16 13:38 lbyzsf 阅读(207) 评论(0) 推荐(0)
NiosII timestamp使用时编译出现undefined reference to `alt_timestamp问题
摘要:Abstract 本文介绍了使用timestamp时,编译时出现undefined reference to `alt_timestamp等错误的解决方法,应该对初学者有些帮助。编译环境NIOSII 11.0Introduction 本人在做timestamp的练习时,明明加入了#include "sys/alt_timestamp.h" 这个头文件,但是还是编译出问题。如下图:程序代码:#include <stddef.h>#include <stdio.h>#include <sys/alt_timestamp.h>#include 阅读全文
posted @ 2012-05-13 12:14 lbyzsf 阅读(3790) 评论(0) 推荐(0)
[转帖].怎样使用Nios II中的sys_clk_timer?
摘要:Abstract本文简单描述如何使用sys_clk_timer服务,来控制led每100ms开关一次。使用环境:Altera Quartus 9.1 SP1 + Nios II 9.1 Software Build Tools for Eclipse SP1Introduction步骤1 在SOPC Builder中例化Interval Timer核:1. 在SOPC Builder中例化Interval Timer核,命名为sys_clk_timer。图1 例化Interval Timer核注意:命名为sys_clk_timer只是为了和BSP中sys_clk_timer一致,也可以命名为其 阅读全文
posted @ 2012-05-12 15:24 lbyzsf 阅读(670) 评论(0) 推荐(0)