11回答

0收藏

解析 STM32 的启动过程

STMCU STMCU 4550 人阅读 | 11 人回复 | 2013-06-19

当前的嵌入式应用程序开发过程里,并且C语言成为了绝大部分场合的最佳选择。如此一来main函数似乎成为了理所当然的起点——因为C程序往往从main函数开始执行。但一个经常会被忽略的问题是:微控制器(单片机)上电后,是如何寻找到并执行main函数的呢?很显然微控制器无法从硬件上定位main函数的入口地址,因为使用C语言作为开发语言后,变量/函数的地址便由编译器在编译时自行分配,这样一来main函数的入口地址在微控制器的内部存储空间中不再是绝对不变的。相信读者都可以回答这个问题,答案也许大同小异,但肯定都有个关键词,叫“启动文件”,用英文单词来描述是“Bootloader”。


无论性能高下,结构简繁,价格贵贱,每一种微控制器(处理器)都必须有启动文件,启动文件的作用便是负责执行微控制器从“复位”到“开始执行main函数”中间这段时间(称为启动过程)所必须进行的工作。最为常见的51AVRMSP430等微控制器当然也有对应启动文件,但开发环境往往自动完整地提供了这个启动文件,不需要开发人员再行干预启动过程,只需要从main函数开始进行应用程序的设计即可。


话题转到STM32微控制器,无论是keil
uvision4
还是IAR EWARM开发环境,ST公司都提供了现成的直接可用的启动文件,程序开发人员可以直接引用启动文件后直接进行C应用程序的开发。这样能大大减小开发人员从其它微控制器平台跳转至STM32平台,也降低了适应STM32微控制器的难度(对于上一代ARM的当家花旦ARM9,启动文件往往是第一道难啃却又无法逾越的坎)。



更多内容看PDF
解析 STM32 的启动过程.pdf (435.08 KB, 下载次数: 145)

分享到:
回复

使用道具 举报

回答|共 11 个

倒序浏览

沙发

楞伽_山人_3003203

发表于 2013-6-23 22:29:39 | 只看该作者

不错,顶起!
板凳

zada小明

发表于 2013-6-24 09:13:38 | 只看该作者

楞伽_山人 发表于 2013-6-23 22:29
不错,顶起!

谢谢                          
地板

Athos

发表于 2013-7-24 16:42:23 | 只看该作者

刚看到这块,,极大帮助!!
5#

Athos

发表于 2013-7-24 17:42:15 | 只看该作者

楼主高手!看完受益匪浅
6#

愤怒的小猪

发表于 2013-8-20 09:00:57 | 只看该作者

学习下   STM启动过程
7#

fjjjnk1234

发表于 2013-10-23 07:42:10 | 只看该作者

谢谢分享!!!
相由心生境随心转一切法从心想生
8#

登云钓月

发表于 2013-11-5 08:39:44 | 只看该作者

顶起,学习了。。。
9#

ALVY

发表于 2013-11-9 16:10:46 | 只看该作者

学习一下 啊啊
10#

hill123

发表于 2013-11-11 06:51:16 | 只看该作者

文档不错,有实力,
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条