ARM
fengwang0301
好好学习,天天向上。
展开
-
UCOS系统用printf打印浮点数据的问题
转载自:http://blog.chinaunix.net/uid-21977330-id-3209252.html1.问题描述:当使用uocs printf(),sprintf()打印浮点数问题会出问题,但是裸机不会出问题我现在使用STM32跑UCOS,在使用sprintf打印float类型时候,不管是何值最后都是0.0,但是类型是int,short类型时没有问题。网上查到是任务堆栈8字节对齐就可以了。当没有操作系统时,系统堆栈是8字节对齐的,但是当使用ucos时,用户任务不一定是8字节.转载 2020-06-04 08:42:25 · 1148 阅读 · 0 评论 -
函数指针数组
上一篇文章讲解了函数指针和指针函数的区别。本文将讲解函数指针数组,并举例应用。一.函数指针首先回顾一下函数指针:函数指针是指向函数的指针主体是指针指向的是一个函数的地址(函数也是有地址的!)基本声明形式:返回数据类型 + (*函数名) + (变量类型1,…);注意 * 和函数名要用括号括起来,否则因为运算符的优先级原因就变成指针函数了e.g:int (*fun) (i...原创 2019-10-30 18:09:40 · 808 阅读 · 0 评论 -
ARM指令整理
转载:https://blog.csdn.net/sadshen/article/details/94192671.__set_PRIMASK(0)PRIMASK是只有单一比特的寄存器。置为1后,就关掉所有可屏蔽异常,只剩下NMI和硬Fault可以响应。默认值是0,表示没有关闭中断。简单来说,使用__set_PRIMASK(1)关闭中断;__setPRIMASK(0)开启中断。更多...转载 2018-09-25 10:07:25 · 1728 阅读 · 0 评论 -
C语言中0UL 1UL什么意思
0UL 表示 无符号长整型 01UL 表示 无符号长整型 1在keil编译器中,类似(1<<31)是编辑器自动生成的临时变量,默认是有符号的,需要强制转换成无符号的。需要写成(1UL<<31),1UL就将1强制转换成无符号长整型了。...原创 2018-09-26 20:54:22 · 12978 阅读 · 0 评论 -
MIPS 、DMIPS、MFLOPS
今天在看《ARM权威指南-Cortex-M0》时,遇到一个单位名词——DMIPS,查找过程中发现几个相关单位名词,在此做下记录。MIPS(Million Instructions Per Second):字面理解为百万条指令/秒,即每秒执行百万级指令数。这是衡量CPU速度的一个指标。像是一个Intel 80386 电脑可以每秒处理3百万到5百万机器语言指令,既我们可以说80386是3到5MIP...原创 2018-09-26 21:15:40 · 5590 阅读 · 0 评论 -
“Image$$ER_ROM1$$Base”,$$表示的变量
在单片机开发过程中,有时会遇到类似上面的语句,之间用“$$”相连,其实这是单片机表示地址的一种形式。大家可以打开工程的map文件,在map文件中可以看到很多用这种形式表示的变量。下图是我随便找的工程的map文件。可以看到ARM.Collect$$libinit$$0000000C之类的是名字,它们有自己的基地址和大小。我遇到的是将它们作为地址使用。以Image$$ER_ROM1$$...原创 2019-08-09 16:16:09 · 3290 阅读 · 0 评论 -
Keil _map文件全解析
转载自:https://blog.csdn.net/ybhuangfugui/article/details/75948282#rd修正部分错别字及排版。0、写在前面相信有较大项目开发经验的朋友都曾遇到内存溢出的问题,那么大家都是如何分析这类问题的呢?大家遇到HardFault_Handler 有对map分析过吗?首先讲述一下关于map在MDK-ARM中的配置。其实,在MDK...转载 2019-04-22 15:38:10 · 709 阅读 · 0 评论 -
RAM汇编指令DMB、DSB、ISB、SEV等
最近用keil调试STM32时,在代码中遇到了一些汇编指令,如DMB、DSB、ISB、SEV,现总结如下:DMB、DSB、ISB、SEV等指令都属于RAM汇编指令,在《ARM Cortex-M0权威指南》和《ARM Cortex-M3权威指南》中,都有这些指令。读者可以参考这两本书的附录部分。其他RAM系列的权威指南应该也有这些指令,我这里只有这两本权威指南,用到其他系列时,读者可自行查证。...原创 2019-04-15 10:17:54 · 11151 阅读 · 0 评论 -
MDK 的编译过程及文件类型全解
上一篇文章讲解了map文件(https://blog.csdn.net/u013073067),本篇文章讲解MDK 的编译过程及文件类型。map文件不过是MDK编译过程中众多文件中的一种。我参考的是《零死角玩转STM32-F103霸道》手册,由于手册中介绍的十分详细,读者请直接参考这篇手册的第46章 MDK 的编译过程及文件类型全解,讲解的非常好。可以直接从我的网盘下载文档。链接:http...原创 2019-05-06 09:57:58 · 370 阅读 · 0 评论