STM32汇编设计

本文详细介绍了STM32的三种Boot模式:主闪存存储器、系统存储器和内置SRAM,重点讲解了系统存储器模式下的BootLoader和串口下载程序过程。此外,还分享了如何基于MDK创建纯汇编语言的STM32工程,包括新建工程、配置环境、添加源文件和编写测试代码。最后,给出了一个简单的汇编程序,用于计算1~100的求和并经串口输出结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

STM32的三种Boot模式差异

三种Boot模式
在这里插入图片描述
闪存存储器是用电可bai擦写弄成的Flash存储器,就是U盘,内存卡
系统存储器 指的是存放系统数据的存储区域,类如BIOS
内嵌SRAM是一种内存技术,静态存数据,不用经常用像DRAM那样用电去刷新就能长时间保存数据
主闪存存储器
是STM32内置的Flash,一般我们使用JTAG或者SWD模式下载程序时,就是下载到这个里面,重启后也直接从这启动程序。
系统存储器
这种模式启动的程序功能是由厂家设置的。一般来说,这种启动方式用得比较少。系统存储器是芯片内部一块特定的区域,STM32在出厂时,由ST在这个区域内部预置了一段BootLoader, 也就是我们常说的ISP程序, 这是一块ROM,出厂后无法修改。一般来说,我们选用这种启动模式时,是为了从串口下载程序,因为在厂家提供的BootLoader中,提供了串口下载程序的固件,可以通过这个BootLoader将程序下载到系统的Flash中。但这个下载方式需要以下步骤:

  • 将BOOT0设置为1,BOOT1设置为0,然后按下复位键,这样才能从系统存储器启动BootLoader。
  • 最后在BootLoader的帮助下,通过串口下载程序到Flash中。
  • 程序下载完成后,又需要将BOOT0设置为GND,手动复位,这样,STM32才可以从Flash中启动。
    内置SRAM
    一般用于程序调试,没有程序存储的能力。

基于MDK创建纯汇编语言的STM32工程

1、新建工程,并保存(自己设置工程名)。
在这里插入图片描述2、配置环境,根据自己所买芯片,本文基于STM32F103C8
在这里插入图片描述
2.1选择运行环境
ARM的CMSIS已经把开发所需要的软件组件都封装好了,因此直接选择即可;

1、CMSIS下选择CORE;
2、Device下Startup,其中包含了启动文件;
在这里插入图片描述2.3添加源文件
鼠标右键单击Source Group 1。
在这里插入图片描述

  • Asm File (.s) ,创建汇编文件;
  • 设置源文件的名称,保存

在这里插入图片描述完成后,会出现如下
在这里插入图片描述

3、测试代码
程序代码

 AREA MYDATA, DATA
	
 AREA MYCODE, CODE
	ENTRY
	EXPORT 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值