K60 Keil 将程序在RAM中运行

设置Keil K60工程在RAM中运行

在Keil中设置K60程序在RAM中运行比IAR要稍微复杂一些。app

在开始以前

  1. 有一份能够运行在Flash中的 K60 Keil工程
  2. 个人开发环境: MDK4.8x + Jlink V8

正式开工


背景知识:

首先要知道K60的RAM分红两块 0x1FFF0000 - 0x20000000, 0x20000000 - 0x20001000。 这2快RAM虽然地址上连续,可是不能当作一块连续的RAM来用,因此这样正好把这2快RAM一块当作RO data(存代码) 一块当作RW data(RAM).net

第一步配置如图所示:

图1

Linker 选项配置如图所示:

图2

注意 Linker中的RO base 和 RW Base 须要取消勾选Use Memory Layout form Target Dialog 后才能改,咱们先取消勾选,改好后,再从新勾选上code

在Debug 中选择Jlink, 取消勾选Load application at startup 而且加上RAM.ini (名字任意)

图3

RAM.ini你们本身建立一下,内容以下:orm

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同样就能够)

在此输入图片描述

有问题环境你们在论坛提问 www.beyondcore.net

相关文章
相关标签/搜索