1 美信cortex-m3内核芯片的启动过程及连接文件介绍-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

美信cortex-m3内核芯片的启动过程及连接文件介绍

CHANBAEK 来源:硬件工程师干货 作者:硬件工程师干货 2023-03-01 11:39 次阅读

本文以美信cortex-m3内核某型号芯片以及eclipse开发环境介绍芯片启动过程以及连接文件。

启动过程介绍:

先看向量表,见下图1区域向量表定义在nvic_section这个区域,启动时,会拷贝到RAM中运行,后面会介绍,重定向向量表不是必须的,拷贝到RAM中有个好处,修改向量表比较方便。

向量表的最开始是栈指针,接下来是复位向量,见2区域。

pYYBAGP-x8qACQGLAAHaRcZFq5M073.png

下面就是复位函数,前面说了,复位函数地址放在了向量表的第二位。处理器上电后首先运行这个函数,进行初始化。这个函数定义在了reset区域,这个区域在Flash的起始位置,因此首先运行它,这个函数第一步就是初始化栈指针,然后调用start函数。

pYYBAGP-x9eAU-XzAAFJDeyFLvA584.png

关键的start函数来了:

1部分:这个函数首先从Flash拷贝数据,这个过程就是给全局变量赋值,换句话说就是给代码中有初值的全局变量或者静态局部变量赋值。因为全局变量和静态局部变量初值是保存在Flash里面,会占用Flash空间,这一点要注意。

2部分:把需要清零的RAM区清空,包括没有初值的全局变量。

3部分:拷贝向量表并重定向,上面已经提过,重定向不是必须的。

这个函数最后调用main函数,就再也回不来了。

pYYBAGP-x-WAXlU4AAOMEd9jBwM109.png

连接文件介绍:

1区域:上面说了__reset函数就在这区域,可以看出在Flash最上面,首先运行它。

2区域:向量表,start函数中拷贝到RAM区了,这是初始位置,在Flash区。

poYBAGP-x_SAT2M2AAIJZagnxW0005.png

继续往下看连接文件:

1区域:有初值常量,比如const类型,存放在Flash里

2部分:全局变量初值存放位置。刚才拷贝的就是它。

3区域:清零区,就是上面循环清零的区域

4区域:栈区域,一般在RAM最后面,因为cortex-m3类处理器都是满递减栈。

poYBAGP-yBiAXe0QAANt-l4AtOA568.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 内核
    +关注

    关注

    3

    文章

    1372

    浏览量

    40274
  • Cortex
    +关注

    关注

    2

    文章

    202

    浏览量

    46479
  • 函数
    +关注

    关注

    3

    文章

    4327

    浏览量

    62567
  • 美信
    +关注

    关注

    5

    文章

    1335

    浏览量

    72469
  • Cortex-M3
    +关注

    关注

    9

    文章

    269

    浏览量

    59463
收藏 人收藏

    评论

    相关推荐

    ARM Cortex-M0 DesignStart系列--4启动过程分析

    书接上文《ARM_Cortex-M0 DesignStart系列--3rtl仿真过程的详细分析》,本文基于hello这个case,对Cortex M
    的头像 发表于 11-10 09:05 2811次阅读
    ARM <b class='flag-5'>Cortex-M</b>0 DesignStart系列--4<b class='flag-5'>启动过程</b>分析

    cortex-m3的操作模式及特权级别

    STM32是cortex-m3内核芯片,拥有cortex-m3的特性,以下介绍cortex-m3
    的头像 发表于 03-01 11:00 5761次阅读
    <b class='flag-5'>cortex-m3</b>的操作模式及特权级别

    ARM Cortex-M3内核介绍

    STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核(ST's product portfolio contains a comprehensive
    发表于 08-05 06:15

    怎样去使用Cortex-M3内核

    Cortex-M3内核是什么?怎样去使用Cortex-M3内核
    发表于 09-24 07:19

    Cortex-M3简述

    低实时性好代码密度得到很大改善使用更加方便低成本的整体解决方案开发工具众多:keil、Cube…二者之间的关系上图是基于Cortex-M3内核的MCU,Cortex-M3相当于一个小CPU(中央处理器)。MCU就是我们看到的
    发表于 11-10 08:19

    Cortex-M3内核_IAP升级的相关资料下载

    单片机启动方式首先上几幅Cortex-M3内核的参考手册的图:一般情况下我们用到的开发板,例如带一键下载功能的都是从系统存储器开始启动的。系统存储器是一块存储空间,他里面的内容就是Bo
    发表于 12-10 07:26

    Cortex-M3内核浮点型运算的研究与实现

    Cortex-M3内核上实现浮点型运算,可以达到所要求的精度,运算速度较快,具有较高的实时性。本文提出的浮点型运算的处理方法在基于Cortex-M3内核的处理器上有着较高的应用价值。
    发表于 03-11 11:04 1.2w次阅读
    <b class='flag-5'>Cortex-M3</b><b class='flag-5'>内核</b>浮点型运算的研究与实现

    Cortex-M3权威指南介绍

    Cortex-M3处理器介绍基本的硬件构架和指令系统待
    发表于 11-23 11:01 0次下载

    Cortex-m3内核STM32芯片的硬件库程序

    Cortex-m3内核STM32芯片的硬件库程序 有需要的下来看看
    发表于 12-29 13:41 3次下载

    TKScope仿真调试Cortex-M3内核的高级手段

    TKScope仿真调试Cortex-M3内核的高级手段
    发表于 10-09 09:34 12次下载
    TKScope仿真调试<b class='flag-5'>Cortex-M3</b><b class='flag-5'>内核</b>的高级手段

    介绍STM32F4在Cortex-M4内核Cortex-M3内核方面的优势

    该视频通过STM32F4 MCU展示了在音频处理应用方面Cortex-M4内核Cortex-M3内核的比较优势
    的头像 发表于 07-03 04:19 1.4w次阅读

    Cortex-M3处理器内核与基于Cortex-M3的MCU关系

    低实时性好代码密度得到很大改善使用更加方便低成本的整体解决方案开发工具众多:keil、Cube…二者之间的关系上图是基于Cortex-M3内核的MCU,Cortex-M3相当于一个小CPU(中央处理器)。MCU就是我们看到的
    发表于 11-05 18:35 8次下载
    <b class='flag-5'>Cortex-M3</b>处理器<b class='flag-5'>内核</b>与基于<b class='flag-5'>Cortex-M3</b>的MCU关系

    STM32启动过程--启动文件--分析

    、中断向量安排等内容,是非常值得玩味的。  STM32作为一款高端Cortex-M3系列单片机,有必要了解它的启动文件。打好基础,为以后优化程序,写出高质量的代码最准备。  本文以一个实际...
    发表于 11-30 13:21 4次下载
    STM32<b class='flag-5'>启动过程</b>--<b class='flag-5'>启动</b><b class='flag-5'>文件</b>--分析

    分析ARM Cortex-M内核复位启动过程

    ARM Cortex-M内核的复位启动过程也被称为复位序列(Reset sequence),下面就来简要总结分析下这一过程
    的头像 发表于 03-20 09:58 2353次阅读

    Cortex-M3芯片有哪些

    Cortex-M3芯片是一款基于ARM架构的低功耗、高性能的嵌入式处理器。目前市面上有众多厂商生产了基于Cortex-M3内核芯片,如意法
    的头像 发表于 03-11 17:07 1577次阅读