将FPGA(Nios软件部分)程序放在SDRAM里面跑

转自:http://blog.csdn.net/boriscoding/article/details/24450651


加了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本身没有分配单独的一个时钟信号。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值