【分享】K60 Keil 将程序在RAM中运行——转帖

2020-02-20 21:07发布

本帖最后由 cn_x 于 2014-9-3 14:23 编辑

设置Keil K60工程在RAM中运行在Keil中设置K60程序在RAM中运行比IAR要稍微复杂一些。在开始之前
  • 有一份可以运行在Flash中的 K60 Keil工程
  • 我的开发环境: MDK4.8x + Jlink V8
正式开工
背景知识:首先要知道K60的RAM分成两块 0x1FFF0000 - 0x20000000, 0x20000000 - 0x20001000。 这2快RAM虽然地址上连续,但是不能当做一块连续的RAM来用,所以这样正好把这2快RAM一块当做RO data(存代码) 一块当做RW data(RAM)第一步配置如图所示:Linker 选项配置如图所示:注意 Linker中的RO base 和 RW Base 需要取消勾选Use Memory Layout form Target Dialog 后才能改,我们先取消勾选,改好后,再重新勾选上在Debug 中选择Jlink, 取消勾选Load application at startup 并且加上RAM.ini (名字任意)RAM.ini大家自己创建一下,内容如下:FUNC void Setup (void) {
  SP = _RDWORD(0x1FFF0000);          // Setup Stack Pointer
    PC = _RDWORD(0x1FFF0004);          // Setup Program Counter
    _WDWORD(0xE000ED08, 0x1FFF0000);   // Setup Vector Table Offset Register
  }


  load %L incremental

  Setup();                             // Setup for Running

  g, main


最后在utilities选项中配置如下(Debug选项没有特别的配置要求,和Flash一样就可以)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
38条回答
bli19
1楼-- · 2020-02-25 09:58
本帖最后由 bli19 于 2014-9-4 12:21 编辑

第三行怎么理解呢,不太懂这种语法,对向量表寄存器赋值?
zhaotyue
2楼-- · 2020-02-25 14:00
 精彩回答 2  元偷偷看……
cs128815
3楼-- · 2020-02-25 16:00
mark 标记一下
myxiaonia
4楼-- · 2020-02-25 21:53
最后在utilities选项中配置如下(Debug选项没有特别的配置要求,和Flash一样就可以)                stm32内存调试的话,这里有个问题,flash配置应该选下面那个,并且什么内容也不填,因为没有flash什么事情,否则会提示闪存编程的问题
dongyanbo
5楼-- · 2020-02-26 00:40
昨天晚上用类似的方法设置STM32,程序可以下载,但是就是不运行,折腾到很晚,还是不行,谁遇到过这种情况?
qq11qqviki
6楼-- · 2020-02-26 04:32

楼主辛苦了  谢谢

一周热门 更多>