将FPGA(Nios软件部分)程序放在SDRAM里面跑
2014-04-25 13:40
495 查看
加了Nios并在上面跑uCOS的时候,nios里面的onchip memory已经无法满足程序的规模了。即使是EP4CE6的,单跑一个带uCOS的nios cpu也不够放。所以必须放到板上的SDRAM(内存)里面去跑。
1. 先创建一个Nios核。
注意new_sdram_controller的最后一个Conduit的s需要双击输出端口。
2. 在设置sdram_controller的时候注意要与开发板上的sdram型号对应
我的是hy57v641620,配置如图:
3. 当然CPU(NIos Processor)里面的Reset Vector 和 Exception Vector不能再是Onchip Memory而应该是new_sdram_controller。
4. 其他什么自动分配基地址,中断等等都一样。然后生成。
5. 回到硬核添加Nios
这里注意:
(1)sdram_controller的s引出的管脚必须严格对应开发板sdram型号的分配
(2)SDRAM_controller的时钟虽然在nios内部设置的时候从clk连接到了controller上面,但是sdram本身的时钟必须与Nios系统的时钟分开。
具体操作是:在硬核中加一个PLL,input是板上的晶振,output用两个c0,c1。c0不倍频接给Nios,c1需要向右边移动63相位。
c1配置如图:
硬件连接如图:
6. 软核部分
(1)打开eclipse建立带bsp的工程blahblah。。。
建立hello microOS模板工程
(2)edit bsp
common里面有这几个地方修改:
Advanced里面设置成这样:
(3)build and run
如果build过了,run到一半出现无法下载elf的错误,多半是管脚sdram_controller的s甩出来的那一堆管脚没有分配正确导致;另外就是SDRAM本身没有分配单独的一个时钟信号。
1. 先创建一个Nios核。
注意new_sdram_controller的最后一个Conduit的s需要双击输出端口。
2. 在设置sdram_controller的时候注意要与开发板上的sdram型号对应
我的是hy57v641620,配置如图:
3. 当然CPU(NIos Processor)里面的Reset Vector 和 Exception Vector不能再是Onchip Memory而应该是new_sdram_controller。
4. 其他什么自动分配基地址,中断等等都一样。然后生成。
5. 回到硬核添加Nios
这里注意:
(1)sdram_controller的s引出的管脚必须严格对应开发板sdram型号的分配
(2)SDRAM_controller的时钟虽然在nios内部设置的时候从clk连接到了controller上面,但是sdram本身的时钟必须与Nios系统的时钟分开。
具体操作是:在硬核中加一个PLL,input是板上的晶振,output用两个c0,c1。c0不倍频接给Nios,c1需要向右边移动63相位。
c1配置如图:
硬件连接如图:
6. 软核部分
(1)打开eclipse建立带bsp的工程blahblah。。。
建立hello microOS模板工程
(2)edit bsp
common里面有这几个地方修改:
Advanced里面设置成这样:
(3)build and run
如果build过了,run到一半出现无法下载elf的错误,多半是管脚sdram_controller的s甩出来的那一堆管脚没有分配正确导致;另外就是SDRAM本身没有分配单独的一个时钟信号。
相关文章推荐
- 将FPGA(Nios软件部分)程序放在SDRAM里面跑
- 关于怎么将Quartus和Nios程序一起固化到FPGA里面
- FPGA配置文件和NIOS代码程序写入EPCS
- 一个字符数组,里面的字符可能是a-z、A-Z、0-9.现在要求对数组进行排序,要求所有小写字符放在最前面,所有大写字符放在中间,所有数字放在最后,而且各部分内部分别有序(创新工场)
- 把自己做的程序放在Tomcat里面的3种方法
- 腾讯2016-9-1 软件测试工程师 模拟考 第二部分 程序题目
- 整个程序在执行前是放在ROM里的,在执行的时候,RW段被拷贝到了SDRAM里的合适位置去
- [原创][连载].基于SOPC的简易数码相框 - Nios II SBTE部分(软件部分) - TFT-LCD(控制器为ILI9325)驱动
- 3年前的一个小项目经验,分享给菜鸟兄弟们(公文收发小软件:程序开发部分)
- 《软件工程里面的大学十年》(转载上半部分)
- 操作系统与应用程序的关系 操作系统主要可以分为两大部分:内核和内核之外的一些程序。内核就是直接控制最底层的硬件,而我们日常所用到的软件,大都是通过内核之外一些程序与内核之间的接口完成的,例如WINDO
- 3年前的一个小项目经验,分享给菜鸟兄弟们(公文收发小软件:程序开发部分)
- 软件架构的典型组成部分-程序组织
- 一个字符数组,里面的字符可能是a-z、A-Z、0-9.现在要求对数组进行排序,要求所有小写字符放在最前面,所有大写字符放在中间,所有数字放在最后,而且各部分内部分别有序。
- 3年前的一个小项目经验,分享给菜鸟兄弟们(公文收发小软件:程序开发部分)
- 3年前的一个小项目经验,分享给菜鸟兄弟们(公文收发小软件:程序开发部分)
- 3年前的一个小项目经验,分享给菜鸟兄弟们(公文收发小软件:程序开发部分)
- [原创][连载].基于SOPC的简易数码相框 - Nios II SBTE部分(软件部分)- ADS7843触摸屏驱动测试
- 我把一些常用的好软件放在我的QQ网络硬盘里面,有需要的朋友可以去下载
- Android中把资源放在引用程序里面的3中方法