|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
有段arm c 程序,生成.vhx后,跑modelsim,最终希望下载到fpga板。
此arm c在ads中调试,一切皆非常完美。
可是不料在modelsim 中却不尽如人意。
.vhx中的数作为指令导入到modelsim的memory中, 竟然被后来的数据给冲掉了。
查了波形发现,arm c 开始部分是对很多很大的数组进行赋值,好像是从指令中读出这些值,然后被放到0xFFFFC000(堆栈?)等之后的地方,每当放到0xFFFFCffc, 0xFFFFBffc,0xFFFFAffc, AXD调试时它们的下一个地址(加4)
分别是0xFFFFf000, 0xFFFFc000,0xFFFFb000,这样也是对的,可是到modelsim里面,arm(verilog代码)发出0xFFFFCffc这个地址之后,下一个地址就变成0x00000000,所以就把最开头的指令给冲掉了,之后的地址竟然还是对的,是0xFFFFf004,0xFFFFf008
当发出带有ffc的地址时,0xFFFFBffc,0xFFFFAffc,情况类似。
这是怎么回事呢?
让各位看完这么长的问题真是不好意思,如果有遇到过类似问题的xdjm,有劳帮忙一下,感激涕零!
[ 本帖最后由 dushui 于 2007-8-20 15:48 编辑 ] |
|