新闻资讯
【方辉专栏】ARM64体系结构编程与实践学习笔记(二) Armv8寄存器
2022-07-20
摘要: 本文主要介绍了Armv8寄存器都有哪些。关键字:ARM64、Armv8、体系结构、ARM架构、通用寄存器、特殊寄存器 1. 通用寄存器AArch64 执行状态支持31个64位的通用寄存器,分别是X0-X30;如果使用Xn(如X0,X1,X2...)表示64位寄存器,如果使用Wn(如W0,W1,W2...)表示Xn寄存器的低32位数据。AArch32 执行状态支持16个32位的通用寄存器。通用寄存器在函数调用过程中起到特殊作用。在ARM64体系结构的过程调用标准(Procedure Call Standard,PCS)中进行了规定。PCS 定义哪些寄存器可以被破坏,哪些寄存器不能被破坏。如果寄存器可能损坏,则调用的函数可以覆盖而无需恢复,具体规则如下表所示:例如一个函数foo(),被main()调用函数foo()可以使用的寄存器,且不需要保存的寄存器是X0-X15,但如果foo()要使用X19-X28必须先将其保存到堆栈中,然后在返回之前从堆栈中恢复。XR(X8)寄存器,是一个间接结果寄存器。如果返回一个结构体,那么foo()中结构体的内存将又调用者分配,指向调用者分配的用于返回结构体的内存指针。IP0-IP1这些寄存器是过程调用中可以被破坏的寄存器,这些寄存器在函数被调用和执行调用函数第一条指令之间这段时间被破坏。链接器使用这些寄存器在调用者和被调用者之间插入胶合代码。最常见使用胶合代码的例子是A64的分支指令如果目标超出范围,则链接器需要生成一个胶合代码来扩展分支的范围。FP(X29)帧指针。LR(X30)函数调用链接寄存器。1. 处理器状态AArch64体系结构使用PSTAE(Processor state)寄存器来表示当前处理器状态。2.1数据处理标志位N:负数标志位,一个二进制补码,结果为负数则N=1;否则N=0;Z:零标志位,如果结果为零,则Z=1;否则Z=0;C:进位标志位,如果结果有进位,则C=1;否则C=0;V:溢出标志位,如果结果有溢出,则V=1;否则V=0;2.2异常掩码标志位D:调试异常掩码位。A:系统错误屏蔽位。I:IRQ屏蔽位。 F:FIQ屏蔽位。以上标志位,当为0是表示不屏蔽这个异常,当为1时表示屏蔽这个异常。2.3运行状态SS:软件单步。该位为1,表示在异常处理时使能了软件单步功能。IL:非法执行状态位。EL:当前异常等级。0:表示EL0;1:表示EL1;2:表示EL2;3:表示EL3;nRW:当前执行状态。0:表示AArch64;1:表示AArch32;SP:堆栈指针选择寄存器。0:表示选择SP0;1:表示SPx;2. 特殊寄存器3.1 零寄存器零寄存器顾名思义,这些寄存器的内容全是0,可以用做源寄存器,也可以用作目标寄存器。WZR是32位的零寄存器,XZR是64位的零寄存器。3.2 PC(Program Counter)程序指针寄存器PC指针寄存器通常用来指向当前运行指令的下一条指令的地址,用于控制程序中指令的运行顺序,但编程人员不能通过指令来直接访问。3.3 SP(Stack Pointer)堆栈指针寄存器Armv8体系结构支持4个异常等级,每个等级都有一个专门的SP寄存器SP_ELn.SP_EL0: EL0 下的栈指针寄存器SP_EL1: EL1 下的栈指针寄存器SP_EL2: EL2 下的栈指针寄存器SP_EL3: EL3 下的栈指针寄存器3.4 SPSR(Saved Program Status Register)备份程序状态寄存器当我们运行一个异常处理程序时,处理器会把PSTATE寄存器的值暂时保存在备份程序状态寄存器(SPSR)里,当异常处理完成并返回时,再把SPSR的值恢复到PSTATE寄存器。3.5 ELR(Exception Link Register)异常链接寄存器ELR用于存放异常返回地址。3. 系统寄存器系统寄存器用于配置处理器和控制系统,例如MMU和异常处理。数据处理或加载/存储指令不能直接使用系统寄存器。需要将系统寄存器的内容读入X寄存器,对其进行操作,然后再写回系统寄存器。+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++关于亿道电子亿道电子技术有限公司(英文名称:Emdoor Electronics Technology Co.,Ltd)是国内资深的研发工具软件提供商,公司成立于 2002 年,面向中国广大的制造业客户提供研发、设计、管理过程中使用的各种软件开发工具,致力于帮助客户提高研发管理效率、缩短产品设计周期,提升产品可靠性。20 年来,先后与 Altium、ARM、Ansys、QT、Adobe、Visu-IT、Minitab、Testplant、EPLAN、HighTec、GreenHills、PLS、Ashling、MSC Software 、Autodesk、Source Insight、TeamEDA、MicroFocus等多家全球知名公司建立战略合作伙伴关系,并作为他们在中国区的主要分销合作伙伴服务了数千家中国本土客户,为客户提供从芯片级开发工具、EDA 设计工具、软件编译以及测试工具、结构设计工具、仿真工具、电气设计工具、以及嵌入式 GUI 工具等等。亿道电子凭借多年的经验积累,真正的帮助客户实现了让研发更简单、更可靠、更高效的目标。欢迎关注“亿道电子”公众号了解更多研发工具软件知识
查看更多→
【方辉专栏】ARM64体系结构编程与实践学习笔记(一)ARM64体系结构基础知识
2022-07-19
摘要: 本文主要介绍了ARM64(Armv8)体系结构的基本概念。关键字:ARM64、Armv8、体系结构、ARM架构、指令集、数据宽度 1. ARM体系结构是什么?ARM体系结构,又称ARM架构,是一种硬件规范。主要用来约定指令集、芯片内部体系结构(如内存管理、高速缓存管理)等。ARM指令集在结构体系中并没有约定每一条指令在硬件描述语言(VHDL或Verilog HDL)中如何实现,而只约定了每条指令的格式、行为规范、参数等。ARM体系结构从v1版本发展到v9版本,每个版本的体系结构,指令集都有相应的变化。2. Armv8-A体系结构的基本概念2.1处理机(Processing Element ,PE):处理事务的过程抽象为处理机。2.2执行状态(Execution State):处理器运行时的环境,包括寄存器的位宽、支持的指令集、异常模型、内存管理以及编程模型等。Armv8体系结构定义了AArch64和AArch32两个执行状态。2.2.1  AArch64为64位执行状态提供31个64位的通用寄存器提供64位的程序计数指针寄存器(PC)、栈指针寄存器(SP)、异常链接寄存器(ELR).提供A64指令集提供64位的内存模型定义Armv8异常模型,支持EL0-EL3共4个异常等级。定义一组处理器状态(PSTATE)用来保存处理机(PE)的状态。2.2.2  AArch32为32位执行状态提供13个32位的通用寄存器提供32位的程序计数指针寄存器(PC)、栈指针寄存器(SP)、链接寄存器(LR).提供A32指令集和T32(Thumb)指令集。提供32位的虚拟内存访问机制。定义Armv8异常模型,支持EL0-EL3共4个异常等级。定义一组处理器状态(PSTATE)用来保存处理机(PE)的状态。2.3 Armv8指令集Arm 体系结构根据不同的执行状态会有三种指令集。A64指令集,运行在AArch64状态下,提供64位指令集支持。A32指令集,运行在AArch32状态下,提供32位指令集支持。T32指令集,运行在AArch32状态下,提供Thumb 16位和32位指令集支持。2.4 系统寄存器命令在AArch64状态下,一些系统寄存器会根据不同的异常等级提供不同的变种寄存器。例如:SP_EL0表示在EL0下的SP寄存器,SP_EL1表示在EL1下的SP寄存器。3. AArch64异常等级ARMv8-A架构定义了一组异常级别(Exception Level,EL),从EL0到EL3,其中: 如果ELn为异常级别,n的值越大表示软件执行权限越高。 如上图所示,EL0提供用于普通用户的应用。EL1提供操作系统相关的支持。 EL2提供对非安全操作的虚拟化支持。 EL3提供了两个安全状态之间切换的支持,安全状态和非安全状态。 一个程序可能不包括所有的异常级别,但必须包括EL0和EL1,至于EL2、EL3可选。4. ARMv8支持的数据宽度ARMv8支持如下几种数据宽度:字节:8位半字:16位字 :32位双字:64位四字:128位+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++关于亿道电子亿道电子技术有限公司(英文名称:Emdoor Electronics Technology Co.,Ltd)是国内资深的研发工具软件提供商,公司成立于 2002 年,面向中国广大的制造业客户提供研发、设计、管理过程中使用的各种软件开发工具,致力于帮助客户提高研发管理效率、缩短产品设计周期,提升产品可靠性。20 年来,先后与 Altium、ARM、Ansys、QT、Adobe、Visu-IT、Minitab、Testplant、EPLAN、HighTec、GreenHills、PLS、Ashling、MSC Software 、Autodesk、Source Insight、TeamEDA、MicroFocus等多家全球知名公司建立战略合作伙伴关系,并作为他们在中国区的主要分销合作伙伴服务了数千家中国本土客户,为客户提供从芯片级开发工具、EDA 设计工具、软件编译以及测试工具、结构设计工具、仿真工具、电气设计工具、以及嵌入式 GUI 工具等等。亿道电子凭借多年的经验积累,真正的帮助客户实现了让研发更简单、更可靠、更高效的目标。欢迎关注“亿道电子”公众号了解更多研发工具软件知识
查看更多→
HighTec 编译器支持NXP最新S32ZS32E系列实时处理器
2022-07-19
01 HighTec公司扩展了对新的NXP S32系列汽车平台MCU的工具支持,以帮助客户建立安全和可靠的应用 2022年6月30日,作为始终走在为最新处理器提供编译工具最前沿的HighTec正式宣布其C/C++编译器套件支持NXP最新发布的S32Z和S32E家族系列实时处理器。恩智浦半导体推出的两个新处理器系列,利用安全的高性能实时处理能力,继续扩展了恩智浦S32创新汽车平台的优势。S32Z和S32E处理器系列帮助汽车行业加快集成多种实时应用,可助力实现域控制、区域控制、安全处理和电气化,这些功能对于打造下一代安全高效的汽车至关重要。HighTec ARM编译器经过了ISO 26262 ASIL-D功能安全评估认证,支持基于C++14标准的AUTOSAR Adaptive平台,可以为安全相关应用生成最优化的目标代码。作为NXP长期的合作伙伴,HighTec支持S32系列汽车平台处理器,为最新的架构提供了久经考验的先进编译技术。( 图片来源: NXP® Semiconductors )恩智浦S32Z和S32E处理器的功能比现有汽车微控制器更全面。新型处理器系列拥有8个带可分锁步支持特性的Arm Cortex-R52处理器内核以及Cortex-M33内核,工作频率高达1GHz,可应对安全集成确定性高性能实时应用的挑战。通过“内核到引脚”硬件虚拟化和资源防火墙,处理器对独立的实时应用进行隔离,确保免受干扰。S32Z和S32E处理器支持最新的GTM4.1,提供高达64MB的集成Flash存储器,以实现零停机时间的大规模无线远程 (OTA) 升级,并且对于大型应用和AUTOSAR自适应应用,支持LPDDR4 DRAM和就地执行 (XiP) 模式的Flash扩展存储器。S32Z和S32E处理器的开发遵循ISO/SAE 21434网络安全认证以及ISO 26262 ASIL D功能安全认证。硬件安全引擎 (HSE) 支持安全启动、加速安全服务和密钥管理。02 HighTecC/C++编译器基于创新的LLVM开源技术,涵盖了ARM架构的Cortex-A,Cortex-R以及Cortex-M全部架构ARM编译器支持Cortex-R52和Cortex-M3内核处理器,经过功能安全认证的标准库可以满足功能安全最高等级ASIL-D。此外,HighTec提供了一个独立的支持C语言编程的最新4.1版本GTM/MCS编译器。该套件还支持AUTOSAR自适应平台,并包括了编译器安全扩展。HighTec提供了一系列的技术培训课程,如AUTOSAR使用及NXP的MCAL技术支持等。“未来的汽车,由电气化和自动驾驶驱动,需要有高性能处理器支撑的安全方案,”NXP汽车处理业务线软件经理Simona-Sorina Costinescu说,“最新的NXP S32Z和S32E系列实时处理器提供了解决以上需求的理想方案,HighTecC/C++编译器在利用全平台高性能的同时,可以大大促进安全软件的开发。”03 在与半导体合作伙伴的密切合作下,HighTec一直在为NXP的所有S32汽车平台产品提供早期工具支持: S32G车辆网络处理器,用于面向服务网关的高性能、安全网关、域控制器、区域处理器、车辆计算机和安全处理器;S32R雷达处理器,用于高性能、安全、可靠的雷达处理,可用于高性能角雷达和长距离前向雷达;S32K用于汽车和工业应用的通用微控制器(mcu),需要满足ASIL-B/D功能安全需求。04 HighTecC/C++编译器可以作为HighTec IDE中的一个独立工具使用,也可以在NXP的S32 Design Studio直接调用和使用LHighTec EDV-Systeme公司首席技术官Mario Cupelli表示:“我们为与NXP的长期合作感到非常自豪,HighTec很高兴能够从一开始就为最新的NXP S32处理器提供全面的工具支持。”通过安全认证的编译器套件,为NXP的用户加速开发周期和汽车产品快速推向市场提供了竞争优势。”(文章来源公众号:HighTec CN)+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++关于亿道电子亿道电子技术有限公司(英文名称:Emdoor Electronics Technology Co.,Ltd)是国内资深的研发工具软件提供商,公司成立于 2002 年,面向中国广大的制造业客户提供研发、设计、管理过程中使用的各种软件开发工具,致力于帮助客户提高研发管理效率、缩短产品设计周期,提升产品可靠性。20 年来,先后与 Altium、ARM、Ansys、QT、Adobe、Visu-IT、Minitab、Testplant、EPLAN、HighTec、GreenHills、PLS、Ashling、MSC Software 、Autodesk、Source Insight、TeamEDA、MicroFocus等多家全球知名公司建立战略合作伙伴关系,并作为他们在中国区的主要分销合作伙伴服务了数千家中国本土客户,为客户提供从芯片级开发工具、EDA 设计工具、软件编译以及测试工具、结构设计工具、仿真工具、电气设计工具、以及嵌入式 GUI 工具等等。亿道电子凭借多年的经验积累,真正的帮助客户实现了让研发更简单、更可靠、更高效的目标。欢迎关注“亿道电子”公众号了解更多研发工具软件知识
查看更多→
三星采用Ansys仿真产品创建半导体设计,优化高速连接
2022-07-18
三星将采用Ansys电磁仿真工具套件,依托最先进的工艺技术开展含5G/6G在内的尖端设计主要亮点Ansys仿真解决方案向三星开发人员提供综合全面的电磁感知设计流程,在提高生产力的同时降低设计风险三星设计人员将受益于Ansys提供的先进功能、速度和集成能力,将电磁设计周期缩短10倍,从而加快产品上市进程Ansys推出的自动反标等领先业界的设计功能,将通过速度更快、预测能力更强的准确计算与建模,优化三星的片上设计三星Foundry将采用Ansys业界领先的电磁(EM)仿真工具,依托最先进的芯片、节点和工艺技术开展含5G/6G在内的超现代设计。Ansys仿真解决方案,将向三星最先进的半导体技术提供综合全面并且功能、速度和集成能力均有所提升的电磁感知设计流程,缩短片上设计周期,优化高速连接,同时助力减少设计错误并降低设计风险。三星设计人员将运用Ansys的电磁设计工具,包括Ansys RaptorX、Ansys VeloceRF和Ansys Exalto,助力将小型设计的上市时间缩短2-3周,将复杂设计的上市时间缩短2个月。凭借可优化计算与建模的自动化功能,以及更高容量,Ansys软件将帮助三星团队以更高的保真度更快速地完成设计。三星采用Ansys仿真产品创建半导体设计,优化高速连接三星电子代工设计技术团队副总裁Sangyun Kim表示:“电子系统和工艺技术在不断发展,因此行业需要先进的电磁设计功能。我们认为Ansys仿真解决方案能帮助应对这方面的挑战,该解决方案既能够精准地满足设计需求,同时又能缩短设计时间、降低成本与风险。”通过集成Ansys电磁解决方案,三星设计人员可在很短的时间内,将复杂片上场景建模,包含具有几百万金属片的虚拟块(dummy tiles)。此外,Ansys的近乎实时建模功能还可确保设计免受电磁干扰,这有助于大幅降低芯片故障风险。Ansys副总裁兼半导体、电子和光学事业部总经理John Lee指出:“伴随全球连接需求的增长,以及技术的进步,电磁已成为芯片设计人员面临的首要挑战。在Ansys,我们可以确保我们的仿真解决方案不仅能满足这些不断增长的需求,而且还能始终保持技术领先。我们深信,Ansys电磁设计产品可以为三星团队妥善配备所需的工具,助力他们优化片上设计。”在提供先进解决方案方面,Ansys与三星已有悠久的合作历史,包括合作开发用于低功耗移动和高性能计算应用的电源完整性和电迁移签核解决方案等。(文章来源公众号:Ansys)+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++关于亿道电子亿道电子技术有限公司(英文名称:Emdoor Electronics Technology Co.,Ltd)是国内资深的研发工具软件提供商,公司成立于 2002 年,面向中国广大的制造业客户提供研发、设计、管理过程中使用的各种软件开发工具,致力于帮助客户提高研发管理效率、缩短产品设计周期,提升产品可靠性。20 年来,先后与 Altium、ARM、Ansys、QT、Adobe、Visu-IT、Minitab、Testplant、EPLAN、HighTec、GreenHills、PLS、Ashling、MSC Software 、Autodesk、Source Insight、TeamEDA、MicroFocus等多家全球知名公司建立战略合作伙伴关系,并作为他们在中国区的主要分销合作伙伴服务了数千家中国本土客户,为客户提供从芯片级开发工具、EDA 设计工具、软件编译以及测试工具、结构设计工具、仿真工具、电气设计工具、以及嵌入式 GUI 工具等等。亿道电子凭借多年的经验积累,真正的帮助客户实现了让研发更简单、更可靠、更高效的目标。欢迎关注“亿道电子”公众号了解更多研发工具软件知识
查看更多→
Qt完成芯驰最新车规级芯片适配,助力车载HMI创新加速
2022-07-14
中国上海,2022年7月13日 —— 全球软件技术供应商Qt公司与中国车规芯片企业芯驰科技共同宣布,Qt完成对芯驰智能座舱芯片X9系列和车规MCU E3系列的适配,为客户提供能在复杂HMI项目上实现无缝、同步协作的设计、开发、测试和部署工具,加快车载HMI的创新速度。Qt与芯驰科技于2020年开始在车载仪表方案领域进行合作,并共同完成了基于芯驰科技智能座舱芯片X9H的Linux+Qt仪表demo的开发,涉及多个主题、2D/3D混合渲染、2.5D效果实现、多引擎同时渲染、跨平台代码复用等,可以满足不同用户基于不同应用场景和产品线的多样渲染需求。2022年4月芯驰科技发布高性能高可靠车规MCU E3控之芯, 6月Qt公司发布了Qt for MCUs 2.2 LTS(长期支持版),双方随即合作完成了软硬件的适配。Qt for MCUs为芯驰高可靠Cortex-R5内核提供轻量级的图形框架和工具包,包含在微控制器上设计、开发和部署图形用户界面所需的一切。同时,Qt for MCUs支持硬件分层功能,通过多个帧缓冲区来提高渲染的性能,带来极致UI体验的同时,又极大程度减少内存的占用。芯驰科技董事长张强表示:“汽车正成为智能移动终端,座舱交互形式也将被颠覆。芯驰紧抓时代机遇,提供了多种解决方案。Qt是全球领先的HMI开发工具和服务厂商,其工具链满足行业对跨平台、高可靠性、高自由度开发工具的需求。芯驰科技智能座舱芯片X9系列已经获得Qt 6.2 LTS版本适配,芯驰E3系列MCU更是在今年4月发布时就获得Qt for MCUs 2.2 LTS的全面支持。正是因为有Qt这样优秀的合作伙伴的支持,芯驰得以更好地服务国内外的客户。”Qt公司中国区总经理许晟表示:“我们非常高兴能与芯驰科技完成这次里程碑式的软硬件适配合作。芯驰车规芯片已服务客户超过260家,覆盖中国80%以上的车企。混合使用车规级芯片和车规级微控制器的能力意味着芯驰客户能充分发挥硬件计算能力、节约成本并提高效益。Qt期待与芯驰进一步深化合作,共同助力中国车企提高生产力、缩短产品上市时间、提升国际竞争力。”(文章来源公众号:Qt软件)+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++关于亿道电子亿道电子技术有限公司(英文名称:Emdoor Electronics Technology Co.,Ltd)是国内资深的研发工具软件提供商,公司成立于 2002 年,面向中国广大的制造业客户提供研发、设计、管理过程中使用的各种软件开发工具,致力于帮助客户提高研发管理效率、缩短产品设计周期,提升产品可靠性。欢迎关注“亿道电子”公众号了解更多研发工具软件知识
查看更多→
【方辉专栏】机器学习运营管理体系MLOps是什么
2022-07-13
1. MLOps是什么?MLOps(Machine Learning Operations)是面向机器学习项目的研发运营管理体系,目的是连接业务团队、AI团队和运营团队,建立一套标准化的模型开发、部署及运营流程,来管理机器学习项目的全生命周期。Google 的团队一直在对构建基于 ML 的系统所带来的技术挑战进行大量研究。 一篇关于机器学习系统中隐藏的技术债务的 NeurIPS 论文表明,开发模型只是整个过程的一小部分。 许多其他流程、配置和工具将被集成到系统中。如下图所示:因此MLOps的核心价值在于,解决机器学习项目角色间沟通壁垒。ML项目研发过程中各角色之间(业务人员、AI工程师、数据科学家、运维工程师等)存在着天然鸿沟,而打破沟通屏障,构建畅通的协作平台,降低合作成本,是让项目顺利开展的前提。同时使AI工程师不用再沦陷于处理繁琐的模型更新和维护等工作,而可潜心钻研更有价值的内容。2. MLOps的发展趋势MLOps是机器学习项目走向规模化应用的有效途径,通过持续训练、持续集成、持续部署、持续监控等多个自动化循环流程,大大减少开发周期,提升交付质量,降低人员依赖,提高研发效能,推动挖掘更多元化的业务价值。借鉴DevOps精髓,MLOps从需求到模型维护的全链路,以及模型开发及训练的子链路,和模型部署及监控的子链路,都秉承着持续闭环的全生命周期管理模式。持续训练CT,实验阶段模型的持续训练能大大降低AI工程师时间成本,上线模型的持续训练能提高模型服务质量,及时应对数据漂移和内容漂移等风险。持续集成CI和持续部署CD,以达到随时随地轻松部署ML模型目的。持续监控CM,持续开展线上的模型和业务监控,根据监控报警开展模型重复训练和更新,维持和提高模型推理质量,持续创造高水准业务价值。流水线Pipelines,数据处理流水线、模型开发流水线、集成交付流水线的构建,最大程度提高自动化水平,高效率实现ML项目全生命周期管理。特征管理、算法管理、模型管理,通过对特征、算法和模型的存储及管理,最大限度发挥各类资产的价值,减少重复造轮子的组织级成本,提高统筹管理效能。版本管理,模型的版本管理即对数据、算法、模型等资产完整性及可追溯性的集中管理,能随时重现任何时刻的模型快照。自动化测试,集成自动测试工具,提高测试的自动化水平,包括组件测试、数据验证、模型验证等,进而提高全链路持续化水平。工程化使悬在云端的AI梦想终于落地变成现实,而MLOps是工程化助推剂。未来MLOps的发展将在流水线间的连通性、模型线上自更新、资源伸缩性管理、模型自动调参、模型可解释性、模型安全性及公平性等方面得到进一步的探索和实践。人工智能已走入千家万户,MLOps走入千家万企已指日可待,未来可期。+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++关于亿道电子亿道电子技术有限公司(英文名称:Emdoor Electronics Technology Co.,Ltd)是国内资深的研发工具软件提供商,公司成立于 2002 年,面向中国广大的制造业客户提供研发、设计、管理过程中使用的各种软件开发工具,致力于帮助客户提高研发管理效率、缩短产品设计周期,提升产品可靠性。欢迎关注“亿道电子”公众号了解更多研发工具软件知识
查看更多→
【方辉专栏】Arm 虚拟硬件 (AVH) 与Keil MDK一起用于开发和调试嵌入式应用程序
2022-07-12
1.工具安装1)下载 Keil MDK v5.37 并将其安装在您的 Windows PC 上(如果还没有的话)。2)确保在 MDK 中激活MDK-Professional Edition,因为这是运行 AVH 模型所必需的。如果 MDK-Professional 许可证不可用,您可以申请评估许可证。 2.项目配置Arm 虚拟硬件 CPU 的 MDK 项目中需要特别注意两个重要的配置区域:1)项目中的目标选择。2)在项目中运行和调试配置。下表列出了 Arm 虚拟硬件支持的 Cortex-M 内核、相应的设备名称、具有设备支持的 CMSIS Pack 以及 MDK 提供的仿真模型。Arm Cortex-M 内核AVH设备名称带有设备定义的 CMSIS 包MDK中的虚拟硬件模型描述Cortex-M0CMSDK_CM0_VHTKeil.V2M-MPS2_CMx_BSPv1.8.0VHT_MPS2_Cortex-M0.exe具有 Cortex-M0 内核的 CPUCortex-M0+CMSDK_CM0plus_VHTKeil.V2M-MPS2_CMx_BSPv1.8.0VHT_MPS2_Cortex-M0plus.exe具有 Cortex-M0+ 内核的 CPUCortex-M3CMSDK_CM3_VHTKeil.V2M-MPS2_CMx_BSPv1.8.0VHT_MPS2_Cortex-M3.exe具有 Cortex-M3 内核的 CPUCortex-M4CMSDK_CM4_VHTKeil.V2M-MPS2_CMx_BSPv1.8.0VHT_MPS2_Cortex-M4.exe具有 Cortex-M4 内核的 CPUCortex-M4,FPCMSDK_CM4_FP_VHTKeil.V2M-MPS2_CMx_BSPv1.8.0VHT_MPS2_Cortex-M4.exe具有 Cortex-M4 内核和浮点单元 (FPU) 支持的 CPUCortex-M7CMSDK_CM7_VHTKeil.V2M-MPS2_CMx_BSPv1.8.0VHT_MPS2_Cortex-M7.exe具有 Cortex-M7 内核的 CPUCortex-M7, FP(SP)CMSDK_CM7_SP_VHTKeil.V2M-MPS2_CMx_BSPv1.8.0VHT_MPS2_Cortex-M7.exe具有 Cortex-M7 内核和单精度 FPU 支持的 CPUCortex-M7, FP(DP)CMSDK_CM7_DP_VHTKeil.V2M-MPS2_CMx_BSPv1.8.0VHT_MPS2_Cortex-M7.exe具有 Cortex-M7 内核和双精度 FPU 支持的 CPUCortex-M23IOTKit_CM23_VHTKeil.V2M-MPS2_IOTKit_BSP v1.5.0VHT_MPS2_Cortex-M23.exe具有 Cortex-M23 内核的 CPUCortex-M33IOTKit_CM33_VHTKeil.V2M-MPS2_IOTKit_BSP v1.5.0VHT_MPS2_Cortex-M33.exe具有 Cortex-M33 内核的 CPUCortex-M33,FPIOTKit_CM33_FP_VHTKeil.V2M-MPS2_IOTKit_BSP v1.5.0VHT_MPS2_Cortex-M33.exe具有 Cortex-M33 内核和浮点单元 (FPU) 支持的 CPUCortex-M55SSE-300-MPS3ARM.V2M_MPS3_SSE_300_BSP v1.2.0VHT_MPS3_Corstone_SSE-300.exeVHT_Corstone_SSE-300_Ethos-U55.exeVHT_Corstone_SSE-300_Ethos-U65.exe带有 Cortex-M55 的 Corstone-300 SoC。使用相同的设备定义,但应根据所需的 microNPU 选择型号(无、Ethos-U55 或 Ethos-U65)Cortex-M85SSE-310-MPS3还不可用VHT_Corstone_SSE-310.exe具有 Cortex-M85 内核的 CPU注:虚拟硬件模型 可以在MDK 安装目录中的/ARM/VHT/文件夹中找到,例如C:/Keil_v5/ARM/VHT/. 3.目标选择AVH 设备支持使用与实际硬件目标相同的 CMSIS 原则实现,并在CMSIS Pack和CMSIS-Core(M)中进行了说明。打开现有 MDK 项目或从 .cprj 文件导入它时,系统会询问您是否应安装项目所需的任何缺失包。如果您同意,则项目中使用的目标设备的必要设备定义包也将自动安装。创建新项目或更改现有项目中的目标时,您需要选择 AVH 目标,如下所示:安装带有目标设备定义的 CMSIS 包(如果尚不存在):启动Pack Installer实用程序。在Devices选项卡中展开ARM部分并选择目标 Cortex-M 内核。在设备特定类别下的包选项卡中,根据项目配置中的表选择实现所需 AVH 设备的目标 CMSIS 包。按操作字段中的安装或更新按钮以安装最新版本。例如对于 Arm Cortex-M4:观察按钮状态更改为Up to date并返回 µVision 中的项目。选择 AVH 设备作为项目中的目标:在项目中打开Options for target...对话框并选择Device选项卡。在设备供应商列表中展开ARM组。展开目标 Cortex-M 内核的组。在列表中,根据Project Configuration中的表格选择目标设备,然后按OK。例如对于 Arm Cortex-M4:4.运行和调试配置执行以下步骤以在 AVH 设备上配置 MDK 项目的执行和调试:打开Options for Target...对话框并导航到Debug选项卡。在Use:下拉菜单中选择Models Debugger。确切名称因目标设备内核而略有不同:适用于Cortex-M0/M0+/M3/M4/M7 设备的型号 Cortex-M 调试器适用于 Cortex-M23/M33/M55/M85 的型号 ARMv8-M 调试器。例如对于带有 Cortex-M55 内核的 Corstone-300:单击设置按钮。这将打开相应的 Models Target Driver Setup_ 对话框。填写以下字段很重要:Command:应包含对应于所选 AVH 设备的 AVH 模型可执行文件的路径。请参阅项目配置中的表格。Arguments:可用于指定要与模型执行一起使用的其他FVP 命令行选项。Target:指定要用于执行的 CPU。单击浏览按钮 (...) 并选择目标上可用的目标 CPU。Configuration File:指向带有模型配置参数的文件(通过-f选项传递给模型可执行文件)。Corestone-300 的正确配置如下:Fast Models Debug Driver Configuration详细解释了配置对话框。5.项目导出使用 Arm 虚拟硬件云环境构建程序需要通用.cprj 格式。因此,保持 MDK 项目文件和cprj文件同步很重要。为此,在 MDK 项目中保存修改后,转到 µVision 菜单Project - Export并选择Save project to CPRJ format。 6.程序构建和调试AVH的项目构建和调试可以通过与任何其他 Keil MDK 项目类似的方式完成:按µVision 工具栏中的Rebuild按钮(或使用F7热键)。从 µVision 工具栏(或使用Ctrl-F5)启动调试会话。像往常一样使用 µVision 功能调试项目。有关用户界面和调试功能的详细信息,请参阅µVision 用户指南。更多嵌入式咨询,请关注“亿道电子”公众号。
查看更多→
EPLAN Cogineer在汽车行业的应用
2022-07-12
近年来,国内新能源汽车市场呈现爆发式增长,新能源汽车车企如雨后春笋般登场,造车新势力们势头正酣,传统汽车厂商开始发布新能源车型,甚至连华为小米这类互联网企业也开始布局新能源汽车市场。EPLAN自起步阶段起就与汽车行业建立了深厚的联系,特别是汽车生产线的设计企业、整车制造商,大都指定EPLAN作为自己的电气工程设计平台。无论是传统汽车还是新能源汽车,在他们的造车历程中,大多都有EPLAN的足迹。今天小编就和大家浅谈一下EPLAN在汽车行业中的应用。汽车产线的图纸的特点是图纸量大、重复度高。当前比较常见的绘图方式是在已有项目图纸基础上进行复制、粘贴、修改来完成一份新的图纸,这种设计模式我们称之为ETO设计模式,即Engineering to order,基于订单设计。这种设计模式存在一些挑战,比如重复的复制粘贴工作在耗费大量时间的同时也会存在一定的错误率,工程师采用这种设计模式绘制一套图纸往往需要花费月余时间。在竞争越来越激烈的今天,对于汽车产线供应商来说,缩短设计和生产周期是他们无时无刻不在考虑的问题。EPLAN推出的配置式出图解决方案完美契合线体商们的需求。配置式出图我们称之为CTO设计模式,即Configuration to order。通过配置的方式来快速出图,大幅度缩短电气工程师出图时间。配置式出图解决方案是基于EPLAN宏技术实现图纸的复用,即便是非标产品,也能够分解出来可以复用的功能块,将这些功能块定义为EPLAN的“宏”,EPLAN Cogineer根据条件来选择宏和参数,能实现配置式出图。采用CTO设计模式之后,我们可以根据销售订单中的配置信息,使用Cogineer快速生成标准图纸,在Electric P8 进行简单的细节调整之后,就可以完成项目图纸(包含电气原理图和气路图)绘制。当然,通过CTO设计模式自动生成的图纸并非凭空出现,前期需要做一些准备工作,比如:数据标准化、图纸结构化分析、出图逻辑定义等。一般来说,企业实现配置式出图需要经过“标准化→模块化→自动化”3个过程。目前,国外汽车行业在CTO设计模式上走的更快一些,除了电气图纸之外,PLC程序、报价表等文档也可以通过配置自动生成。国内仅有部分线体供应商采用CTO设计模式,但小编认为在不久的将来,CTO设计模式将覆盖整个汽车行业。(文章来源公众号:EPLAN易盼软件)
查看更多→