自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (3)
  • 收藏
  • 关注

转载 STM32 KEIL _MAP文件解析

0、写在前面相信有较大项目开发经验的朋友都曾遇到内存溢出的问题,那么大家都是如何分析这类问题的呢?大家遇到HardFault_Handler 有对map分析过吗? 首先讲述一下关于map在MDK-ARM中的配置。其实,在MDK-ARM中,我们可以根据自己的情况(不同配置),在map文件中输出对应(我们需要)的内容。默认情况下,输出所有信息。 Project -> Options for Ta...

2018-04-23 11:45:15 1923

转载 STM32硬件错误HardFault_Handler的处理方法

  在用Keil对STM32的程序进行仿真时程序有时会跑飞,停止仿真程序会停在HardFault_Handler函数里的死循环while(1)中。这说明STM32出现了硬件错误。        STM32出现硬件错误可能有以下原因:        (1)数组越界操作;        (2)内存溢出,访问越界;        (3)堆栈溢出,程序跑飞;        (4)中断处理错误;      ...

2018-04-23 11:40:48 5299

转载 stm32使用MDK开发中的一些常见问题

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://no001.blog.51cto.com/1142339/8571171. 解决:keil报错invalid redeclaration of type name "s32"答案:一般在Target Options C/C++选项卡里的Include Paths 里要添加几个固定的...

2018-04-23 11:37:47 2094

转载 STM32 硬件错误HardFault_Handler的真凶

STM32出现HardFault_Handler故障的原因主要有两个方面:1、内存溢出或者访问越界。2、堆栈溢出。最近遇到的问题是栈溢出,情况是这样的,举例说明:static char data[10000];void fun1(unsigned char *buf){int  i=0;for(i=0; i<5000; i++){data = buf;}}void fun2(void){un...

2018-04-23 10:37:57 16624 1

转载 STM32学习笔记之__attribute__ ((at())绝对定位分析

学习STM32也会遇到这样的绝对定位的问题如下:uint8_t   UART_RX_BUF[1024]   __attribute__ ((at(0X20001000)));   //就是将串口接收的数据定位到RAM中起始地址为0X20001000;绝对定位要么定位到flash、要么定位到RAM,这里我们将定位在flash进行说明。MDK如何实现将数据存储到FLASH指定地址?      我们在烧...

2018-04-23 10:18:39 3760

转载 STM32的堆与栈

上一篇博客解决了因为堆栈的设置空间不够而引发的“命案”,这次我们就来看看它的“杀人动机”。首先我们来认识一下堆与栈的含义():​​(1)栈区(stack):由编译器自动分配和释放,存放函数的参数值、局部变量的值等,其操作方式类似于数据结构中的栈。(2)堆区(heap):一般由程序员分配和释放,若程序员不释放,程序结束时可能由操作系统回收。分配方式类似于数据结构中的链表。(3)全局区(静态区)(st...

2018-04-23 10:12:26 2130 1

转载 STM32的内存管理和堆栈相关的认知

今天仔细读了一下内存管理的代码,然后还有看了堆栈的相关知识,把以前不太明白的一些东西想通了,写下来,方便以后查看,也想大家看了能指出哪里不对,然后修改。    首先,先看一下stm32的存储器结构。​Flash,SRAM寄存器和输入输出端口被组织在同一个4GB的线性地址空间内。可访问的存储器空间被分成8个主要块,每个块为512MB。FLASH存储下载的程序。SRAM是存储运行程序中的数据。所以,只...

2018-04-23 10:02:59 622

转载 一个关于使用STM32F4芯片CCM RAM时的异常分析

前言有客户用STM32F427芯片,程序将CSTACK放在CCM RAM中,结果测试过一段时间的板子都出现了不能正常运行的情况。这个现象一度让我们怀疑是否是CCM RAM在测试过程中遭到了破坏,导致我们在解决问题的道路上浪费了不少时间。事实证明STM32的CCM RAM并没有那么脆弱,而解决问题时尽力从多个角度进行验证,不放过所有可能出问题的环节之心态更为重要。在具体讨论问题的原因之前,不妨先介绍...

2018-04-23 09:26:34 2787 2

转载 浅谈C++/JAVA/C#运行机制和执行效率

浅谈C++/JAVA/C#运行机制和执行效率       估计有很多同学都对C++/JAVA/C#这三大热门语言的运行机制和执行效率有或多或少的困惑,自己也有,但是经过前期的学习,了解了三者在这两方面的区别,就废话不说了,进入主题吧。        一、运行机制       1、JAVA-编译和解释型语言          一个JAVA文件,首先会由JAVA编译器(JAVAC)编译成class(字...

2018-04-23 00:09:29 1736

转载 关于STM32的CPU的使用率~裸机不带系统

1. 如果你不跑操作系统,CPU肯定一直都是100%使用的,哪怕你里面是延时等待,CPU也是一直在执行空语句nop,因为STM32里面是有一个CPU。2.对于stm32总是百分百。只是有多少时间空闲,多少时间干活!3.楼主的意思是实际CPU用来干正事的时间,在整个时间里的比例,打个比方,如果工作50mS,再等待200mS,完成一个大循环,那么CPU的使用率就是20%。如果楼主的程序是以大循环方式做...

2018-04-21 14:27:09 8660 1

转载 STM32串口第一个字节丢失问题的分析过程

STM32串口发送必须先检测状态,否则第一个字节无法发出,发送完毕,必须检测发送状态是否完成,否则,发送不成功,使用stm32f10x调试串口通讯时,发现一个出错的现象,硬件复位重启之后,发送测试数据0x01 0x02 0x03 0x04..接收端收到的数据为:0x02 0x03 0x04,第一个数据丢失。换成发送别的数值的数据,如0x06 0x0ff,则接收到0x0ff,0x06丢失。错误依旧。...

2018-04-18 22:29:26 3117 1

CRC16校验工具集合

CRC16校验工具集合,包含了多种校验公式的校验工具,工具使用方便。

2018-10-29

FTDI芯片USB转串口驱动

FTDI芯片USB转串口驱动,包含linux系统、wince系统和Windows_10_8.1_8_7_Vista_XP等系统的驱动

2018-10-29

浮点数与hex互转

实现浮点数与hex数据互转,帮助程序编写及数据解析,实际应用中非常方便。

2018-10-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除