关于将C程序下载到DesignStart Eval CM3系统的问题

最近在用DesignStart Eval CM3的代码实现一个简单的SOC,我用片上系统连接了IDcode和Sbus上相应的AHB接口,并在仿真中加载了一个循环累加的C语言程序的.hex文件,也得到了正确的结果:

 可以看到地址0x20000000的数据在执行加1操作。

但是把核下载到FPGA,用的Xilinx的A735T,使用STlink可以检测到CM3,却无法下载C程序,报错是flash算法不对:Cannot Write to RAM for Flash Algorithms

我另一个同学也做了一个类似的程序,但是他的核下载到板子上却可以工作和下载,用的是同样的keil设置。我换过用DAPlink,也是同样的问题,可以识别,无法下载。我把预加载在ROM的hex也顺带下载到FPGA上,但核应该也是没有正常工作的,就无法得到仿真的结果。

请问有大神知道这是什么问题吗?仿真中系统可以工作,下载后却不行,CM3其他端口、时钟和复位的处理都没有问题。还有就是为什么我同学的CM3系统可以直接用STLINK烧写,而我的却不行,这个我两都没有搞懂。

谢谢!