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

STM32 F0 SRAM调试

[复制链接]
织梦狼 提问时间:2015-5-13 09:05 /
本帖最后由 织梦狼 于 2015-5-13 09:05 编辑

目的:

         百度上据说STM32 FALSH 只有刷个千来遍,刷坏了需要重新换芯片,以目前咱们调试水平不刷个几万遍布估计很难成为高手。
       因此为了在成为高手的路上减少MUC牺牲,减少大家RMB的损失,特记下此过程与大家分享。
试验材料:
  
开发板:
  
  
STM32F072RB-Nucleo 1块
  
  
杜绑线:
  
  
2根
  
  
2K电阻:
  
  
1个
  
  
软件
  
  
Keil5\st-link驱动\stvp\
  

过程:

查阅 《STM32 F0XXXX参考手册》ST文档编号为RM9001,以记录要想从SRAM运行,需要修改BOOT0和BOOT1设置,具体如下表:
file:///C:\Users\YAO-XI~1\AppData\Local\Temp\msohtmlclip1\02\clip_image001.png

在STM32F072RB-Nucleo的用户手册上查询电路图,发现BOOT0已被R33拉为0了。因此使用其上拉需要使用2K电阻串入3.3V电压使用引脚置为1。

file:///C:\Users\YAO-XI~1\AppData\Local\Temp\msohtmlclip1\02\clip_image002.png

从开发板用户手册了解了BOOT0脚已引到CN7插座的7脚,旁边VDD为3.3V电压,因此使用杜绑线很容易就可以串入上拉电阻使其变为1。
file:///C:\Users\YAO-XI~1\AppData\Local\Temp\msohtmlclip1\02\clip_image003.png
下图是接线图
file:///C:\Users\YAO-XI~1\AppData\Local\Temp\msohtmlclip1\02\clip_image004.png


完成BOOT0的电路改动后,从RM9001文档中得知F0BOOT1已由原来物理引脚改为在FLAHS 内存中设置了。

file:///C:\Users\YAO-XI~1\AppData\Local\Temp\msohtmlclip1\02\clip_image005.png

ST公司提供了STVP软件用于修改FLASH内容。装好ST-LINK驱动,打开STVP按以下编号进行操作把BOOT1改为1。
file:///C:\Users\YAO-XI~1\AppData\Local\Temp\msohtmlclip1\02\clip_image006.png

以上就完成了BOOT0和BOOT1的设置,这是在SRAM调式程序先决条件。

接下来需要在KEIL的软件项目中进行一些配置才会下载到SRAM中运行。

1、新增项目调试目标 SRAM
file:///C:\Users\YAO-XI~1\AppData\Local\Temp\msohtmlclip1\02\clip_image007.png

2、从RM9100 文档 中查得SRAM起始地址 为0x20000000,把MCU的8K SRAM空间分成4K代码空间、4K程序运行空间。
file:///C:\Users\YAO-XI~1\AppData\Local\Temp\msohtmlclip1\02\clip_image008.png

3、钩选两项输出。——具体作用未知,只百度到前人经验,这里原样引用。
file:///C:\Users\YAO-XI~1\AppData\Local\Temp\msohtmlclip1\02\clip_image009.png


4、DEBUG设置如下图所示。
file:///C:\Users\YAO-XI~1\AppData\Local\Temp\msohtmlclip1\02\clip_image010.png

其中百度出SRAM.INI文件内容如下,在KIEL建立。在本实验中证明不需要也可以。yao-xiaorong 于 2015/04/17 16:31 修改
/******************************************************************************/
/* 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.  */
/***************************************************myowlQQ:281459298**********/  
FUNC void Setup(void){
SP=_RDWORD(0x20000000); //Setup Stack Pointer
PC=_RDWORD(0x20000004); //Setup ProgramCounter
_WDWORD(0xE000ED08,0x20000000); //Setup Vector TableOffset Register
}
LOAD STM32F072RB-Nucleo\STM32F072RB-Nucleo.axfINCREMENTAL
Setup();
g, main
/*****************代码至此结束*************************************/

其中红色路径的AXF为项目构建生成的文件,存在于项目输出的目录当中。
file:///C:\Users\YAO-XI~1\AppData\Local\Temp\msohtmlclip1\02\clip_image011.png

5、修改DEBUG中代码下载的目的地址和RAM地址。
file:///C:\Users\YAO-XI~1\AppData\Local\Temp\msohtmlclip1\02\clip_image012.png

6、确定UTILITIES中的内容与DEBUG设置的一致。
file:///C:\Users\YAO-XI~1\AppData\Local\Temp\msohtmlclip1\02\clip_image013.png

至此在RAM中调试代码已具备软硬条件。

现在我们打开开发板的GPIO例子试试,是否下载到内存中调式
file:///C:\Users\YAO-XI~1\AppData\Local\Temp\msohtmlclip1\02\clip_image014.png

开板买来时已经烧入这段闪灯的代码。现在我们将代码改成长亮然后下载调式是否能够运行,完了将BOOT0的杜绑线拨掉,将程序环境反原为FLASH启动,以验证长亮的代码时是否真的是在RAM中运行的。

如果还原后为闪灯效果则说明我们调试长亮的代码时是在内存中运行的,并没有覆盖FLASH中闪灯代码,实验成功。
闪灯代码:
file:///C:\Users\YAO-XI~1\AppData\Local\Temp\msohtmlclip1\02\clip_image015.png

长亮代码:
file:///C:\Users\YAO-XI~1\AppData\Local\Temp\msohtmlclip1\02\clip_image016.png

STM32 F0 SRAM调试.pdf

下载

1.01 MB, 下载次数: 26, 下载积分: ST金币 -1

收藏 评论6 发布时间:2015-5-13 09:05

举报

6个回答
废鱼 回答时间:2015-5-13 10:49:44
此帖仅作者可见
lcdi 回答时间:2015-5-13 10:51:56
此帖仅作者可见
yceast 回答时间:2015-10-13 15:16:02
此帖仅作者可见
织梦狼 回答时间:2015-10-14 09:08:03
此帖仅作者可见
晨阳 回答时间:2015-10-14 09:23:40
此帖仅作者可见
niexiaohui 回答时间:2015-10-14 09:36:44
此帖仅作者可见

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版