MCU启动过程

这篇具有很好参考价值的文章主要介绍了MCU启动过程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

启动文件

启动文件到底什么作用,其实启动文件主要是进行堆栈之类的初始化, 中断向量表以及中断函数定义。启动文件要引导进入main 函数。
开发STM32F103用的启动文件是startup_stm32f10x_hd.s
S32K146使用的启动文件是startup_S32K146.S

芯片架构

STM32F103才用Cortex-M3,S32K344采用Cortex-M7,但本质都是Armv7_M架构。

复位中断

Reset_Handler 中断函数是唯一实现了的中断处理函数,其他的中断函数基本都是死循环。 Reset_handler 在我们系统启动的时候会调用,下面让我们看看 Reset_handler 这段汇编代码文章来源地址https://www.toymoban.com/news/detail-510793.html

STM32F103复位中断处理

; Reset handler
	Reset_Handler PROC
	EXPORT Reset_Handler [WEAK]	;
	IMPORT __main
	IMPORT SystemInit
	LDR R0, =SystemInit	;从存储器中加载字到一个寄存器中
	BLX R0	;转移到由寄存器R0给出的地址,根据R0的 LSB(最低有效位)切换处理器状态,并且把转移前的下条指令地址保存到 LR(连接寄存器)
	LDR R0, =__main
	BX R0		;转移到由寄存器R0给出的地址
	ENDP

到了这里,关于MCU启动过程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux操作系统】编译过程中遇到的问题-为什么加-c?执行文件提示无法执行二进制文件?main函数参数argc和*argv[]的作用和理解?

    在使用GCC编译器进行程序开发时,我们经常会遇到一些编译过程中的问题, 比如为什么要加上\\\"-c\\\"选项,以及为什么生成的可执行文件无法执行等问题。 本篇博客将详细介绍这些问题,并给出相应的代码和解释,帮助读者更好地理解GCC编译过程中的\\\"-c\\\"选项和main函数的参数a

    2024年02月12日
    浏览(63)
  • cuda二进制文件中到底有些什么

    大家好。今天我们来讨论一下,相比gcc编译器编译的二进制elf文件,包含有 cuda kernel 的源文件编译出来的 elf 文件有什么不同呢? 之前研究过一点 tvm。从 BYOC 的框架中可以得知,前端将模型 partition 成 host 和 accel(accel 表示后端,比如加速卡,NPU或者其他AI加速模块) 两部分,

    2024年01月22日
    浏览(54)
  • 业界首款Cortex-M85 MCU性能到底如何?

    关注+ 星标公众 号 ,不错过精彩内容 作者 | strongerHuang 微信公众号 | strongerHuang 2023 年 10 月 31 日,瑞萨电子官方正式推出业界首款基于Arm® Cortex®-M85处理器的MCU: RA8M1系列MCU . 紧接着,在 2023 年 12 月 12 日,瑞萨电子又发布了RA8另一款面向图形显示应用和语音/视觉多模态A

    2024年02月19日
    浏览(37)
  • HTML——HTML 文件中的 DOCTYPE 是什么作用?

    HTML超文本标记语言: 是一个标记语言, 就有对应的语法标准 DOCTYPE 即 Document Type,网页文件的文档类型标准。 主要作用是告诉浏览器的解析器要使用哪种 HTML规范 或 XHTML规范 来解析页面。 DOCTYPE 需要放置在 HTML 文件的 html 标签之前,如:

    2024年03月16日
    浏览(57)
  • Linux内核移植:内核的启动过程分析、启动配置与rootfs必要文件

     内核启动通常包括4个阶段: iROM代码启动(BIOS启动)。开发板上电后,先执行内部iROM中的固化代码,类似于BIOS,执行通电自检和初始化过程,包括初始化CPU、存储器、时钟、总线等一些必要的硬件资源。 启动引导加载程序BootLoader。根据启动引脚的电平,读取相应的存储

    2024年02月13日
    浏览(145)
  • 【Linux】什么是文件系统及inode?如何创建软硬链接?软硬链接有什么作用?

    了解一下文件系统: Linux ext2文件系统,上图为磁盘文件系统图(内核内存映像肯定有所不同),磁盘是典型的块设备,硬盘分区被 划分为一个个的block。一个block的大小是由格式化的时候确定的,并且不可以更改。例如mke2fs的-b选项可以设 定block大小为1024、2048或4096字节。而

    2024年02月11日
    浏览(48)
  • SpringBoot启动过程探究及配置文件优先级解析

    如果项目依赖中存在org.springframework.web.reactive.DispatcherHandler,并且不存在org.springframework.web.servlet.DispatcherServlet,那么应用类型为WebApplicationType.REACTIVE 如果项目依赖中不存在org.springframework.web.reactive.DispatcherHandler,也不存在org.springframework.web.servlet.DispatcherServlet,那么应用类型为

    2024年02月09日
    浏览(43)
  • SpringBoot 日志文件:日志的作用?为什么要写日志?

    日志、日志,日志就是记录发生了什么。为啥要记录发生了什么呢?想象⼀下,如果程序报错了,不让你打开控制台看⽇志,那么你能找到报错的原因吗?因此我们需要记录程序的行为,通过这些行为能让我们更好的发现和定位错误所在位置。 除了发现和定位问题之外,还可

    2024年02月11日
    浏览(42)
  • Docker Compose映射卷的作用是什么,dockerfile这个文件有什么区别和联系?

    Docker Compose中映射卷(Volumes)的作用和Dockerfile之间既有区别也有联系。下面详细解释两者的作用、区别和联系: Docker Compose映射卷的作用 在Docker Compose中,卷(Volumes)用于数据持久化和数据共享: 数据持久化 :容器自身是易失的,当容器被删除时,存储在容器内部的数据也

    2024年02月21日
    浏览(46)
  • 【追光者】大学即(已)将(经)毕业,四年,我的所感所想(部分)| 区块链 面试题:区块链技术中,Merkle树有什么作用?| Merkle树的构建过程

      “幸福就像你身后的影子,你追不到,但是只要你往前走,它就会一直跟着你。”     🎯作者主页: 追光者♂🔥          🌸个人简介:   💖[1] 计算机专业硕士研究生💖   🌿[2] 2023年城市之星领跑者TOP1(哈尔滨)🌿   🌟[3] 2022年度博客之星人工智能领域TOP4🌟   🏅

    2024年02月06日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包