STM32
文章平均质量分 78
I6believe
这个作者很懒,什么都没留下…
展开
-
keil单步调试时无法添加断点
一、问题描述 通过keil能够准确无误的编译、下载he'x二、安装环境三、问题解决原创 2021-06-02 10:30:03 · 10288 阅读 · 5 评论 -
arm汇编进入C函数分析,C函数压栈,出栈,传参,返回值
转自:https://www.cnblogs.com/thammer/p/5303379.html arm汇编进入C函数分析,C函数压栈,出栈,传参,返回值 环境及代码介绍环境和源码 由于有时候要透彻的理解C里面转载 2017-12-19 16:11:52 · 2820 阅读 · 0 评论 -
浅谈ARM Cortex-M0
转自:http://www.51hei.com/bbs/dpj-40117-1.html一、引言 ARM公司在2009年初发布了其嵌入式处理器系列中最小型、最低功耗的CortexM0处理器。CortexM0低功耗、高性能与极精简程序代码的特性,能应用于各种微控制器(MCU)中,并可让研发业者以8位的价位创造32位的效能,并进一步将传统的8位和16位的处理器推进至更转载 2017-12-14 15:28:50 · 10775 阅读 · 0 评论 -
KEIL MDK输出的.map文件分析
前面写了一篇文章对__main函数的执行过程做了一个粗略的跟踪描叙,对一个烧录了程序的STM32开发板从启动复位到进入用户main函数的过程有了一个大概的了解,但是有很多问题感觉还是模模糊糊,因此,今天又把KEIL MDK编译、链接后生成的map文件简单分析一下,加深对链接器、嵌入式系统可执行映像特点的了解。、一、文件分析流程1、第一部分:Section Cross Ref转载 2013-11-19 08:40:51 · 1085 阅读 · 0 评论 -
关于STM32的CAN的过滤器
STM32普通型芯片的CAN有14组过滤器组(互联型有28组过滤器组),用以对接收到的帧进行过滤。每组过滤器包括了2个可配置的32位寄存器:CAN_FxR0和CAN_FxR1。对于过滤器组,可以将其配置成屏蔽位模式,这样CAN_FxR0中保存的就是标识符匹配值,CAN_FxR1中保存的是屏蔽码,即CAN_FxR1中如果某一位为1,则CAN_FxR0中相应的位必须与收到的帧的标志符中的相应位吻合才能转载 2014-01-13 15:46:50 · 522 阅读 · 0 评论 -
HardFault_Handler问题查找方法
STM32出现HardFault_Handler故障的原因主要有两个方面:1、内存溢出或者访问越界。这个需要自己写程序的时候规范代码,遇到了需要慢慢排查。2、堆栈溢出。增加堆栈的大小。 出现问题时排查的方法:发生异常之后可首先查看LR寄存器中的值,确定当前使用堆栈为MSP或PSP,然后找到相应堆栈的指针,并在内存中查看相应堆栈里的内容。由转载 2014-05-23 11:52:10 · 674 阅读 · 0 评论 -
EEPROM数据丢失的原因与对策
EEPROM 数据被破坏的主要原因有: 1、电源异常使EEPROM的数据彻底丢失; 2、复位不好和软件跑飞可能会使EEPROM的数据被改写。要防止EEPROM数据被破坏,主要在以下几方面做工作:1、选用比MCU的电源范围宽并有WP引脚的EEPROM芯片;2、做好电源滤波,而且要等电源开机稳定后才去读写EEPROM;3、转载 2015-08-07 16:18:25 · 12970 阅读 · 0 评论 -
【教程】摆脱UART,仅用JLink也能实现printf功能!! /*更新scanf*/
Printf函数在单片机调试过程中可谓功不可没,开发人员可以很直观很方便的获取当前程序的运行状态。但在例如STM32这样的片子中,想要实现printf,就必须借助UART。有没有办法仅凭一个JLink就实现打印功能呢?答案是肯定的,ARM公司在Cortex-M系列中采用了一种全新的调试机制——ITM,可以很轻易地通过JLink实现printf功能,从此,调试只需要一根线!…………/**转载 2015-08-25 17:24:46 · 738 阅读 · 0 评论 -
[STM32/8经验] 经验分享——EEPROM读写及数据管理
转自:http://bbs.elecfans.com/jishu_452559_1_1.html经常有人在QQ群讨论有关E2PROM操作、保护、失效等一些问题,今天闲来没事,简单概括总结一下咯。(才疏学浅,路过的英雄记得补刀)1)有关 芯片内部自带的E2PROM有的资深的工程师可能不是很愿意用MCU自带的E2PROM,大概是这些家伙上转载 2015-08-26 09:58:13 · 16751 阅读 · 0 评论