历史上的今天
返回首页

历史上的今天

今天是:2025年03月02日(星期日)

2021年03月02日 | STM32之SRAM调试

2021-03-02 来源:eefocus

在学习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 ARMBlinky.axf INCREMENTAL // Download


Setup(); // Setup for Running


g, main


此代码也可以在百度上查找,其路径在你指定的main.c里的同个文件夹,以我的为例(正点原子的历程模版)

点击Setting 如图 红色区域要打钩

好了,接下来点击Utilities,可以看到红色区域内的是要打钩的

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

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


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


推荐阅读

史海拾趣

Exar公司的发展小趣事

Exar公司通过收购和兼并多家公司,实现了技术融合和产品线拓展。其中,Neterion和Hifn的收购是Exar发展历程中的重要里程碑。Neterion在万兆以太网数据传输技术和虚拟化IO技术方面处于领先地位,而Hifn则在数据精简、加密、压缩技术方面拥有领先技术。Exar将这两家公司的技术融合在一起,推出了一系列高性能的数据传输和存储产品,进一步巩固了其在行业中的领先地位。

台湾唯圣(GW)公司的发展小趣事
提供稳定、可调的电流输出。
谷峰(GOFORD)公司的发展小趣事

随着产品线的不断丰富和技术实力的日益增强,GStek开始积极拓展国内外市场。公司采取多元化的市场策略,针对不同客户群体提供定制化的解决方案。同时,GStek还注重品牌建设,通过参加各类行业展会、举办技术研讨会等方式,加强与业界的交流与合作,提升品牌知名度和影响力。这些努力使得GStek的产品广泛应用于各类电子产品中,包括智能手机、平板电脑、笔记本电脑等移动设备以及家电、工控等领域。

BCD Semi(Diodes)公司的发展小趣事

为了进一步扩大市场份额,BCD Semi(Diodes)公司积极寻求与国际知名企业的合作。通过与国际合作伙伴的共同努力,公司成功打入了多个海外市场,并在全球范围内建立了稳定的销售渠道。同时,公司还与国际同行开展技术交流与合作,共同推动模拟半导体技术的发展。

ELANTEC (Renesas )公司的发展小趣事

随着全球半导体市场的不断扩大和竞争的加剧,ELANTEC意识到必须加快全球化布局的步伐。因此,公司开始在全球范围内设立研发中心、生产基地和销售网络。目前,Renesas在全球拥有多个研发中心和生产基地,产品覆盖亚洲、欧洲、美洲等多个地区。这种全球化布局不仅使Renesas能够更好地服务全球客户,还为其未来的发展奠定了坚实的基础。

Fedco_Batteries公司的发展小趣事

面对日新月异的市场需求和技术变革,Fedco_Batteries始终保持创新的步伐。公司加大了研发投入,不断推出新型电池产品,满足客户的多样化需求。同时,公司还积极探索新的应用领域,将电池技术应用于更多领域,如新能源汽车、智能家居等。这种创新驱动的发展战略,让Fedco_Batteries在行业中始终保持领先地位。

问答坊 | AI 解惑

STN液晶显示原理

本帖最后由 jameswangsynnex 于 2015-3-3 20:00 编辑 STN液晶显示原理STN型的显示原理与TN相类似,不同的是TN扭转式向列场效应的液晶分子是将入射光旋转90度,而STN超扭转式向列场效应是将入射光旋转180~270度。  要在这里说明的是,单 ...…

查看全部问答>

广州青少年机器人大赛太难 学生难以单独完成

本帖最后由 paulhyde 于 2014-9-15 09:49 编辑 有感于现在小学生都在玩机器人,转贴 ============================= 题目越来越难,一般学生难以单独完成,只能由老师一手包办 昨日,广州市青少年机器人竞赛在芳村小学举行。照明节能日光灯、 ...…

查看全部问答>

ISP下载如何制作

各位高手:             我是一位单片机初学者,现在用AT89S52,想自已做一根并口下载线,网上搜索了下确实很多这方面的资料,我也试着制作,但无论用74LS244还是用74HC373都不行,图和软件如附档,请高手帮忙看 ...…

查看全部问答>

【电子书】电子设计竞赛赛题解析

本帖最后由 paulhyde 于 2014-9-15 03:32 编辑 一本电子设计竞赛赛题解析,希望各位好运~~~ 打开这本电子书需要用到超新星图书浏览器,也放在附件中了 下载地址:http://www.ssreader.com/download/download.html [ 本帖最后由 open82977352 于 ...…

查看全部问答>

讨论最有性价比的TPMS方案

TPMS已经成为汽车电子的一个热点,随着相关法规的出台,它的需求量将会激增。对于TPMS的设计师来说,求得一个高的性能/价格比的方案是至关重要的。TPMS的发射器涉及P/T/A/V+ASIC传感器模块、MCU、RF、电池、天线和外型的工业设计,如何来选型?如何 ...…

查看全部问答>

一个比较全面的放大器参数说明 (转)

工作频率范围(F): 指放大器满足各级指标的工作频率范围。放大器实际的工作频率范围可能会大于定义的工作频率范围。 功率增益(G): 指放大器输出功率和输入功率的比值,单位常用“dB”。 增益平坦度(ΔG): 指在一定温度下,在整个工作 ...…

查看全部问答>

关天fseek(fp_Write, 0L, SEEK_END);指向文件未尾应用

关天fseek(fp_Write, 0L, SEEK_END);指向文件未尾应用 bool SaveToBookMark3(char* pBookMarkTitle, char* pUrl ) {         //char FullPath[256] = {\"\\\\Windows\\\\收藏夹\\\\\"};         char ...…

查看全部问答>

求助:保定飞凌OK2440-III开发板,启动wince时,无法进入系统,始终停止在启动画面。

开发板:ok2440-III 问题:启动wince时,无法进入系统,始终停留在启动画面。指示灯LED0亮。(注:可启动Linux操作系统,但无法使用触屏功能。) DNW启动时内容如下: +------------------------------------------------------------+ |  ...…

查看全部问答>

如何调整 程序安装 对话框的宽度

我们的CE产品要求显示是potrait mode。为了降低成本,我们用的是landscape形式的LCD。然后在注册表中旋转90度。这样,显示就成了标准的portrait mode。大部分对话框的显示也是正常的,但是只有程序安装界面还是landscape mode的宽度和高度。所以, ...…

查看全部问答>

Verilog一些简单问题解答

1.为什么仿真时总出现脉冲?那就是竞争冒险吗?可是实验给出的图形是很完美的响应啊,我的却总是激励过后一段时间才有响应的波形   答:数据的过渡状态,可以认为是冒险竞争,不是所有的情况都是这样的2.在引脚分配时同样的字母大小写不一致 ...…

查看全部问答>