打印
[应用相关]

STM32之SRAM调试

[复制链接]
615|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
conjunction|  楼主 | 2019-4-18 15:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
原贴链接:https://www.cnblogs.com/alvis-jing/p/3662158.html


    在学习STM32的时候,由于烧FLASH的所造成的时间会比较慢,而在SRAM中调试的时间会比FLASH快很多,再加上FLASH的时候会经常擦除芯片,会对芯片的寿命造成一定的影响,
其实我本人觉得在学习STM32的路途中,没有必要也大可不必使用烧FLASH的路径来对芯片进行实验性的学习,但是在SRAM中调试所造成的影响就是断电的时候数据会丢失。
   个人以STM32ZET6为例子,因为我的板子的芯片是ZET6的,不过设置除了地址空间不一样之外、其他都基本雷同。
   首先,STM32的启动模式有三种,
  在STM32F10xxx里,可以通过BOOT[1:0]引脚选择三种不同启动模式。
从这张表格可以看出来,当启动模式为SRAM时,BOOT[1:0]=1:1;
请注意:从内置SRAM启动:只能在0x2000 0000开始的地址区访问SRAM。请记住这个0x2000 0000,因为待会我们要用到。
以上不失为一种方法,接下来我要从另外一个角度来设置SRAM:
打开keil4,点击图标,大家可以看到Target里的界面,请大家注意红色区域,这里是从0x2000 0000开始的,看到这大家明白我为什么要让大家记住0x2000 0000吧,由于我的ZET6是64K,也就是0x100000,在这里我把它分区了,也就是从0x2000 0000到0xB000   0x2000 B000到0x5000;(大家注意:B和5的数值可以任意,但是其和不能超过F,这决定了你所分区的大小);
点击C/C++  添加VECT_TAB_RAM 如图
接下来,添加脚本文件,此脚本文件的作用是什么,目前我还不清楚,但是我觉得应该是改变其中断向量什么的吧,点击Debug,请看红色区域部分,点击Edit添加,
其代码如下:
/******************************************************************************/
/* 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
}

//LOAD ARM\Blinky.axf INCREMENTAL      // Download

Setup();                             // Setup for Running
g, main

此代码也可以在百度上查找,其路径在你指定的main.c里的同个文件夹,以我的为例(正点原子的历程模版)
点击Setting 如图 红色区域要打钩

使用特权

评论回复
沙发
conjunction|  楼主 | 2019-4-18 15:11 | 只看该作者
好了,接下来点击Utilities,可以看到红色区域内的是要打钩的



点击Setting可以看到Flash Download请看图:有三处红色区域要进行更改



这里的空间地址跟最初设置的一样,不要搞错了,否则会有预想不到的错误,就像小怪兽一样破坏你前进的道路,不过有奥特曼,你别怕哈,、、

好了,到这里,大家就可以享受什么是快了、、、



小弟不才、、也是菜鸟人物,若有讲错的地方,请赐教、、要向抓腐败那样对我提出建议和改进的地方、、在此表示衷心的感谢,希望能帮到、、

使用特权

评论回复
板凳
huzi2099| | 2019-4-19 09:19 | 只看该作者

使用特权

评论回复
地板
paotangsan| | 2019-5-8 09:40 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
5
renzheshengui| | 2019-5-8 09:59 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
6
wakayi| | 2019-5-8 10:04 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
7
木木guainv| | 2019-5-8 10:32 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
8
磨砂| | 2019-5-9 11:32 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
9
晓伍| | 2019-5-9 11:53 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
10
八层楼| | 2019-5-9 11:57 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
11
观海| | 2019-5-9 12:46 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
12
guanjiaer| | 2019-5-9 12:56 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
13
buffered| | 2019-5-27 16:50 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

33

主题

196

帖子

0

粉丝