您的位置:首页 > 移动开发 > IOS开发

将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本身没有分配单独的一个时钟信号。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  quartus FPGA Nios VHDL Verilog
相关文章推荐