打印

STM32F051R8配置RAM启动跑飞,不进main函数

[复制链接]
3233|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
这几天在折腾STM32F051R8,在通过FLASH_OB_RDPConfig(OB_RDP_Level_1);配置为读保护的LEVEL1后,无法再次直接烧录代码。故想新建一个工程配置为RAM启动来清除掉读保护,但是一直配置不成功,main函数都进不去,恳请各位大牛们帮忙看看哪一步错了或者拉下什么步骤。
1.更改RAM和ROM的起始地址







DBG_RAM.ini是从KEIL路径下COPY过来的内容如下:
FUNC void Setup (void) {
  SP = _RDWORD(0x20000000);                         // Setup Stack Pointer
  PC = _RDWORD(0x20000004);                         // Setup Program Counter
  _WDWORD(0x40010000, _RDWORD(0x40010000) | 0x3);   // Set MEM_MODE to SRAM
}

LOAD TEST_RAM.ASF INCREMENTAL                                  // load the application

Setup();                                             // Setup for Running

g, main


这些应该就是改动的全部地方,但是没有办法运行,请各位赐教!不甚感激!


沙发
hawksabre| | 2013-6-2 21:19 | 只看该作者
不是很了解   楼主   帮你顶一个  看看别人的意见   顶一个

使用特权

评论回复
板凳
airwill| | 2013-6-3 08:58 | 只看该作者
应该是可以的, 但是由于 BOOT 的设置. 开始调试的时候不能指向你设定的 ROM  的入口.
你可以强制修改 R15 寄存器到入口地址去, 接下来就能正常工作了

使用特权

评论回复
地板
jerryzhang001|  楼主 | 2013-6-4 00:39 | 只看该作者
airwill 发表于 2013-6-3 08:58
应该是可以的, 但是由于 BOOT 的设置. 开始调试的时候不能指向你设定的 ROM  的入口.
你可以强制修改 R15  ...

直接用JLINK的话,不是应该可以不考虑BOOT0的值么。。现在BOOT0的值倒还真是0。

改R15的怎么改呢。。现在都不能烧录。。不能仿真了。。SOS

使用特权

评论回复
5
airwill| | 2013-6-4 07:17 | 只看该作者
用调速器, 在寄存器窗口直接修改寄存器嘛

使用特权

评论回复
6
IJK| | 2013-6-4 10:02 | 只看该作者
LZ这么弄太麻烦了。
如果有ST-LINK,用ST提供的STVP或者STM32 ST-LINK Utility,可以轻松搞定。

使用特权

评论回复
7
jerryzhang001|  楼主 | 2013-6-4 10:50 | 只看该作者
IJK 发表于 2013-6-4 10:02
LZ这么弄太麻烦了。
如果有ST-LINK,用ST提供的STVP或者STM32 ST-LINK Utility,可以轻松搞定。 ...

如果用ST LINK该如何做呢。。手头还有个STM32F0DISCOVERY。。那个上面带了个STLINK。。不过没用过。。今天晚上回去整整。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

3

帖子

0

粉丝