历史上的今天
返回首页

历史上的今天

今天是:2025年08月14日(星期四)

正在发生

2018年08月14日 | STM32 启动过程简述

2018-08-14 来源:eefocus

根据启动模式分析的结论:

1、 通过boot引脚设置可以将中断向量表定位于SRAM区,即起始地址为0x02000000,同时复位后PC指针位于0x02000000处;
2、 通过boot引脚设置可以将中断向量表定位于FLASH区,即起始地址为0x08000000,同时复位后PC指针位于0x08000000处;

3、 通过boot引脚设置可以将中断向量表定位于内置Bootloader区,本文不对这种情况做论述;

STM32 将0x8000000 映射到 0x00000000,即如果从内部FLASH启动,会从 0x08000004 处进行取指令 (CM3定义的 0x08000000 用于存放SP指针),故,0x00000000 与 0x8000000 内容完全相同,如下所示:



整体过程为:

①上电后硬件设置SP、跳转到 Reset_Hander

②设置系统时钟(SystemInit)

③软件设置SP

④加载.data、.bss,并初始化栈区(__main)

⑤跳转到C文件的main函数

在.s文件中,已经将中断向量表定义完整,系统会跳转到固定地址进行执行。第一条执行 Reset_handler。接着执行SystemInit设置运行时钟信息(72MHz)。

__main函数是内部的一个库函数,在此函数中调用了_scatter_load, _scatterload_null, _scatterload_copy 等函数,负责初始化堆栈,RW-DATA搬运,ZI段初始化等等操作。并最终跳转到 main 函数。

值得注意的是:Keil编译完成后:

Code:代表程序代码段

RO_DATA:代表只读数据段

RW_DATA:代表已经初始化全局数据

ZI_DATA:代表未初始化全局数据

由于程序在 FLASH 中直接通过总线进行访问,程序运行在 FLASH 上,而可更改的数据存于 SRAM 中,故:

RO_SIZE = Code + RO_DATA(占用 Flash )

RW_DATA = RW_DATA + ZI_DATA(占用 SRAM)

ROM_SIZE = Code + RO_DATA + RW_DATA ( 烧写到 FLASH 大小空间 )

针对 ZI 数据,是不存 FLASH 中,直接在 SRAM 中初始化为 0 


推荐阅读

史海拾趣

DELTA公司的发展小趣事

随着人们生活水平的提高和环保意识的增强,Delta公司提出了“智能绿生活”战略,致力于为个人、家庭和企业带来更环保健康的生活型态。在这一战略指导下,Delta推出了一系列视讯显像系统、网络通信系统、LED照明、智能语音系统及云计算等产品。这些产品不仅具有高效、节能的特点,还为用户提供了更加便捷、智能的生活体验。

Galaxy Semi-Conductor Co Ltd公司的发展小趣事

飞虹光电科技集团在转型过程中,相继成立了多家高科技企业,如山西飞虹微纳米光电科技有限公司、山西飞虹半导体照明有限公司等。这些企业之间形成了良好的协同发展机制,共同推进半导体激光器和LED材料的研发与应用。通过产学研一体化模式,飞虹系列企业依托多所高等院校技术平台,不断提升自身研发实力和市场竞争力,为中国电子行业的发展贡献了重要力量。

Azoteq公司的发展小趣事

最近,Azoteq宣布推出了一款电容、电感和霍尔效应组合传感器——IQS620。这款传感器是传感领域的重大突破,它将电容式触摸和接近传感、电感传感以及霍尔效应传感集成在一个低姿态的封装中。这种高度集成化的设计使得IQS620在可穿戴设备、移动设备和安全等多个领域都有广泛的应用前景。IQS620的推出,不仅展示了Azoteq在传感技术方面的深厚实力,也为其在未来的市场竞争中注入了新的活力。

这些故事展示了Azoteq公司在电子行业中的发展历程和取得的成就。从创立初期的LightSense™系列产品,到后续的电容式触摸和接近感应市场拓展,再到PowerSense™和ProxFusion®产品系列的推出,以及最新的IQS620传感器的发布,Azoteq始终紧跟市场趋势,不断创新,为客户提供高质量的半导体解决方案。

ELESTA GmbH公司的发展小趣事

2013年,ELESTA公司更名为ELESTA GmbH,这一品牌重塑标志着公司进入了新的发展阶段。同时,ELESTA也开始实施全球化战略,积极拓展国际市场,通过不断提升产品质量和服务水平,赢得了全球客户的信赖和认可。

Genesis Microchip公司的发展小趣事

在电子行业竞争日益激烈的背景下,GI通过一系列的战略并购和整合,进一步巩固了其市场地位。公司精心挑选并收购了多家具有技术实力和市场潜力的企业,通过资源整合和优势互补,实现了技术、产品和市场的全面升级。这些并购不仅为GI带来了更多的技术专利和市场份额,还为其在未来的竞争中奠定了更加坚实的基础。

DURACELL公司的发展小趣事

1920年,一位年轻而聪明的科学家山谬·鲁本(Samuel Ruben)和另一位年轻而富有的钨丝电线制造商菲立普·马洛里(Philip Rogers Mallory)在一次偶然的机会中相遇。鲁本到马洛里公司寻找实验设备,两人在交谈中共同意识到将发明天赋和制造力量结合起来的巨大机会。这个巧合开启了他们的合作之旅,最终导致了金霸电池的诞生。鲁本的发明为当时的电池科技带来了革命性的改变,奠定了DURACELL公司坚实的基础。

问答坊 | AI 解惑

直流伺服电机闭环模块实例——电子设计大赛298驱动器

转载:ouravr 在2007年全国电子设计大赛的F题中,我们考虑到直流电机负载情况,认为所选电机在设计的工作模式下不会产生大于3安的电流,因此,放弃MOS管搭建H桥的常见方法,转而使用298直接驱动电机。我们采用了Ouravr邮购部购买的伺服电机,并对编 ...…

查看全部问答>

EasyARM2103教材

本帖最后由 paulhyde 于 2014-9-15 09:27 编辑 EasyARM2103教材~~~~~~~~~~~~  …

查看全部问答>

【藏书阁】电子线路实验 方建中

目录: 第一篇 模拟电路 实验一 常用电子仪器的使用 实验二 单级低频放大器的设计、安装与调试 实验三 集成运算放大器及其应用 实验四 OTL低频功率放大器 实验五 音频功率放大器的设计、安装与调试 实验六 集成稳压电源 实验七 LC振荡器 ...…

查看全部问答>

我的原创+小电阻怎么过大电流

电阻是有功率限制的,假若一个50R的电阻是1/8W,那么加在他两端的电压最大不能超过2.5V,此时流过的电流为0.05A,即50mA。那么一个电路要求的输入电阻必须是50R,输入电压却超过了2.5V。而你只能选1/8W电阻,那么可以像下面这样办!     ...…

查看全部问答>

mini2440 ov9650 wince6.0 应用程序 采集图像花屏!!~~~~求高手解答

int rc = 0;      HANDLE hCam = CreateFile (TEXT(\"CIS1:\"), GENERIC_WRITE | GENERIC_READ,          0, NULL, OPEN_EXISTING, 0, NULL); //打开设备句柄     if (hCam == IN ...…

查看全部问答>

帮帮忙急求:谁知道嵌入式精简TCP/IP

    谁知道嵌入式精简TCP/IP协议有多大要用多大的flash/ram来存储,是不是单片机上有这个协议就可以实现网络通信了啊? 如果不行还需要什么啊?…

查看全部问答>

也谈家电产品之模糊控制技术(上)

本帖最后由 jameswangsynnex 于 2015-3-3 20:04 编辑 当今绚丽多彩的家电市场,产品最受关注的卖点莫过于“智能”、“人性化”、“全自动”等。从用户的角度来看,能配上如此美名的产品,应该是用户只需按触一个“START”开关,不论具体应用的对象 ...…

查看全部问答>

跪求一个电源设计

本帖最后由 paulhyde 于 2014-9-15 09:27 编辑 最好能够基于51单片机的。  …

查看全部问答>

求解430中断程序处理方法!!急啊

芯片MSP430F47197 SD16_A进行7路采样,32768晶振,OSR256,采样频率fs=32768*32/256=4096/s 采样的交流电压频率为50HZ,我的理解是每秒可采集4096个数据,而交流电每秒有50个周期, 理论上我每个周期的交流电可采集到4096/50=82个数据左右。 &n ...…

查看全部问答>

峰值检测

本帖最后由 paulhyde 于 2014-9-15 09:02 编辑 本人刚做的一个峰值检测电路模块,在小频率是还算准确,然而频率跳到1MHZ以上就误差太大,求高人指点·····  …

查看全部问答>