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

相關文章
相關標籤/搜索