轮询系统与前后台系统:  在我们学习嵌入式编程的时候,首先接触到的是裸机编程(轮询),裸机编程的实现比较简单,而且其逻辑也非常的清晰,通过观察代码就能大概判断程序的执行流程和作用,但是裸机编程有一个巨大的缺点——实时性太差。例如下列代码(伪):while(1) {   ...(程序段一)   if(key1==0)   {   ...   }   if(key2==0)   {
SSE2 (单指令多数据流扩展)浮点指令使用128位的XMM寄存器,可以处理双精度(64位)浮点值。也有一些工作于单精度(32位)浮点值的指令。SSE2在Pentium 4 和 Xeon处理器中被提出。这些指令跟SSE浮点指令非常类似,除了它们工作的数据长度不同。在你的代码中使用这些指令之前,你必须检测你的机器是否支持它们。设置EAX=1,调用CPUID指令,此时测试EDX的第26位,如果为1则表
浮点数的表示和运算标题浮点数的表示浮点数的加法和减法运算 通过学习了计算机系统的相关知识,我对浮点数的表示和算法部分格外关注,总结了一点知识点在这里。标题浮点数的表示在现代计算机中,为了便于软件移植,一般均采用 IEEE 754标准来表示浮点数。在介绍IEEE 754标准前,有必要先介绍一下浮 点数的表示形式。既然尾数和阶码分别是定点小数和定点整数,即尾数和阶码都是有符号位的,那么就可以写出浮点
一 程序映像程序映像指的是程序存储器,对于大多数芯片来讲,一般为flash,flash中不仅存储了用户的程序代码还有其它多种软件部分:向量表复位处理/启动代码C启动代码应用代码C运行时库函数其它数据1 向量表ARM Cortex-M处理器的向量表中包含每个异常和中断的起始地址,而对于Cortex-M0和Cortex-M0+处理器复位后,向量表定义在存储器空间的起始位置(地址为0x00000000)
RTT在设计时虽然采用了c语言,但使用了面向对象的思想。所有的线程、事件设备等都是继承自object,且采用链表的方式统一管理。如图所示。对象控制块 /** * Base structure of Kernel object */ struct rt_object { char name[RT_NAME_MAX
RT-Thread 概述RT-Thread,全称是 Real Time-Thread,它是一个嵌入式实时多线程操作系统,基本属性之一是支持多任务,允许多个任务同时运行,但并不是真正的同时运行,而是宏观上的并行。在 RT-Thread 系统中,任务通过线程实现的,RT-Thread 中的线程调度器就是任务调度器。RT-Thread 主要采用 C 语言编写,浅显易懂,UNIX代码风格,POSIX接口支
转载 2024-08-02 23:12:11
134阅读
/F1和F4的异同/如果是基于HAL来开发,由于HAL的可移植性好,F1上的主程序代码和F4上基本没啥差别。F1的内核时CortexM3,F4的内核时CortexM4F4通过HAL库编程与F1最大的区别是在外设的时钟上。不同内核所包含的指令集如下图使用不同型号的Fx,相应的system文件例如delay.c delay.h sys.h 里面会有些许的差别 ,直接复制黏贴例程的就行 &nb
前言人生如逆旅,我亦是行人。1、STM32H7的DSP功能介绍(STMicroelectronics,简称ST)推出新的运算性能创记录的H7系列微控制器。新系列内置STM32平台中存储容量最高的SRAM(1MB)、高达2MB闪存和种类最丰富的通信外设,为实现让智慧更高的智能硬件无处不在的目标铺平道路。STM32H7系列沿用STM32F7系列的ARM Cortex-M7处理器内核,是业界首款采用40
浮点数的作用:区别于整形数,用来表示小数。可以用来表示很大的数,或者非常接近0的小数,或者近似的做实数计算,浮点数的一般形式:$x\times 2^y$。IEEE(pronounced “Eye-Triple-Eee”)浮点数标准。rounding:when a number cannot be represented exactly in the format and hence must be
前言        不论你是不是计算机专业的学生,想必都知道计算机底层的存储结构只能存储0和1.而正是由于这种存储方式,当我们在存储一个浮点数(可以简单的理解为小数)的时候,计算机往往不能准确表达,而能做到的只是近似的表示一个数。        eg:数字1/5,我们用十进制小数
微软MSDN上关于ARM芯片浮点运算的资料         勿使用浮点运算         ARM 处理器并不支持浮点运算 (Floating Point Math)。所有的浮点运算都是在浮点运算模拟器上进行,因此特别缓慢。需要浮点运算的函式,常要耗费数千个循
转载 2024-07-26 00:59:55
71阅读
四、浮点四则运算1.浮点加减运算对阶尾数求和规格化舍入溢出判断2.浮点乘除法运算阶码运算尾数运算3.浮点运算所需的硬件配置 四、浮点四则运算 的形式。其中 Sx S x 为浮点数的尾数,一般为绝对值小于1的规格
浮点数的运算方法一、浮点数的表示1.浮点数的表示2.IEEE 754标准3.浮点数类型二、浮点数的加减法1.定义2.运算步骤三、运算部件四、强化练习 一、浮点数的表示1.浮点数的表示 Ms表示尾数的符号位,E中1bit保存阶码的符号位其余空间存放阶码值,M中存放规格化后的尾数。 因为尾数规格化后其绝对值应大于或等于0.5D,故小数点后第一位都是1,故从小数点后第二位开始保存即可,节省空间并提高精度
作者:strongerHuang一、写在前面本文讲述的内容是“Options for Target”,即工程目标选项的配置内容,也就是我们常见的工程配置内容。由于目标配置的选项比较多,我将其分为工程目标选项配置(一)和工程目标选项配置(二)两篇文章来讲述。目标选项包含了一个工程目标所有的配置信息,这些信息是保存于我们工程(.uvprojx)和对应的(.uvoptx)文件。二、本文要点本文主要讲述的
1.从 GPIO 到 UART前面几节我们讲了MCU如何启动,如何用翻转IO引脚,以及用按键去触发中断。接下来我们介绍的也是最常用的一个模块,串口(UART)。串口可以说是最古老,而且生命力最强的一种通信接口了。RS485总线更是久经考验。虽然串口早已经从大多数PC的标配中去掉了,但是嵌入式系统跟上位PC机通信用的最多的应该还是通过串口转USB吧。我们用 Keil 打开下面这个工程:
第一代:x87浮点指令集特征使用80位浮点协处理器处理浮点运算浮点协处理器内部为栈结构运算过程指令这里只介绍部分指令,详细的参考Intel / AMD 开发手册;入栈 fld st(i) ;将st(i)的值压入栈顶 fld mem32/mem64/mem80 ;将浮点数压栈 交给st(0) 同时原st(0)交给st(1) ;加法 fadd st(0),st(i)
转载 2024-05-14 11:50:43
154阅读
SIMD初学在学习SIMD之前,我们首先需要了解两个概念。 浮点运算指令分为两大类:Packed(矢量) 和Scalar(标量)。 Packed指令是一次对寄存器中的四个浮点数(即DATA0 ~ DATA3)均进行计算,而Scalar一次则只对寄存器中的DATA0进行计算。如下图所示:1.SIMD的历史与指令集分类SIMD(Single Instruction Multiple Data)即单指令
转载 2024-02-25 18:47:53
117阅读
 一、控制指令(带9B的控制指令前缀F变为FN时浮点不检查,机器码去掉9B)FINIT 初始化浮点部件 机器码 9B DB E3FCLEX 清除异常 机器码 9B DB E2 FDISI 浮点检查禁止中断 机器码 9B DB E1FENI 浮点检查禁止中断二 机器码 9B DB E0WAIT 同步CPU和FPU 机器码 9B FWAIT 同步CPU和FPU 机器码 D9 D0FNOP 无
转载 2024-05-01 20:20:39
52阅读
6月17日,新一期全球超算500强榜单出炉,入选500强的所有超算浮点运算速度都突破每秒千万亿次,中国超算也在前四占有两席位置。普通计算机用指令运算速度衡量计算性能,而超算通常用浮点运算速度来衡量其性能。那么,什么是浮点运算速度,超算榜单为什么会选择浮点运算速度来进行比较?500强特别是前十的超算,科学家们都在想哪些办法让浮点运算速度越来越快?节能环保是对超算的另一衡量指标,超算要节能环保,最新的
目录1.浮点数的加减运算1.1 运算步骤1.1.1 对阶1.1.2 尾数相加减1.1.3 规格化处理1.1.4 舍入操作1.1.5 判断阶码是否溢出1.2 举个例子2.浮点数的乘除操作2.1 操作步骤2.1.1 阶码相加减2.1.2 尾数乘除运算2.2 举个例子 1.浮点数的加减运算1.1 运算步骤(1)对阶(小向大对齐); (2)尾数相加; (3)浮点数规范化; (4)舍入操作; (5)判断溢出
  • 1
  • 2
  • 3
  • 4
  • 5