niosii 使用MSGDMA踩坑记录

**项目情况说明:**使用niosii,ddr3,msgdma(下文用DMA代指),三速以太网。控制dma在ddr和以太网接口之间进行数据搬移,分别使用流到存储器和存储器到流模式。
**踩坑记录:**1.DMA传输完成是指从存储器取完数据,但是还没有完全传输到流端,要注意检测busy状态来判断传输完成。
2.DMA IP的数据FIFO深度参数,默认配置的是32。测试发现传输的数据有个别数据错乱,把深度加大就正常。目前没找到相关解释。
3.DMA IP的传输类型选择对齐访问,数据宽度选择32位。测试结果总是从我设定的满足4字节对齐地址的后两个字节开始传输,现象等同于好像DMA取数据的地址线第二位始终是1。DMA传出和传入到存储器的现象是一样有效传输数据总是开始于我设定地址的后两位,但是我设置的地址又满足了4字节对齐。原因查找发现由于DMA传输对象是以太网,以太网IP核设置了以太网包4字节对齐,由于以太网的帧头是14个字节所以以太网IP核在发送时会丢弃前两个字节,在接收时会增加两个字节来对齐4字节。
4.当要访问DMA流到存储器到底传输了多少字节时,需要使能IP参数response port,于此同时c语言程序里面描述符的长度参数要么设置你想要去接受的数据量要么设置为IP核里面的最大传输字节。如果设置大于最大传输字节读取该数据寄存器会有问题。response寄存器必须要dma传输完成后才能去读取,并且要把response的所有寄存器(两个)读完,否则它的FIFO最终会被填满DMA会一直处于busy状态。
DMA IP核描述:要实现跨区域高效率的DMA需要选择IP核里面的prefetching module.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
NIOS2 设计方案开发技术资料FPGA设计文档开发应用例子资料69个合集: Nios 2 小册子.pdf NIOS 2 开发常见问题.pdf Nios 2 软件代码优化方法.pdf NIOS 2常见问题总结.pdf NIOS 2应用开发ABC.pdf NIOS 2熟悉开发环境.pdf Nios2 的Boot过程分析.pdf NIOS 2熟悉开发环境.pdf NIOS2 FLASHStep_by_step.pdf Nios2之常见问题解答.pdf Nios2之软件调试技巧.pdf Nios2系统开发流程.pps Nios2软件调试技巧.pdf Nios_Starter.pdf Nio2集成开发环境问世.pdf NIOS入门.pdf Nios2入门实验程序问题整理.pdf Nios2嵌入式处理器的CPU结构.pdf NIOS2嵌入式系统的可扩展性分析.pdf Nios2教材.pdf NIOS2软核处理器的Linux引导程序U_boot设计.pdf 基于Altera Nios平台的信号高速采集系统.pdf 基于ARM+FPGA的大屏幕显示器控制系统设计.pdf 基于DSP与FPGA的LED显示屏控制系统的设计.pdf 基于DSP与FPGA的LED显示屏控制系统的设计2.pdf 基于DSP与FPGA的LED显示屏控制系统的设计3.pdf 基于DSP与FPGA的LED显示屏控制系统的设计4.pdf 基于DSP与FPGA的LED显示屏控制系统的设计5.pdf 基于DSP与FPGA的LED显示屏控制系统的设计6.pdf 基于DSP与FPGA的LED显示屏控制系统的设计7.pdf 基于FPGA乒乓球比赛游戏机的设计.pdf 基于FPGA圆阵超声自适应波束形成的设计.pdf 基于FPGA的AGWN信号生成器.pdf 基于FPGA的DDR SDRAM控制器在高速数据采集系统中的应用.pdf 基于FPGA的FFTIFFT处理器的实现.PDF 基于FPGA的PCB测试机硬件电路设计.pdf 基于FPGA的VGA时序彩条信号实现方法及其应用.pdf 基于FPGA的VGA显示模块设计.pdf 基于FPGA的嵌入式系统设计.pdf 基于FPGA的快速傅立叶变换.PDF 基于FPGA的总线型LVDS通信系统设计.pdf 基于FPGA的简易微型计算机结构.pdf 基于FPGA的简易数字存储示波器设计.pdf 基于FPGA的远程图像采集系统设计.pdf 基于FPGA的高速数字隔离型串行ADC应用.pdf 基于Nios 的通用数字调制器设计与实现.pdf 基于Nios的DDS技术在电磁无损检测中的应用.pdf 基于Nios的LED显示屏控制系统.pdf 基于Nio和eCos的串口通信程序开发.pdf 基于NIO嵌入式软核处理器的LCD控制方法研究.pdf 基于Nio的USB接口模块设计.pdf 基于Nio的纤维自动识别系统设计.pdf 基于NIOS处理器的SOPC应用系统研究与设计.pdf 基于NIOS处理器的面阵CCD采集系统设计.pdf 基于Nios嵌入式软核处理器的液晶显示屏控制.pdf 基于NIOS嵌入式软核的硬盘录像机的设计.pdf 基于Nios的DDS信号源实现.pdf 基于Nios的DDS高精度信号源实现.pdf 基于Nios的SOPC系统设计以及程序引导.pdf 基于NIOS的SOPC设计.pdf 基于Nios的掌纹鉴别系统设计与实现.pdf 基于NIOS的无中心电话系统中噪声的分析与抑制.pdf 基于Nios的通用编译码器的设计.pdf 基于NIOS软核CPU技术的多路电话计费系统的设计与实现.pdf 基于Nios软核的音频效果器.pdf 基于SYSTEM C的FPGA设计方法.pdf 基于声卡的LabVIEW数据采集与分析系统设计.pdf 基于多种EDA工具的FPGA设计.pdf 基于模糊控制的迟早门同步器及其FPGA实现.pdf
### 回答1: NIOS II 是一个可编程逻辑器件(PLD)中的嵌入式处理器,广泛用于设计和开发嵌入式系统。要使用 NIOS II,您需要使用一个可编程器件设计软件(如 Altera Quartus II)来将其编程到 PLD 中。然后,您可以使用各种软件工具来开发 NIOS II 的应用程序,并将其下载到 PLD 中运行。这些软件工具包括编译器,调试器和模拟器。您还可以使用操作系统(如 eCos)来运行您的应用程序。 常见的步骤包括: 1. 安装 NIOS II 软件开发工具套件(SDE)。 2. 创建一个新的 NIOS II 项目。 3. 设计 PLD 电路板。 4. 使用 SDE 中的编译器编译您的应用程序。 5. 使用 SDE 中的模拟器测试应用程序。 6. 使用 SDE 中的调试器调试应用程序。 7. 将应用程序下载到 PLD 中。 有关使用 NIOS II 的更多信息,请参阅 Altera 的文档和教程。 ### 回答2: NIOS II是一种基于软核的处理器,由Altera公司(现已被英特尔收购)开发。它支持嵌入式系统的开发,并提供了许多方便的功能和工具。 首先,我们需要安装Quartus II软件套件,这是开发NIOS II的必备工具。安装完成后,我们可以打开Quartus II并创建一个新的工程。 接下来,我们需要选择NIOS II处理器作为我们的工程的核心。在Quartus II的项目导航窗口中,选择“Processing System”并添加一个NIOS II处理器。 在添加NIOS II处理器后,我们可以配置处理器的各种选项,例如时钟频率、内存大小、中断等。这些选项将根据我们的项目需求进行配置。 在配置完处理器后,我们可以为NIOS II添加外设和IP核。通过选择“Add/Edit Connections”,我们可以在Quartus II的IP库中添加和配置各种外设,如UART、SPI、I2C等。 一旦我们添加了所需的外设和IP核,我们可以使用C或汇编语言来编写嵌入式软件。我们可以将软件文件添加到Quartus II的项目中,并指定在FPGA上启动时执行的软件。 在完成软件编写后,我们可以编译和下载嵌入式软件到开发板上。为此,我们需要使用NIOS II的Eclipse IDE插件。通过这个插件,我们可以编译、调试和下载软件,并在开发板上进行实时调试。 此外,NIOS II还提供了丰富的开发和调试工具。例如,我们可以使用SignalTap II逻辑分析仪来观察和分析FPGA上的信号。我们还可以使用NIOS II的系统控制台来与FPGA进行交互。 总之,NIOS II是一种强大的嵌入式处理器,提供了丰富的功能和工具,用于开发嵌入式系统。通过Quartus II软件套件和相关工具,我们可以方便地配置、编写和调试嵌入式软件,并将其部署到FPGA上。 ### 回答3: NIOS II是一个可定制的软核处理器,由Altera(现为英特尔子公司)设计和开发。它可以在FPGA(现场可编程门阵列)芯片上进行实现,并且具有可编程性、可调整性和灵活性。以下是NIOS II的使用方法概述: 1. 设计与配置:首先,在Altera的Quartus II软件中,使用NIOS II EDS(嵌入式设计套件)进行处理器的设计和配置。根据需求选择适当的配置选项,如处理器类型、指令集、性能级别等。 2. 软件开发:使用NIOS II EDS提供的开发环境进行软件开发。NIOS II支持标准C/C++编程语言,主要通过Eclipse集成开发环境(IDE)进行开发。开发者可以编写程序、调试代码并进行性能优化。 3. 硬件/软件系统设计:NIOS II支持硬件/软件协同设计。通过Quartus II软件,可以根据需要添加外设模块、调整内部总线和外设的连接方式,以构建完整的系统。 4. 系统集成与验证:将软件与硬件系统进行集成和验证。NIOS II提供了软硬件协同仿真环境,可以进行系统级仿真和验证,以确保整个系统的稳定性和正确性。 5. 下载和调试:将最终的可执行文件下载到目标FPGA中。NIOS II提供了下载工具和硬件调试接口,可以进行在线或离线调试,以及性能分析和优化。 总之,NIOS II是一种灵活、可调整的软核处理器,可以用于嵌入式系统设计和开发。它的使用方法涉及处理器设计与配置、软件开发、硬件/软件系统设计以及系统集成与验证等过程。通过NIOS II,开发者可以根据需求构建定制化的嵌入式系统,并实现高性能、低功耗的应用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值