目录

1. 概念简介

1.1 toolbox的下载

1.2 MCD toolbox描述

1.3 MBD toolbox描述

1.4 MCD工具箱和MBD工具箱的关系

1.5 在线调试工具FreeMaster

2. MBD开发环境搭建

2.1 安装setup.exe

2.2 安装freeMaster

2.3 注册并安装许可证

2.4 设置目标编译器

2.5 为MBD toolbox设置matlab路径

3. MBD开发示例

3.1 认识S32 MBD库

3.2 开发板设置

3.3 Hello world示例

3.4 elf文件简介

4. 附:文档


1. 概念简介

1.1 toolbox的下载

www.nxp.com/mctoolbox (最下面)

注册登录后,可以下载到:

MBDToolboxS32KReleaseV2.0.0.zip

Motor Control Development Toolbox for S32K v1.0.0.zip

1.2 MCD toolbox描述

即:MBD电机控制工具箱

MCD工具箱是一个综合的工具箱集合。它包含了能加速NXP MCUs通过MBD方式来进行应用开发的开发速度的一些工具插件。即是“基于模型的设计(MBD)”开发环境的matlab/simulink的插件。

使用其,可以缩短项目周期。MCD工具箱包含了:

  • simulink集成的-----嵌入式目标支持的NXP MCUs直接原型设计和PIL开发流程。
  • 外设设备接口块和驱动程序
  • 目标优化的数学和运动控制算法在目标MCU上有效执行
  • 精确到Bit级的仿真结果

MCD工具箱,产生启动MCU和运行APP code所需的所有代码。同时支持多个编译器的构建。

特性:

  • 内建的支持,通过RAppID bootloader程序程序,直接下载代码到目标MCU。
  • 适用于电机控制之外的应用
  • 免费许可
  • 内建支持---NXP freeMaster工具

1.3 MBD toolbox描述

NXP基于模型的设计工具箱提供了集成的开发环境和工具链,用于自动配置和生成所有必需的软件 (包括初始化例程和设备驱动程序),以便在NXP MCU上执行复杂应用(例如:电机控制算法、通信协议CAN、SPI、 I2C、UART和基于传感器的应用)。

该工具箱包括NXP MCU的集成Simulink®嵌入式目标、外设设备模块和驱动程序、数学和电机控制库套件以及精确到位的仿真结果,提供面向软件和处理器在环(SIL和PIL)仿真的内部支持,支持快速原型设计、对在Matlab环境下开发的算法验证真实目标。

S32的MBD工具箱主要包含三部分(三种simulink 库):

  • Ø S32K14X blocks
  • Ø S32K14X 汽车数学(automotive math)和电机控制(motor control)
  • Ø S32K14X示例

1.4 MCD工具箱和MBD工具箱的关系

MBD toolbox是开发中具体使用的库及示例

MCD toolbox是方便开发的一些插件集合,看名字和电机控制关系更大

1.5 在线调试工具FreeMaster

一款实时的调试、监控、数据可视化的界面工具。

可参阅网络分析文章:

http://bbs.elecfans.com/jishu_470451_1_1.html

FreeMaster作为图像化的在线调试工具,具有友好的界面和实用的性能,不仅支持简单的串口SCI调试,而且最新版更是开始支持BDM(HC08/HCS08/HC12/HCS12/HCS12x)、JTAG(针对56F800系列DSC)、USB、CAN、Ethernet等在线调试(CAN和Ethernet需要在付费版本里才有,不过前几种已经够用了)。

MCD工具包安装后,会有freeMaster的文件夹,安装见下面开发环境搭建章节。

开发者选项中,会出现freeMaster2.0运行程序和user manual

FreeMaster的一些特点:

(1)图形化调试环境;

(2)支持RS232通信接口和其他如BDM、JTAG、CAN接口等等;

(3)实时跟踪嵌入式C中的变量;

(4)虚拟话的示波器窗口实时显示跟踪变量(其跟踪速率受你选用的通信接口的波特率所限);

(5)通过目标板上的记录区(Recorder)快速读取数据;

(6)内置支持标准数据类型(包括整型,浮点,位等);

(7)支持Active X 接口支持VBScript和JScript;

(8)支持Matlab仿真接口;

(9)支持通过以太网远程通信控制(免费版本不支持该功能)。

2. MBD开发环境搭建

对应文档:Model_Based_Design_Toolbox_Quick_Start.pdf

共5步:

  1. 点击下载的exe开始安装
  2. 安装freeMaster
  3. 注册并安装许可证
  4. 设置目标编译器
  5. 为MBD toolbox设置matlab路径

2.1 安装setup.exe

点击上面下载的MBD toolbox中的setup.exe安装S32K的MBD开发工具包。

2.2 安装freeMaster

安装好MBD toolbox后,再windows的 “开始---->程序----->Model based...----->安装----->***”

安装下面两部分:

  • FreeMASTER Installer 程序安装
  • FreeMASTER SCI Driver Install 这个SCI驱动安装

2.3 注册并安装许可证

虽然免费,但仍需要安装许可证的,不然编译时,会提示未安装license。

www.nxp.com/mctoolbox

产生key的的步骤:(此部分MCD的help目录下的license安装说明的更好些)

1. 进入下载页面,点击download log

2. 进入download log后,点击License Keys

3.  进一步生成时,需要填写Locating the HOST ID, DISK ID,得到该ID的方法是,matlab命令行中:输入mbd_s32k_hostid, 然后回车,得到该ID。【方法2:DOS命令行方式获取,见MCD文档】

4. 结果填入对应位置,并填写name,应是随意的,目前自己生成时,填的NXP ID号,用途之一是,matlab会显示最后的修改人是“此name”。

5. 点击save all保存生成的license.data到D:\MBDToolbox\mbdtbx_S32K\lic路径(请选择实际的安装路径)

2.4 设置目标编译器

MBD toolbox的目标编译器的使用,是需要配置的。用下面的脚本命令去安装这些环境变量。确保<COMPILER_STRING>_TOOL这个系统环境变量被调用到, 它对应于开发上所安装的具体编译器。该环境变量被定义的值如下所示:

例1:

GCC_S32K_TOOL = C:/NXP/S32DS_ARM_v1.3/Cross_Tools/gcc-arm-none-eabi-4_9

例2:

IAR_TOOL = C:/Program Files (x86)/IAR Systems/Embedded Workbench 7.3

例3:

GHS_TOOL = C:/ghs/multi517

具体盘符,根据自己的实际值填写。 配置后重启matlab,以便让系统环境变量生效。

2.5 为MBD toolbox设置matlab路径

为了让matlab识别到MBD toolbox,需要设置toolbox的具体PATH到matlab的环境变量。这是通过将MATLAB命令行中,将当前目录导航到MBD 的‘D:\MBDToolbox\mbdtbx_S32K’安装目录并运行mbd_s32k_path.m脚本完成的。(基本大概需要运行1~2分钟,提示成功)

3. MBD开发示例

3.1 认识S32 MBD库

三个层次:

  • Ø On-chip 模块及外设示例库
  • Ø 模型、验证和确认 库
  • Ø 应用层 示例库

simulink的库已经可以所引导S32库了,如下图:

新建空白工程,从上述库导入即可。

3.2 开发板设置

3.3 Hello world示例

编译后,生成了test_uart_mbd_rtw文件夹,其中包含了如下所有文件。其中.elf(下一节有对elf的简介),可以用来调试。

3.4 elf文件简介

(本小节摘自网络,时间久远,不在备注,若有异议,请联系移除)

文件的内容:

1. BIN文件是 raw binary 文件,这种文件只包含机器码。

2. ELF文件除了机器码外,还包含其它额外的信息,如段的加载地址,运行地址,重定位表,符号表等。

因此ELF文件的体积比对应的BIN文件要大。

文件的执行:(linux为例)

1. 执行raw binary很简单,只需要将程序加载到其起始地址,就可以执行;

FILE *fp = fopen("vmlinux.bin", "rb");

fread(VMLINUX_START, 1, VMLINUX_SIZE, fp);

((void (*)(void))VMLINUX_START)();

2. 执行ELF程序则需要一个ELF Loader。

现在知道了吧,uboot和Linux kernel启动的时候是没有ELF Loader的

所以烧在flash上的文件只能是raw binary格式的,即镜像文件image

文件的转换:

1. 通过gcc编译出来的是elf文件

2. 通过objcpy可以把elf文件转换为bin文件

4. 附:文档

S32 MBD用户手册,介绍了每个模块,详细,共5.8M, 190页:

D:\NXP\mbd\MBDT-User-Manual-for-S32K.pdf

License的安装:

D:\NXP\mbd\MBDT-License-Installation.pdf

D:\MCToolbox\mctbx_S32K\help\Motor_Control_Toolbox_License_Installation.pdf

入门安装文档,本文基于此文档:

D:\NXP\mbd\MBDT-Quick-Start.pdf

只研究过两天,后续没机会参与模型开发,可惜可惜!

基于S32K的MBD开发环境搭建相关推荐

  1. 基于IDEA的JavaWeb开发环境搭建

    基于IDEA的JavaWeb开发环境搭建 基于IDEA的JavaWeb开发环境搭建 jdk下载安装配置环境变量 下载 安装 配置环境变量 下载安装激活使用IntelliJ IDEA 下载 安装 激活 ...

  2. 【游戏开发】基于VS2017的OpenGL开发环境搭建

    一.简介 最近,马三买了两本有关于"计算机图形学"的书籍,准备在工作之余鼓捣鼓捣图形学和OpenGL编程,提升自己的价值(奔着学完能涨一波工资去的).俗话说得好,"工欲善 ...

  3. 最新基于adt-bundle-windows-x86的android开发环境搭建

    某系统要配套做一个android客户端,来一次android开发环境快速搭建,系统Win7,具体步骤如下: 1.下载jdk:http://www.oracle.com/technetwork/java ...

  4. Android:最新基于adt-bundle-windows-x86的android开发环境搭建

    1.下载jdk:http://www.oracle.com/technetwork/java/javase/downloads/index.html 安装jdk,我的安装目录是C:\Java\jdk1 ...

  5. 基于LINUX下ESP_IDF开发环境搭建安装问题总结

    我的个人博客更多问题:https://blog.hinuohui.com/ 我也是第一次使用LINUX在LINUX下使用交叉编译,也遇到了很多的疑难杂症,我通通总结到本文 ESP_IDF官方参考文档: ...

  6. 【S32K】S32K144入门笔记(1) 从零开始进行开发环境搭建

    0.目录 文章目录 0.目录 1. 起因 2. 开发环境 2.1 软件开发环境选择 2.2 S32DS 2.2.1 下载&安装 2.2.2 Demo工程 2.3 硬件开发板选择 2.3.1 硬 ...

  7. 嵌入式linux配置qt,基于qt的嵌入式Linux开发环境搭建

    摘要:本文主要介绍在PC机上搭建基于QT的嵌入式开发环境,其中很多源文件都是开发板自带,需要相应资料的可以评论留下邮箱地址. 版本:交叉编译工具链:GCC 4.7.3  [gcc-linaro-arm ...

  8. 基于jeesite的cms系统(一):开发环境搭建

    基于jeesite的cms系统系列,是对基于jeesite进行二次开发的博客模块开发过程的总结.涉及入门安装,二次开发,部署等 一.概况: JeeSite 是一个 Java 企业级快速开发平台,基于经 ...

  9. ESP32 ESP-IDF开发环境搭建,Windows下基于ESP-IDF | Cmake | VScode插件的 ESP32 开发环境搭建

      之前的一篇博客 Windows上基于ESP-IDF搭建ESP32开发环境 发布后,深受好评.几个月过去了,乐鑫的esp-idf-tools安装工具发生了较大的变化,VsCode插件的功能也愈加完善 ...

最新文章

  1. 第一章 用户及组的管理
  2. (轉貼) ThinkPad鍵盤設計原理和哲學 (NB) (ThinkPad)
  3. AngularJS $q
  4. [UE4]删除UI:Remove from Parent
  5. oracle 设置忽略关键字,记oracle里continue关键字的陷阱
  6. Javascript学习之创建对象
  7. Hyperledger Fabric教程(8)--byfn.sh分析-script.sh
  8. SQL2005备份如何在SQL2000上还原
  9. 黑马程序员最新版JavaWeb综合案例(前后端完整版)
  10. 唐宇迪学习笔记19:聚类算法——Kmeans
  11. 模电八:集成运算放大器(下)
  12. cim系统(cim系统包含哪些部分)
  13. PayPal支付(Java开发)完整版
  14. python自动化配置路由器_使用Python管理小米路由器
  15. Java 对接 阿里云 的短信服务完成短信的发送与查询
  16. 使用pyfinance进行证券收益分析!金融界的一大帮手!
  17. 人工智能数学基础---定积分5:使用分部积分法计算定积分
  18. named-checkzone命令--Linux命令应用大词典729个命令解读
  19. (转!)利用Keras实现图像分类与颜色分类
  20. python kivy kv模板调用_Python-Kivy:使用另一个类中的函数更改和保留kv文件值

热门文章

  1. 在Excel中从长列​​表中选择多个项目
  2. php开发微信jssdk录音功能,微信 JS-SDK 录音功能开发
  3. python爬虫:爬取百度小姐姐照片
  4. Elastic认证特训营 难点解读04——集群问题排查实战指南
  5. office图标不能正常显示
  6. 家居行业渠道商销售系统线上线下一体化运作,促进产品更新迭代
  7. 基于STM32(HAL库)的水质检测(浑浊度、PH值、温度、手机APP显示、wifi上云)
  8. 这些自媒体平台可以帮你实现大目标
  9. 微软任命 CEO 萨提亚·纳德拉为董事会主席
  10. Office2016的安装进度在 90% 时挂起