摘要:转载:http://blog.ednchina.com/conan85420/431119/message.aspx 本程序首先输出目标地址空间的数据,然后连续发起两次DMA传输,最后再次输出DMA传输后目标地址空间的数据。 第二次发起可以在第一次DMA传输没有结束的情况下开始,不过要注意,两次的目标地址不能有重叠部分,否则发起会失败。 #include <stdio.h> #include <...
阅读全文
摘要:(1) dma_1: memory to periheral read_master: sdram中的数组的地址 write_master: uart txdtxddata地址 (2)uart ip 定制 (3) dma ip 定制 根据 dma 的ds,至少得read_master 两倍的深度,不然会出错(此处准备1024,故增大一位11:bit) 次数是数据寄存器的长度,即数量,不是宽...
阅读全文
摘要:http://blog.ednchina.com/chactor/185802/message.aspx #include <stdio.h> #include <stdlib.h> #include <sys/alt_dma.h> #include "system.h" static volatile int rx_done = 0; int rc; alt_dma_txchan txchan;...
阅读全文
摘要:http://blog.ednchina.com/chactor/185802/message.aspx Nios II中的DMA传输有以下三种形式: 1、 存储器到存储器 这种情况下需要同时打开发送通道和接收通道,而且源地址和目标地址都是自增的。 tx = alt_dma_txchan_open("/dev/dma_0");//打开发送通道 dma_res = alt_dma_txchan_s...
阅读全文
摘要:[转载].基于Nios II的DMA传输转门金瑞兄的博文:http://www.cnblogs.com/menjr/archive/2010/05/04/1727226.html关于DMA传输的实验。在系统运行时,当需要传输大量数据时,可以采用DMA的方式进行传输,以解脱出CPU来处理其他命令。Nios II中的DMA传输有以下三种形式:1、 存储器到存储器这种情况下需要同时打开发送通道和接收通道,而且源地址和目标地址都是自增的。view sourceprint?01//打开发送通道 0203tx = alt_dma_txchan_open("/dev/dma_0"); 0
阅读全文
摘要:主要修改了函数类型,兼容了普通和增强型中断 主要函数如下: (1)uart_regs.h (2)mcu_uart.h (3)mcu_uart.c (4)sys_main.c //-------------------------------------------------------------------------- /* * uart_regs.h * * Created on: 20...
阅读全文
摘要:nios2 开始,irq有了增强型,但其实增强型只是个外壳,内部还是原始的irq,一摸一样晕得很。。。 此处不对此做任何主观见解,也许altera要升级,先封装在发挥呢。 此处为了达到altera的要求,我们可以为所欲为的设计兼容普通和增强型irq的代码 关于是否是增强型,定义在system.h里面 nios2 91会自动帮你设计为增强型,如果你非要用原始的中断,先把“#define ALT_E...
阅读全文
摘要:volatile int key_edge; void* key_edge_ptr = (void*) &key_edge; volatile int* key_edge_ptr = (volatile int*) key_isr_context; (1) volatile int key_edge; a) 定义整型参数key_edge。 b) Volatile是type-modifier,类型...
阅读全文
摘要:快死了,真的快死了,心死了,哀莫大于心死。。。 因为调摄像头,其中有个模式是“fps切换”,需要用到PIO外部中断,但是以前没写过,反正当年用过51,应该挺简单的,结果,差点让我执行了想死的冲动。。。 操蛋的代码一直死在中断初始化那边,一次又一次的压抑自己想死的冲动。 首先NIOS 91用了增强型中断,当然这不是问题的关键,我不详说,看牙缝的博客:http://www.cnblogs.co...
阅读全文
摘要:软件复位+硬件复位==== 同步====SOPC复位信号
阅读全文
摘要:hyh808问:如何获得完整的SOPC Builder和GNUPro Bill Yuan答复:如果您购买了我们的开发板,我们随板提供这些软件,包括Quartus II sdfwx1问:完全版的NIOS需要多少钱? Horace答复:You can buy the Cyclone-Nios Kit or Stratix-Nios Kit, now has a special offer ( USD ...
阅读全文
摘要:学sopc也有个很长一段时间,最近第一次自己设计IP核。 参照了艾米的自定义IP核:SRAM,12864的例子,以及黑金的PWM的例子,同时看了两本书,以及《Avalon-MM Interface Specialtion》,最后按部就班设计,为了验证,先从简单的开始,可是sram好像可以,lcd1602和led 都不行,在此处我先讲解我设计led的流程: (1)当然是led ip verilog的...
阅读全文
摘要:静态地址边界是由主端口数据宽度决定的字地址。 (1)对具有8位数据宽度的主端口,静态地址边界落在地址0x00,0x01,0x02,0x03… (2)对于具有32位数据宽度的主端口,静态地址边界落在地址0x00,0x04,0x08,0x0C… 每个地址就8个字节,即一个字,一次操作就一个字节(byteenable) (1)当主端口和从端口数据宽度一样的时候------静态地址边界对齐 (2)当...
阅读全文
摘要:Avalon Interface Special http://www.altera.com.cn/literature/manual/mnl_avalon_spec.pdf Avalon总线是SOPC硬件系统的重要组成部分,了解龙妹妹总线的特点、信号以及传输模式等,是构建SOPC硬件系统、开发自定义外设IP的基础。 Avalon接口规范定义了外设和Avalon开关互联结构(Avalon Swit...
阅读全文
摘要:我是看着牙缝的博文长大的。。。SRAM http://www.cnblogs.com/yuphone/archive/2010/09/27/1836519.html12864 http://www.cnblogs.com/yuphone/archive/2010/03/25/1694547.html
阅读全文
摘要:一些表格 表1 Nios II处理器系统的最大时钟频率(tMAX)(MHz) 表2 Nios II处理器系统的MIPS(每秒钟一百万个指令) 表3 在不同设备家族上的Nios II处理器系统的MIPS/MHz比 表4 Nios II处理器核和外设的逻辑元件使用率——Stratix IV、Stratix III、Stratix II和Stratix设备 表5 Nios II处理器核和外设的逻...
阅读全文
摘要:这个问题困扰了我n久n久了(2天)...IOWR 写数据总结出郁闷的问题http://www.cnblogs.com/crazybingo/archive/2010/11/26/1888731.html上篇博文中我提出了问题,对于#define LED_DATA *(volatile unsigned char*) LED_PIO_BASE 直接操作没有效果,但后面加一句printf()后可执行,...
阅读全文
摘要:找不到一个完整说这个的资料… 找不到对应版本的handbook关于这个的… 以前让人家教我,由于种种原因,最终没… 人家都说,这都不知道,自己看书去... 我只能一步一步试验,终于最后,我修成正果了… 既然没有完整的,那我自己创造好了(创造其实恨多时候是被逼的…) (1)建立Quartus II 工程 (2)在SOPC设计CPU和外设 (3)在Quartus II配置综合整个工程(PLL,SOP...
阅读全文
摘要:本文意不在于LED的点亮操作,而在于说数据操作上的写法(1)#define LED_DATA *(volatile unsigned char*) LED_PIO_BASE。。。int main(){ unsigned char table[]={0x00,0x01,0x02,0x03}; //2个LED unsigned char i; while(1) { for(i=0;i<4;i++...
阅读全文
摘要:本文对NiosII 处理器的经济型Nios II/e和快速型Nios II/f在不同的优化方式下测试其性能,测试了以下代码的运行时间。1、Printf//文件打印 2、usleep(1000)//睡眠时间 3、IOWR_ALTERA_AVALON_PIO_DATA//端口读写 测试代码如下: #include <stdio.h>#include "system.h"#include "...
阅读全文