潮声隔雨深 · 2020年01月10日

关于将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烧写,而我的却不行,这个我两都没有搞懂。
谢谢!

1 个回答 得票排序 · 时间排序
一知半解 · 2020年01月10日

你要选择对应的开发芯片型号

https://www2.keil.com/designs...

"

A device family pack is available specifically for Arm Cortex-M3 based DesignStart devices, supporting the CoreLink SDK-100. It contains system and startup files for CMSIS-Core and example projects for the Cortex-M Prototyping System development board.

你的回答