ARM

嵌入式软件开发流程

参照嵌入式软件的开发流程。第一步:工程建立和配置。第二步:编辑源文件。第三步:工程编译和链接。第四步:软件的调试。第五步:执行文件的固化。

在整个流程中,用户首先需要建立工程并对工程做初步的配置,包括配置处理器和配置调试设备。编辑工程文件,包括自己编写的汇编和C语言源程序,还有工程编译时需要编写的链接脚本文件,调试过程中需要编写存储区映像文件和命令脚本文件,以及上电复位时的程序运行入口的启动程序文件。

对后四种文件的理解很重要,其作用解释如下。

(1)链接脚本文件:在程序编译时起作用。该文件描述代码链接定位的有关信息,包括代码段,数据段,地址段等,链接器必须使用该文件对整个系统的代码做正确的定位。在SDRAM中调试程序、在FLASH中调试或固化后运行的链接脚本文件应加以区分。(在IDE开发环境中使用扩展名*.ld)

(2)命令脚本文件:在SDRAM中调试程序时起作用。在集成环境与目标连接时、软件调试过程中以及目标板复位后,有时需要集成环境自动完成一些特定的操作,比如复位目标板、清除看门狗、屏蔽中断寄存器、存储区映射等。这些操作可以通过执行一组命令序列来完成,保存一组命令序列的文本文件称为命令脚本文件(在 IDE开发环境中使用扩展名*.cs)。

(3)存储区映像文件:在SDRAM中调试程序时起作用。在软件调试过程中访问非法存储区在部分处理器和目标板上会产生异常,如果异常没有处理,则会导致软件调试过程无法继续,为了防止以上问题并调整仿真器访问速度以达到最合适的水平,提供这样一种用于描述各个存储区性质的文件叫存储区映像文件(在IDE开发环境中使用扩展名*.map)。

在程序的调试过程中可以选择使用存储区映像文件*.map和命令脚本文件*. cs配合程序的调试。

(4)启动文件:它主要是完成一些和硬件相关的初始化的工作,为应用程序做准备。一般,启动代码的第一步是设置中断和异常向量;第二步是完成系统启动所必须的寄存器配置;第三步设置看门狗及用户设计的部分外围电路;第四步是配置系统所使用的存储区分配地址空间; 第五步是变量初始化;第六步是为处理器的每个工作模式设置栈指针;最后一步是进入高级语言入口函数(Main函数)。

中断程序设计

中断调试方面可以采用类似矢量中断动态处理方式,让中断对应的确定地址代码调转到RAM的固定地址处,定义一个函数指针指向该固定地址,就可以随时通过替换RAM固定地址处的代码,实现动态改变中断处理函数。

具体方法是:

(1)将中断源函数指针定义在RAM中相对的固定地址,建立中断矢量表;

  void SetInterrupt (U32 vector, void (*handler)()){ InterruptHandlers[vector] = handler;}

(2)在程序中,调用具体某中断源的中断处理函数;

  如: SetInterrupt(IIC_INT,IICWriteIsr);

  /* 声明IIC中断处理函数,其中IIC_INT为 IIC中断源序号,IICWriteIsr为 IIC的写中断处理函数 */

(3)在0x18处的IRQ或0x1C处的FIQ中断入口函数中,获取中断源、清除中断挂起标志、通过已定义的中断源函数指针进入用户具体某中断处理程序。

void ISR_IrqHandler(void){ IntOffSet = (unsigned int)INTOFFSET; Clear_PendingBit(IntOffSet>>2) ;(*InterruptHandlers[IntOffSet>>2])();// 调用具体某中断处理程序}

采用动态的中断处理方法,在中断源较多的情况下,中断响应时间和程序性能得到优化。另外,在调试方面,此处理方法具有便于跟踪调试的优点,并且根据需要,可以方便变换中断处理函数。

中断调试

软件调试可以在SDRAM中或FLASH中进行。在SDRAM中,读写方便,访问速度快。一般软件调试应在RAM中完成,但当RAM空间小于FLASH程序空间,程序只能在FLASH运行和调试时,或者用户希望了解程序在FLASH中实际运行情况时,就可以在FLASH中进行程序调试。

进行中断调试时,应注意中断入口位于SDRAM中或FLASH中0x18或0x1c地址,链接脚本文件必须使整个系统的代码正确定位于0x0起始处,但SDRAM或FLASH对应的链接脚本文件及工程配置注意区别。

(1)程序在SDRAM中运行

在SDRAM中调试,使用SDRAM对应的链接脚本文件。调试过程需要以下几步:编译、链接工程;连接仿真器和电路板;下载程序(在IDE开发环境中使用扩展名*.elf);调试。

下载程序前必须启动命令脚本文件完成前述的一些特定的操作,命令脚本文件的启动在连接仿真器时自动进行,其中存储区映射应与程序在SDRAM中运行时相同,保证整个系统的代码正确定位于0x0起始处。下载程序的起始地址也为0x0,下载成功后便可进行调试工作。

(2)程序在FLASH中运行

在FLASH中调试,使用FLASH对应的链接脚本文件。调试过程需要以下几步:编译、链接工程;连接仿真器和电路板;程序格式转换(*.elf转换为*.bin);固化*.bin程序;调试。

连接仿真器后不需要下载程序,存储区映射由本身工程中启动文件运行完成,不需要命令脚本文件。在本环境调试过程中,可以设置两个硬件断点。

(3)程序从FLASH中调到SDRAM中运行

在某些应用场合,强调程序运行速度的情况下,希望程序在SDRAM中运行,这样就需要将FLASH中存储的程序,在系统上电后搬运到SDRAM某空间位置,然后自动运行。这种所谓的Bootloader技术,在DSP系统中常被采用。

调试过程分两步:

(a)首先将用户程序在SDRAM中调试通过,然后将*.bin文件固化到FLASH某一非0扇区地址空间;

(b)将自己编写的Bootloader搬运程序调试通过并将Bootloader.bin文件固化到FLASH的 0扇区地址空间,搬运程序在系统上电后,将(a)中FLASH某一非0扇区地址空间存储的程序,搬运到在SDRAM调试中同样的空间位置,实现程序在SDRAM中运行的目的。

另外注意,因为用户实际的程序中断入口必须位于FLASH的0x18或0x1c地址,所以Bootloader搬运程序还应具有中断入口的跳转功能,即把PC指针由此转向处于SDRAM空间的中断程序入口表,就是整个用户程序被搬运到SDRAM的那一位置。

如:LDR PC, =HandleIRQ

  // HandleIRQ位于SDRAM空间中断程序入口表

来源:网络、嵌入式ARM

围观 10

你知道单片机、ARM、DSP都是CPU吗?

demi的头像

学计算机和电子的人们都学过单片机和CPU,你知道单片机、ARM、DSP都是CPU吗,它们之间又有什么不同?本文进行了整理,一起来看看吧!

CPU:中央处理器

CPU 包括运算逻辑部件、寄存器部件和控制部件等,其本质就是一个集成电路,实现的功能就是从一个地方读出一个指令,从另一个地方读出数据,然后根据指令的不同对数据做不同的处理,然后把结果存回某个地方,而不同架构的CPU会有不同的指令、不同的存取方式、不同的速度、不同的效率等差异。从实现运算的角度,单片机、ARM、DSP都可以称之为CPU。

1、单片机:微控制器MCU

目前,单片机已广泛称作微控制器(MCU),单片机是一块类似PC的芯片,只是没PC强大,但它可以嵌入到其它设备中从而对其进行操控。单片机的多机应用系统可分为功能集散系统、并行多机处理及局部网络系统。

2、ARM:高效能RISC

ARM内核是一个嵌入式系统。RISC架构的指令,寄存器和流水线特征使它非常适合于并行计算。

3、DSP:通用数字信号处理器

  •   全新Arm Mali-C52和Mali-C32图像信号处理器(ISP)提供一流的图像质量、完整的软件包以及全套校准和调校工具。

  •   为各种日常设备提供更高图像质量,包括无人机、智能家庭助理和安全、以及网络(IP)摄像机。

  •   新的应用程序现已能利用Arm Iridix技术的独有功能优势;该技术已经在超过20亿台设备上得以证实。

今日Arm宣布推出全新Arm Mali-C52与Mali-C32图像信号处理器(ISP),通过完整的解决方案提供最高的图像质量,应对在智能物联网设备中实现实时的、更高图像质量的要求。

在人类五种感官中,视觉是进化程度最高、感受最丰富的感官,由200多万根神经纤维将视网膜的信息传送到大脑。过去数十年来,数字世界一直在努力试图超越我们的视觉处理能力。创建“数字眼”来处理实时的、更高质量的图像,让观众对环境有最真实的感受,这是Arm生态系统在致力于赋能一万亿台互联设备的过程中面临的众多挑战之一。

Arm预测,在所有互联设备中,对具有嵌入式视觉功能的物联网设备的需求是最高的:
  •   到2021年,安全(监控)和IP摄像机市场的年增长率将达到20 %,届时出货量有望超过5亿台;
  •   个人机器人年增长率达到75 %,预计2021年出货量将达到200万台;
  •   预计到2021年,智能家居市场将以每年14 %的速度增长,规模将达8800万台,而无人机、增强现实(AR)/混合现实(MR)设备和运动摄像机等其它设备,正在从新兴产品转变为大众化产品。

将感知转化为像素

上述设备所采用的图像技术中,嵌入于设备中的ISP技术是其中的一个关键环节。在这些受到诸多限制的设备中,ISP的关键功能是在从图像传感器提取数据并处理每个像素时,提供最准确、最高质量的图像,而这一关键功能在涉及机器学习相关应用时尤为重要。全新Arm Mali-C52和Mali-C32处理每个像素时会进行超过25个步骤,其中三个关键步骤对图像输出质量起到了决定性的影响,包括高动态范围(HDR)、降噪以及色彩管理。通过整合Arm市场领先的Iridix技术与行业领先的其他降噪及色彩管理算法,Mali-C52与Mali-C32所配备的ISP技术能够在高分辨率和实时处理(例如4k分辨率及60fps帧率)的条件下,实现上述三项关键处理步骤。

高动态范围技术绝不遗漏任何图像细节

最能凸显高动态范围(HDR)功能必要性的情景,就是自安装在明亮室外环境中的联网安防摄像机中获取图像输出。在这一场景中,图像输出往往面临着同时处理较明亮部分与较深阴影部分的情况。虽然人眼可以自然地感知这些环境中的对比度,但数字传感器通常需要多次曝光才能获取场景准确的图像信息。为真实呈现HDR场景,图像技术要求达到每像素20或24位精度,但是数字系统显示技术通常为8位或10位,从而限制了系统能够处理的数据量。这也意味着ISP之后所整合的任何计算机视觉引擎都将被限制在8到10位精度范围内。在这种情况下,ISP需要在更高的位深度处理HDR数据,然后对其进行压缩并进一步利用。如果动态范围管理不当,阴影中的细节则会丢失。

全新Mali ISP采用Arm的动态范围管理和色调映射技术, 能够帮助用户克服设备限制,并获取经过加强的阴影细节,而完全无需额外修编或调整图像的明亮度。

完整且灵活的解决方案,加快产品上市速度

Mali-C52可针对图像质量和芯片面积这两种不同优化方向进行配置。这种灵活性允许芯片合作伙伴在一系列产品和应用场景中使用相同的IP和软件。Mali-C32则专门针对低功耗、成本敏感的嵌入式视觉设备进行了芯片面积的优化,如入门级门禁或民用业余级无人机。

这两个ISP均为完整解决方案,其中Arm提供硬件IP以及ISP软件驱动程序,包括3A库(自动曝光、自动白平衡、自动对焦)以及校准与调校工具。其功能和优势包括:

  •   更高的ISP图像质量: Iridix技术能够提供适配人类视网膜级别对比度的精确模型,使摄像机能够像人眼一样识别高明暗对比的图像。

  •   ISP每秒可以处理6亿像素,实现更高性能,这项关键功能意味着可以以高端智能手机级别的帧频拍出专业级的摄影质量(如DSLR)。

  •   用于控制ISP、传感器、自动白平衡、自动对焦和自动曝光的完整软件包。另外还提供裸机和Linux (Video4Linux框架-v4L2)软件

  •   灵活的调校:使用一整套调校和校准工具进行客观和主观的调校。还提供专门的调校培训课程,以及针对特定应用场景和传感器的定制调校支持。

1万亿台设备需要敏锐的数字眼

Arm的愿景是赋能一万亿台需要视觉功能的设备。具体来说,要实现一万亿联网设备世界的愿景,需要为其中很多设备提供更敏锐的数字眼来观察和感知周围环境,以便为机器和人类提供可靠的信息来源。这一切都始于实现尽可能高的图像质量,Arm全新推出的Mali ISP正是为此而生。

围观 30

处理器的命名应该包含两类:指令集架构命名规则和处理器系列规则。

ARM 架构是构建每个 ARM 处理器的基础。ARM 架构随着时间的推移不断发展,其中包含的架构功能可满足不断增长的新功能、高性能需求以及新兴市场的需要。

可以先来看一张简图:
详解ARM架构和处理器系列命名规则

可见:架构的命名比较规则从ARMv1到ARMv8,数字越大越先进。x(variants) 分成四个组成部分:

ARMv -- 固定字符,即ARM Version

n -- 指令集版本号。迄今为之,ARM架构版本发布了8个系列,所以n=[1:8]。其中最新的版本是第8版,具体看ARM官方网站。

variants -- 变种。

x(variants)-- 排除x后指定的变种

但是处理器系列的命名就比较混乱了,因此接下来以架构的顺序来介绍ARM的历史:

(1) ARMv1、ARMv2 这两代没有做CPU,没有商业化;

(2)ARMv3 对应的 CPU 是 ARM6,它作为IP核、独立的处理器、具有片上高速缓存、MMU和写缓冲的集成CPU;

(3)ARMv4 首次增加 Thumb 指令集:

有符号和无符号的半字读取和写入指令。
带符号的字节读取和写入指令。

增加了处理器的系统模式(特权模式)。在该模式下,使用的是用户模式下的寄存器。

为结构定义的操作预留一些SWI(软中断指令)空间

ARMv4和ARMv4T结构的处理器得到了广泛的应用。SA-110、SA-1110等是基于ARMv4的;

对应的 CPU 有:ARM7TDMI、ARM720T、 ARM9TDMI、ARM940T、ARM920T、Intel的StrongARM等是基于ARMv4T版本。

(4) ARMv5 包括v5TE和v5TEJ ,v5TE在v5T的基础上增加了信号处理(DSP)指令集,v5TEJ除了具备v5T的功能外,还可以执行JAVA字节 代码,是在ARM上执行JAVA指令的效率提高了5-10倍,并且降低了功耗。

对应的 CPU 有:

ARMv5TE指令集:ARM9-E-S,ARM966-E-S,ARM1020-E,ARM1022-E,ARM940-T

ARMv5EJ指令集:ARM926-EJ-S,ARM7-EJ-S,ARM1026-EJ-S

(5) ARMv6 首次增加 SIMD,升级为 Thunmb-2,首次增加TrustZone;

ARMv6是2001年发布的。其目标是在有效的芯片面积上为嵌入式系统提供更高的性能。

对应 CPU 有:ARM1136-J(F)-S,ARM1156-J(F)-S,ARM1176-J(F)-S,ARM11 MPCore

ARMv6是ARM进化史上的一个重要里程碑:从那时候起,许多突破性的新技术被引进,存储器系统加入了很多的崭新的特性,单指令流多数据流(SIMD)指令也是从v6开始首次引入的。而最前卫的新技术,就是经过优化的Thumb‐2指令集,它专为低成本的单片机及汽车组件市场。

(6)ARMv7 首次增加 M(长乘法指令),NEON(DSP+SIMD),2004年发布了新的ARMv7体系结构。在这个版本中,内核架构首次从单一款式变成3种款式。

CPU 系列名字为“Cortex”,分为了3个款式:A、R、M & SC;

(6.1)A 系列,支持大型嵌入式系统,如手机;

节能:A5,A7

平衡:A8,A9

性能:A15,A17

(6.2)R 系列,Real-time 处理器,即执行一个指令段的耗时是固定时钟周期数,用于高端的嵌入式系统,尤其是那些带有实时要求的--又要快又要实时。

用于比如汽车控制,这种不允许随机执行时间的应用

功能安全:R4,R5

存储、调制解调:R7,R8

(6.3)M 系列,单片机市场,抢8051的生意;

超低的功耗、面积:M0,M0+

平衡:M3,M4,M7

(6.4)SC(SecurCore)系列,主打“安全”,面向支付、政府、SIM 卡

SC000,SC300;

(7)ARMv8 首次增加 指令集A64,可执行64位指令;可在 32位 和 64位 之间切换;是ARM公司为满足新需求而重新设计的一个架构,是近20年来,ARM架构变动最大的一次。它引入的Execution State、Exception Level、Security State等新特性,已经和我们对旧的ARM架构的认知,有很大差距了。

(7.1)A 系列,

节能:A32,A35

平衡:A53,

性能:A57,A72,A73

详解ARM架构和处理器系列命名规则

(7.2)R 系列

功能安全:R52
详解ARM架构和处理器系列命名规则

(7.3)M 系列,

超低的功耗、面积:M23

平衡:M33
详解ARM架构和处理器系列命名规则

本文简单介绍了ARM架构的一些命名规则,希望对大家有帮助。

转自:嵌入式ARM

围观 73

Arm宣布与美的达成战略合作关系,双方将以美的利用ArmMbed OS作为内核打造的自有物联网操作系统SmartOS为开发基础,通过一系列生态系统、标准化和安全性等方面的合作,减少重复开发工作,实现统一、安全、多样化的智能家电系统平台。

目前,物联网市场尚无统一的生态系统,碎片化较为严重。此次Arm与美的的合作将推动智能家电应用的标准化,通过统一应用Mbed技术,并以SmartOS为基础,整合相关芯片与设备,从而实现更为高效的应用与平台开发工作,构建一个统一化、标准化的智能家电系统平台。

Arm Pelion物联网平台还将为美的提供操作系统、云服务、工具和开发人员生态系统等方面的支持。Pelion平台由两套关键产品组成——基于云的安全设备管理服务和针对安全设计物联网端点和节点的设备软件。在安全至上的物联网领域中,Pelion物联网平台可提供从芯片到云的牢固的信赖基础,其搭载的Mbed OS是第一个支持兼容于平台安全架构(PSA ,Platform Security Architecture)、具有可信启动(trusted boot)、储存、以及加密技术的操作系统

PSA是Arm所提出的产业共同框架,为物联网生态系统提供强大、可扩充的安全机制,保护数以亿万计的联网装置。以此为基础,不仅推出首个威胁模型与安全分析(Threat Models and Security Analyses,TSMA)与开放源码参考固件Trusted Firmware-M,近日更推出全新API与API测试套件,持续扩充PSA方案。这都将为企业与消费者带来长远的信任。

此外,美的将从Arm取得众多安全性支持,包括采用PSA标准,并向Arm提供关于PSA的反馈,以提高连接设备抵抗攻击的能力。同时,美的还将支持Arm建立消费类设备的威胁配置文件,从而帮助Arm明确和推出针对高安全性消费类设备的配置文件。

Arm公司副总裁兼物联网设备服务业务总经理Chris Porthouse表示:“我们很荣幸能够与美的在物联网和智能家电领域达成战略合作,这将会是物联网以及智能家电领域里程碑之一。通过此次战略合作,我们能够在Mbed技术产品路线图中更全面地考虑美的等合作伙伴的实际需求,并定期开展技术与商业讨论,界定和执行有利于实现双方企业目标的合作计划。未来,我们还将在人工智能领域开展合作。”

美的物联网技术负责人毕志国表示,"全球有亿万用户正在使用美的家电,无数的智能设备连接在云端。为了进一步推进智能化的升级,希望通过与Arm的合作建立家电领域Smart OS平台,提升产品智能化支撑能力、降低智能应用的开发周期与成本。此外,我们还将在人工智能、市场营销等方面展开一系列合作,共同推动Smart OS在家电领域的应用。"

围观 41

我们做一些操作会有一点麻烦,比方进行一个if then的判断操作。比如要比较a>b,则去调用某个函数,这就要先去比较a,b的值,然后就会跳转,跳转又会比较大小,less than,就是BLLT,然后跳转到loop,我们通过这些来实现if then的操作。循环,先定义一个loop,然后有一些语句跳转到这个语句,然后进行条件判断跳出,然后又进行if then的方式来进行判断。其实这样是很麻烦的。为了方便,引入了相当于宏。c语言里有宏的概念,引入类似于宏的方式,把复杂的有好几天指令进行跳转的完成的小功能级进行新的标签设定,这就是伪指令。

伪指令作用:我们的指令已经可以做各类操作了,但我们操作起来太麻烦了。比如我现在要设置一个值给寄存器R0,但下次我修改了寄存器R0之后又需要读出来刚才的值,那我们就要先临时保存值到SPSR,CPSR,然后不断切换。再比如,我们要做一个循环,就要用label结合BL不断进行,但如果我们要循环很多次。我们就定义了一些类似于带参数的宏的操作一样,来定义我们的伪指令,方便我们更好的实现汇编程序逻辑。伪指令只是在汇编器之前作用,汇编以后翻译为标准的汇编令集。

伪指令的类别伪指令可分为ARM汇编伪指令和GNU汇编伪指令。伪指令又类似于学c语言的时候的预处理,在预处理的时候把它定义于一堆的宏转化为真正的c语言的代码。同样,伪指令是在定义好之后的汇编,汇编的时候会把它翻译成标准指令,也许一条简单的伪指令可以翻译成很多条标准的汇编指令集,所以这就是伪指令最重要的作用。

ARM汇编伪指令是ARM公司的,GNU汇编伪指令是GNU平台的。他们有自己的汇编器,不同的汇编器的解释语法可以设成不同。汇编语言分成两块:标准指令集和非标准指令集。伪指令,我们说了,是类似于宏的东西,是为了简化工作的,所以这种非标准指令集在不同的汇编器下,支持的语法是稍微有点差别的。今天讲解ARM汇编伪指令,在工作中也常常会遇到GNU的。其实都大同小异,无非是GNU的喜欢前面加个点来表示伪指令。操作:这些都是标准指令,这个开始标识,这是一块代码区域,这个不是标准指令,只是告诉我们一个含义,这就是伪指令。同样enter也是伪指令,只是为了标识用的,包括macro,还有这些大家以前没怎么看过的都是伪指令。

ARM汇编伪指令详解

现在再看一下GNU伪指令:这个是一个裸板程序,这个裸板程序是点灯的,是板子上控制灯的程序,而且是混合编程的,有c语言和汇编的。来看一下:这个地方.globl,

ARM汇编伪指令详解

就是一个伪指令,这个得意思其实是跟刚才入口出是蛮像的。.globl是全局访问的区域段。define也是一个伪指令,去定义一些变量。这个loopl跟之前的是一样的,这里是一个伪指令,后面有一个冒号,所以大家只需简单地做一个转换就行了。 这里start的意思就是start为入口函数,相当于代表了enter加start标签。这里globl的含义是export,对外导出。这两种伪指令是有一定的差别的,今天还是学ARM的标准的汇编伪指令,GNU伪指令都是大同小异的。

原文链接:http://www.maiziedu.com/wiki/arm/directive/

围观 97

  •   Arm以引领安全为己任,加速自动驾驶技术在大众市场部署
  •   Arm “安全就绪”(Safety Ready)计划:协助Arm芯片合作伙伴开发车用SoC
  •   分核-锁步(Split-Lock):在应用处理器中首次搭载具有颠覆性的安全创新
  •   针对7纳米制程进行优化,Cortex-A76AE是全球第一款具有集成安全、高性能、领先效率和防护等IP选项的自动驾驶级处理器

2018年9月28日 – Arm宣布推出 “安全就绪”(Arm Safety Ready)计划,及全球首款集成功能安全的自动驾驶级处理器——专为汽车行业设计的全新产品Arm Cortex-A76AE。该处理器搭载分核-锁步(Split-Lock)技术,这也是在应用处理器中首次集成具有颠覆性的安全创新技术。

对于那些明显的技术因素,无论是控制自动驾驶系统的各个方面还是在确保乘客信赖自动驾驶方面,安全都是其中汽车主机厂考量的重中之重。如果消费者无法信任其车辆的自动驾驶系统是安全的,那么这种技术在大众市场的普及将会很缓慢。

自动驾驶要消除的正是人为因素,即驾驶员所犯的错误。考虑到所有事故中有94%是由驾驶员的失误导致,因此预计全自动驾驶将显著减少事故数量和死亡人数。这也是为什么在开发自动驾驶级SoC和系统时,安全绝不可作为发生事故之后的措施,而将其置于次要于性能、能效和防护的位置。然而不幸的是,目前致力于实现L5级的自动驾驶原型车辆通常基于高能耗和代价不菲的数据中心CPU,其中甚至连最基本的功能安全都是缺失的。

多年来,Arm一直将安全放在首位,正因如此,Arm的 IP得以在ADAS(高级驾驶员辅助系统)应用芯片中占据高达65%的市场份额。Arm的汽车生态系统可通过最新的ISO认证获得业界最广泛的功能安全IP。为进一步确保Arm的芯片合作伙伴在安全性方面领先一步,Arm宣布推出Arm“ 安全就绪”计划,该计划集中了Arm在安全领域大量投入的成果,有助于加快Arm芯片合作伙伴和整个汽车供应链的开发进度,从而将更安全的产品以更快的速度推向市场。

Arm在安全领域的领先优势并不止于整合最新的认证和标准。Arm同时推出首款集成功能安全的自动驾驶级处理器——全新产品 Arm Cortex-A76AE,专为汽车行业设计。该芯片搭载 分核-锁步(Split-Lock)技术,是一款具有颠覆性的安全创新,并首次在应用处理器中得以实现。

为更高级别的自动驾驶实现“安全就绪”

“安全就绪”计划中包括Arm现有的安全产品以及全新产品或未来产品,这些产品的开发采用严格的功能安全流程,包括支持ISO 26262和IEC 61508标准的系统流程和开发。“安全就绪”计划提供一站式软件、工具、组件、认证和标准,可为Arm合作伙伴简化并降低整合功能安全的成本。凭借“安全就绪”计划,合作伙伴和汽车主机厂可以确保其SoC和系统具有自动驾驶应用所需的最高级别功能安全。

Cortex-A76AE:全球首款集成功能安全的自动驾驶级处理器

Cortex-A76AE专为汽车行业设计,针对7纳米工艺节点进行了优化,是一款颠覆性的全新处理器。其中AE代表“汽车增强型”,任何带有AE标志的Arm IP都将包含满足车载应用的特定功能。

自动驾驶需要更高层级的处理能力,其中内在的安全性将是标配。Cortex-A76AE作为业界首款具有分核-锁步功能的高性能应用处理器,结合了自动驾驶应用所需的处理性能和高汽车安全完整性。虽然分核-锁步功能对业界而言并不陌生,但Arm率先将其引入专为高性能汽车应用而设计的处理器,例如自动驾驶。

分核-锁步功能可实现以下性能:

  •   具备以往锁步CPU部署中无法实现的灵活性
  •   SoC中的CPU群集可配置成“分核模式”以实现高性能,其中群集中的两个(或四个)独立CPU可用于各种任务和应用程序
  •   若配置成“锁步模式”下,CPU将处于锁步状态,​​在群集中创建一对(或两对)锁步的CPU,以实现更高的汽车安全完整性应用
  •   CPU集群可在硅片生产后配置为在任一模式下混合运行

凭借Arm在高能效计算领域的领导地位,选用Cortex-A76AE的汽车主机厂还可在其原型车辆中设计仅需瓦级而非千瓦级能耗的自动驾驶系统。低能耗还可以实现更加节能地使用车辆电池电量,同时结合热效率提升计算能力的封装,进而延长车辆续航能力以降低行驶成本。

正如Arm一贯的开发思路,从整体系统的角度思考,对Cortex-A76AE进行完善。Arm正向业界推出全新的汽车增强型系统IP,用于设计全面的自动驾驶级SoC。全新CoreLink GIC-600AE、CoreLink MMU-600AE和CoreLink CMN-600AE可提供高性能的中断管理、扩展虚拟化和内存管理等关键功能,以及连接多个CPU集群扩展安全多核系统的功能。这些产品旨在实现高性能系统的同时,又将汽车安全完整性从ASIL-B级别提升至ASIL-D级别,并支持分核-锁步功能和嵌入到Cortex-A76AE设计之中的功能安全系统功能。

唯有Arm汽车生态系统方能提供的可扩展性

随着自动驾驶系统的软件复杂性和运算容量急剧增加,开发成本呈指数级增长态势。根据了解到的背景,预计L5级自动驾驶车辆将需要10亿行代码,相比波音787梦想飞机(Boeing 787 Dreamliner)需要的代码仅为1400万行。Arm与其强大的汽车开发人员生态系统正致力于通过通用架构简化汽车软件堆栈的各个层面及相关开发工具,从而实现成本最优。

Arm的汽车IP路线图

Cortex-A76AE是“汽车增强型”处理器路线图中的第一款产品,它将提供业界最全面的功能安全IP产品组合。全新路线图包括“Helios-AE”和“Hercules-AE”系列,都将针对7纳米制程进行优化。随着这些产品相继推出,更多细节将会随之公布。

自1996年以来,Arm一直为汽车应用设计芯片,目前也只有Arm能够解决整车所有元件的计算需求。正因如此,全球前15大汽车芯片制造商都是Arm的授权厂商,而基于Arm架构的芯片为当今65%的ADAS应用和85%的IVI应用提供驱动。通过为行业提供高安全性、自动驾驶级别的计算解决方案,Arm及其生态系统确保安全性不再是发生事故之后的措施,并帮助汽车主机厂赢得消费者信任,推动安全与全自动驾驶车辆的全面普及。

围观 22

  •  Arm以引领安全为己任,加速自动驾驶技术在大众市场部署
  •  Arm “安全就绪”(Safety Ready)计划:协助Arm芯片合作伙伴开发车用SoC
  •  分核-锁步(Split-Lock):在应用处理器中首次搭载具有颠覆性的安全创新
  •  针对7纳米制程进行优化,Cortex-A76AE是全球第一款具有集成安全、高性能、领先效率和防护等IP选项的自动驾驶级处理器

Arm宣布推出 “安全就绪”(Arm Safety Ready)计划,及全球首款集成功能安全的自动驾驶级处理器——专为汽车行业设计的全新产品Arm Cortex-A76AE。该处理器搭载分核-锁步(Split-Lock)技术,这也是在应用处理器中首次集成具有颠覆性的安全创新技术。

对于那些明显的技术因素,无论是控制自动驾驶系统的各个方面还是在确保乘客信赖自动驾驶方面,安全都是其中汽车主机厂考量的重中之重。如果消费者无法信任其车辆的自动驾驶系统是安全的,那么这种技术在大众市场的普及将会很缓慢。

自动驾驶要消除的正是人为因素,即驾驶员所犯的错误。考虑到所有事故中有94%是由驾驶员的失误导致,因此预计全自动驾驶将显著减少事故数量和死亡人数。这也是为什么在开发自动驾驶级SoC和系统时,安全绝不可作为发生事故之后的措施,而将其置于次要于性能、能效和防护的位置。然而不幸的是,目前致力于实现L5级的自动驾驶原型车辆通常基于高能耗和代价不菲的数据中心CPU,其中甚至连最基本的功能安全都是缺失的。

多年来,Arm一直将安全放在首位,正因如此,Arm的 IP得以在ADAS(高级驾驶员辅助系统)应用芯片中占据高达65%的市场份额。Arm的汽车生态系统可通过最新的ISO认证获得业界最广泛的功能安全IP。为进一步确保Arm的芯片合作伙伴在安全性方面领先一步,Arm宣布推出Arm“安全就绪”计划,该计划集中了Arm在安全领域大量投入的成果,有助于加快Arm芯片合作伙伴和整个汽车供应链的开发进度,从而将更安全的产品以更快的速度推向市场。

Arm在安全领域的领先优势并不止于整合最新的认证和标准。Arm同时推出首款集成功能安全的自动驾驶级处理器——全新产品Arm Cortex-A76AE,专为汽车行业设计。该芯片搭载分核-锁步(Split-Lock)技术,是一款具有颠覆性的安全创新,并首次在应用处理器中得以实现。

为更高级别的自动驾驶实现“安全就绪”

“安全就绪”计划中包括Arm现有的安全产品以及全新产品或未来产品,这些产品的开发采用严格的功能安全流程,包括支持ISO 26262和IEC 61508标准的系统流程和开发。“安全就绪”计划提供一站式软件、工具、组件、认证和标准,可为Arm合作伙伴简化并降低整合功能安全的成本。凭借“安全就绪”计划,合作伙伴和汽车主机厂可以确保其SoC和系统具有自动驾驶应用所需的最高级别功能安全。

Cortex-A76AE:全球首款集成功能安全的自动驾驶级处理器

Cortex-A76AE专为汽车行业设计,针对7纳米工艺节点进行了优化,是一款颠覆性的全新处理器。其中AE代表“汽车增强型”,任何带有AE标志的Arm IP都将包含满足车载应用的特定功能。

自动驾驶需要更高层级的处理能力,其中内在的安全性将是标配。Cortex-A76AE作为业界首款具有分核-锁步功能的高性能应用处理器,结合了自动驾驶应用所需的处理性能和高汽车安全完整性。虽然分核-锁步功能对业界而言并不陌生,但Arm率先将其引入专为高性能汽车应用而设计的处理器,例如自动驾驶。

分核-锁步功能可实现以下性能:

  •  具备以往锁步CPU部署中无法实现的灵活性

  •  SoC中的CPU群集可配置成“分核模式”以实现高性能,其中群集中的两个(或四个)独立CPU可用于各种任务和应用程序

  •  若配置成“锁步模式”下,CPU将处于锁步状态,​​在群集中创建一对(或两对)锁步的CPU,以实现更高的汽车安全完整性应用

  •  CPU集群可在硅片生产后配置为在任一模式下混合运行

凭借Arm在高能效计算领域的领导地位,选用Cortex-A76AE的汽车主机厂还可在其原型车辆中设计仅需瓦级而非千瓦级能耗的自动驾驶系统。低能耗还可以实现更加节能地使用车辆电池电量,同时结合热效率提升计算能力的封装,进而延长车辆续航能力以降低行驶成本。

正如Arm一贯的开发思路,从整体系统的角度思考,对Cortex-A76AE进行完善。Arm正向业界推出全新的汽车增强型系统IP,用于设计全面的自动驾驶级SoC。全新CoreLink GIC-600AE、CoreLink MMU-600AE和CoreLink CMN-600AE可提供高性能的中断管理、扩展虚拟化和内存管理等关键功能,以及连接多个CPU集群扩展安全多核系统的功能。这些产品旨在实现高性能系统的同时,又将汽车安全完整性从ASIL-B级别提升至ASIL-D级别,并支持分核-锁步功能和嵌入到Cortex-A76AE设计之中的功能安全系统功能。

唯有Arm汽车生态系统方能提供的可扩展性

随着自动驾驶系统的软件复杂性和运算容量急剧增加,开发成本呈指数级增长态势。根据了解到的背景,预计L5级自动驾驶车辆将需要10亿行代码,相比波音787梦想飞机(Boeing 787 Dreamliner)需要的代码仅为1400万行。Arm与其强大的汽车开发人员生态系统正致力于通过通用架构简化汽车软件堆栈的各个层面及相关开发工具,从而实现成本最优。

Arm的汽车IP路线图

Cortex-A76AE是“汽车增强型”处理器路线图中的第一款产品,它将提供业界最全面的功能安全IP产品组合。全新路线图包括“Helios-AE”和“Hercules-AE”系列,都将针对7纳米制程进行优化。随着这些产品相继推出,更多细节将会随之公布。

自1996年以来,Arm一直为汽车应用设计芯片,目前也只有Arm能够解决整车所有元件的计算需求。正因如此,全球前15大汽车芯片制造商都是Arm的授权厂商,而基于Arm架构的芯片为当今65%的ADAS应用和85%的IVI应用提供驱动。通过为行业提供高安全性、自动驾驶级别的计算解决方案,Arm及其生态系统确保安全性不再是发生事故之后的措施,并帮助汽车主机厂赢得消费者信任,推动安全与全自动驾驶车辆的全面普及。

围观 93

据IC Insights市场研究报告统计,受物联网、汽车电子、人工智能等行业应用带动,微控制器(MCU)销售规模预计将从2016年的166亿美元上升至2020年的209亿美元,年均增长率为5.5%。Arm嵌入式与汽车事业部市场营销高级总监Rhonda Dirvin日前接受了《电子工程专辑》的采访,不但畅谈了Arm在人工智能、先进工艺、异构处理方面的最新进展,也对与RISC-V架构的竞争做出了回应。

MCU喜迎AI新机遇,但先进工艺恐成“拦路虎”?看看Arm怎么说
Arm嵌入式与汽车事业部市场营销高级总监Rhonda Dirvin

电子工程专辑:自2017年以来,包括MCU在内的很多电子元器件、分立器件都传出缺货消息。您对2018年MCU市场需求状况是如何看待的?MCU价格走势是否会发生较大变化?

Rhonda Dirvin:据ICInsights预测,2018年全球电子系统市场将增长5%,至16220亿美元,而今年全球半导体市场预计将飙升14%,至5091亿美元,首次超过5000亿美元的水平。如果2018年的预测实现,每个电子系统中的半导体产品平均占比将达到31.4%,打破2017年创下的28.8%的历史记录。

Arm预计MCU市场在未来十年将会有巨大增长,尤其是在物联网的推动下。然而,其中许多芯片的成本将非常低,而这将不可避免地导致芯片的平均价格下降。

为了帮助芯片创新企业降低初期财务支出、风险并加快上市时间,Arm DesignStart提供了一条无需预付授权费即可获取嵌入式IP的途径。对于那些希望快速生产定制SoC的团队来说,这是一个理想的起点,因为它包括CPU和系统IP、免费的软件工具试用版,以及可获取广泛的Arm生态系统和知识库资源。

我们看到越来越多的Cortex-A处理器被应用于深度嵌入式应用程序,如果将这些Cortex-A设备视为MCU类,可能会增加MCU的平均价格。

电子工程专辑:人工智能、智能制造、自动驾驶是当前最为热门的应用领域,MCU在其中扮演着怎样的角色?

Rhonda Dirvin:工业自动化、机器人和自动驾驶汽车无疑为更加智能的微控制器提供了契机。AI芯片如果想取代传统芯片,需要具备更强的能力。例如,电机控制器可带有附加传感器来检测振动或噪声,以收集正在运行的电机的信息,然后使用机器学习算法进行电机的自动调节,提高电机运行效率。

目前来看,这些新兴应用尚处于起步阶段,规模并不大。但是,AI功能可以集成到每个MCU中。人工智能的一个子集是机器学习(ML),机器学习技术正被广泛应用于所有市场。有一个明显的趋势是,机器学习推理向“边缘”移动,甚至向最小的嵌入式设备移动,有时也被称为“远边缘”。用于Cortex-M CPU的CMSIS-NN软件库在M级设备上提供了优化的机器学习性能。这使得在“永久在线”的使用情况下,能够高效地执行机器学习应用程序,例如关键词检索和图像对象检测。

而自动驾驶需要不同类型的处理过程。某些部件需要确定性的实时响应和最高水平的系统性功能,以实现功能安全,基于Cortex-R和Cortex-M的部件可以提供这种功能组合;在一些解决方案中需要有不同安全级别的相关软件,Arm不仅提供了经过认证的工具链,许多实时操作系统也经过了认证,比如已经发布的Compiler 6和Keil RTX安全认证版本,以及平台安全架构(PSA),通过提供安全的基本构建模块,包括可信固件和示例案例分析,让安全实施变得更容易。

电子工程专辑:Arm如何将自己无可比拟的低功耗技术优势与人工智能应用相结合?

Rhonda Dirvin:AI本身也是可以节能的。例如,电机控制器可以通过附加传感器检测振动或噪声,以收集正在运行的电机的信息,然后使用机器学习算法进行电机的自动调节,提高电机运行效率。电机节省的功耗将比处理器使用的功耗大许多倍。

为了降低处理器消耗的功率,Arm拥有多种不同性能的处理器。一些用于低成本微控制器的Arm嵌入式处理器具有附加功能,用来加速机器学习算法中使用的数学函数,这可以减少其它芯片的面积和功耗。

大多数MCU都是使用较旧的节点工艺(55nm甚至更大)制造的,在这种情况下静态功耗基本不是问题。但当走向更小节点时,静态功耗就变成一个越发重要的因素。Arm的处理器与物理IP配合使用,可降低动态和静态功耗,这包括关闭当前未运行的功能块和降低电压,从而降低运行处理器所需的功耗。Arm为其Cortex-M微处理器及其神经网络处理器分别引入了优化的物理IP库,分别为POP和机器学习POP。

我们也确实看到许多领先的MCU厂商正在向更小节点演进(如40纳米)。例如,目前基于40纳米的NXP iMX RT处理器包含一个运行速度高达600MHz的Arm Cortex - M7处理器;瑞萨(Renesas)在其协同微控制器中使用40纳米工艺,而意法半导体(ST)在其近期发布的基于Cortex-M的STM32芯片中同时使用40纳米和90纳米工艺;SoC供应商RDA在其基于Cortex-M4的Wi-Fi SoC中采用了40纳米工艺。因为嵌入式闪存可用性仍然是许多MCU供应商的关键要求之一,所以要采用超过40纳米的工艺可能更具挑战性。

电子工程专辑:在MCU市场,同构和异构多核技术正成为主要趋势,您对其未来的发展有何看法?

Rhonda Dirvin:考虑MCU+MCU组合也很重要——例如,恩智浦和意法半导体都提供许多基于Cortex-M的微控制器产品,它们可以跟不同的Cortex-M处理器在非对称多处理(AMP)安排下协同工作。当然,在某些情况下,MCU+DSP、DSP+FPGA或MCU+FPGA是行得通的。但是由于在学习不同类型的技术知识以及使不同的内核能够有效地协同工作方面的挑战,采用这些组合可能收效缓慢或是有限。当然也有成功的案例——例如,赛灵思Zynq系列和Intel(Altera) Arria系列都提供基于Cortex-A处理器的部件,而Arm也在与各种供应商合作,为异构多处理领域提供新的创新解决方案。

在信号处理方面,Arm提供带有可选DSP指令集的MCU处理器解决方案,提供一体化控制和数据处理解决方案。嵌入式工程师可以非常方便地使用Arm Cortex-M处理器设计信号处理功能,节省开发时间、精力和芯片面积。此外,这也意味着工程师可以获得对广泛的Cortex-M生态系统、Arm软件库和合作伙伴软件编解码器的访问权限,为涉及传感器融合、语音和音频交互等技术的应用程序创造新机遇。

电子工程专辑:RISC-V架构最近的发展势头看上去不错,Arm是否感受到了压力?

Rhonda Dirvin:一直以来都存在相互竞争的架构,尤其是在MCU市场,RISC-V也不例外。Arm多年来已经证明,我们拥有得到广泛生态系统支持的一流技术。Arm的IP产品超越了CPU,还提供安全的、系统级的解决方案、软件和开发工具,以及广泛的第三方生态系统。Arm也有不同的授权模式来支持广泛的客户。中国客户特别感兴趣的是DesignStart计划,该计划提供免预付授权金的Arm IP。在过去12个月中,在300家DesignStart Pro项目授权厂商中,有40%来自中国,这使得很多初创公司能够设计生产定制化芯片。我相信由于Arm的持续投资并提供我们的合作伙伴和行业所需的解决方案,Arm将继续在MCU市场及其他领域取得成功。

电子工程专辑:您认为中国MCU企业这两年发展情况怎么样?如何看待中国MCU未来的发展?

Rhonda Dirvin:从全球来看,8/16位MCU约占总销售额的40%,32位MCU占60%。Arm是目前32位MCU的市场领导者,我们估计占有超过80%的市场份额。在中国市场,目前Arm在中国的授权客户数量已超过150家,中国半导体公司共累计出货了140亿颗基于Arm的芯片,中国公司制造的复杂SoC中约95%是基于Arm架构的。

中国本土的MCU供应商正在不断成长。他们与OEM厂商有着密切的关系,这样OEM厂商才能帮助他们针对最相关的终端应用产品来更好地定制芯片,同时进一步改进他们的MCU产品,以便在全球范围内竞争。一个很好的例子是兆易创新(Gigadevice),他们已经出货了超过2亿颗GD32 MCU,这是Arm帮助中国MCU合作伙伴实现双赢的一个很好的例子。他们选择了Cortex-M处理器,从而在Arm广泛的生态系统中获得了广泛的选择和灵活性。

此外,在日常产品中引入智能化的需求推动了对智能传感器和智能模拟SoC的需求,这种需求推动了定制化芯片的扩张并带来了许多好处,比如降低了组件成本、增加了功能和产品差异化。

为了推动芯片领域的创新,Arm还推出了Arm DesignStart项目,努力以最快、最简单、最低风险的方式来评估定制化芯片并将其商业化。它包括两个最受欢迎的嵌入式处理器(Cortex-M0和Cortex-M3)及其相应的系统IP,以及软件工具试用版、专家支持和丰富的资源,所有这些都无需预付授权费。

本文来源:电子工程专辑
作者:邵乐峰

围观 87

芯片的加密,保证了芯片内部信息的安全性。有工程师会问:芯片加密后别人还能解密吗?这芯片安全吗?本文将为大家介绍几种不同类型芯片的加密方式。

随着信息技术的发展,信息的载体——芯片的使用也越来越多了,随之而来的是各个芯片厂商对芯片保密性要求越来越高,用芯片加密的方式来确保芯片内部信息的安全性。其实芯片的安全加密问题与芯片的类型有关,不同类型的芯片加密后有不一样的效果。

市面上现有的芯片种类很多,主要包括Flash,MCU,ARM,DSP,CPLD等。

一、Flash类芯片加密

Flash类芯片包含SPI Nor FLASH ,并行Nor FLASH,NAND FLASH,EMMC等,这些Flash类的芯片都没有非常牢固的加密功能,对code区进行加密后,只能进行写保护,如果有人想复制你的代码,只要读取母片即可,所以这类芯片安全性较低。

你的芯片够安全吗?

将上图所示的信息设置好写入芯片后,对应的区域即进入保护状态,不能编程,擦除,只能通过清空加密寄存器中的信息,才能从新对芯片进行擦除,编程操作。

二、MCU,ARM类芯片加密

经常会有人就MCU加密保护后能否二次使用的问题进行咨询。对于加密后的芯片能不能二次使用这个问题,得具体看是哪个类型的芯片,类似于TI 的MSP430系列芯片加密后即不可进行二次使用,这个加密为OTP(One Time Programmable)型,只能进行一次烧录。其原理是通过高压烧断熔丝,使外部设备再也无法访问芯片,这个是物理性,不可恢复,如要加密,请慎用!

但对于大部分ARM芯片来说,加密后芯片还是可以进行二次使用的。类似于NXP ARM类型芯片有3级可选的加密,即Level 1,Level 2,Level 3。其中Level 1 就是不做读保护级别,即可以读出芯片中的数据,但不能对芯片进行编程,擦除操作。如果芯片被设置为Level 2保护,这种状态下,不能读取芯片内的程序代码内容,也不能对芯片再次做存储空间的擦写或芯片调试了。而Level 3级别的保护是不可逆的,保护后即不能进行其他操作。综上,3个级别当中的Level 1和Level 2加密后还是可以通过解密的方式对芯片进行第二次操作,这种加密等级设置是比较人性化的。下图为P800系列编程器加密设置操作界面。

你的芯片够安全吗?

三、DSP类芯片加密

该类型的芯片加密形式是通过在特定的区域写入客户的密码进行加密。这种加密是可逆的,可以通过输入对的密码进行任何操作。但是有一种方式是不可逆的,即密码为全“0”。其P800系列编程器加密设置窗口如下。

你的芯片够安全吗?

四、CPLD、FPGA类芯片加密

这类芯片加密后一般都可以通过擦除方式进行解密,不能对加密的芯片进行读取操作,这种加密对芯片来说还是比较安全的。

以上便是几种常见类型芯片的加密方式以及加密后的效果,用户可以根据芯片类型选择对应的加密方式,最大程度确保芯片内部信息的安全。

你的芯片够安全吗?

转自:ZLG致远电子 研发部

围观 21

页面

订阅 RSS - ARM