![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Stm32
文章平均质量分 72
薇远镖局
态度决定一切!
展开
-
STM32 如何定位导致发生 hard fault 的代码段
产生 hard fault 方法:对不可访问的内存地址进行写操作 uint32_t *addr = (uint32_t *)0x20100000; *addr = 0x12;STM32 定位导致发生 hard fault 的代码段 ~ 流程:1、获得进入中断服务函数HardFault_Handler 前的 PC 值(PC 值表示的是汇编指令所在的 flash 地址)2、生成反汇编文件(内含 flash 地址及对应的汇编指令,以及汇编对应的 C 程序)或者 MAP 文件.原创 2022-05-26 22:51:39 · 835 阅读 · 0 评论 -
stm32进入HardFault的异常定位方法
在用Keil对STM32的程序进行仿真时程序有时会跑飞,停止仿真程序会停在HardFault_Handler函数里的死循环while(1)中。这说明STM32出现了硬件错误。STM32出现硬件错误可能有以下原因:(1)数组越界操作;(2)内存溢出,访问越界;(3)堆栈溢出,程序跑飞;(4)中断处理错误;遇到这种情况,可以通过以下2种方式来定位到出错代码段。方法1:通过地址分析查找...转载 2021-04-07 10:33:48 · 975 阅读 · 0 评论 -
stm32进入HardFault的异常定位方法
在用Keil对STM32的程序进行仿真时程序有时会跑飞,停止仿真程序会停在HardFault_Handler函数里的死循环while(1)中。这说明STM32出现了硬件错误。STM32出现硬件错误可能有以下原因:(1)数组越界操作;(2)内存溢出,访问越界;(3)堆栈溢出,程序跑飞;(4)中断处理错误;遇到这种情况,可以通过以下2种方式来定位到出错代码段。方法1:通过地址分析查找...原创 2021-04-07 10:26:32 · 8297 阅读 · 3 评论 -
keil mdk 下bin文件生成
MDK默认生成的文件是.hex文件,并不方便我们用作IAP更新,我们希望生成的文件是.bin文件,这样可以方便进行IAP升级。这里我们通过MDK自带的格式转换工具fromelf.exe,来实现.axf文件到.bin文件的转换。该工具在MDK的安装目录\ARM\BIN40文件夹里面。本章,我们通过在MDK点击OptionsforTargetà User选项卡,在Run User Progra原创 2015-09-12 11:18:48 · 1709 阅读 · 0 评论 -
STM32的库如何实现对同一组IO口的一部分引脚进行读写
规则: 一、置GPIOD->BSRR低16位的某位为'1',则对应的I/O端口置'1';而置GPIOD->BSRR低16位的某位为'0',则对应的I/O端口不变。 二、置GPIOD->BSRR高16位的某位为'1',则对应的I/O端口置'0';而置GPIOD->BSRR高16位的某位为'0',则对应的I/O端口不变。 三、置GPIOD->BRR低16位的某位为'1',则对应的I/O端口原创 2015-09-12 11:31:20 · 6495 阅读 · 0 评论