推荐阅读
基于ARM和FPGA的电力光纤信号分析仪的设计
随着电力网络的扩大复杂化和区域互联趋势的到来,电力系统的行为也将越来越复杂。一些原有的假设条件和简化模型的适用性都将接受进一步的挑战与检验。在此情况下丰富详尽的现场实测数据,尤其是故障或非正常状态下的数据。无疑将具有越来越重要的价值。它们不仅是分析故障原因检验继电保护动作行为的依据,也为电力工作者研究了解复杂系统的真实行为,发现其规律提供宝贵的资料,这种电力信号实时分析仪可以实时监测各种有用信息,电力系统也对其提出了更高的要求,而计算机技术的不断突飞猛进,也为这种光纤信号分析仪的采样速率、分析、处理、显示能力提供保证,为提高监控可靠性、准确性、灵活性、实时性以及信息资源共享提供了充分的条件。目前,IEC61850标准的制定及其内容已
发表于 2019-12-06
ARM的启动分析
基于ARM的芯片多数为复杂的片上系统,这种复杂系统里的多数硬件模块都是可配置的,需要由软件来设置其需要的工作状态。因此在用户的应用程序之前,需要由专门的一段代码来完成对系统的初始化。由于这类代码直接面对处理器内核和硬件控制器进行编程,一般都是用汇编语言。一般通用的内容包括:中断向量表初始化存储器系统初始化堆栈初始化有特殊要求的断口,设备初始化用户程序执行环境改变处理器模式呼叫主应用程序 1. 中断向量表ARM要求中断向量表必须放置在从0地址开始,连续8X4字节的空间内。每当一个中断发生以后,ARM处理器便强制把PC指针置为向量表中对应中断类型的地址值。因为每个中断只占据向量表中1个字的存储空间,只能放置一条ARM指令,使
发表于 2019-12-05
arm交叉编译器gnueabi、none-eabi、arm-eabi、gnueabihf的区别
、linux应用等。arm-none-linux-gnueabi基于GCC,使用Glibc库,经过 Codesourcery 公司优化过推出的编译器。arm-none-linux-gnueabi-xxx 交叉编译工具的浮点运算非常优秀。一般ARM9、ARM11、Cortex-A 内核,带有 Linux 操作系统的会用到。3、arm-eabi-gccAndroid ARM 编译器。4、armccARM 公司推出的编译工具,功能和 arm-none-eabi 类似,可以编译裸机程序(u-boot、kernel),但是不能编译 Linux 应用程序。armcc一般和ARM开发工具一起,Keil MDK、ADS、RVDS和DS-5
发表于 2019-12-04
浅析ARM汇编语言子例程设计方法
引言在嵌入式软件系统开发过程中,大量使用C语言进行应用程序开发以提高开发效率。同时,系统中经常包含一些决定整个系统性能的关键模块,此时为了获得最佳性能,经常使用汇编语言编写它们,或者某些特殊情况下,例如操作硬件等,也必须使用汇编语言。函数是C语言中一个重要的概念,在汇编语言中经常使用子例程或过程(subroutine or procedure)表达同样的概念,本文使用术语子例程。本文首先介绍ARM汇编语言子例程设计的一般方法,并以此为基础提出一种新的基于堆栈帧的设计方法,同时介绍与C语言交互技术。1 一般方法在ARM汇编语言中一般使用BL(Branch and Link)指令调用某个子例程,BL指令首先将返回地址保存
发表于 2019-12-04
ARM的栈指令
ARM的栈指令ARM的指令系统中关于栈指令的内容比较容易引起迷惑,这是因为准确描述一个栈的特点需要两个参数:栈地址的增长方向:ARM将向高地址增长的栈称为递增栈(Descendent Stack),将向低地址增长的栈称为递减栈(Acendant Stack)栈指针的指向位置:ARM将栈指针指向栈顶元素位置的栈称为满栈(Full Stack),讲栈指针指向即将入栈的元素位置的栈称为空栈(Empty Stack)1. 栈类型根据栈地址增长方向雨栈指针指向位置的不同,自然可以将栈分为四类:递增栈递减栈空栈EA栈ED栈满栈FA栈FD栈图1描述了四种不同类型的栈,其中虚线部分表示即将入栈的元素。图1 栈类型2. 栈指令栈的操作指令无非两种
发表于 2019-12-04
ARM(RISC)和x86(CISC)的技术差异
RISC和CISC,这一对冤家,从诞生之日开始就处在不停的纠缠之中。直到今天,两者经过多年的发展后,都在各自领域打开了一片天地,并且相互渗透。RISC专注高性能、高性能功耗比、小体积以及移动设备领域,CISC专注桌面、高性能和民用市场。现在,RISC的代表是ARM,而CISC的代表则是我们耳熟能详的x86。那么,他们的技术差异在哪里?究竟是怎样的技术分歧带来了两者如此大的差别呢?指令集的出现要说清楚RISC和CISC,也就是今天热门的ARM和x86之间的差异,还得把时间往前推一些,观察计算机诞生之初的一些事情,才能很清楚地了解指令集、精简和复杂之间的关系。 机器语言的实例机器语言含义
发表于 2019-12-04