STM32F407的RAM调试

发布者:EtherealJourney最新更新时间:2018-06-07 来源: eefocus关键字:STM32F407  RAM调试 手机看文章 扫描二维码
随时随地手机看文章

最近一直在用STM32F407调试,更改验证时需要频繁的烧写Flash,于是就想试试能不能将程序在线加载到内部RAM中,避免反复擦除Flash。经过baidu得到的方法加上自己试验,终于调通了,现总结一下。

1.首先,新建配置项RAM,专用于加程序到RAM。
2.然后设置RAM的具体配置。
2.1 设置程序和数据的下载地址





STM32F4xx的RAM大小为192KB(112+16+64):

  • 112KB和16KB的起始地址为0x2000 0000,通过AHB总线访问


  • 64KB的起始地址为0x1000 0000,只能通过CPU直接访问。

2.2 在Linker中确保使用的是Target中设置的映射方式
2.3 添加初始化文件,保存为RAM.ini,并保存到工程所在目录中



2.4 仿真器下载地址的配置

 2.5 定义中断向量宏

2.6  在文件system_stm32f4xx.c中,去掉#define VECT_TAB_SRAM前面的注释,据说这样可以使用中断,我没试过

设置完成后,全部编译一遍,然后点开始调试按键,将程序加载到RAM中,程序开始运行。

PS:注意RAM.ini中load *.axf 文件的路径要设置正确,如果出错程序无法进入main函数,运行异常,这在调试信息里可以看到。


关键字:STM32F407  RAM调试 引用地址:STM32F407的RAM调试

上一篇:STM32—— AHB、APB详解
下一篇:一个关于使用STM32F4芯片CCM RAM时的异常分析

推荐阅读最新更新时间:2024-03-16 16:05

如何解决STM32F407串口无法发送第一个字节问题
///* CPU的小缺陷:串口配置好,如果直接Send,则第1个字节发送不出去 // 如下语句解决第1个字节无法正确发送出去的问题 */ /* 清发送完成标志,Transmission Complete flag */ USART_ClearFlag(USART1, USART_FLAG_TXE); USART_ReceiveData(USART1); //读DR USART_ClearFlag(USART1,USART_FLAG_ORE); //读SR USART1_SendOneByte(0xff);
[单片机]
STM32F407-限位金属传感器限制步进电机
一、硬件 1.硬件准备:57步进电机(型号57CM18),42步进电机,驱动器TB6600,开发板STM32F407ZGT6,SN-4NDO限位金属传感器,检测面在9mm左右。 步进电机和驱动器在STM32F407-用TB6600驱动器驱动57步进电机(代码+连线)已经记录过了,本文主要记录限位传感器。 2.连线 虽然说是传感器,但其实就是一个开关量,就跟光电开关一样。有两种接法: PNP接法 蓝线接地,棕线接电源,黑色线作为输出接入开发板作为输入,在PNP接法中,常态黑色线为低电平,当传感器检测到物体时,会输出24V正电压。 NPN接法差别就是检测到物体时,黑线输出的是负电压。 我这里将传感器的黑线输
[单片机]
STM32F407-限位金属传感器限制步进电机
stm32f407之定时器中断使用流程
1.初始化 1.定义相关变量 TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; NVIC_InitTypeDef NVIC_InitStructure; 2.打开定时器时钟 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE); 3.定时器寄存器配置 TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseStructure
[单片机]
<font color='red'>stm32f407</font>之定时器中断使用流程
stm32f407以太网及USB OTG快速开发
引言 想要快速完成网络协议栈和USB OTG功能,使用ST自家的工具STM32CubMx再好不过的了。如果你还不会使用,别着急下面我会一步一步的用图片告诉你如何做。 软件平台:windows、STM32CubMx、keil v5 硬件平台:原子的stm32f407ZGT6开发板, STM32CubMx配置 1、以太网管脚的映射配置 第一:阅读原理图,使用STM32CubMx完成配置,原理图这里不说明。直接到STM32CubMx配置。 (1)、打开STM32CubMx软件,选择New Project,在弹出的菜单选择,选择对应的芯片,点击OK即可。如下图: (2) 设置clock,板子使用的是8MHz的晶振,软件对应
[单片机]
<font color='red'>stm32f407</font>以太网及USB OTG快速开发
嵌入式开发:如何使用机智云+STM32F407+ESP8266+freeRTOS设计
前言 随着物联网的发展,未来的嵌入式产品必然朝着更加智能化、场景多样化、实时性更高等趋势发展,要处理好这些任务时,一个好的RTOS少不了。对于嵌入式开发者来说,了解和学习一个RTOS也是必要项之一,上手简单、及时性和可靠性高的FreeRTOS是最佳选择,和对开发者友好、物联网开发平台机智云配合,刚好满足了我对智能化开发的需求。 下面,我将从基础入手,来讲讲使用机智云+STM32F407+ESP8266+freeRTOS的设计,分别定义了GPIO输入输出,PWM输入输出。(本文由机智云开发者发表于CSDN,ID号:霁雪寒霄) 01 WiFi模块烧录GAgent 1.1 在机智云官网上下载固件,下载好的固件如图1-1所示。 1
[单片机]
嵌入式开发:如何使用机智云+STM32F407+ESP8266+freeRTOS设计
STM32f407驱动hc-sr04超声波测距模块
最近完了一下测距模块,本想挺简单的一个东西,却折腾了好长时间。总算弄好了,贴到这里和大家分享一下! HC-SR04超声波测距模块是一种被用烂了的传感器,它的优点是成本低,控制容易,但是掌握不好时序,还是会弄的人一头雾水。 本模块用使用方法如下: 一. 5v直流电压供电,一般的单片机上自带的VCC都能驱动 二. Trig引脚收到来自单片机时长大于等于20us的高点品后发出超声波 三. Echo引脚接收Trig引脚发出的超声波的回波,并且单片机开启定时器记录高电平时间 四. 高电平结束后,关闭定时器,从定时器寄存器中取出记录值,换算成距离即可。 在做的过程中注意: 网上有好多代码,但是大多数互相抄袭,而
[单片机]
STM32F407使用MFRC522射频卡调试及程序移植成功
本学期感测技术选修课需要做一个作品出来,用到了MFRC522射频卡模块,经历一个星期的调试,终于可以正常使用并寻卡成功了了。 成功的把C51的程序移植到了STM32上面。 现在分享一下调试过程 1、操作环境 我所使用的是STM32F407的开发板,使用STM32CubeMX配置初始代码。 MFRC522使用软件模拟SPI通信 2、关于引脚的配置 淘宝买来的模块,店家都会送资料 ,也可以点下面连接保存至网盘 链接:http://pan.baidu.com/s/1boMyMlx 1、SPI通信引脚 NSS(SDA) --------- 片选信号 SCK --------- 时钟信号 MO
[单片机]
<font color='red'>STM32F407</font>使用MFRC522射频卡<font color='red'>调试</font>及程序移植成功
stm32f407之基本定时器TIM6&TIM7(操作寄存器)
基本定时器TIM6和TIM7包括一个由可编程分频器驱动的16位自动重载计数器。它可以用作普通的定时器,也可以用来驱动DAC。这两个定时器是完全独立的,不共享任何资源。更多时候是与DAC平配合使用。 作为定时器的配置步骤: 1.设置中断优先级分组(如果之前没有设置),这个最好一个程序里只在开头设置一次。 2.使能相关时钟。 3.设置分频。 4.清空计数器的值。 5.设置自动重装寄存器的值。 6.是否允许中断。 7.如果允许中断,设置中断优先级,使能中断。 8.使能计数器。 程序: /************************************ 标题:定时器TIM7
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved