tg1991 发表于 2015-5-5 09:42:53

Nucleo f103 keil4 Ram调试

      前几天在网上买了个nucleo f103来学习,由于完全是自学,身边没有大神可以指导,我win7 64位系统安装驱动都让我整了一天。为了搞定st-link/v2的ram调试我又搞了一天。完全都是在查论坛的资料看教程模仿,弯路走不少。在此记录下成果,供像我一样孤独的小白借鉴一下吧。      我的驱动安装方法:我的用的是keil4 MDK472 。板子是官方的NUCLEO f103rb。由于官方板子是带的st-link/v2驱动请从官网自己下载。我下载的是 stsw-link009和stsw-link007。先安装 stsw-link009 文件下 dpinst_amd64.exe结果只成功第一个驱动,还用不了,试了好多方法一直找不到原因。后来用stsw-link007升级软件点一下Device Connect自己会找到驱动接着提示两个驱动都成功了,这就行了也不要继续点升级了。能用就行了,摸索一天真是醉了。      驱动安装成功,接着就介绍ram调试。理论就不多介绍了,就是相当于把ram里面的空间分成两个部分,一块大的用来写程序相当于'rom',一块小空间用来跑程序相当于'ram'。好处就是无限次擦写不损伤擦写有限次数的Flash。便于调试、掉电就会消失,调试成功以后可以写进Flash。但是由于ram本身比较小,可能只能写一些小程序,对小白做实验基本上市可以满足的。我的ram才20k,试了试居然还凑合。 接着上步骤:      打开Options设置,Device下选好自己芯片我的是STM32F103RB;      Target下IROM1: ROM起始地址0x8000000改为ram起始地址0x2000000,大小根据你自己的ram的大小自己分配我的是0x4000,后面IRAM1起始地址改为0x20004000大小0x1000,这样我这20k的空间就被分配完了;              Output下 HEX File勾选;       C/c++下 define: VECT_TAB_RAM       Debug下 选 ST-Link Debugger,后面setting设置Flash for Slgorithm   star:0x20004000size:0x1000,添加你自己的芯片,接着修改star:0x20000000size:0x4000;确定。在initialization File下添加一个后缀.ini文件 文件里面创建的内容如下:/******************************************************************************/
/* RAM.INI: RAM Initialization File                                           */
/******************************************************************************/
// <<< Use Configuration Wizard in Context Menu >>>                           //
/******************************************************************************/
/* This file is part of the uVision/ARM development tools.                  */
/* Copyright (c) 2005-2007 Keil Software. All rights reserved.                */
/* This software may only be used under the terms of a valid, current,      */
/* end user licence from KEIL for a compatible version of KEIL software       */
/* development tools. Nothing else gives you the right to use this software.*/
/******************************************************************************/FUNC void Setup (void) {
SP = _RDWORD(0x20000000);          // Setup Stack Pointer
PC = _RDWORD(0x20000004);          // Setup Program Counter
//_WDWORD(0xE000ED08, 0x20000000);   // Setup Vector Table Offset Register
}LOAD RAM\Blinky.axf INCREMENTAL      // DownloadSetup();                           // Setup for Running
g, main
接着设置Utilities设置里选择 ST-Link Debugger,setting设置类似Debug请参考上面,最后就是编译和仿真了。以上具体的步骤借鉴刘凯老师的视频,大家嫌不够详细可以去下载观看。

leo121_3006061 发表于 2015-5-6 01:55:41

写的真详细:lol

拼命三郎 发表于 2015-5-6 10:59:46

拼命三郎 发表于 2015-5-6 11:00:04

arm8686 发表于 2015-5-6 13:25:59

大赞楼主细致的探索精神和能力。
俺这一直都是直接烧录程序的,真是情何以堪:dizzy:

qscvhu 发表于 2015-5-6 14:05:08

精神可嘉~~~

g2004-148848 发表于 2018-8-4 00:30:45

谢谢楼主分享
页: [1]
查看完整版本: Nucleo f103 keil4 Ram调试