Keil 中使用 STM32F4xx 硬件浮点单元一.前言有工程师反应说 Keil 下无法使用 STM32F4xx 硬件浮点单元, 导致当运算浮点时运算时间过长,还有 一些人反应不知如何使用芯片芯片内部的复杂数学运算,比如三角函数运算.针对这个部分本文将详 细介绍如何使用硬件浮点单元以及相关数学运算.二.问题产生原因1. ------对于Keil MDK Version 5 版本, 编译器已经完全支持STM32F4xx 的FPU(浮点运算单元), 可以直接 使用芯片内部的浮点运算单元.2. --…
http://mp.weixin.qq.com/s/CDyZ8v2kLiyuIBHf7iqEPA…
浮点数在内存中的存放格式例如以下: 地址 +0 +1 +2 +3 内容 SEEE EEEE EMMM MMMM MMMM MMMM MMMM MMMM 这里 S 代表符号位,1是负,0是正 E 偏移127的幂.二进制阶码=(EEEEEEEE)-127. M 24位的尾数保存在23位中,仅仅存储23位.最高位固定为1.此方法用最较少的位数实现了 较高的有效位数.提高了精度. 零是一个特定值,幂是0 尾数也是0. 浮点数-12.5作为一个十六进制数0xC1480000保存在存储区中,这个值例如以下:…
keil中串口的虚拟调试信息在通过View-serial windows-#usart1/2/3/4/debug(printf)可以看到.当然也可以通过虚拟串口VSPD+串口调试助手在外部实现,方法如下: 虚拟 串口使用:步骤 1 下载虚拟串口软件,虚拟2个连接的串口COMA/COMB,这两个串口与PC机的真实物理串口没关系.两边的设置相同 2 打开串口通讯助手,将A分配给串口通讯助手,则B就分配给下面的COMx 2 在MDK中输入命令行或者将下面的做成debug.ini文件加载 MODE CO…
转自关于keil中data,idata,xdata,pdata,code的问题 ‍从数据存储类型来说,8051系列有片内.片外程序存储器,片内.片外数据存储器,片内程序存储器还分直接寻址区和间接寻址类型,分别对应code.data.xdata.idata以及根据51系列特点而设定的pdata类型,使用不同的存储器,将使程序执行效率不同,在编写C51程序时,最好指定变量的存储类型,这样将有利于提高程序执行效率(此问题将在后面专门讲述).与ANSI-C稍有不同,它只分SAMLL.COMPACT.LA…
原文在此:http://www.cnblogs.com/mddblog/p/4920063.html 概述 在嵌入式系统中,启动文件是整个系统非常关键的部分,它会进行一些底层的初始化,构建程序运行必要的环境,比如堆栈初始化,变量初始化等.如果启动文件出现错误,则整个系统就跑不起来,因此研究启动文件非常必要. 在keil中,启动文件由汇编代码编写,一般命名为startup_xxx.s,xxx为支持的某种芯片,比如可以是lpc15xx(NXP的LPC15xx系列).MK60D10(飞思卡尔).stm…
在keil中仿照别人的程序写了RCC初始化的程序,编译后出现以下问题 .\obj\pro1.axf: Error: L6218E: Undefined symbol FLASH_PrefetchBufferCmd (referred from main.o). .\obj\pro1.axf: Error: L6218E: Undefined symbol RCC_GetFlagStatus (referred from main.o). .\obj\pro1.axf: Error: L6218E…
http://blog.csdn.net/liujia2100/article/details/7459683 在调试一个代码时,编译能顺利编过.可是,就是不能执行.找了半天才发现,原来是浮点问题.由于6410支持硬件浮点,找了很久,才弄清楚怎么使用硬件浮点. 1.RVDS2.2 选择VFP22.在初始化时,配置协处理器来打开和配置浮点部件. VFPEnable                           EQU        (0x40000000);-----------------…
一.效果 二.代码 <!DOCTYPE HTML> <html> <head> <title>Example</title> <meta charset="utf-8"/> <style></style> <script src="js/jquery-2.1.4.min.js"></script> </head> <body>…
一般说来,我们在C语言中定义的每一个变量初始化后都会占用一定的内存(RAM)空间.但是在keil中提供了一个特殊的关键字“code”,这个关键字在标准C中是没有的.其语法举例如下: unsigned char code word[] = {       0x04,0x10,0x34,0x08,0xC4,0x06,0x04,0x01,       0xC4,0x82,0x3C,0x8C,0x20,0x40,0x10,0x30,       0x0F,0x0C,0xE8,0x03,0x08,0x0C…