请教高手,为什么LED在onchip_mem可以跑,在sram上就不可以
- UID
- 113799
- 性别
- 男
|
请教高手,为什么LED在onchip_mem可以跑,在sram上就不可以
请教高手,为什么LED在onchip_mem可以跑,但是我在IDE里面把工程属性里设置跑在sram上就不行,LED完全不受控制.
在软件调试时候明明是好的呀,查看PC寄存器,程序是走在sram内存里面的,看汇编代码值也是赋到LED端口地址去了,到底哪里会有问题呢?
大家帮帮忙 |
|
|
|
|
|
- UID
- 120104
- 性别
- 男
|
你是在IDE的什么地方设置在SRAM上跑,我也正在想解决这个问题. |
|
|
|
|
|
- UID
- 113799
- 性别
- 男
|
IDE工程上点右键,选最后一个属性,然后有个对话框,在system library里面右边就可以选择程序跑在哪个ram上面
晕了,搞了3天了,还是没有头绪.............. |
|
|
|
|
|
- UID
- 120104
- 性别
- 男
|
我出现的类似问题是在system library选programm memory(.txt)在epcs_controller的时候编译就提示错误信息,如下,
-------------------------------------------------------------------------------
**** Incremental build of configuration Debug for project first_test ****
make -s all
Compiling hello_world.c...
Linking first_test.elf...
/cygdrive/d/altera/kits/nios2/bin/nios2-gnutools/H-i686-pc-cygwin/bin/../lib/gcc/nios2-elf/3.4.1/../../../../nios2-elf/bin/ld: region epcs_controller is full (first_test.elf section .text). Region needs to be 13172 bytes larger.
/cygdrive/d/altera/kits/nios2/bin/nios2-gnutools/H-i686-pc-cygwin/bin/../lib/gcc/nios2-elf/3.4.1/../../../../nios2-elf/bin/ld: address 0x15a38 of first_test.elf section .epcs_controller is not within region epcs_controller
collect2: ld returned 1 exit status
make: *** [first_test.elf] Error 1
Build completed
--------------------------------------------------------------------------------
如果选onchip_memory编译就没问题 (我没有用SDRAM),不知道是什么原因。我用的是EPCS64,所以应该不存在真正的容量不够的问题。
我怀疑和 yuanzhen83 所说的问题是相似的,有明白的大侠不吝指教。
yuanzhen83如果解决问题了,也希望公布一下。 |
|
|
|
|
|
- UID
- 113799
- 性别
- 男
|
我的情况是,板子上没有sdram,现在想在片内虚拟一个sram出来,纯粹作个测试,这两天的进展是,在quartus里面自己定制了一个sram,并写好控制器,作为一个模块放在sopc里面,在IDE里面写了段小代码,来对sram读写,都成功了(程序是跑在onchip_memory上的).
唯一的问题是当把这个sram作为程序存储区的时候就不行了,仿真发现sram是空的, 程序没有加载上去,读的时候读到了一个随机值,仿真报错,请教高手指点 |
|
|
|
|
|
- UID
- 113799
- 性别
- 男
|
问题还是没有解决,sram是完好的,但是在上面跑程序就是不行,用modelsim仿真看到程序没有加载到sram上,实在是没有办法....
sram的接口用的是32位的,读写时序也没问题.刚刚看了一下nios自带的sram是通过三态桥连上去的,难道是这个问题?
有人能启发我一下吗? |
|
|
|
|
|
- UID
- 120104
- 性别
- 男
|
你的SRAM是用SSRAM还是SDRAM,没有必要用tri-state bridge,因为它是给flash用的,应该要加时钟锁相。 |
|
|
|
|
|
- UID
- 119307
- 性别
- 男
|
sdram 才要加时钟锁相 sram 不用
你就这么凭空说 没有软件反馈的语句
我也不知道怎么回答你 |
soso I was born to love you |
|
|
|
|
|
- UID
- 151851
- 性别
- 男
|
|
|
|
|
|
- UID
- 128613
- 性别
- 男
|
to 4楼,好象在system library选programm memory(.txt)中不能够设置为epcs_controller |
|
|
|
|
|
- UID
- 79720
- 性别
- 男
|
programm memory不能放在epcs中,programm memory指的是程序的运行空间,一般放在ram中,epcs在nios系统中只有一个地址,肯定会报溢出。 你们说的sram的问题,代码放在sram中运行不会有什么问题的,看你的sram是什么连接方式的,你们采用32位的读写,sram的数据位是32位吗。sram是怎么加在nios上的。 |
|
|
|
|
|
- UID
- 136199
- 性别
- 男
|
这个版主不太冷
===========================
我的中电网博客:http://blog.chinaecnet.com/u/20/index.htm |
|
|
|
|
|
- UID
- 136199
- 性别
- 男
|
sram的rd#,wr#,要接上拉电阻,不然容易错 |
这个版主不太冷
===========================
我的中电网博客:http://blog.chinaecnet.com/u/20/index.htm |
|
|
|
|
|
- UID
- 79720
- 性别
- 男
|
楼上说的正确,sram一定要放在tri-state上. |
|
|
|
|
|
- UID
- 136837
- 性别
- 男
|
很可能是用SRAM时,数据没有进到SRAM里。我的板子上有SRAM,就是下不进去,跑不起来,愁! |
|
|
|
|
|