硬件基本测试
EE2C35是我06年做的板子,仿Altera原厂的2C35,做好以后项目无疾而终,板子一直想玩,但总是拖着,当Nios从6.0到9.1后,我终于决心调调这块板子了,还有个主要的原因是现在做了一块4FPGA串联的项目,由于SRAM和FLASH不是原厂支持的,调试起来比较困难,所以想先用这块板子把Nios流程跑通,在调4 FPGA的板子
板子资源:
- SDRAM
采用48LC4M32B2,Nios能直接支持,4Mx32位(16MB) - SRAM
Nios支持 - FLASH
Nios支持,AM29LV128M 16M x 8bit - NET
- UART
- IIC
- EPCS
在2c系列,使用epcs controller nios好像没有相应的引脚出来,是否能工作试验一下再说 - CPLD
- LED & KEY
NIOS调试
写了个基本系统sdram,flash,sram等资源都可以跑通,后来加了些dma,net等,程序能下载到sdram或sram里,但是运行不了,去掉所有不相关的模块,重新测试,所有程序都不能运行,怀疑仿真器问题?明天在测试吧
不管程序下载的sdram,sram还是onchipram,都是
nios2-terminal:(Use the IDE stop button or Ctrl-C to terminate)
后就没反应了,但是flash等可以烧写,实在是有些头痛,缩减成最小系统,运行count在onchip上运行,没问题
同样程序运行在sdram上,有乱码,然后还是没反应
同样的程序运行在sram上,可以正确运行,基本怀疑sdram的问题
又进行测试,发现程序可以再sram正确运行,通过sram测试sdram也都正确,但是就是不能在sdram运行
后来发现,当初系统晶振50MHz没了,焊了个29.4912MHz的,频率不对,当然不行,换回50MHz晶振一切问题都解决
EPCS Flash烧写与启动
在SOPC中将Reset Addr设置到EPCS,这个地址是上电运行地址
Exception Addr是异常地址,这两个不一样是,Nios自动将reset复制到Exception
写入后,程序起不来,好像fpga没有配置,单独将配置sof下去后,程序可以运行
后来查查资料,发现9.1版本的quartus好像有这个bug问题,郁闷,尝试epcs+ext flash,可以启动
看了altera论坛,sp2是有这个问题,推荐使用sp1,9.1就有这个问题,sp1修好了,sp2又来了,altera真可以啊
改回9.1sp1,一切问题都解决,可以写入epcs,flash并启动
Nor Flash烧写与启动
CPLD与Nor Flash配置FPGA
SDRAM测试
SRAM测试
NET测试
网络和flash共用数据总线和地址总线,挂在一个tri_bus下,数据线自动共享,地址线需要选择一下才能共享
串口测试
很简单,在lib里面吧stdio设成uart标准输出即从串口输出
IIC测试
dma