当前位置: 首页 > news >正文

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 这段汇编代码

STM32F103复位中断处理

; Reset handlerReset_Handler PROCEXPORT Reset_Handler [WEAK]	;IMPORT __mainIMPORT SystemInitLDR R0, =SystemInit	;从存储器中加载字到一个寄存器中BLX R0	;转移到由寄存器R0给出的地址,根据R0的 LSB(最低有效位)切换处理器状态,并且把转移前的下条指令地址保存到 LR(连接寄存器)LDR R0, =__mainBX R0		;转移到由寄存器R0给出的地址ENDP
http://www.lryc.cn/news/94152.html

相关文章:

  • Mysql 5.6使用配置文件my.ini来设置长时间连接数据库
  • 改进YOLOv5/YOLOv8:复现结合即插即用 | 高效多尺度注意力(EMA),模块成为YOLOv5改进的小帮手
  • 图像色彩增强论文调研
  • ORACLE透明网关ODBC连接MYSQL
  • Flutter网络请求框架Dio源码分析以及封装(二)--Cookie管理分析
  • Unity如何设计一个技能系统
  • 测试流程体系
  • Linux下CentOS KVM 虚拟化
  • < vue + ElementUi 组件封装:实现弹窗展示富文本数据,允许全文搜索高亮显示搜索内容 >
  • MATLAB 之 低层绘图操作和光照及材质处理
  • LLM-Client一个轻量级的LLM集成工具
  • leetcode动态数组vector实现杨辉三角
  • 第二十三章_Redis高性能设计之epoll和IO多路复用深度解析
  • 基于OpenCV-车辆检测项目(简易版)
  • 用python获取海康摄像机视频
  • 【Linux】遇事不决,可先点灯,LED驱动的进化之路---2
  • 【计算机网络】数据链路层--点对点协议PPP
  • 【⑦MySQL】· 一文了解四大子查询
  • ValSuite报告可以帮助改善您的验证过程的6种方式
  • 【机器学习】机器故障的二元分类模型-Kaggle竞赛
  • ADB usage
  • 利用有限元法(FEM)模拟并通过机器学习进行预测以揭示增材制造过程中热场变化:基于ABAQUS和Python的研究实践
  • Kafka与Flume的对比分析
  • docker启动redis哨兵报错(sentinel.conf is not writable: Permission denied)
  • 如何编写优秀代码
  • 信道编码:Matlab RS编码、译码使用方法
  • 数据结构第六章 图 6.1-6.3 错题整理
  • 12 MFC常用控件(一)
  • Springboot搭配Redis实现接口限流
  • php中的双引号与单引号的基本使用