FreeMASTER快速入门

2023-11-23 01:40
文章标签 入门 快速 freemaster

本文主要是介绍FreeMASTER快速入门,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • FreeMASTER快速入门
    • 1.FreeMASTER介绍
    • 2.FreeMASTER获取
    • 3.FreeMASTER用法
      • 3.1 准备工作
      • 3.2 通信方式介绍
      • 3.3 FreeMASTER简单使用
      • 3.3.1 基于OpenSDA调试器使用FreeMASTER
        • 3.3.1.1 准备可执行文件
        • 3.3.1.2 创建FreeMASTER工程
        • 3.3.1.3 测试效果
      • 3.3.2 基于USB转UART工具使用FreeMASTER
        • 3.3.2.1 准备可执行文件
          • 3.3.2.1.1 增加UART组件
          • 3.3.2.1.2 增加FreeMASTER驱动
        • 3.3.2.2 修改FreeMASTER工程
        • 3.3.2.3 测试效果
      • 3.3 FreeMASTER其他功能

FreeMASTER快速入门

1.FreeMASTER介绍

如果有使用过NXP的MCU开发电机控制器的客户,一定用过或者听过MCAT,如下图所示,准确来说,MCAT就是FreeMASTER的一个图形插件,即control page窗口,整体界面就是FreeMASTER。MCAT是对FreeMASTER的高阶应用,这里不做详细描述,有兴趣的可以去NXP官网下载应用笔记AN4642进行研究。
0

下面摘取了两段NXP官网对FreeMater的介绍:

  • FreeMASTER是一种用户友好的实时调试监视器和数据可视化工具,可用于运行时配置和调试嵌入式软件应用。
  • FreeMASTER支持对正在运行的系统上的变量进行非侵入式监视,并且可以在示波器式显示器上以标准小部件(仪表、滑块等)或文本形式的数据形式显示多个变量,从而提供易于使用的数据记录器。

2.FreeMASTER获取

打开NXP官网,搜索栏输入“freemaster”,第一个链接点进去就到了FreeMASTER主界面,切换到DWONLOADS窗口,会看到有两个系列的FreeMASTER:

  • FreeMASTER tool 3.x,除了传统的FreeMASTER上位机之外,还有一个FreeMaster Lite,可以借助web远程通信,同时还支持第三方使用JSON-RPC的应用。
  • FreeMaster tool 2.x,传统的FreeMASTER上位机,官网上有2.5和2.0两个版本。
    1

特别说明:FreeMASTER是向后兼容的,使用2.x版本生成的pmp文件可以用3.x版本打开使用,但是在使用3.x版本打开之后,再使用2.x版本有几率会出现无法打开的情况。

3.FreeMASTER用法

由于FreeMASTER 3.x版本的安装包比较大,而且很多功能我用不到,所以我这里选择的FreeMASTER 2.5版本(FreeMASTER 2.0版本的工具栏中的开始/暂停功能使用的同一个按钮,不容易判断判断FreeMASTER的状态,推荐使用2.5版本)

3.1 准备工作

在使用FreeMASTER之前,需要准备以下工具:

  • S32K144EVB-Q100
  • 一根MicroUSB线
  • S32 Design Studio for ARM 2.2
  • FreeMASTER 2.5

3.2 通信方式介绍

FreeMASTER 2.5支持两种连接方式:

  • RS232模式,用于使用USB转UART工具连接电脑上的FreeMASTER和MCU
  • Plug-in Module模式:
    1. 用于使用调试器连接电脑上的FreeMASTER和MCU,目前常见的调试接口都支持,如JTAG,SWD,BDM,CMSIS DAP等。
    2. 用于使用USB转CAN工具(USB转LIN工具)连接电脑上的FreeMASTER和MCU,主流的CAN卡供应商都支持,如Vector,KVASER,ZLG等。

FreeMASTER 3.0支持的连接方式差不多,详细情况如下图: 2

3.3 FreeMASTER简单使用

3.3.1 基于OpenSDA调试器使用FreeMASTER

接下来先介绍基于调试器的方式使用FreeMASTER监控变量,使用调试器的好处在于不需要在MCU的代码中添加FreeMASTER的驱动,只需要配置FreeMASTER上位机工程即可,缺点是会占用调试器资源。

3.3.1.1 准备可执行文件

使用FreeMASTER之前准备好可执行文件,S32DS生成的ELF文件,KEIL生成的AXF文件和IAR生成的OUT文件的都可以,同时需要和MCU烧录的文件保持一致。

  1. 本文选择S32DS 2.2 自带的PWM例程,如下图所示,并将其命名为ftm_pwm_s32k144_freemaster
    3

  2. 工程ftm_pwm_s32k144_freemaster生成之后,将mian函数内部的局部变量变成全局变量,因为FreeMASTER只能观察全局变量,如下图所示:
    4

  3. 保存改动之后,编译生成ELF文件,如下图,同时将elf烧入开发板的MCU中。
    5

  4. 同时,预先记住需要观察的全局变量,在制作FreeMASTER工程时会用到,这里选择全局变量increaseDutyCycledutyCycle,在代码中的变化规律如下图:
    6

3.3.1.2 创建FreeMASTER工程
  1. 打开FreeMASTER,点击菜单栏的Project,选择Options,如下图所示:
    7

  2. Options选型卡界面比较多,这次主要用到的是CommMAP Files这两个界面。Comm界面主要用来选择通讯方式,MAP Files界面用来选择相应的可执行文件。Options选型卡界面如下图所示:
    8

  3. 首先配置Comm界面,通讯方式选择Plug-in module,点开下拉,如下图所示。因为我这里使用的调试器是板载的OpenSDA,选择第二个即可。如果使用Jlink,选择倒数第三个即可。
    9

  4. 接着配置connect string选项,如下图所示,选择相应的驱动和型号,点击OK。
    10

  5. 然后配置MAP Files界面,点击下图的红框处,选择之前生成的elf文件,点击打开即可。
    11

  6. 打开菜单栏Project的Variables选项,会进入变量列表,如下图所示。
    12

  7. 点击New,如下图所示,选择需要用到的向量increaseDutyCycledutyCycle,并进行相关的配置,如下图所示。如果想要在变量显示时可以手动修改变量时,可以点击Modifying,选择变量修改的方式,范围内任意值或者下拉列表选择。
    13

  8. 右击工程名,选择属性,在Main界面修改工程名,如下图所示。
    14

  9. 切换到Watch界面,将变量添加到观察窗口,完成之后,变量会显示在下方的Variable Watch窗口。同时也可以在Watch界面增加新的变量
    15

  10. 为了更直观的感受变量的变化趋势,需要增加波形显示。右击工程名,选择创建示波器,在Main界面修改波形名称,如下图所示:
    16

  11. 切换Setup界面,选择需要显示的变量,如下图所示:
    17

  12. 配置完成后将工程保存到例程的文件夹中。

3.3.1.3 测试效果
  1. 将开发板连接上电脑,打开刚才的FreeMASTER工程,打开之前的Connect String配置界面,点击一下Rescan BDM,直到能看到Device Name,保证连接正常如下图所示:
    18

  2. 点击Go按钮,显示波形如下图:
    19

  3. 建议将波形的采集周期和变量的采集周期设置一致,如下图:
    20

  4. 按上述方法修改后的显示波形如下图,效果会好一些。
    21

3.3.2 基于USB转UART工具使用FreeMASTER

在实际场景中,基于USB转UART工具的方式使用FreeMASTER监控变量的方式更为常见,这种方式需要占用一个串口,同时代码还需要增加UART和FreeMASTER的驱动。

3.3.2.1 准备可执行文件

基于3.3.1.1章节的程序,还需要添加的功能如下图:
22

3.3.2.1.1 增加UART组件
  1. 在元器件库筛选出lpuart组件,双击添加到本工程中,如下图所示:
    23

  2. 配置lpuart1的初始化参数,如下图所示:
    24

  3. 配置lpuart1的引脚,如下图所示:
    25

  4. 点击按钮生成配置代码,如下图所示:
    26

  5. 添加头文件"lpuart1.h"包含以及添加串口初始化代码,如下图所示:

#include "lpuart1.h"

27

3.3.2.1.2 增加FreeMASTER驱动
  1. 右击工程名,点击属性(Properties),点击SDKs,如下图:
    28

  2. 选择FreeMaster_S32xx,然后点击Attach/Detach按钮,如下图:
    29

  3. 选择Select All,如下图,然后点击OK返回。
    30

  4. 此时工程会多两个文件夹,如下图所示。其中FreeMaster_S32xx文件夹存放驱动,include文件夹存放配置文件。
    31

  5. 驱动文件夹不需要改动,freemaster_cfg.h需要按照实际使用情况进行修改,如下图所示。其中0x4006B000UL是LPUART1的基地址,原本的配置文件写错了,这里只有修改下注释名即可
    32

33

特别说明:关于freemaster_cfg.h中每个宏定义的详细说明,请参考FreeMaster的使用手册FMSTRSCIDRVUG.pdf的2.4.3章节,其位于S32DS2.2安装目录下,具体地址如下:S32DS_ARM_v2.2\S32DS\software\FreeMASTER_Serial_Communication_Driver_V2_0\doc\UserGuide
6. 如下图所示:

  • 添加头文件"freemaster.h"包含,
  • 串口中断函数不使用SDK自带的,改用FMSTR_Isr(),
  • 添加FMSTR_Init()函数以及在死循环中添加FMSTR_Poll()函数
#include "freemaster.h"

34

35

3.3.2.2 修改FreeMASTER工程
  • 打开之前创建的工程,修改下通信方式以及加载新的elf文件即可,如下图所示:
    36

37

3.3.2.3 测试效果

这里测试使用的是OpenSDA自带的USB转UART的功能,使用其他串口工具效果一样。测试波形如下图:
38

3.3 FreeMASTER其他功能

  • TSA功能,开启该功能之后,FreeMASTER不再从ELF文件中获取变量信息,而是通过FreeMASTER自定义的协议获取代码中放在TSA tables中的变量,相关操作如下:
    39

  • Application Commands功能,S32DS自带的FreeMASTER例程(如下图)有使用该功能。不过个人觉得该功能和使能写功能之后的变量窗口有些重复,一般用的不多。
    40

这篇关于FreeMASTER快速入门的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/414412

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

电脑桌面文件删除了怎么找回来?别急,快速恢复攻略在此

在日常使用电脑的过程中,我们经常会遇到这样的情况:一不小心,桌面上的某个重要文件被删除了。这时,大多数人可能会感到惊慌失措,不知所措。 其实,不必过于担心,因为有很多方法可以帮助我们找回被删除的桌面文件。下面,就让我们一起来了解一下这些恢复桌面文件的方法吧。 一、使用撤销操作 如果我们刚刚删除了桌面上的文件,并且还没有进行其他操作,那么可以尝试使用撤销操作来恢复文件。在键盘上同时按下“C

数论入门整理(updating)

一、gcd lcm 基础中的基础,一般用来处理计算第一步什么的,分数化简之类。 LL gcd(LL a, LL b) { return b ? gcd(b, a % b) : a; } <pre name="code" class="cpp">LL lcm(LL a, LL b){LL c = gcd(a, b);return a / c * b;} 例题:

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

poj 2104 and hdu 2665 划分树模板入门题

题意: 给一个数组n(1e5)个数,给一个范围(fr, to, k),求这个范围中第k大的数。 解析: 划分树入门。 bing神的模板。 坑爹的地方是把-l 看成了-1........ 一直re。 代码: poj 2104: #include <iostream>#include <cstdio>#include <cstdlib>#include <al

hdu 4565 推倒公式+矩阵快速幂

题意 求下式的值: Sn=⌈ (a+b√)n⌉%m S_n = \lceil\ (a + \sqrt{b}) ^ n \rceil\% m 其中: 0<a,m<215 0< a, m < 2^{15} 0<b,n<231 0 < b, n < 2^{31} (a−1)2<b<a2 (a-1)^2< b < a^2 解析 令: An=(a+b√)n A_n = (a +

MySQL-CRUD入门1

文章目录 认识配置文件client节点mysql节点mysqld节点 数据的添加(Create)添加一行数据添加多行数据两种添加数据的效率对比 数据的查询(Retrieve)全列查询指定列查询查询中带有表达式关于字面量关于as重命名 临时表引入distinct去重order by 排序关于NULL 认识配置文件 在我们的MySQL服务安装好了之后, 会有一个配置文件, 也就

v0.dev快速开发

探索v0.dev:次世代开发者之利器 今之技艺日新月异,开发者之工具亦随之进步不辍。v0.dev者,新兴之开发者利器也,迅速引起众多开发者之瞩目。本文将引汝探究v0.dev之基本功能与优势,助汝速速上手,提升开发之效率。 何谓v0.dev? v0.dev者,现代化之开发者工具也,旨在简化并加速软件开发之过程。其集多种功能于一体,助开发者高效编写、测试及部署代码。无论汝为前端开发者、后端开发者

音视频入门基础:WAV专题(10)——FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现

一、引言 从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以打印WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的pts、dts: 打印出来的“pts”实际是AVPacket结构体中的成员变量pts,是以AVStream->time_base为单位的显