我在nios系统中用到了自添加组建(一个CAN控制器的IP),在run模式下工作正常,可是再编译后下载到FPGA中去就无法正常工作了。我的设置如下:
program memory(.text) :my_onchip_memory
这部分其他设置也是my_onchip_memory
build project 生成了3个文件 my_onchip_memory.dat ,my_onchip_memory.hex,my_onchip_memory.sym
可是没有在整个工程中(包括quartus工程中)看到 my_onchip_memory.dat 和my_onchip_memory.sym
在run模式下工作正常
再编译后下载到FPGA中去就无法正常工作了
于是我将quartus工程中my_onchip_memory.v的 部分代码修改了一下
原代码:
defparam the_altsyncram.byte_size = 8,
the_altsyncram.init_file =
`ifdef NO_PLI
"my_onchip_memory.dat"
`else
"../my_onchip_memory.hex"
`endif,
改为
defparam the_altsyncram.byte_size = 8,
the_altsyncram.init_file = "../my_onchip_memory.hex",
再编译后依然不能正常工作。
希望大家指导一下,问题出在哪?是不是程序跑飞了?
在生成的文件中你可以先不它,.hex就是ram的16进制初始化文件,也就是你放程序的文件。你现在不要动。
你的nios系统是完全的片上系统吧,这样的 系统 跑起来 一般不会有问题 ,于是你可以先实现一个 小的 片上系统测试一下硬件。在system library中的.text应该宣称on chip ram,sopc中的reset 地址也选成on chip ram。你可以先测试一下再加IP。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |