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

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

[复制链接]
easi00n 发布时间:2014-4-16 08:41
 这是我2012发在ednchina的一篇博文。: f/ }  ~! X& r& \) ^
使用MDK 4.12和Jlink V8使程序在STM32F107的SRAM中运行
, e9 k1 h9 f0 }! u! _' O
 
1 f) W; r% \& B# R
为调试程序,将程序下载到SRAM中进行调试的好处,就不再说了,请问谷哥和度娘。

1 u( F* C% h# D6 p
下面上图,如何配置keil。
* }8 U# X2 b3 S7 ?' b8 e
1、在keil中点击 1.jpg Project Targets 一项中增加一个目标,如下图:: ]( X$ u5 p) K, m+ U5 n" F' [# ]3 w
2.jpg

/ P! u% a- |. n0 d5 R1 t点击OK,退出。
) I; e3 L& v8 k7 f) i2、在keilTarget中,选择SRAM,如下图所示:
* y8 ?, F+ [! t9 k, V) y% M 3.jpg . _! d. `4 D% V
然后ALT+F7,打开“options for targets”。- V: ?3 r; ^4 |+ H8 \
3、选择“target”项,将其中的IROM1和IRAM1改为如下图所示:" a2 F) D) h2 C
4.png
- I8 f2 ^* r$ z3 N0 o! K即将SRAM空间中48K用作代码空间,剩下的16K用作数据空间。, V/ w; S8 s8 G1 x
4、先中断上面的工作,不要退出。在你的项目文件夹中建立一个文本文件,将如下代码拷贝至此文件中,代码如下:6 N( |. L$ F8 W, q- l/ D
/******************************************************************************/
, w; E0 A4 }: ^; S$ j( S/* RAM.INI: RAM Initialization File                                           */
* l1 h% G' A+ b" I4 t' l/******************************************************************************/" u4 p9 D( }3 @6 u5 b0 l) Y
// >                           //
% b4 O3 Q; N7 n2 [/******************************************************************************/7 j) h8 r$ x/ M: T
/* This file is part of the uVision/ARM development tools.                    */
4 S* F9 @* I, j) h3 C8 c7 v/* Copyright (c) 2005-2007 Keil Software. All rights reserved.                */3 X6 y$ |* `- M/ [  r4 L- Y
/* This software may only be used under the terms of a valid, current,        */8 n/ T& A( ~4 P9 F# U  Z/ i/ b
/* end user licence from KEIL for a compatible version of KEIL software       */
2 d+ w' H" Y. `9 ?2 X1 k8 P/* development tools. Nothing else gives you the right to use this software.  */
: W  r9 I+ n! Y3 m8 M( ?2 j9 h/******************************************************************************/
/ m* U9 q1 V2 {7 ` 5 `5 Q3 \. `# o# v
FUNC void Setup (void) {7 d; _2 |% y( @, A
  SP = _RDWORD(0x20000000);          // Setup Stack Pointer5 Z* B# q6 p' W* [/ M9 K
  PC = _RDWORD(0x20000004);          // Setup Program Counter
: \$ g2 ^) x- F2 q3 |9 Z% Q  _WDWORD(0xE000ED08, 0x20000000);   // Setup Vector Table Offset Register
7 E+ U* k$ F5 H' t}- q7 I1 D. j' i7 D! s- R  J" W
 
% D6 g4 O2 x5 YLOAD .\RVMDK\Temp\TempPro.axf INCREMENTAL      // Download
/ K6 }5 X$ j4 |4 I$ ]6 h. Z8 E+ V 
4 E/ W: e( v9 ESetup();                             // Setup for Running
+ D+ |; s9 d" } $ ^7 u: F! ?' q, t2 V/ l
g, main
) y. z6 f6 T4 O& V/*****************代码至此结束*************************************/- e, W& \( U3 q: S% m
在上面的代码中,红色字体要修改。在项目进行编译时会产生一个.axf文件,文件名一般默认为你的工程名,对于我的项目来说,是TempPro.axf,如下图:, O, M0 j$ ~8 n( E0 ~6 ?2 E
5.png 7 K* ?. i: R1 L) R# z7 g% x
将代码中的红色字体改为你的.axf文件所在的相对路径即可,所以我这里为.\RVMDK\Temp\TempPro.axf
, q# ]" o  _' P  U保存此文本文件退出,将文件改名为“DebuginRAM.ini”,包括文件名后缀。
/ A* g% E2 ~1 f3 Q; U& q5、接至第3步的工作,选择“debug”项,设置如下图所示:2 ]: P: V- J& ~  X5 L) |! |
6.png
. @3 s- y; U# S( Q7 g9 h2 A在图中的红色方框中,找到我们在第4步中建立的“DebuginRAM.ini”文件。
0 N9 Y* t" F" F. T5 V( ?6、点击“settings”,配置如下:
# C  [  D4 M' O* L8 @. e1 [ 7.png # \; E' d+ C3 a, ~6 r) u8 y* E+ ]: R
7、点击“flash download”项,配置如下:
3 ^1 p( g% F; B* |9 A8 w 8.png & b( a6 Y, @  ?+ g" u' y9 u
    红色方框中的数字要与我们在第三步填入的数字相同,点击OK退出。
! H+ v: g  Y/ Y+ k: d8、点击“utilities”项,选择“settings”,设置如下图所示:
6 \, J1 b: L; N7 K9 K3 L 9.png
4 K3 t  H% p" p 10.png
0 T- s: [8 f1 S: O/ K& C' H    上图红色方框中的内容要与第7步一致。
. x3 R" ?' ~0 x  \9、keil的设置基本完成,在下载程序之前要将你的板子上的boot0,boot1选择至0,以使stm32f107从SRAM中启动。  L& M9 L$ L2 o( K( X
10、编译好程序后,“ctrl+F5”即可下载程序了。. H' _" p9 x1 ?! D: o
 ( Q7 X& G' D, h
 
收藏 评论0 发布时间:2014-4-16 08:41

举报

0个回答

所属标签

相似分享

官网相关资源

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