新闻动态
NEWS FEED
您现在的位置:
首页
-
-
双核i.MX RT1170之在线联合调试双核工程的三种方法(IAR篇)

双核i.MX RT1170之在线联合调试双核工程的三种方法(IAR篇)

  • 分类:新闻中心
  • 作者:痞子衡@NXP
  • 来源: 恩智浦MCU加油站
  • 发布时间:2022-09-28 00:37
  • 访问量:

【概要描述】前段时间写过一篇《双核i.MX RT1170之单独在线调试从核工程的方法》,那篇文章介绍了如何单独在线调试从核工程的方法。 当我们把主核工程和从核工程分别调稳定之后,接着便开始需要双核联调,验证双核通信交互相关功能。今天就给大家介绍下 IAR 开发环境下双核工程联调的三种方法:

双核i.MX RT1170之在线联合调试双核工程的三种方法(IAR篇)

【概要描述】前段时间写过一篇《双核i.MX RT1170之单独在线调试从核工程的方法》,那篇文章介绍了如何单独在线调试从核工程的方法。
当我们把主核工程和从核工程分别调稳定之后,接着便开始需要双核联调,验证双核通信交互相关功能。今天就给大家介绍下 IAR 开发环境下双核工程联调的三种方法:

  • 分类:新闻中心
  • 作者:痞子衡@NXP
  • 来源: 恩智浦MCU加油站
  • 发布时间:2022-09-28 00:37
  • 访问量:
详情
前段时间写过一篇《双核i.MX RT1170之单独在线调试从核工程的方法》,那篇文章介绍了如何单独在线调试从核工程的方法。
当我们把主核工程和从核工程分别调稳定之后,接着便开始需要双核联调,验证双核通信交互相关功能。今天就给大家介绍下 IAR 开发环境下双核工程联调的三种方法:
 

一、测试准备

首先需要准备好测试环境,包含必要的软件和硬件,痞子衡的环境如下:

  • 集成开发环境:IAR EW for Arm v9.10.2,点此下载
  • 软件开发包:SDK_2.11.0_MIMXRT1170-EVK(Toolchain要包含IAR),点此下载
  • 软件驱动:J-Link driver v7.56b,点此下载
  • 硬件工具:J-Link Plus调试器
  • 硬件开发板:MIMXRT1170-EVK (Rev.C),含板载 DAP-Link 调试器

我们知道 i.MX RT1170其实主从核是在Fuse里可配的,我们就以默认配置(Cortex-M7 为主,Cortex-M4 为从)为例来介绍。

 

二、在IAR下调试

2.1 通用办法:双核工程无关联,调试器分别加载
第一种方法就是单纯借助外部调试器来做加载,主核工程和从核工程之间无依赖关系。我们选择 SDK 包里如下两个 hello_world 普通工程来做测试:

主核工程:\SDK_2.11.0_MIMXRT1170-EVK\boards\evkmimxrt1170\demo_apps\hello_world\cm7\iar

从核工程:\SDK_2.11.0_MIMXRT1170-EVK\boards\evkmimxrt1170\demo_apps\hello_world\cm4\iar

首先将hello_world_demo_cm7 工程(选择 flexspi_nor_debug build)调试起来(菜单栏 Download and Debug 按钮),断点停在 main 即可。然后继续将 hello_world_demo_cm4 工程(选择 debug build)也调试起来(菜单栏 Download and Debug 按钮),过程很顺利,接下来在两个工程下可以分别单步或者设断点进行调试。
  • Note1: 调试顺序不一定非要主核工程在先,从核工程在后,调换顺序一样可以,但是后调试的工程复位类型必须选 Core 复位(建议两个工程均选择这种复位)。

  • Note2: 调试从核工程 hello_world_demo_cm4 需借助《双核i.MX RT1170之单独在线调试从核工程的方法》 一文里的脚本激活从核,并且脚本里不要挂起主核。

  • Note3: 对于J-Link调试器,双核工程分别调试没有问题;但是对于DAP-Link调试器,当第一个工程正在调试时,第二个工程无法直接调试(会提示找不到可用的 DAP-Link 调试器)。

 

 

下面将两个hello world 工程主函数稍稍修改了一下,打印出不同内容,并且增加了一些延时,从结果来看,两个核都在正常跑。
不过这里要提醒一句,i.MX RT1170内部大部分外设对于两个核都是共享的,建议合理分配资源,尽量不要像本次测试这样,两个核都通过同一个UART来打印信息(除非代码里刻意做了资源共享设计)。

 

2.2 专用方法:双核工程无关联,IAR多核组件加载

第二种方法依然是借助外部调试器来做加载,主核工程和从核工程之间还是无需依赖关系。

不过这一次我们要借助IAR软件里自带的多核组件,具体设置在工程选项 Debugger/Multicore 里面,在这里填上另外一个核工程(也叫 Partner 工程)文件(.eww)路径以及 build 即可,然后点击菜单栏 Download and Debug 按钮,IAR 会自动完成全部加载工作并返回给用户两个工程的调试界面:

  • Note1: 多核组件的设置既可以在主核工程里,也可以在从核工程里。我们既可以从主核工程开始调试,也可以从从核工程开始调试。

  • Note2: 多核组件仅仅是自动去打开 Partner 工程完成下载调试,并不包含从核激活功能,因此从核工程还是需要保留从核激活脚本。

  • Note3: 多核组件功能仅在 DAP-Link 调试器(或者 I-Jet)下有效,在 J-Link 调试器下不适用。

 

2.3 通用方法:双核工程有关联,主核加载从核

前两种方法本质上都是借助调试器完成从核工程加载的,其实除了调试器,我们也可以利用主核工程里的代码来加载从核,步骤都在《双核i.MX RT1170之Cortex-M7与Cortex-M4互相激活之道》 一文里,我们以 SDK 包里如下两个 hello_world 多核例程来做测试:

主核工程:\SDK_2.11.0_MIMXRT1170-EVK\boards\evkmimxrt1170\multicore_examples\hello_world\cm7\iar
从核工程:\SDK_2.11.0_MIMXRT1170-EVK\boards\evkmimxrt1170\multicore_examples\hello_world\cm4\iar

在多核示例里,从核工程选项 Output Converter / Output 里会指定生成 hello_world_cm4.bin,然后主核工程选项 Linker / Input 里会输入hello_world_cm4.bin 的路径,这样主核工程直接把从核可执行机器码当作源文件数组,用于后续复制加载从核程序(具体代码在主核工程 hello_world_core0.c 文件里)。

 

 

多核示例主要是为了展示双核通信交互,而本文主要介绍双核调试,因此我们可以将原始工程里关于 MCMGR 相关代码全部去掉(主核工程代码里要添加从核激活语句),主核工程里多核组件的设置也去掉。

  • Note1: 此方法不依赖从核工程的激活脚本,因为激活工作在主核工程代码里做掉了。

  • Note2: 此方法适用 J-Link 调试器,不适用 DAP-Link 调试器,原因与 2.1 节 Note 3 类似。

两个工程修改完之后,先调试主核工程(菜单栏 Download and Debug 按钮),跑到从核激活语句全部执行完毕,然后再调试从核工程(菜单栏 Attach to Running Target 按钮),至此也可以愉快地进行双核调试。

 

关注威旺达网站及微信公众号,了解 NXP MCU更多信息.

关键词:

扫二维码用手机看

相关新闻

无创血糖仪的优势与挑战:解读新技术的前景与限制

无创血糖仪的优势与挑战:解读新技术的前景与限制

在中国,改革开放以来,人们的生活水平逐步提高,从吃饱到吃好,现在更多数人选择吃的健康。因为现在的人类基本都在得“富贵病”,肥胖,高血压,高血脂,高血糖等。其中,血糖监测是糖尿病管理的重要组成部分,《中国血糖监测临床应用指南(2021版)》显示,临床常用的血糖监测方法包括毛细血管血糖监测、糖化血红蛋白(HbA1c)、糖化白蛋白(GA)和持续葡萄糖(CGM)监测等。
2023-07-12
恩智浦发布新一代安全高能效i.MX 91系列,为广泛的边缘应用扩展Linux功能!

恩智浦发布新一代安全高能效i.MX 91系列,为广泛的边缘应用扩展Linux功能!

恩智浦半导体正式发布i.MX 91应用处理器系列。凭借恩智浦二十多年来在开发多市场应用处理器方面的领先优势,i.MX 91系列提供了安全、多功能、高能效的优化组合,可满足下一代基于Linux的物联网和工业应用的需求。 
2023-06-15
恩智浦人工智能创新实践平台正式启动!

恩智浦人工智能创新实践平台正式启动!

  恩智浦半导体宣布,设于天津的人工智能应用创新中心二期项目——人工智能创新实践平台(以下称“创新实践平台”)正式启动。天津市科学技术局副局长梅志红,天津经济技术开发区管理委员会副主任金香花;恩智浦全球销售执行副总裁Ron Martino,恩智浦资深副总裁兼大中华区主席李廷伟博士出席活动,共同见证恩智浦进一步深耕中国市场、服务中国客户的决心和切实行动。
2023-05-26
MCU在烟感传感器上如何选型

MCU在烟感传感器上如何选型

独立烟感全称独立式光电感烟火灾探测报警器,是烟雾报警器系列产品中的一种,报警器采用的光电式感烟器件具有优良的生产工艺,工作稳定,抗辐射性好,当烟雾进入报警器探头,烟雾改变了探头感知的光线强度,继而触发报价;故障自检,自动上报,无需人工检修;此外无需外部供电,单独9V电池供电,搭载低功耗广域网物联网模块,如NBIOT,Lora,RF射频模块后,省去了繁琐的布线,施工成本低,安装简单;发生火灾时除了自身报警外,还可以通过无线上传到消防预警中心,并通过语音电话,app等形式通知安全责任人,第一时间处理火情;再加上传统的消防设备安装和出现故障维修极其不便,传统的烟感大部分年久失灵,必须进行设备的升级;故独立烟感可广泛用于工厂,商场,宾馆、门店、饭店、住宅等场所进行火灾安全监测及其传统消防设备的改造上,普通用户也可自行采购放置在家中作为火灾监控预警。
2023-05-26

20多年专注半导体

为国内各行业广大用户提供高品质的NXP半导体产品

SINCE 1997

 为您量身定制解决方案

联系我们

电话

全国统一服务热线

地址:北京市朝阳区广渠路15号金茂府小区23号院

公众号

威旺达公众号

Copyright © 2022  北京威旺达电子科技有限责任公司  All rights reserved