我想用一个片外的ssram代替片内的ram/rom作运行程序用
我先用了一个以前运行成功的程序在片内ram中试验(控制16×16led显字)
能成功运行,即点阵led能显字。。
ide中显示:
nios2-terminal: connected to hardware target using JTAG UART on cable
nios2-terminal: "Nios II Evaluation Board [USB-0]", device 1, instance 0
nios2-terminal: (Use the IDE stop button or Ctrl-C to terminate)
然后我把片内ram去掉再加上片外的ssram(只有这一个存储器。。)
同时reset address和exception address都指向ssram,
ide中的program memory,read only memory,r/w menory,heap memory,stack memory都指向了ssram
ide中同样显示:
nios2-terminal: connected to hardware target using JTAG UART on cable
nios2-terminal: "Nios II Evaluation Board [USB-0]", device 1, instance 0
nios2-terminal: (Use the IDE stop button or Ctrl-C to terminate)
但是实际上点阵led毫无反应。。。
请问各位高手,这是什么原因??怎么解决?
谢谢!!
你光使用sram是不行的,他不能代替rom 的功能,即掉电就没有了。
你应该有flash这类 的掉电保存的芯片 ,然后reset address指向它 。
你可以先调试 一下 sram和nios的连接,在ide中调试点debug。
如果可以调试,说明硬件连接没有问题。
谢谢两位好心的版主!
我的问题找到了,是时钟接错了,我一开始没加片外ssram时片内一直用的50mhz,
后来加了sram我只把pll的输出时钟生成了85mhz,内部的没改(ssram contorl)
我还想请问一下:如果我只是用jtag在线调试(比如在实验箱上)那么即使reset address指向flash,
也并没有使用它是吧?这时它形同虚设?因为我只用jtag下载了.sof文件。。。他只是下载到了ram或sram
里面是不是?
初学,有不对的地方请帮忙详细解释一下啊
谢谢了!
关于sopc-builder 中reset address 的设置
SOPC中的reset address 指定的是最终全部软件程序代码下载到的地方,并且程序从reset address 启动。
SOPC中的exception address 指定的是系统异常处理代码存放的地方。如果exception address 和reset address 不一样,那么程序从reset address 启动后将把放在reset address 处的系统异常处理代码拷贝到exception address 。
NIOS II软件中的text address指定的是程序运行的地方。如果text address和reset address 不一样,那么程序从reset address 启动后将把放在reset address 处的普通只读程序代码拷贝到text address 。NIOS II软件中的rodata address指定的是只读数据的存放地方。如果rodata address和reset address 不一样,那么程序从reset address 启动后将把放在reset address 处的只读数据拷贝到rodata address 。
NIOS II软件中的rwdata address指定的是可读写数据的存放地方。如果rwdata address和reset address 不一样,那么程序从reset address 启动后将初始化rwdata address 处的可读写数据。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |