設置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