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

S32K328打断点调试进入main函数之前的准备工作

1:调试前的配置工作

代码工程使用S32DS创建的 freeRTOS例程,Startup_Code/路径下包含6个启动相关的文件
在这里插入图片描述
需要手动配置一下,将 “main” 修改为 “Reset_Handler”,默认程序是从main函数开始运行的;
我这里是使用jlink调试的,如果使用PE调试可能需要进行其它的设置;
在这里插入图片描述
如果遇到LOOP循环无法单步退出的话,直接在下一个函数处设置断点
在这里插入图片描述

2: 启动流程分析

指令标签名执行流程; Reset_Handler --> InitMSCMClock --> SetVTOR --> RamInit --> DTCM_Init --> ITCM_Init --> DebuggerHeldCoreLoop --> _DATA_INIT --> _INIT_DATA_BSS --> SET_VTOR_TCM --> __SYSTEM_INIT --> _MAIN

Reset_Handler
InitMSCMClock
SetVTOR
RamInit
DTCM_Init
ITCM_Init
DebuggerHeldCoreLoop
_DATA_INIT
_INIT_DATA_BSS
SET_VTOR_TCM
__SYSTEM_INIT
_MAIN

标签名及对应的作用,我这里写的比较简单;大家可以搜索具体标签名的作用

标签名作用备注
Reset_Handler上电运行的第一个函数,初始化通用寄存器
InitMSCMClock时钟初始化,只有主CPU需要初始化时钟
SetVTOR设置中断向量表
RamInitRAM存储初始化
DTCM_InitDTCM存储初始化
ITCM_InitITCM存储初始化
DebuggerHeldCoreLoop调试器保持循环
_DATA_INIT数据初始化;bl Enable_FPU
注意上面这个指令需要F5执行到.c文件里面去,
按F6单步执行会跳转到main函数
_INIT_DATA_BSSdata段 初始化带 bl 的指令,最好都F5跳转进去看
SET_VTOR_TCM设置默认的中断向量表;注意和SetVTOR中断向量表地址不一致
__SYSTEM_INIT系统初始化,里面干的活还是挺多的
_MAIN跳转到main函数了

从__MAIN 标签处跳转到main函数里面,开始支持用户代码了
在这里插入图片描述

http://www.lqws.cn/news/445717.html

相关文章:

  • 如何保证MySQL与Redis数据一致性方案详解
  • 中科米堆全自动三维光学测量航空部件尺寸测量分析
  • 白热化买量竞争下,消除手游如何巧借“创意”破局?
  • OpenLayers 加载投影坐标GeoTIFF影像
  • 微信小程序canvas实现抽奖动画
  • react forwardRef和readux的connect冲突,导致ref.current获取不到值
  • Linux中的阻塞信号与信号原理
  • 主流防火墙策略绕过漏洞的修复方案与加固实践
  • MCAL(7)-AutoSar存储
  • 前端如何通过 Blob 下载 Excel 文件
  • angular 图斑点击,列表选中并滚动到中间位置
  • 网页后端开发(基础5--JDBC VS Mybatis)
  • linux路由
  • 响应式数据框架性能深度分析报告(@type-dom/signals)
  • PromptWizard:强化学习或者多Agent 优化提示词
  • SpringBoot定时监控数据库状态
  • 191. 位1的个数
  • vs code配置go开发环境以及问题解决 could not import cannot find package in GOROOT or GOPATH
  • Linux树莓派项目实战:外网访问、PWM呼吸灯、超声波测距与驱动开发
  • Linux内核中通过perf_event监控内存访问的硬件断点触发流程
  • LINUX 619 NFS rsync
  • Neo4j操作指南:修改节点数据与新增节点属性
  • 1. C++ WebServer项目分享
  • Kafka性能调优全攻略:从JVM参数到系统优化
  • M-DPO复现
  • 从Excel到知识图谱再到数据分析:数据驱动智能体构建指南
  • HALCON相机标定
  • 安装MySQL 5.7导入数据,修改密码,创建账号并授权
  • CppCon 2017 学习:Everything You Ever Wanted to Know about DLLs
  • craw14ai 框架的入门讲解和实战指南——基于Python的智能爬虫框架,集成AI(如NLP/OCR)实现自动化数据采集与处理