作者:鱼鹰OspreyID :emOsprey快一个月没有更新了,回家之前给自己安排了很多任务,然后回到家之后电脑就没有打开过,啥也没干,不知道有多少人回家...
转载 2022-04-22 22:30:27
707阅读
现在软件的模拟功能都是非常强大,但是有时候会用不好。 1.编译+调试打开软件工程 -> 编译 -> 调试这里的编译建议使用Build Target(第2个按钮)编译工程(如下图动画),也就是使用快捷键F7。Translate(第1个按钮)是编译当前活动文件。Rebuild all Target files(第3个按钮)是重新编译所有目标
BUG 定位使用技巧
转载 2022-01-06 17:42:47
1892阅读
  当硬件仿真遇到hardfault会进入响应的中断软件陷阱中void HardFault_Handler(void),此时通过view-registers中的 1 如果STACK=MSP,则查看SP的堆栈值,在memrory窗口输入sp的值回车,在地址内容之后的第21字节开始的4个字节为LR的值,在堆栈调用窗口右击选择show callee code,在反汇编窗口右击选择show code at
转载 2019-07-03 14:49:00
1004阅读
2评论
一、HardFault产生原因和常规分析方法二、HardFault解决方法分析三、HardFault回溯的原理四、操作分析流程:1.  心里明白徒手分析法2. CmBacktrace 天龙大法五、总结​一、HardFault产生原因和常规分析方法​在嵌入式开发中,偶尔会遇到Hard Fault死机的异常,常见产生Hard Fault的原因大致有以下几类:数组越界和内存溢出,譬如访问数组时,动态访问
转载 2022-03-03 14:56:20
211阅读
一、消息队列的概念1、消息队列的基本概念  消息队列简称队列,是一种常用于任务间通信的数据结构。  如下图:消息队列可以在任务与任务间、中断与任务间传递消息,实现任务接收来自其它任务或中断的不固定长度的消息。< 队列用于任务与任务间 >< 队列用于任务与中断间 >相比于裸机的全局数组,使用消息队列有如下优势:消息队列具有超时机制,可以让 FreeRTOS 内核有效地管理任务
HardFault产生原因和常规分析方法介绍,挺不错的
转载 2022-03-07 15:44:33
1125阅读
MCU HardFault问题查找和方法
转载 2022-11-01 09:44:14
427阅读
文章目录 一、官网下载FreeRTOS地址二、移植FreeRTOS 一、官网下载FreeRTOS地址 FreeRTOS - 免费实时操作系统源代码下载,官方FreeRTOS zip文件发布下载https://www.freertos.org/a00104.html二、移植FreeRTOS 1.需要准备一个STM32裸机开发的源程序,切记确保源程序可以运行正确,以便我们去移植FreeRTOS,并前往
转载 2024-09-23 11:53:55
239阅读
功能强大的错误追踪组件
转载 2022-01-06 17:39:00
643阅读
CUDA错误类型枚举器: cudaSuccess API调用返回没有错误。 对于查询调用,这也可能意味着要查询的操作已完成(请参阅cudaEventQuery()和cudaStreamQuery())。 cudaErrorMissingConfiguration先前未通过cudaConfigureCall()函数配置正在调用的设备功能(通常是通过cudaLaunch())。 cudaErrorMe
转载 2024-07-23 07:01:13
102阅读
portBASE_TYPE xQueueSendToFront( xQueueHandle xQueue, //目标队列的句柄 xQueueCreate() 创建该队列时的返回值 const void * pvItemToQueue, //发送数据的指针。 其指向将要复制到目标队列中的数据单元 portTickType xTicksToWait ); //阻塞超时时间
作者:鱼鹰Osprey今天继续聊聊开发中常见的 HardFault,这个问题应该从学习 STM32 开发以来就一直伴随着我们,很多人遇到这种问题也是不知道该如何定位。如果只是独立开发,遇到这种问题,一般都是看代码、修改代码等等这些常规手段,因为自己写的代码最熟悉,改动一般也不会太大,容易缩小范围,也更容易定位。但现在的产品越来越复杂,目前的开发模式都是合作开发,每个人负责各自的模块,这样的项目代码
转载 2024-04-27 19:03:55
171阅读
一、HardFault产生原因和常规分析方法二、HardFault解决方法分析三、HardFault回溯的原理四、操作分析流程:1. 心里明白徒手分析法2. CmBacktrace 天龙...
转载 2021-09-28 15:19:41
713阅读
很多人遇到这个问题都会想到是不是堆栈不够,就会跑去加堆栈。
原创 2023-04-21 16:04:37
258阅读
写程序偶尔会遇到程序死机的现象。这个时候,就需要debug来定位。通常情况下,程序会进入HardFault_Handler的死循环(针对stm32系列),我遇到过两次。第一次是使用数组之前,数组的下标清零了,导致无法访问串口的数据,俗称内存越界,你误以为访问串口的全局数组,其实是其他数据,uart[23],index=0,之后,想用uart[index-1]来访问数组的最后一个数据,这个时候就出现
转载 2019-10-22 13:42:00
450阅读
2评论
在用Keil对STM32进行仿真时,可能会遇到程序停在HardFault_Handler中断函数中。这
转载 2022-10-17 10:57:28
5891阅读
558
转载 2019-08-20 19:55:00
201阅读
2评论
STM32出现HardFault_Handler故障的原因主要有两个方面:1、内存溢出或者访问越界。这个需要自己写程序的时候规范代码,遇到了需要慢慢排查。2、堆栈溢出。增加堆栈的大小。出现问题时排查的方法:发生异...
转载 2019-09-14 17:46:00
991阅读
2评论
  上午调试程序,把UWB的时间戳都转换成标准时间打出来了,但是发现,程串口输出一会之后就会停止,板子的灯也熄灭了。  时间戳转换标准时间代码如下:u8 TestBuff[150];int OutCounter = 0;double TxTimeStamp_Trans=0;TxTimeStamp_Trans= (uint64_t)(((uint64_t)TxTimeStamp[4] <&lt
原创 2021-04-17 14:10:53
1732阅读
  • 1
  • 2
  • 3
  • 4