加上boot程序,FreeRTOS就跑不起来了

news2024/9/21 14:32:51

一、问题描述

        bootloader跳转到APP时,app执行完初始化程序后死机

二、分析问题

        第一步,执行app时死机死到哪里?通过DEBUG调试发现死到hardfault_handler()函数中,硬件错误,导致硬件错误的原因一般都是中断异常引起的。

        第二步,找到问题,然后分析什么原因导致硬件错误?一般bootloader跳转到APP时要关闭app中用到的中断,那么查看系统中用到的中断:串口中断、滴答定时器中断,所以,跳转之前要关闭这两个中断:_disable_irq()和systick。

三、解决问题

1.办法1

        关闭中断之后,跳转执行app正常。

void iap_load_app(u32 appxaddr)//

    SysTick->CTRL = 0X00;//禁止SysTick
    SysTick->LOAD = 0;
    SysTick->VAL = 0;
    __disable_irq();
    jump2app=(iapfun)*(vu32*)(appxaddr+4);        //用户代码区第二个字为程序开始地址(复位地址)        
    MSR_MSP(*(vu32*)appxaddr);                    //初始化APP堆栈指针(用户代码区的第一个字用于存放栈顶地址)
    jump2app();                                    //跳转到APP.
}

2.办法2

如下图,要打勾,不然就无法运行


四,结论

       1.bootloader跳转到app之前要关闭app中用到的中断,不然就会出现硬件错误导致死机;

       2.对app的内部机制要比较了解,比如:用到哪些中断、外设,这样遇到问题才能更好分析,不要停留在会用层面,一定要了解透彻,这样无论遇到什么问题,都能有一个正确的分析思路。
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1132521.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

上云容灾如何实现碳中和-万博智云受邀参加1024程序员节数据技术论坛并发表演讲

近日,2023长沙中国1024程序员节在长沙召开。 长沙中国1024程序员节继2020年后已成功连续举办三届,逐步成为 IT 行业引领技术前沿、推动应用创新发展的高影响力年度盛会。是 IT 领域新技术、新产品、新服务的重要发布平台。 万博智云CEO Michael受邀参加…

信息检索与数据挖掘 | 【实验】排名检索模型

文章目录 📚实验内容📚相关概念📚实验步骤🐇分词预处理🐇构建倒排索引表🐇计算query和各个文档的相似度🐇queries预处理及检索函数🔥对输入的文本进行词法分析和标准化处理&#x1f…

微信小程序设置 wx.showModal 提示框中 确定和取消按钮的颜色

wx官方提供的 showModal 无疑是个非常优秀的选择提示工具 但是 我们还可以让他的颜色更贴近整体的小程序风格 cancelColor 可以改变取消按钮的颜色 confirmColor 则可以控制确定按钮的颜色 参考代码如下 wx.showModal({cancelColor: #0000FF,confirmColor: #45B250,content:…

C++中显示构造和隐式构造

截图来源于C primerplus 第六版。

apple-app-site-association nginx

项目里面配置 applinks: 域名 eg: baidu.com 2. 创建 apple-app-site-association 文件,无json等后缀名 eg: appID 构成 teamId bundleId {"applinks": {"apps": [],"details": [{"appID": "2TEAM6D5.…

C#的DataGridView数据控件(直接访问SQL vs 通过EF实体模型访问SQL)

使用DataGridView控件可以快速地将数据库中的数据显示给用户,并且可以通过DataGridView控件直接对数据进行操作,大大增强了操作数据库的效率。DataGridView控件提供一种强大而灵活的以表格形式显示数据的方式。 既可以通过编程直接访问SQL ,也…

C语言进阶第九课 --------动态内存管理

作者前言 🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂 ​🎂 作者介绍: 🎂🎂 🎂 🎉🎉&#x1f389…

我国有多少个港口?

港口是什么? 港口是海洋运输中不可或缺的重要设施之一,是连接陆路和水路运输的重要节点。港口通常是指位于沿海地区的水陆交通枢纽,是船舶停靠、装卸货物、储存物资和维修船只的场所。港口一般由码头、泊位、仓库、货场、客运站等设施组成&a…

上海市道路数据,有63550条数据(shp格式和xlsx格式)

数据地址: 上海市道路https://www.xcitybox.com/datamarketview/#/Productpage?id391 基本信息. 数据名称: 上海市道路数据 数据格式: Shpxlsx 数据时间: 2020年 数据几何类型: 线 数据坐标系: WGS84坐标系 数据来源:网络公开数据 数据字段&am…

Aspera和Aspera_cli软件的安装和使用

Aspera和Aspera_cli软件的安装和使用 Aspera和Aspera_cli软件NCBI数据库和EBI-ENA数据库的下载用户和地址信息1. ASpera 4.X.X1.1 ASpera 4.X.X安装1.2 ASpera 4.X.X密钥文件1.3 ASpera 4.X.X简单使用 2. ASpera 3.X.X2.1 ASpera 3.X.X安装2.2 ASpera 3.X.X密钥文件2.3 ASpera …

有了这个交付系统,微生态与代谢组关联分析更轻松

关联分析有多火自不必多说。组学关联策略也是当下研究生物学问题的热门方式,不仅可以实现单组学的数据挖掘,还可深入研究不同组学数据间的关联和因果关系。代谢组作为最接近生物学表型的一种组学,将其与16s所获得的物种丰度进行关联&#xff…

全球PML_V2陆地蒸散发与总初级生产力数据集

简介 全球PML_V2陆地蒸散发与总初级生产力数据集,包括总初级生产力(gross primary product, GPP),植被蒸腾(vegetation transpiration, Ec),土壤蒸发(soil evaporation, Es&#xf…

新闻稿稿费一般多少钱一篇?建议收藏

新闻稿作为媒体传播的重要载体,一直以来都受到广泛关注。而关于新闻稿稿费的话题,更是众多品牌和企业关注的焦点。今天伯乐网络传媒就来给大家讲一讲。 一、新闻稿稿费标准:了解行情,心中有数 1. 新闻稿稿费的基本构成 新闻稿稿费…

解决Visual studio 未能正确加载...包问题

问题 解决: 菜单: Visual Studio 2019 -> 输入"devenv /resetsettings " 将之前的设置恢复到原始状态。且可以正常使用。理论应该可以使用到其它版本中……

应用案例|基于高精度三维机器视觉引导机器人自动分拣包裹的应用

Part.1 行业背景 近年来,电商高速发展,百万件日订单处理的超大型分拣中心模式日益普及,传统的人工供包模式效率低,难以满足高超大分拣中心对分拣包裹的需求。随着科技的进步,自动供包系统进入大众视野,成为…

达梦:开启sql日志记录

前言 开启sql日志记录,可协助排查定位数据库问题。生产开启会有一定的性能消耗,建议打开 SQL 日志异步刷盘功能 1.配置sqllog.ini文件 sqllog.ini 用于 SQL 日志的配置,当且仅当 INI 参数 SVR_LOG1 时使用。 运行中的数据库实例,可…

Java-运算符

1. 什么是运算符 计算机的最基本的用途之一就是执行数学运算&#xff0c;比如&#xff1a; int a 10; int b 20; a b; a < b; 上述 和< 等就是运算符&#xff0c;即&#xff1a;对操作数进行操作时的符号&#xff0c;不同运算符操作的含义不同。 作为一门计算机语言&a…

1.验证码绕过

1.环境 1.前端验证码 抓包 发到重放器 可重复使用 爆破 总结&#xff0c;前端的验证直接删除验证码即可开始爆破 服务端 3.token 爆破

Jmeter接口自动化测试 —— Jmeter断言之Json断言!

json断言可以让我们很快的定位到响应数据中的某一字段&#xff0c;当然前提是响应数据是json格式的&#xff0c;所以如果响应数据为json格式的话&#xff0c;使用json断言还是相当方便的。 还是以之前的接口举例 Url: https://data.cma.cn/weatherGis/web/weather/weatherFcst…