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

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

[复制链接]
easi00n 发布时间:2014-4-16 08:41
 这是我2012发在ednchina的一篇博文。
  b$ B0 U' H) l+ |
使用MDK 4.12和Jlink V8使程序在STM32F107的SRAM中运行
  {- L4 T0 M5 L! L
 

: I3 N1 K# Q: U3 B( }. ~
为调试程序,将程序下载到SRAM中进行调试的好处,就不再说了,请问谷哥和度娘。

% d: ^+ U6 m: T8 _9 c! L
下面上图,如何配置keil。
* F# f  ^# s* z2 _: p- Z
1、在keil中点击 1.jpg Project Targets 一项中增加一个目标,如下图:+ E; M/ }8 v9 N: E& B' y$ E, D
2.jpg
" {. l5 B4 v6 R" L
点击OK,退出。4 R0 ]& C7 ]. B# X( t" B
2、在keilTarget中,选择SRAM,如下图所示:
+ U) E9 b1 _, G5 e+ P) {2 J9 e 3.jpg
" x/ R/ X2 t$ T* k) A0 r然后ALT+F7,打开“options for targets”。
( e- s6 u0 Q# a6 K3、选择“target”项,将其中的IROM1和IRAM1改为如下图所示:. d% Z3 G! N; r/ j) |. Y1 U
4.png , O; U  Y) ^  k* O2 I2 }
即将SRAM空间中48K用作代码空间,剩下的16K用作数据空间。
& `# f& [' W( P; L4、先中断上面的工作,不要退出。在你的项目文件夹中建立一个文本文件,将如下代码拷贝至此文件中,代码如下:* Z2 @1 @9 N8 a. E# Z
/******************************************************************************/
: O0 g; ?, C. T) ]' }2 R* h. P/* RAM.INI: RAM Initialization File                                           */
# O& ]" R0 k3 i( j5 X3 @6 y, U/******************************************************************************/9 o! S  w* y8 m1 e8 c3 r, s
// >                           //
) I# w/ @, A# U3 Q7 g% Q/ |/******************************************************************************/: ]5 ^) q! Z* t' m: w) h% s& ]
/* This file is part of the uVision/ARM development tools.                    */; Y/ f) Y1 \$ K: K( {  D8 F
/* Copyright (c) 2005-2007 Keil Software. All rights reserved.                */
, G0 E1 g6 |9 `% v/* This software may only be used under the terms of a valid, current,        */
" h" ]/ F  A( d! @. }2 K/* end user licence from KEIL for a compatible version of KEIL software       */
4 O4 `$ T: D$ R' j/* development tools. Nothing else gives you the right to use this software.  */
0 T- s' F- F/ |3 F/******************************************************************************/
. x% M+ q0 F, K1 |' N 
! I% ]% ~; O& q, l+ P+ P+ T* VFUNC void Setup (void) {
  ]  q; I9 @3 y8 S: d) F1 o3 d  SP = _RDWORD(0x20000000);          // Setup Stack Pointer, D* V5 p" a, l# C
  PC = _RDWORD(0x20000004);          // Setup Program Counter& h9 I9 C; E  Q/ E% |
  _WDWORD(0xE000ED08, 0x20000000);   // Setup Vector Table Offset Register. a. N7 s7 [: Q$ ?! B0 X7 k% s
}
/ b  {, W8 p1 ^$ ]5 v# n: z" Z* |" _ : J. }: c" F9 f: X, j2 A9 i! i
LOAD .\RVMDK\Temp\TempPro.axf INCREMENTAL      // Download
# B' w3 ]# ?, v$ ~7 b3 I - w! i# [" N; z5 u% B
Setup();                             // Setup for Running
/ y, _- z7 p7 c6 P- A* K, b* z 
/ P) C' c4 o) N/ }. |4 ig, main
  Q$ r' C. h/ u/ j1 }/*****************代码至此结束*************************************// x  U' {; F. T+ Z# A3 I
在上面的代码中,红色字体要修改。在项目进行编译时会产生一个.axf文件,文件名一般默认为你的工程名,对于我的项目来说,是TempPro.axf,如下图:
) p6 z+ @! C6 r' ?4 D 5.png # ]% }( k; V8 |5 b( O0 |
将代码中的红色字体改为你的.axf文件所在的相对路径即可,所以我这里为.\RVMDK\Temp\TempPro.axf
1 K: O0 F/ p, V" w  ^保存此文本文件退出,将文件改名为“DebuginRAM.ini”,包括文件名后缀。
' B! l9 H; U6 ^  t% X7 x5 l5、接至第3步的工作,选择“debug”项,设置如下图所示:
; Z; n$ I6 u: C' `. P 6.png 9 L0 _1 h& z+ T  p# C
在图中的红色方框中,找到我们在第4步中建立的“DebuginRAM.ini”文件。' V! D. u2 i4 D/ n6 |2 F! E: Q
6、点击“settings”,配置如下:
9 l& L6 t, v+ T0 M3 R 7.png , G6 j0 B% n0 N8 y: Q
7、点击“flash download”项,配置如下:
: [" v- F! v" ^: g! s1 m) Z( R 8.png
$ [: L2 i4 }( d0 f    红色方框中的数字要与我们在第三步填入的数字相同,点击OK退出。
; P; A# y; ^- a5 _6 ~' z, {) q8、点击“utilities”项,选择“settings”,设置如下图所示:
$ v0 q& e3 U' H9 ]# ]% t4 F 9.png * g0 I% m& Y2 l" Y1 c- v
10.png 0 E  J  y) l3 f6 Q
    上图红色方框中的内容要与第7步一致。
" Q0 ~4 ]* z2 Q' h" A" E! Y9、keil的设置基本完成,在下载程序之前要将你的板子上的boot0,boot1选择至0,以使stm32f107从SRAM中启动。7 I+ l' W, W* J0 B1 q3 n/ i
10、编译好程序后,“ctrl+F5”即可下载程序了。
# [2 D; c# J" s0 _( C 3 W: J  l$ Y5 ~8 X
 
收藏 评论0 发布时间:2014-4-16 08:41

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版