nios 双核 烧录_Nios程序烧写到EPCS方法
这里主要是针对EP3C系列FPGA的Nios程序固化到EPCS中的方法做简要说明。硬件SOPC1、要固化程序到EPCS,在SOPC Builder中首先需要添加EPCS_Controller核,此外,CPU的reset vector设置为EPCS_Controller,Exception Vector一般设置为SDRAM即可。2、生成该nios_cpu。对于EP3C系列的FPGA来说,在生成cpu后,会出现与EPCS_Controller相关的4根引线(如图),
这在之前的EP2C等早期系列的FPGA中是没有的,因为系统已经默认完成了相应的设置,而EP3C是需要自己来对这些引脚设置的,
这一点尤为要注意,下面就来具体说明一下。这4根信号线分别为(EP3C10F256):EPCS_DATA0 -> H2ASDO -> C1nCS0,(Flash_nCE) -> D2DCLK -> H1在对这4根引线进行引脚分配的时候,要在Device中将这些双功能引脚功能都设置为regular I/O Pin,否则会出现错误:比如:Error:Can't place multiple pins assigned to pin location PIN_H2 ......对这些引脚做完这些设置后,即可进行编译、下载了(引脚分配如下图)。
另外,在使用Quartus II 10.0高版本编译Cyclone IV器件的时候,可能在Device->Dual Purpose里面的DCLK等引脚没有
USE AS Regular I/O选项,用户就无法给DCLK这些引脚指定Pin Assignment。这时的解决办法是:打开工程的.qsf文件,加上以下几句(若存在对这4个引脚的其它类似配置信息时,先删除):set_global_assignment -name RESERVED_FLASH_NCE_AFTER_CONFIGURATION "USE AS REGULAR IO"set_global_assignment -name RESERVED_DATA0_AFTER_CONFIGURATION "USE AS REGULAR IO"set_global_assignment -name RESERVED_DATA1_AFTER_CONFIGURATION "USE AS REGULAR IO"set_global_assignment -name RESERVED_DCLK_AFTER_CONFIGURATION "USE AS REGULAR IO"保存并编译,就可以正确读写EPCS了。软件Nios1、在nios中建立相应工程,并编译。2、编译完成之后,打开FLASH Programmer。勾上Program FPGA configuration data into hardware-image region of flash memory(将FPGA的配置文件写入Flash(EPCS)),并设置对应的.sof文件Hardware Image设置为Custom,Memory设置为EPCS_Controller,offset为0x0,不勾选Program a file into flash memory(可将二进制文件写入Flash)。完成后如图所示:
以上所有设置完成后,Apply,然后Program Flash即可。烧写成功后,会有如下信息:
#!/bin/sh## This file was automatically generated by the Nios II IDE Flash Programmer.## It will be overwritten when the flash programmer options change.#
cd D:/MySoftwares/QuartusII/Mywork/sopc_project/led_test/software/led_test/Debug
# Creating .flash file for the FPGA configuration"$SOPC_KIT_NIOS2/bin/sof2flash" --epcs --input="D:/MySoftwares/QuartusII/Mywork/sopc_project/led_test/led_test.sof" --output="led_test.flash" Info: *******************************************************************Info: Running Quartus II Convert_programming_fileInfo: Command: quartus_cpf --no_banner --convert --device=EPCS128 --option=led_test.opt D:/MySoftwares/QuartusII/Mywork/sopc_project/led_test/led_test.sof led_test.pofInfo: Quartus II Convert_programming_file was successful. 0 errors, 0 warnings Info: Peak virtual memory: 70 megabytes Info: Processing ended: Wed Mar 30 12:34:48 2011 Info: Elapsed time: 00:00:02 Info: Total CPU time (on all processors): 00:00:02Info: *******************************************************************Info: Running Quartus II Convert_programming_fileInfo: Command: quartus_cpf --no_banner --convert led_test.pof led_test.rpdInfo: Quartus II Convert_programming_file was successful. 0 errors, 0 warnings Info: Peak virtual memory: 68 megabytes Info: Processing ended: Wed Mar 30 12:34:51 2011 Info: Elapsed time: 00:00:03 Info: Total CPU time (on all processors): 00:00:02
# Programming flash with the FPGA configuration"$SOPC_KIT_NIOS2/bin/nios2-flash-programmer" --epcs --base=0x01001800 --sidp=0x01002018 --id=1794073991 --timestamp=1301451768 --instance=0 "led_test.flash"Using cable "USB-Blaster [USB-0]", device 1, instance 0x00Resetting and pausing target processor: OKReading System ID at address 0x01002018: verified
: Checksumming existing contents
00000000 : Verifying existing contents
00010000 : Verifying existing contents
00020000 : Verifying existing contents
00000000 : Reading existing contents
00010000 : Reading existing contents
00020000 : Reading existing contents
Checksummed/read 54kB in 1.4s
00000000 ( 0%): Erasing
00010000 (33%): Erasing
00020000 (66%): Erasing
Erased 192kB in 1.9s (101.0kB/s)
00000000 ( 0%): Programming
00010000 (33%): Programming
00020000 (66%): Programming
Programmed 139KB +53KB in 3.3s (58.1KB/s) Did not attempt to verify device contentsLeaving target processor paused
# Creating .flash file for the project"$SOPC_KIT_NIOS2/bin/elf2flash" --epcs --after="led_test.flash" --input="led_test.elf" --output="epcs_controller.flash"
# Programming flash with the project"$SOPC_KIT_NIOS2/bin/nios2-flash-programmer" --epcs --base=0x01001800 --sidp=0x01002018 --id=1794073991 --timestamp=1301451768 --instance=0 "epcs_controller.flash"Using cable "USB-Blaster [USB-0]", device 1, instance 0x00Resetting and pausing target processor: OKReading System ID at address 0x01002018: verified
: Checksumming existing contents
00020000 : Verifying existing contents
00020000 : Reading existing contents
Checksummed/read 42kB in 1.1s
00020000 ( 0%): Erasing
Erased 64kB in 0.6s (106.6kB/s)
00020000 ( 0%): Programming
Programmed 23KB +41KB in 0.7s (91.4KB/s) Did not attempt to verify device contentsLeaving target processor paused
烧写完成,Reset或者断电重启,烧写在EPCS中的程序即开始运行了。
nios 双核 烧录_Nios程序烧写到EPCS方法相关推荐
- nios 双核 烧录_FPGA烧写NIOS ii程序至FLASH(epcs)中
硬件平台:黑金开发板 软件平台:quartus 11.0 NIOS II 11.0IDE FPGA芯片:EP4CE6F17C8N 1. 新建工程,bdf文件,这些不做具体说明了,网络资料详 ...
- 32通过rs485烧写程序_28027芯片sci程序烧写问题请教
需求:希望用TI官方提供的"f28027_flash_kernel"过通sci串口烧录程序 如下所示bootload与pc烧录软件都是TI官方提供的. pc烧录软件: D:tico ...
- 51单片机程序烧写说明
程序烧写说明 USBASP下载器使用方法 启动下载软件PROGISP1.6.7 烧录步骤: 设置编程器及接口,编程器选择USBASP,接口为USB(如图) 选择芯片,在选择芯片下拉列表可以选择正在使用 ...
- TI DSP TMS320C66x学习笔记之SPI Nor Flash多核程序烧写
烧写工具链接: https://pan.baidu.com/s/1em4jWjbskpMmNd1uzscjjA 提取码: 82qg 经过一段时间的研究终于把TMS320C6657单核和双核的SPI N ...
- 主板EC程序烧写异常致无法点亮修复经验
主板型号:Gigabyte AB350M-Gaming3 官网上明确写着支持R5 5500,但按照如下步骤实践下来实际是不支持的 升级biosF31到F40版本的注意事项: 步骤: 1 使用Q-Fla ...
- 在 Vivado 将程序烧写固化到 flash
程序的固化 什么是程序的固化? 通常对FPGA下载程序时,会采用JTAG口下载,完成好HDL设计,并且验证无误后,对设计文件进行综合,布局布线以及生成比特流文件,而FPGA开发板要想工作,需要将该文件 ...
- c语言每次堆的变化是1k,DSPXC语言+程序烧写讲述.ppt
DSPXC语言程序烧写讲述 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ...
- STM32 KEIL软件设置程序烧写起始地址选择
转自 https://blog.csdn.net/alfredseng/article/details/53021583 STM32系列的mcu,这儿以cortex-M4为例,我们在线调试时,一般会 ...
- CCS使用教程04:程序烧写与仿真
目录 01 CCS的介绍.下载与安装 1 CCS的介绍 2 下载 3 安装 02 创建一个CCS工程 1 工作空间 2 创建一个新的CCS工程 3 编译与生成 03 工程导入 1 ...
- NXP系列芯片程序烧写方法
NXP (恩智浦半导体)是一家新近独立的半导体公司,由飞利浦公司创立,已拥有五十年的悠久历史,主要提供工程师与设计人员各种半导体产品与软件,为移动通信.消费类电子.安全应用.非接触式付费与连线,以及车 ...
最新文章
- Java多线程1:进程与线程
- leetcode算法题--Minimum Number of Arrows to Burst Balloons
- 网络营销方案之巧用电子书营销
- Oracle基础知识-Oracle不同的启动关闭方式
- python mysql 时间比较大小_python时间函数与mysql时间函数转换
- 如何强制.NET应用程序以管理员身份运行?
- L1-030 一帮一 (15 分)
- 基于麻雀搜索算法优化概率神经网络PNN的分类预测-附代码
- Linux操作系统搭建本地源
- Google的“神秘链接”
- 红蜘蛛10013端口被占用
- THINKPHP5(TP5)新手入门必看教程
- python项目-Python 的练手项目有哪些值得推荐?
- G.726音频编解码原理介绍
- 悲观者往往正确,乐观者往往成功
- arthas-dashboard
- h3c登录交换机的配置方法
- 动画中的“表现手法”和“表现方式”分别是什么?今天艺点动画大家庭来给你唠嗑唠嗑
- Python3,掌握这20个小技巧,小菜鸡瞬间变成老码农~
- 字节跳动安全AI挑战赛总结
热门文章
- 文件共享服务器如何提高网速,局域网共享文件传输速度很慢怎么办
- RAID - 提升IO性能及数据安全
- 英寸和厘米的交互python_Python新手尝试编写厘米到英寸的代码,反之亦然
- 页面跳转报错This request has been blocked; the content must be served over HTTPS
- 电容器的 ESR 参数
- 网页设计配色应用实例剖析——蓝色系
- Intellij IDEA--配色方案/主题/风格/样式--自定义/配置
- 【007】Excel宏编程相关封装模块(筛选、复制、黏贴)_001_#VBA
- python sorted怎么排序_Python sorted排序方法怎么用
- 36.42. schemata