stm32
文章平均质量分 51
bonson2004
这个作者很懒,什么都没留下…
展开
-
STM32 SVCall
一个特殊的中断:SVCall简述:一种由程序进行触发的中断,默认开启起源:SVC(系统服务调用,亦简称系统调用)多用于在操作系统之上的软件开发中。SVC 用于产生系统函数的调用请求。例如,操作系统不让用户程序直接访问硬件,而是通过提供一些系统服务函数,用户程序使用 SVC 发出对系统服务函数的呼叫请求,以这种方法调用它们来间接访问硬件。因此,当用户程序想要控制特定的硬件时,它就会产转载 2017-03-31 14:40:51 · 1345 阅读 · 0 评论 -
stm32启动文件中heap与stack
1)栈区(stack):由编译器自动分配和释放,存放函数的参数值、局部变量的值等,其操作方式类似 于数据结构中的栈。(2)堆区(heap):一般由程序员分配和释放,若程序员不释放,程序结束时可能由操作系统回收。分配 方式类似于数据结构中的链表。(3)全局区(静态区)(static):全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态转载 2017-04-05 15:52:24 · 803 阅读 · 0 评论 -
设置和编译信息解析 程序运行耗时 内存分配MAP
一、设置:1、怎么设置可以查看单片的内存(消耗)使用状况?IAR的菜单栏 -->Tools -->IDE Options -->Messages -->Show build messages选择 ALL程序运行耗时 内存分配MAP" name="image_operate_94521322476203390" alt="【IAR】设置和编译信息解析 程序运行耗时 内存分配M转载 2017-04-05 15:58:07 · 492 阅读 · 0 评论 -
ARM仿真的几个概念JTAG/J-LINK/ULINK/ST-LINK和区别
提到ARM的仿真,首先要知道JTAG。JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。标准的JTAG接口是4线:TMS、 TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。 相关JTAG引脚的定义为:TCK为测试时转载 2017-04-06 16:30:10 · 1626 阅读 · 0 评论 -
Jlink 3.3V,5V问题讨论
nk 的接口如下: 实际使用过程中,Jtag 或者SWD模式只需要以下几根线即可: 以SWD接口为例,通常与板子相连接的方式是分别将Jlink的VCC,SWDIO,SWCLK,RESET,GND分别和板子的对应信号相连接,然后给板子供电即可下载程序。我们知道盗版的Jlink的VCC引脚可以输出3.3V高电平,只需要将下图的的跳线帽接到V33一侧即可。 这转载 2017-04-21 14:36:58 · 13875 阅读 · 4 评论 -
J-link V8固件升级记
好久没为电子工程事业尽份力了!今天也稍微努把力!写写我是如何升级J-link的固件的吧!V8固件升级记" title="J-link V8固件升级记" style="margin:0px; padding:0px; border:0px; list-style:none">J-link是什么?晕,不是电子工程师的退散吧!这是现在比较流行的arm调试工具!我手上是那个大家都比较喜闻乐见的转载 2017-04-21 14:38:28 · 1241 阅读 · 0 评论 -
闩锁效应
生Latch up 的具体原因1. 芯片一开始工作时VDD变化导致nwell和P substrate间寄生电容中产生足够的电流,当VDD变化率大到一定地步,将会引起Latch up。2. 当I/O的信号变化超出VDD-GND(VSS)的范围时,有大电流在芯片中产生,也会导致SCR的触发。3. ESD静电加压,可能会从保护电路中引入少量带电载子到well或substrate中原创 2017-11-14 10:56:08 · 11608 阅读 · 0 评论 -
当全速运行的时候如何查看全局变量的值
接触MDK和IAR一段时间了,调试的时候主要是使用Jlink硬件仿真,以前,想查看一个全局变量的值,都打上断点,程序停下来才能查看,这毕竟有些局限性,当有查看全局变量变化范围的时候,靠断点,是做不到了,以前的方法是使用串口打印,慢慢发现在MDK和IAR里,是可以在程序全速运行的时候通过观察窗口看到变量的值是在变化的。 这太方便了MDK里需要如下图勾选途中红色方框的选项 在 IAR环境下,打开图中...转载 2018-05-25 14:07:53 · 1170 阅读 · 0 评论 -
IAR使用编译的系统日期时间为bin文件名
@echo offecho %date%echo %time%cd /d %~dp0set a=./Project.binset yy=%date:~3,4%set mm=%date:~8,2%set dd=%date:~11,2%set hh=%time:~0,2%set mn=%time:~3,2%set ss=%time:~6,2%set value=%yy%%mm%%dd%%hh%%mn%...原创 2018-05-24 16:58:38 · 2241 阅读 · 0 评论 -
使用ITM机制实现调试stm32单片机
使用ITM机制实现调试stm32单片机,实现printf与scanf。1. ITM简介ITM机制是一种调试机制,是新一代调试方式,在这之前,有一种比较出名的调试方式,称为半主机(semihosting)方式。在pc上编写过C语言的人都知道,printf可以向控制台输出,scanf可以从控制台获取输入,这里的printf/scanf都是标准库函数,利用操作系统的这些函数,我们可以很方便的调试程...转载 2018-10-20 10:35:38 · 1040 阅读 · 0 评论 -
STM32 休眠模式下如何喂狗?
在STM32开发中经常会用到独立看门狗(IWDG)和低功耗模式,看门狗是为了检测和解决由软件错误引起的故障,低功耗模式是为了在CPU不需要继续运行时进入到休眠模式用以节省电能。其中独立看门狗的时钟由独立的RC振荡器(STM32F10x一般为40kHz)提供,即使在主时钟出现故障时,也仍然有效,因此可以在停止和待机模式下工作。而且独立看门狗一旦启动,除了系统复位,它不能再被停止。但这样引发的一个问题转载 2017-04-05 13:12:31 · 4620 阅读 · 0 评论 -
STM32中assert_param的使用
们在学STM32的时候函数assert_param出现的几率非常大,上网搜索一下,网上一般解释断言机制,做为程序开发调试阶段时使用。下面我就谈一下我对这些应用的看法,学习东西抱着知其然也要知其所以然。在STM32的固件库和提供的例程中,到处都可以见到assert_param()的使用。如果打开任何一个例程中的stm32f10x_conf.h文件,就可以看到实际上转载 2017-04-05 13:06:37 · 516 阅读 · 0 评论 -
STM32之系统中断处理
分类: C/C++点击(此处)折叠或打开/******************************************************************************** Function Name : SysTickHandler* Description : This functio转载 2017-03-31 14:41:47 · 2123 阅读 · 0 评论 -
STM32架构相关
整理了一下STM32相关的底层结构,有助于消化理解先上几张图片(主要参照STM3210x系列)1.芯片结构组成图: 2.STM32内部结构: 3.Cortex-M3模块结构图: 4.STM3210X内部结构:桥:四个主动单元 : M3内核的ICode总线(I转载 2017-04-10 18:31:08 · 1778 阅读 · 0 评论 -
调通STM32的串口ISP的经验-eagleCom
调通STM32的串口ISP的经验 收藏一下内容转自阿莫电子论坛 “GoToIsp” 网友的帖子 http://www.amobbs.com/forum.php?mod=viewthread&tid=3395361总结得很全面———————————————————-原帖内容如下————————————————————1、Boot0需接高(注意不要超过3.6V,非5转载 2017-04-05 10:08:20 · 1331 阅读 · 0 评论 -
stm32串口占用时间、消耗CPU及最大中断时间的深度分析,探寻一种更有效的串口发送方式
1、stm32串口发送占用的时间答:做嵌入式以来,一直自认为在两个MCU之间的串口通信很占用时间,让我感觉很是不爽。经过一番查找资料后发现并没有我想象的那么糟糕。串口发送数据:发送数据在软件层面来看是按照字节来发送的。USARTx->DR = (Data & (uint16_t)0x01FF);CPU只需要把一个字节的数据填充到DR寄存器中就可以了,然后具体的发转载 2017-04-05 10:10:03 · 2241 阅读 · 1 评论 -
STM32 RTC
Ⅰ、概述RTC(Real Time Clock)是实时时钟的意思,它其实和TIM有点类似,也是利用计数的原理,选择RTC时钟源,再进行分频,到达计数的目的。该文主要讲述关于RTC的秒中断功能,这个功能类似SysTick系统滴答的功能。RTC秒中断功能其实是每计数一次就中断一次。注意,这里所说的秒中断并非一定是一秒的时间,它是由RTC时钟源和分频值决定的“秒”的时间,当然也是可以做到转载 2017-04-05 11:47:27 · 707 阅读 · 0 评论 -
STM32待机模式测试
STM32待机模式测试本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.参考链接:http://www.docin.com/p-114352411.html环境:主机:XP开发环境:MDK4.10单片机:STM32F103C8转载 2017-04-05 11:56:04 · 329 阅读 · 0 评论 -
Stm32 SWD 下载 调试配置
到一篇比较好的 关于stm32 SWD模式 下载 调试 配置文章 整理如下: 我们比较常用的是Jlink下载器 ,这种下载器有一个缺点就是使用的Jtag 20PIN接口,太多的PIN会导致一些小型的PCB板很拥挤,也会增加布线的难度。 而使用SWD接口下载调试,只需要要使用4个PIN: GND, RST, SWDIO, SWDCLK ,而且下载速度可以达到10M/s,优转载 2017-04-05 12:59:54 · 16374 阅读 · 0 评论 -
STM32启动模式及API
我们玩ARM9,一般都是在内存里调试程序,速度飞快。STM32下也可以这样,虽说现在的flash寿命已经很长了,但flash中调试烧录程序还是一个很慢的过程,有时候程序上一个小小的改动要花上几倍的时间下载代码,这确实是不能忍受的。 我们也可以在开发STM32时,在内存中调试程序。 {STM32这颗Cortex-M3控制器,与其他许多ARM一样,提供了BOOT0和BOOT1两个管脚用转载 2017-04-05 13:02:11 · 412 阅读 · 0 评论 -
stm32启动代码分析
学习STM32,看了一堆乱七八糟的文档,准备写程序了,先分析了下STM32的启动代码,看着这堆鬼鬼的汇编代码,挺吓人的,看看帮助,查查网路,还是不那么难懂。[cpp] view plain copy ;// Stack Configuration ;// Stack Size (in Bytes) ;//转载 2017-04-05 13:03:11 · 1327 阅读 · 0 评论 -
ARM Cortex-M文件那些事(5)- 映射文件(.map)
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家讲的是嵌入式开发里的map文件。 第四节课里,痞子衡给大家介绍了第一种output文件-relocatable文件,本文继续给大家讲project生成的第二种output文件-map文件,map文件记录了很多重要的信息,这对于后续调试有很大帮助。 文件关系:链接文件(.icf) + 工程文件(.ewp) + 可重定向文件(.o/....转载 2018-11-09 14:38:17 · 1176 阅读 · 0 评论