在之前的文章中,我们介绍了如何在iar embedded workbench for arm中进行多核调试,其中所有的cpu内核都是基于arm架构。近些年来,随着risc-v的兴起,不少芯片集成了基于risc-v架构的cpu内核。
本文主要介绍如何在iar embedded workbench for arm和iar embedded workbench for risc-v中进行arm+risc-v多核调试。
6月14-16日,iar将参展首届上海国际嵌入式展(展位号a121),欢迎莅临iar展位,亲自体验arm + risc-v多核调试!
多核的基本概念
同构多核(homogeneous)vs 异构多核(heterogeneous)
从硬件设计上,多核可以分为同构多核和异构多核:同构多核指的是所有的cpu内核具用相同的架构,比如nxp的s32k3(cortex-m7)和芯驰科技的e3(cortex-r5)。异构多核指的是cpu内核核具用不同的架构,比如infineon的traveo t2g(cortex-m0+ + cortex-m4/cortex-m7)和st的stm32h7 (cortex-m4 + cortex-m7)。arm + risc-v属于异构多核。
对称多处理(smp)vs 非对称多处理(amp)
从软件设计上,多核可以分为对称多处理(smp)和非对称多处理(amp):smp指的是所有的cpu内核运行同一套程序(一般通过coreid来实现不同的cpu内核执行不同的操作),amp指的是不同的cpu内核运行不同的程序。
注意:只有同构多核才能实现smp,同构多核也可以实现amp,异构多核只能实现amp:
在iar embedded workbench for arm和iar embedded workbench for risc-v中进行arm+risc-v多核调试
准备工作
由于arm + risc-v多核调试需要同时使用iar embedded workbench for arm和iar embedded workbench for risc-v,需要同时安装iar embedded workbench for arm和iar embedded workbench for risc-v。在iar embedded workbench for arm v9.40和iar embedded workbench for risc-v v3.20.1之前,需要将iar embedded workbench for arm和iar embedded workbench for risc-v安装在同一个安装目录下,比如iar embedded workbench for arm v9.32.2和iar embedded workbench for risc-v v3.20.1可以同时安装在embedded workbench 9.1。
iar embedded workbench for arm和iar embedded workbench for risc-v安装在同一个安装目录下
如果iar embedded workbench for arm和iar embedded workbench for risc-v安装在同一个安装目录下,那么同一个eww文件可以同时包含arm和risc-v两个工程。
如下所示:iar embedded workbench for arm v9.32.2和iar embedded workbench for risc-v v3.20.1同时安装在embedded workbench 9.1中,可以在一个eww文件包含arm和risc-v两个工程:
对于异构多核amp多核调试,如果只有一个partner工程,可以在debugger > multicore > asymmetric multicore > simple中输入对应partner工程的配置:
对于异构多核amp多核调试,如果有多个partner工程,可以在debugger > multicore > asymmetric multicore > advanced中输入对应partner工程的xml配置文件(一个partner工程也可以使用这种方式):
其中xml文件中会描述所有核的相关配置信息(参考如下):
由于amp中不同的核运行不同的程序,调试时每个核都会开启独立的iar embedded workbench ide,可以通过view > cores可以打开对应的cores窗口来查看和操作对应core的状态:
iar embedded workbench for arm和iar embedded workbench for risc-v安装在不同安装目录下
如果iar embedded workbench for arm和iar embedded workbench for risc-v安装在不同安装目录下,那么需要创建两个eww文件,其中一个eww文件包含arm工程,另外一个eww文件包含risc-v工程。
如下所示:iar embedded workbench for arm v9.40.1安装在embedded workbench 9.2中,而iar embedded workbench for risc-v v3.20.1安装在embedded workbench 9.1中,需要在iar embedded workbench for arm中创建一个eww文件包含arm工程,在iar embedded workbench for risc-v中创建另外一个eww文件包含risc-v工程:
对于iar embedded workbench for arm和iar embedded workbench for risc-v安装在不同安装目录下的异构多核amp多核调试,跟前面的iar embedded workbench for arm和iar embedded workbench for risc-v安装在同一个安装目录下的异构多核amp多核调试基本类似,只是需要勾选override partner debugger location,并在partner debugger对话框中输入partner工程对应的ide路径:c:program filesiar systemsembedded workbench 9.1):
由于amp中不同的核运行不同的程序,调试时每个核都会开启独立的iar embedded workbench ide,可以通过view > cores可以打开对应的cores窗口来查看和操作对应core的状态:
注意事项
当前iar embedded workbench for arm多核调试功能只支持i-jet和cmsis-dap,iar embedded workbench for risc-v多核调试功能只支持i-jet,所以当前需要使用i-jet在iar embedded workbench中进行arm+risc-v多核调试:
如果多核mcu默认开始工作时只使能master,需要master来使能其它的核,才能进行多核调试。可以通过单独调试其它的核来确认对应的核是可以调试的:
多核调试时,每个核可以单独控制,也可以一起控制,通过run/step/stop affect all cores 和run/step/stop affect current core only选项来选择:
总结
本文主要介绍了如何在iar embedded workbench for arm和iar embedded workbench for risc-v中进行arm+risc-v多核调试。
银川中关村集成电路产业研发中心开工 计划投资4亿元
物联网技术发展过程中所面临的威胁和瓶颈是什么
常见单端逻辑电平(TTL、CMOS、SSTL、HSTL、POD12)
一加手机设计专利曝光,背部的相机模组可隐藏
LiDAR和立体视觉摄像头如何处理低光
在IAR Embedded Workbench中进行ARM+RISC-V多核调试
个人网盘关闭时代 中国电信推2TB空间“家庭云”网盘
Xilinx展示行业首个FPGA QPI 1.1接口
智能制造大环境下,工控系统安全重于泰山
MS580330BA01-00压力传感器检测洗衣机水位
比亚迪225亿建中国最大太阳能电池基地
射频同轴电缆好坏的检测方法
WIFI探针在安防行业中的应用价值
M5连接器3pin电蜂
指纹识别对比虹膜识别谁更好?
贴片机拾取的工具和方式
基于PWM技术的电流型五电平逆变器拓扑研究
极狐阿尔法S华为HI版车型搭载了华为激光雷达方案
华为小米投资+自研并举
红米Note 4评测:一款小米风格的千元机