设置Keil K60工程在RAM中运行
在Keil中设置K60程序在RAM中运行比IAR要稍微复杂一些。app
在开始以前
- 有一份能够运行在Flash中的 K60 Keil工程
- 个人开发环境: MDK4.8x + Jlink V8
正式开工
背景知识:
首先要知道K60的RAM分红两块 0x1FFF0000 - 0x20000000, 0x20000000 - 0x20001000。 这2快RAM虽然地址上连续,可是不能当作一块连续的RAM来用,因此这样正好把这2快RAM一块当作RO data(存代码) 一块当作RW data(RAM).net
第一步配置如图所示:
Linker 选项配置如图所示:
注意 Linker中的RO base 和 RW Base 须要取消勾选Use Memory Layout form Target Dialog 后才能改,咱们先取消勾选,改好后,再从新勾选上code
在Debug 中选择Jlink, 取消勾选Load application at startup 而且加上RAM.ini (名字任意)
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