ARM专栏
ARM开发
杏儿黄
曾经的技术xxx,现在的网约车司机
展开
-
STM32L476 FLASH option bytes
选项字节由用户根据具体应用的需求来调整,例如可以设置窗口看门狗是采用硬件还是软件模式,独立看门狗在stop模式下是否工作,程序是在bank1还是bank2运行等。默认的出场设置:1:系统发生复位时不擦除SRAM22:SRAM2奇偶校验失能(假如使能了有什么效果,怎么用,后续研究)3:BOOT1设置为高,结合外部引出的BOOT0进行判断4:将内存分为两个bank(若不分,bank2接着bank1末地址,作为bank1的一部分而存在)5:Dual-bank boot 使能,远程升级采取双原创 2020-05-12 21:31:18 · 1102 阅读 · 0 评论 -
嵌入式框架-分层
嵌入式架构有多重要?要做到嵌入式应用的代码逻辑清晰,且避免重复的造轮子,没有好的应用架构怎么行?如果没有好的架构,移植将会是一件很痛苦的事情。如果没有好的架构,复用是最大的难题,没法更大限度的复用原有的代码。接下来嵌入式ARM便和大家分享一下,嵌入式架构那些事儿……01嵌入式系统的基本架构嵌入式系统一般由软件和硬件两个部分组成,基中嵌入式处理器、存储器和外部设...转载 2020-04-18 11:12:31 · 8138 阅读 · 7 评论 -
stm32之备份寄存器(BKP)应用(侵入检测中断)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/weixin_42653531/article/details/99744158前言:很多的嵌入式设备使用过程中,当系统掉电时,往往需要把一些用户设置的参数保存起来,或者是将掉电前的一些状态信息保存,或者是统计系统重启次数。保存这些动态信...转载 2019-09-21 11:26:51 · 3168 阅读 · 0 评论 -
STM32 TIM2重映射
stm32的TIM2的端口使用组合有下面四种:1.当不重映射时,默认TIM2四个的IO口是PA0、PA1、PA2、PA32.要使用PA15、PB3、PA2、PA3的端口组合,要调用下面的语句进行部分重映射: RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); //重映射必须要开AFIO时钟 GPIO_PinRemap...转载 2019-02-13 14:20:51 · 3415 阅读 · 2 评论 -
STM32实现IAP功能的学习笔记
最近因项目需求要实现STM32的在线升级即IAP功能,先将这几天的学习体会和IAP的具体实现总结出来,分享给大家,希望对同样实现IAP的童鞋有所帮助,文中最后会上传名为STM32_Update.zip的压缩文件里面包含了STM32_App,STM32_MyBoot_V1.0和升级软件STM32_UpdateSoftware的源码文件供大家参考。所有程序都经过测试,直接可以在原子哥的开发板上跑,上位...转载 2018-06-20 12:51:16 · 325 阅读 · 0 评论 -
STM32IAP升级-----编写IAP升级遇到的问题总结
一,串口通信问题1,串口通信两端的TTL电平要一致,看选用的芯片,要么都是3.3V要么都是5V ..当两端电平不一致时通常是收不到数据的..当检测程序等都没有问题但是依然收不到数据时,考虑检测一下两端的电平是否一致..可用示波器查看收发数据时的电平2,在写IAP是使用的官方的库函数,结果串口一直收不到正确的数据。不管我发什么,收到的都是将0x58或者0xF6,而且我发5个字节只能收到2个..确定自...转载 2018-06-20 09:42:26 · 4588 阅读 · 2 评论 -
STM32IAP升级------IAP升级功能编写初期的一些困惑与疑问---完成功能后的总结
https://blog.csdn.net/super_demo/article/details/32133257 本文转帖,原地址IAP的源码等资料我上传了,压缩包内有12个文件,, http://download.csdn.net/detail/f907279313/7524849(要积分的辛苦收集的你们就给点积分吧)还有另一篇博客总结的IAP:http : //blog.csdn.net/s...转载 2018-06-20 09:31:04 · 355 阅读 · 1 评论 -
STM32F429之使用FPU和DSP
STM32F429之使用FPU和DSPCMSIS的DSP库提供了一类高级数学处理功能,包括:Basic math functionsFast math functionsComplex math functionsFiltersMatrix functionsTransformsMotor control functionsStatistical functionsSupport function...转载 2018-05-11 11:08:18 · 5485 阅读 · 0 评论 -
STM32F407 单通道ADC采样,DMA传输
最近在研究STM32F4的ADC采样功能,中间遇到了一些问题,写下来以备后用。F4和F1有很多库函数是不一样的,在参照F1的教程的时候,不能直接抄他的实验代码,否则会出错。因为要用DMA将ADC转换得到的值快速传递到SRAM中,所以就需要对ADC相关的DMA进行设置,这一步很重要。在写ADC1的DMA初始化函数前,一定要查Reference Manual的DMA request mapping,搞...转载 2018-04-20 09:37:05 · 4195 阅读 · 0 评论 -
STM32F407ADC多通道+定时器触发+DMA模式设置
#include "adc.h"/* 数据定义 */u8 UpdataTIM = 0; //更新TIM2定时器标志u16 CurrentFreq = 500;//默认市电频率,单位为0.1hzADBASE_TYPE uAD_Buff_A[ADC_CHANNEL]; //ADC采集缓存AADBASE_TYPE uAD_Buff_B[ADC_CHANNEL]; ...转载 2018-04-19 22:04:32 · 8628 阅读 · 6 评论 -
详解μC/OS-II如何检测任务堆栈实际使用情况——即如何设置ucosii任务堆栈大小
不少屌丝同学都有类似经历吧,在使用ucosii创建任务时,关于任务堆栈大小设为多大合适搞的不清不楚,郁闷之下就随便整个数,比如就1024吧,呵呵,反正也没见得出问题,那就不多想了。 我想大多数同学都是这样做的吧。这样只是因为在一般情况下,1024确实已经足够大了,堆栈溢出的可能性很小而已。那么,如果你任务实际使用率只有很小的百分之几,一旦被你知道了,你会痛心不?我想你不痛心,转载 2018-01-05 17:59:24 · 1901 阅读 · 0 评论 -
STM32 BOOT方式
不同的下载方式对应STM32启动方式也不同,如下图是STM32三种启动方式: ● 第一种启动方式是最常用的用户FLASH启动,正常工作就在这种模式下,STM32的FLASH可以擦出10万次,所以不用担心芯片哪天会被擦爆! ● 第二种启动方式是系统存储器启动方式,即我们常说的串口下载方式(ISP),不建议使用这种,速度比较慢。STM32 中自带的BootL转载 2017-12-07 15:02:15 · 3495 阅读 · 0 评论 -
stm32——RTC实时时钟
一、关于时间 2038年问题 在计算机应用上,2038年问题可能会导致某些软件在2038年无法正常工作。所有使用UNIX时间表示时间的程序都将将受其影响,因为它们以自1970年1月1日经过的秒数(忽略闰秒)来表示时间。这种时间表示法在类Unix(Unix-like)操作系统上是一个标准,并会影响以其C编程语言开发给其他大部份操作系统使用的软件。 在大部份的32位操作系转载 2017-12-04 10:48:55 · 5177 阅读 · 0 评论 -
NEC的红外编码!
NEC协议载波:38khz其逻辑1与逻辑0的表示如图所示:逻辑1为2.25ms,脉冲时间560us;逻辑0为1.12ms,脉冲时间560us。所以我们根据脉冲时间长短来解码。推荐载波占空比为1/3至1/4。NEC协议格式:首次发送的是9ms的高电平脉冲,其后是4.5ms的低电平,接下来就是8bit的地址码(从低有效位开始发),而后是8bit的地址码的原创 2017-12-03 20:33:56 · 20671 阅读 · 5 评论 -
STM32入门学习之_SysTick_Config()函数的SysTick时钟配置
上来就是systick定时器,因为GPIO等的基础操作过于简单,网上资料太多了。这里讨论的是基于STM32F10x 的基于 V3.5.0库的库函数配置方法。 Systick又叫系统嘀答定时器,是一个24位的硬件定时器。嵌入式操作系统常有一个类似“心跳”的定时器,来分配时间片,实现宏观上的多任务。其实,操作系统的多任务,在微观上,CPU对多任务的管理是分时的。每个任务都给一转载 2017-12-03 20:28:13 · 56723 阅读 · 7 评论 -
STM32 TIM2重映射
stm32的TIM2的端口使用组合有下面四种:1.当不重映射时,默认TIM2四个的IO口是PA0、PA1、PA2、PA32.要使用PA15、PB3、PA2、PA3的端口组合,要调用下面的语句进行部分重映射: RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); //重映射必须要开AFIO时钟转载 2017-12-03 14:44:20 · 8012 阅读 · 1 评论