通过EHPI接口下载程序到5509a,项目中CPU和c5509a之间是16位的HPI接口,非复用模式。
下载程序的过程基本上是按照SPRA375F的顺序来做的:
1.将5509a芯片复位:reset引脚拉高;
2.通过EHPI接口将bin文件写入到EHPI接口可以操作的DRAM中:通过仿真器看memory view,从入口地址开始一个个字节比对,是写成功的。
3.将程序入口地址和非0等待标志写入0x60、0x61地址处。
现在的问题是在第3步:
从memory view上,看到0x60地址值是0x0000,0x0000。
用仿真器跟踪,程序也是一直在如下循环里。
FF80EE a4c0 MOV @#60h,T0
FF80F0 7dff0044 AND #65280,T0,T0
FF80F4 0404f7 BCC #0xff80ee,T0 == #0
但是我bin文件是有写进去的。
我map文件中是 ENTRY POINT SYMBOL: "_c_int00" address: 00002300
从仿真器看0x2300地址开始的值,一个个字节比较过去,和我的bin文件是一致的。
但是0x60地址的值却没有写进入,这是为什么呢?
我是一名新手,还希望论坛里的高手能够指点一下!万分感谢!