跳转到主要内容

ARM

ARM-Linux开发与MCU开发的各自优势?

judy /

针对ARM-Linux程序的开发,主要分为三类:应用程序开发、驱动程序开发、系统内核开发,针对不同种类的软件开发,有其不同的特点。今天我们来看看ARM-Linux开发和MCU开发的不同点,以及ARM-Linux的基本开发环境。

<font size="4"><strong>1、ARM-Linux应用开发和单片机开发的不同</strong></font>

这里先要做一个说明,对于ARM的应用开发主要有两种方式:一种是直接在ARM芯片上进行应用开发,不采用操作系统,也称为裸机编程,这种开发方式主要应用于一些低端的ARM芯片上,其开发过程非常类似单片机,这里不多叙述。还有一种是在ARM芯片上运行操作系统,对于硬件的操作需要编写相应的驱动程序,应用开发则是基于操作系统的,这种方式的嵌入式应用开发与单片机开发差异较大。ARM-Linux应用开发和单片机的开发主要有以下几点不同:

<font color="blue"><strong> • 应用开发环境的硬件设备不同</strong></font>
单片机:开发板、仿真器(调试器)、USB线;

基于ARM的微波频率自动测量系统设计

judy /

<strong>1.引言</strong>

通常微波所指的是分米波、厘米波和毫米波。关于其频率范围,一种说法是:

300MHz ~ 300GHz(1MHz =106Hz,1GHz =109 )相应的自由空间中的波长约为1m~1mm.

微波技术的兴起和蓬勃发展,使得国内大多数高校都开设微波技术课程。但还存在以下问题:测量时,由手工逐点移动探头并记录各点读数,然后手工计算实验结果并绘图。测量项目单一、精度低、测量周期长,操作也较为繁琐。本文主要研究一种实用的基于Labview的速调管微波频率自动测量系统。

<strong>2.系统整体结构</strong>

系统的整体结构如图2-1所示。由下位机跟上位机构成。微处理器通过驱动电路来控制步进电机,带动谐振式频率计的套筒转动,处理器采样检波电流,传送到上位机LabVIEW界面显示,并利用PC机强大的数据处理功能,分析出电流最小值,计算出所测频率。

基于ARM和FPGA的多路电机控制方案

judy /

介绍了一种基于fpga的多轴控制器,控制器主要由arm7(LPC2214)和fpga(EP2C5T144C8)及其外围电路组成,用于同时控制多路电机的运动。利用Verilog HDL硬件描述语言在fpga中实现了电机控制逻辑,主要包括脉冲控制信号产生、加减速控制、编码器反馈信号的辨向和细分、绝对位移记录、限位信号保护逻辑等。论文中给出了fpga内部一些核心逻辑单元的实现,并利用QuartusⅡ、Modelsim SE软件对关键逻辑及时序进行了仿真。实际使用表明该控制器可以很好控制多轴电机的运动,并且能够实现高精度地位置控制。

随着电机广泛地应用于数字控制系统中,对电机控制的实时性和精度上的要求越来越高。如何灵活、有效地控制电机的运行成为研究的主要方向。文中采用现场可编程逻辑门阵列(Field Programmable Gate Array,fpga),通过Verilog语言编程来实现电机的控制。利用fpga设计具有硬件设计软件化、高度集成化、高工作频率等优点。fpga最大的特点就是灵活,实现你想实现的任何数字电路,可以定制各种电路,减少受制于专用芯片的束缚,真正为自己的产品量身定做。在设计的过程中可以灵活的更改设计,而且它强大的逻辑资源和寄存器资源可以让你轻松的去发挥设计理念。其并行执行,硬件实现的方式可以应对设计中大量的高速电子线路设计需求。

CAN总线中特殊波特率如何计算?

judy /

CAN总线采用的是异步串行通信,也就是没有单独的时钟线来保证各个收发器之间时钟的一致,每个收发器是按事先设置的波特率来对总线上的电平进行分位。因此波特率设置准确对CAN总线的稳定通信来说非常重要。

CAN总线里我们可以通过对CAN 节点里的位定时寄存器的控制来实现不同波特率的通信。CAN协议里将一个位时间分为同步段、传播段、相位缓冲段1和相位缓冲段2。每个段的时间长度都可以用一个整数的基本时间单位表示,该基本时间单位由系统的时钟振荡器分频得到。

同步段位于一个位的起始位置,CAN-bus规定跳变沿为同步信号,但是发送节点发送一个位跟接收节点接收到这个位之间存在网络传播延迟,传播段则是为了补偿这段传播延迟,由于采样点位置在相位缓冲段1跟相位缓冲段2之间,通过设置相位缓冲段1和相位缓冲段2的值,可以调整采样点位置,保证每个位采样点一致。缓冲段的长度调节范围则是由同步跳转宽度(SJW)决定。

ARM处理器工作模式

judy /

<strong>一、存储器格式(字对齐): </strong>
Arm体系结构将存储器看做是从零地址开始的字节的线性组合。从零字节到三字节放置第一个存储的字(32位)数据,从第四个字节到第七个字节放置第二个存储的字数据,一次排列。作为32位的微处理器,arm体系结构所支持的最大寻址空间为4GB。

存储器格式

1、大端格式:高字节在低地址,低字节在高地址;

2、小端格式:高字节在高地址,低字节在低地址;

指令长度:

Arm微处理器的指令长度是32位的,也可以为16位(thumb状态下)。Arm微处理器中支持字节(8位),半字(16位),字(32位)三种数据类型,其中,字需要4字节对齐,半字需要2字节对齐。
注:所谓的指令长度是一条完整的指令的长度,而不是单纯的mov这3个字母长度

<strong>二、ARM体系的CPU有两种工作状态</strong>

1、ARM状态:处理器执行32位的字对齐的ARM指令;

2、Thumb状态:处理器执行16位的、半字对齐的Thumb指令;

采用Cortex-M原型系统建立Cortex-M3 DesignStart原型

judy /

ARM最近刚刚宣布了对DesignStart项目的升级,加入了ARM Cortex-M3处理器。现在,可以通过DesignStart Eval即时、免费地获取相关IP,对基于Cortex-M0或者Cortex-M3处理器的定制化SoC进行评估、设计和原型开发。

原型设计的重要性常常被忽视,我希望通过本文以更多的细节阐述原型开发的重要性以及Cortex-M原型系统(MPS2+)如何帮助你方便地开始对你自己的设计进行评估和原型开发。
DesignStart不仅仅有处理器IP。DesignStart Eval和Designstart Pro包括处理器IP、一个参考子系统、以及免费的在线社区支持。此外,还提供来自ARM和ARM合作伙伴的专用支持、培训以及各种服务。

DesignStart Eval已经可以运行在ARM Cortex-M原型开发系统(即MPS2+)之上,帮助你更方便地迅速开始对你自己的设计进行评估和原型开发。

CmBacktrace 0.2.0 发布,ARM Cortex-M MCU 错误追踪库

Lee_ /

0、CmBacktrace 是什么

CmBacktrace (Cortex Microcontroller Backtrace)是一款针对 ARM Cortex-M 系列 MCU 的错误代码自动追踪、定位,错误原因自动分析的开源库。主要特性如下:

● 支持的错误包括:

断言(assert)

● 故障(Hard Fault, Memory Management Fault, Bus Fault, Usage Fault, Debug Fault)

故障原因 自动诊断 :可在故障发生时,自动分析出故障的原因,定位发生故障的代码位置,而无需再手动分析繁杂的故障寄存器;

● 输出错误现场的 函数调用栈(需配合 addr2line 工具进行精确定位),还原发生错误时的现场信息,定位问题代码位置、逻辑更加快捷、精准。也可以在正常状态下使用该库,获取当前的函数调用栈;

● 支持 裸机 及以下操作系统平台:

RT-Thread

UCOS

FreeRTOS

● 根据错误现场状态,输出对应的 线程栈 或 C 主栈;

● 故障诊断信息支持多国语言(目前:简体中文、英文);

如何看Cortex-M系列处理器差异与共性?技术老司机Joseph带你飞

Lee_ /

<font color="#FD8900">Joseph Yiu, 高级嵌入式技术经理, ARM</font>

William Gao, ARM 中国应用工程师与Gabriel Wang,ARM中国嵌入式应用工程师对于本文中文版亦有帮助
<strong>概要:</strong>ARM Cortex-M处理器家族现在有8款处理器成员。在本文中,我们会比较Cortex-M系列处理器之间的产品特性,重点讲述如何根据产品应用选择正确的Cortex-M处理器。

本文中会详细的对照Cortex-M 系列处理器的指令集和高级中断处理能力,以及 SoC系统级特性,调试和追踪功能和性能的比较。

<font size="4" color="blue">1、简介</font>

干货丨ARM、MCU、DSP、FPGA、SOC各是什么?区别是什么?

Lee_ /

<strong>ARM</strong>

ARM处理器是Acorn计算机有限公司面向低预算市场设计的第一款RISC微处理器。更早称作AcornRISCMachine。ARM处理器本身是32位设计,但也配备16位指令集,一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。

<strong>ARM历史发展:</strong>

1978年12月5日,物理学家赫尔曼·豪泽(HermannHauser)和工程师ChrisCurry,在英国剑桥创办了CPU公司(CambridgeProcessingUnit),主要业务是为当地市场供应电子设备。1979年,CPU公司改名为Acorn计算机公司。

起初,Acorn公司打算使用摩托罗拉公司的16位芯片,但是发现这种芯片太慢也太贵。&quot;一台售价500英镑的机器,不可能使用价格100英镑的CPU!&quot;他们转而向Intel公司索要80286芯片的设计资料,但是遭到拒绝,于是被迫自行研发。

深入分析ARM最新DynamIQ多核微架构

Lee_ /

<font color="#FD8900">作者:电子创新网 张国斌</font>

今天,ARM正式发布了全新DynamIQ技术,可能由于翻译问题,我们都把DynamIQ理解成了一个技术,在回深圳的飞机上我仔细研究了英文资料,发现今天理解上有个错误,其实DynamIQ技术就是一个全新单集群多核微架构,它针对人工智能做了优化,也对功耗,灵活性(可以自己设置大小核结构),存储和计算架构都做了新的设计,有新的指令集,所以下一代的CortexA处理器可以采用这个架构设计多核处理器。特此说明。在下面的文中我会把DynamIQ技术改称DynamIQ微架构。

<center><img src="http://www.eetrend.com/files-eetrend/interview/201703/100069846-96372-1…; alt="深入分析ARM最新DynamIQ多核微架构"></center>