STM32
文章平均质量分 70
南波儿万
一个程序猿
展开
-
error: #5: cannot open source input file “core_cmInstr.h“: No such file or directory
下载:https://github.com/ARM-software/CMSIS_4.git到D:\Program Files\keil5\ARM\PACK。原创 2024-07-02 17:31:48 · 300 阅读 · 0 评论 -
ARM Cortex-M的栈结构及回溯
最近在研究ARM Cortex-M系列的单片机的栈结构及栈回溯。研究这个有什么用呢?深入了解处理器指令、程序运行的原理等知识,对程序设计技能的提高有一定的帮助。当你的程序出现问题了,可以根据栈数据找到出问题的点。有助于问题的查找和定位能力的提高。我的目的就是要搞明白程序在不同状态下调用函数时的压栈顺序是什么?如何在栈中开辟局部变量?为了搞明白这两个问题我查阅了很多资料也借助了许多工具。原创 2023-05-22 21:48:36 · 1211 阅读 · 1 评论 -
keil使用详解--配置STM32程序运行在RAM
文章目录前言一、什么是程序运行在RAM中?二、使用步骤1.引入库2.读入数据总结前言在前两周的文章中提到,可以在keil中配置程序运行在RAM中,今天就抽时间写写这方面的内容。一、什么是程序运行在RAM中?很简单,就是编译后指令存放的地址在RAM中。那我们需要了解一些STM32地址空间的知识。从图中可以看出,平时我们的程序运行在flash的地址空间二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport mat原创 2022-03-12 09:31:23 · 8340 阅读 · 4 评论 -
keil使用详解--魔法棒后续
文章目录前言一、正文1.Asm2.Linker2.DebugCortex JLink/JTrace Target Driver Setup前言上周对魔法棒的介绍只进行了一半,这周介绍剩下的Asm、Linker、Debug、Utilities。一、正文1.AsmAsm这个页面在实际工程中我个人用到的较少,里面各内容也了解的比较少,这里就不作过多说明,怕有什么错误误导读者。2.Linker这个页面主要影响编译器在链接过程中的配置。第一部分展示了当前存储器的配置,如果这个配置是在ta.原创 2022-02-20 11:59:46 · 4406 阅读 · 0 评论 -
keil使用详解--魔法棒
介绍keil魔法棒设置界面中各个选项的功能和作用以及配置方法原创 2022-02-12 13:22:26 · 19025 阅读 · 2 评论 -
qemu STM32 VSCode调试环境配置
系列文章目录文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy原创 2021-03-14 21:37:51 · 2437 阅读 · 11 评论 -
qemu的STM32虚拟化环境
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、qemu是什么二、使用步骤1.引入库2.读入数据总结前言年关将近,2021年新年再一次受新冠影响无法好好的回家过了。由于工作需要了解一点ARM汇编的知识,于是我决定学习一下。上来第一件事就是希望有一个学习的环境,买一个开发板感觉不值得,于是希望可以用qemu构建一个虚拟化的环境来助力一下自己的学习热情。一、qemu是什么qeme是一个虚拟机,自持许多架构的cpu,反正就是一个开源又强大的东西。具体的内容可以参考官原创 2021-01-31 18:30:09 · 11542 阅读 · 7 评论 -
STM32输出可调相位的1PPS
在做晶振守时等项目时经常需要生成一个可调相位的1PPS,我最近就遇到了这样的问题。利用STM32的定时器定时1S,然后在TIM_IT_UPDATE中断时输出1PPS上升沿理论是可以的,但是移动相位很不方便,修改定时器的计数值是一个方法,但是这会引入很大的系统误差。利用STM32定时器的输出比较模式输出1PPS并达到相位可调的目的是我目前想到的最好的方法,其实这种机制的原理很简单。STM32的定时器的众多寄存器中有几个是我们经常要使用到的,它们分别是:预分频寄存器:配置它会将定时器的输入主频进行分频。假原创 2020-07-19 10:46:08 · 2391 阅读 · 2 评论 -
STM32 进入HardFault_Handler调试定位问题方法 + 定位到ucos的 OSStartHighRdy()的处理方法
调试STM32+ucosII的程序,程序老是进入HardFault_Handler。定位问题方法如下:进入调试界面,在HardFault_Handler中断处理的while(1)处打断点,等待程序出错。然后打开register窗口注意红框中的数值,将MSP中的数值在Memory窗口中搜索。在栈中找到程序在进入HardFault_Handler中断处理函数前的入栈地址。红框内就是出错程序...原创 2020-01-15 10:50:18 · 3000 阅读 · 5 评论 -
STM32 UCOS-ii malloc线程同步问题
最近在写stm32的串口处理程序,遇到一个问题程序跑着跑着就进入了硬件错误中断不可自拔。void HardFault_Handler(void){ /* Go to infinite loop when Hard Fault exception occurs */ while (1) { }}通过调试定位到错误出现在下面的字符串处理函数函数中char** strspli...原创 2020-01-13 10:16:46 · 877 阅读 · 7 评论