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-M0 | CMSDK_CM0_VHT | Keil.V2M-MPS2_CMx_BSP v1.8.0 | VHT_MPS2_Cortex-M0.exe | 具有 Cortex-M0 内核的 CPU |
Cortex-M0+ | CMSDK_CM0plus_VHT | Keil.V2M-MPS2_CMx_BSP v1.8.0 | VHT_MPS2_Cortex-M0plus.exe | 具有 Cortex-M0+ 内核的 CPU |
Cortex-M3 | CMSDK_CM3_VHT | Keil.V2M-MPS2_CMx_BSP v1.8.0 | VHT_MPS2_Cortex-M3.exe | 具有 Cortex-M3 内核的 CPU |
Cortex-M4 | CMSDK_CM4_VHT | Keil.V2M-MPS2_CMx_BSP v1.8.0 | VHT_MPS2_Cortex-M4.exe | 具有 Cortex-M4 内核的 CPU |
Cortex-M4,FP | CMSDK_CM4_FP_VHT | Keil.V2M-MPS2_CMx_BSP v1.8.0 | VHT_MPS2_Cortex-M4.exe | 具有 Cortex-M4 内核和浮点单元 (FPU) 支持的 CPU |
Cortex-M7 | CMSDK_CM7_VHT | Keil.V2M-MPS2_CMx_BSP v1.8.0 | VHT_MPS2_Cortex-M7.exe | 具有 Cortex-M7 内核的 CPU |
Cortex-M7, FP(SP) | CMSDK_CM7_SP_VHT | Keil.V2M-MPS2_CMx_BSP v1.8.0 | VHT_MPS2_Cortex-M7.exe | 具有 Cortex-M7 内核和单精度 FPU 支持的 CPU |
Cortex-M7, FP(DP) | CMSDK_CM7_DP_VHT | Keil.V2M-MPS2_CMx_BSP v1.8.0 | VHT_MPS2_Cortex-M7.exe | 具有 Cortex-M7 内核和双精度 FPU 支持的 CPU |
Cortex-M23 | IOTKit_CM23_VHT | Keil.V2M-MPS2_IOTKit_BSP v1.5.0 | VHT_MPS2_Cortex-M23.exe | 具有 Cortex-M23 内核的 CPU |
Cortex-M33 | IOTKit_CM33_VHT | Keil.V2M-MPS2_IOTKit_BSP v1.5.0 | VHT_MPS2_Cortex-M33.exe | 具有 Cortex-M33 内核的 CPU |
Cortex-M33,FP | IOTKit_CM33_FP_VHT | Keil.V2M-MPS2_IOTKit_BSP v1.5.0 | VHT_MPS2_Cortex-M33.exe | 具有 Cortex-M33 内核和浮点单元 (FPU) 支持的 CPU |
Cortex-M55 | SSE-300-MPS3 | ARM.V2M_MPS3_SSE_300_BSP v1.2.0 | VHT_MPS3_Corstone_SSE-300.exe VHT_Corstone_SSE-300_Ethos-U55.exe VHT_Corstone_SSE-300_Ethos-U65.exe | 带有 Cortex-M55 的 Corstone-300 SoC。 使用相同的设备定义,但应根据所需的 microNPU 选择型号(无、Ethos-U55 或 Ethos-U65) |
Cortex-M85 | SSE-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 用户指南。
更多嵌入式咨询,请关注“美狮贵宾会电子”公众号。