你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【MCU实战经验】+ 使用MDK 4.12和Jlink V8使程序在STM32F107的SRAM中运行

[复制链接]
easi00n 发布时间:2014-4-16 08:41
 这是我2012发在ednchina的一篇博文。6 G2 e; K# X) u. P
使用MDK 4.12和Jlink V8使程序在STM32F107的SRAM中运行
5 t2 F% Y+ [5 C4 f
 

; w: Y4 m. e; l6 Z; [
为调试程序,将程序下载到SRAM中进行调试的好处,就不再说了,请问谷哥和度娘。

0 e! U1 Q' S5 |6 w( V
下面上图,如何配置keil。

# U6 l" K1 Z  C% A5 }1、在keil中点击 1.jpg 在Project Targets 一项中增加一个目标,如下图:4 J2 _  t) M8 @, K+ T* W* ~* L. z
2.jpg

$ S. |) D1 m& ?' u5 `( K3 d+ x点击OK,退出。
/ ^' J' V  A+ Y, S) x1 i8 k  ]2、在keil的Target中,选择SRAM,如下图所示:
$ D) E4 T& b- U0 m 3.jpg
6 a( d! K" R" ]8 _2 f然后ALT+F7,打开“options for targets”。
( k3 X' _) G* c3、选择“target”项,将其中的IROM1和IRAM1改为如下图所示:
2 A/ c$ H/ r' b1 C/ P8 D 4.png 4 B$ e/ M6 G0 V) c( x
即将SRAM空间中48K用作代码空间,剩下的16K用作数据空间。6 I( x8 X# @# F5 R9 E
4、先中断上面的工作,不要退出。在你的项目文件夹中建立一个文本文件,将如下代码拷贝至此文件中,代码如下:
! W4 w* U0 R6 t2 c/******************************************************************************/  p: ~2 P  y! O
/* RAM.INI: RAM Initialization File                                           */$ G% X5 d- g  r
/******************************************************************************/# F& H/ V) {8 d' W' S
// >                           // 0 @. M, D6 s$ k1 U2 T0 a
/******************************************************************************/
4 q" m! ]& F! D8 {- g, X! }3 F/* This file is part of the uVision/ARM development tools.                    */
6 C/ K& m2 l- ]/ h2 x/* Copyright (c) 2005-2007 Keil Software. All rights reserved.                */1 Z- o8 @4 }2 y& W
/* This software may only be used under the terms of a valid, current,        */
: I' g8 ?( r: m' V% D8 [/* end user licence from KEIL for a compatible version of KEIL software       */
; v8 ?  L( m" {9 h5 A# z6 E/* development tools. Nothing else gives you the right to use this software.  */
# p$ b" {# L9 Y/******************************************************************************/* K# Y, x1 x2 i8 J
 
0 d3 e  N; Q1 b" b0 y* CFUNC void Setup (void) {
9 Z' K6 \3 ^2 R* ]. H, {+ e0 W  SP = _RDWORD(0x20000000);          // Setup Stack Pointer7 Y! X4 K9 j; e
  PC = _RDWORD(0x20000004);          // Setup Program Counter* e1 T$ c. ^5 j. q8 O. r9 _% i
  _WDWORD(0xE000ED08, 0x20000000);   // Setup Vector Table Offset Register
/ k! u$ v# Q( H$ m+ y- i8 y( O4 O}
  l& x6 G9 I, r9 N# h# i $ _/ p3 r$ B7 C
LOAD .\RVMDK\Temp\TempPro.axf INCREMENTAL      // Download
' ?2 f- _* M3 D- b% n2 b# S$ c 3 l& R" X* J- C
Setup();                             // Setup for Running2 L* r8 w$ h) X7 P
 
" v' P- g3 ]3 ]) `* i6 |g, main
5 l4 e  h3 d' S8 @6 |/*****************代码至此结束*************************************/
# u' D1 f* J) J7 y7 {8 q在上面的代码中,红色字体要修改。在项目进行编译时会产生一个.axf文件,文件名一般默认为你的工程名,对于我的项目来说,是TempPro.axf,如下图:6 A- i5 d: _" Q; h" R3 R, l3 Q
5.png : t% J% k4 u  q8 A& G
将代码中的红色字体改为你的.axf文件所在的相对路径即可,所以我这里为.\RVMDK\Temp\TempPro.axf。8 D1 i3 B) L0 A  Z: t
保存此文本文件退出,将文件改名为“DebuginRAM.ini”,包括文件名后缀。6 Y3 g& ^/ I" f" Y
5、接至第3步的工作,选择“debug”项,设置如下图所示:
# U/ L4 b  k2 D4 K3 ]8 b# s 6.png
* i+ x, w" ]( B  _在图中的红色方框中,找到我们在第4步中建立的“DebuginRAM.ini”文件。
8 f0 e0 a- ?5 a3 c# f& p+ E4 Y* T' Q6、点击“settings”,配置如下:
! P" S8 M5 f; u' I3 } 7.png
3 |# v1 {6 p2 g' O! A7 `* d7、点击“flash download”项,配置如下:
( i- v3 V$ b2 d! v: p 8.png
. ]2 l- Z7 o9 F% C    红色方框中的数字要与我们在第三步填入的数字相同,点击OK退出。# q$ t6 B# Z9 I% Q8 O  {
8、点击“utilities”项,选择“settings”,设置如下图所示:
5 c  @1 `( [7 k% c% b/ @9 I 9.png ) M$ o; U+ o  N# W
10.png 9 r# \9 X1 k) l+ r* A
    上图红色方框中的内容要与第7步一致。& [# l9 R2 h+ @- f; E2 J/ V2 }
9、keil的设置基本完成,在下载程序之前要将你的板子上的boot0,boot1选择至0,以使stm32f107从SRAM中启动。* b2 Z% Y4 S% r# H
10、编译好程序后,“ctrl+F5”即可下载程序了。% x/ i: x# U! i8 g  V8 V8 \3 y7 Y7 W
 + T' b5 \5 y9 [
 
赞 收藏 评论0 发布时间:2014-4-16 08:41

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版