文档章节

K60 Keil 将程序在RAM中运行

yandld
 yandld
发布于 2014/05/29 16:50
字数 376
阅读 81
收藏 0

设置Keil K60工程在RAM中运行

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

在开始之前

  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)

第一步配置如图所示:

图1

Linker 选项配置如图所示:

图2

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

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

图3

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一样就可以)

在此输入图片描述

有问题环境大家在论坛提问 www.beyondcore.net

© 著作权归作者所有

共有 人打赏支持
下一篇: Lwip 学习
yandld
粉丝 1
博文 12
码字总数 3217
作品 1
西城
程序员
私信 提问
keil编译后code,RO-data,RW-data,ZI-data含义及mcu的flash实际存储数据

keil编译后会有一行:Program Size:Code=xxx RO-data=xxx RW-data=xxx ZI-data=xxx Code 代表执行的代码,程序中所有的函数都位于此处。 RO-data 代表只读数据,程序中所定义的全局常量数据和...

cxs512068661
01/11
0
0
超核Kinetis固件库

超核Kinetis固件库是针对飞思卡尔Kinetis K60系列的,包含Freescale K系列及KL系列底层驱动及实例代码。 ---------- ## 如何开始 1. 请参见免费入门视频 按照视频下载工具软件 2. 安装MDK(K...

yandld
2014/06/03
1K
0
Kiel 中Code RO-data RW-data ZI Data是什么意思

在使用keil中编译经常会看到这样的一行提示 Code:代表执行的代码段,程序中所有的函数都位于此处。 RO-data: 代表只读数据段,程序中所定义的全局常量数据和字符串都位于此处。 RW-data:代...

su-jivin
2016/03/31
40
0
FPGA设计——SPI Flash启动之MC8051设计

1. 概述 本设计采用FPGA技术,在FPGA中实现8051单片机的软核,将外部SPI Flash中的代码数据加载到FPGA内部ram,然后复位MC8051,实现外部flash启动MC8051。 2. 系统框图 8051采用Oregano Sys...

shugenyin
2017/01/09
0
0
STM32单片机,禁止系统启动时的变量初始化。

使用这个功能是在IAP在线升级时需要用的。 最初使用在EEPROM或者FLASH存储一个标志位。程序跳转到BootLoader,BootLoader来判断是否需要升级。这样是可以用的,但是这样有个弊端:如果升级中...

lin307897038
2017/12/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring boot中如何获取profiles环境

  实现ApplicationContextAware @Componentpublic class QiNiuPropertiesConfig implements ApplicationContextAware { /// 获取当前环境public String getActiveProfile() { ret......

writeademo
2分钟前
0
0
机器学习中的End-to-End到底是怎么回事?

简单讲就是,Input--->系统(这里指神经网络)--->Output(直接给出输入,NN神经网络就给出结果,一气喝成!!!) 借用一段对话:(http://dy.163.com/v2/article/detail/C3J6F2NJ0511AQHO....

火力全開
3分钟前
0
0
maven多个模块只编译并且只打包指定的模块

在多module的maven项目中,如果每次打包整个工程显得有些冗余和笨重。 命令:mvn clean package install -pl 模块的名称 -am

lifes77
4分钟前
0
0
eosjs中文手册【2.0】

访问地址:eosjs 2.0 中文手册 - 汇智网

汇智网教程
8分钟前
0
0
vue-cli 3 分环境打包

在vue-cli3的项目中, npm run serve时会把process.env.NODE_ENV设置为‘development’; npm run build 时会把process.env.NODE_ENV设置为‘production’; 此时只要根据process.env.NODE_...

灰白发
16分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部