ARM Cortex-M底层技术(三)启动代码的使用

启动代码在ARM Cortex-M系统中负责初始化向量表、分散加载和C环境设置。本文探讨了如何在启动代码中调用函数、调用限制以及适合在启动代码中执行的功能,如FPU初始化、片外SRAM/SDRAM初始化和看门狗设置,强调了在__main之前执行这些任务以确保系统稳定性和实时性的重要性。
摘要由CSDN通过智能技术生成

Cortex-M 启动代码的使用

    上一篇扯了一些关于启动代码的原理,了解了额原理不去使用意义就没有那么大了,了解了启动代码不是终极目的,我们的目的是深入理解Cortex-M系列MCU的底层原理,并应用到实际的产品中,加速开发,提升产品稳定性;下面就小编我的实际使用经历来看一下,启动代码的具体应用。

    启动代码的本质是在程序进入用户代码(main函数)之前初始化向量表、完成分散加载以及C语言运行环境初始化的一段代码,可以说你需要在进入用户代码(main函数)之前需要搞定的工作都可以放在这里来完成,而且有些代码放到启动代码里面去完成会比在用户代码,main函数最开始完成效果要好得多。

1、如何在启动代码中调用函数?以及什么样的函数不能再启动代码中被调用?

    因为默认的标准的启动代码主要工作是在Reset_Handler里面完成的,调用函数一般也会再这里。

Reset_Handler   PROC

                EXPORT  Reset_Handler               [WEAK]

                IMPORT  SystemInit

                IMPORT  __main

                LDR     r0, =SystemInit

  • 20
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值