stm32
文章平均质量分 86
Ho_pe
这个作者很懒,什么都没留下…
展开
-
PHY寄存器解读
以太网PHY寄存器分析 11、以太网PHY标准寄存器分析 21.1 Control Register 21.2 Status register 51.3 PHY Identifier Register 81.4 Auto-Negotiation Advertisement Register 81.5 Auto-Negotiation Link Partner Base Page Ability Register 91.6 Auto-Negotiation Expan原创 2022-12-09 14:38:13 · 4411 阅读 · 0 评论 -
STM32启动过程详解
一、STM32启动文件详细解析STM32启动文件详细解析(V3.5.0) 以:startup_stm32f10x_hd.s为例;******************** (C) COPYRIGHT 2011 STMicroelectronics ********************;* File Name : startup_stm32f10x_hd.s;* Author : MCD Application Team;* Version转载 2021-11-03 10:18:46 · 512 阅读 · 0 评论 -
HardFault错误信息分析定位
一、背景知识简介1.发生中断时处理器的行为不考虑其他细节,M3内核在发生中断时首先自动将如下8个寄存器压栈。因此在中断处理函数中,发生中断时正常执行时的寄存器数值已经被压入了堆栈中。在中断处理函数开始执行时,除了PC,LR,SP等控制寄存器,从r0-r12等这些通用寄存器的数据是没有变化的。下图描述了M3内核将寄存器压栈的顺序:2、编译器通过栈来实现函数调用C编译器通过栈来实现函数的调用,即在栈中记录程序执行的轨迹并辅助寄存器进行参数传递。具体如何实现C函数的调用,历史上有很多的规范,这些规范叫做转载 2020-07-31 16:50:09 · 4238 阅读 · 0 评论 -
STM32H7:解决DMA传输无效的问题
在STM32H743芯片上使用DMA传输数据时,如果出现收不到数据,并且不进入回调函数,基本上是RAM地址映射错误,DMA无法访问目标地址导致的。问题分析:通常使用STM32CubeMX生成项目时,程序默认执行地址是从RAM1: 0x20000000处开始执行,而0x20000000是DTCM段,DMA无法进行访问,这就导致使用DMA传输时无法读写数据,也无法进入回调。STM32H7总线从上图可以看出,ITCM和 DTCM 是不支持 DMA1、DMA2 和 BDMA访问的,而AXI SRAM支持,转载 2020-05-29 11:43:09 · 5496 阅读 · 1 评论 -
stm32 printf重定向
stm32调试时,有时不太适合打断点的地方,还需要状态,那printf就很符合我们的要求了。不多说,直接上修改方法:首先:添加printf的头文件 :#include “stdio.h”其次:改写int fputc(int ch, FILE *f)函数int fputc(int ch, FILE *f);寄存器版int fputc(int ch, FILE *f){US...原创 2020-04-26 09:59:55 · 3299 阅读 · 0 评论