Using FreeMASTER. to debug, tune, control and sell embedded applications. Michal Hanak. O c t - 2 0 2 0 1 4. External Use



Similar documents
Application Note. Introduction AN2395/D 12/2002. PC Master Software Usage

HVP-KV31F120M Quick Start Guide

Getting Started with Kinetis SDK (KSDK)

SOFTWARE TESTING TRAINING COURSES CONTENTS

Developing Database Business Applications using VB.NET

Quick Start Guide. USB Packet Sniffer/Dongle for Kinetis MKW22D and MKW24D Wireless MCUs USB-KW24D512

Complete Integrated Development Platform Copyright Atmel Corporation

Lab Management, Device Provisioning and Test Automation Software

Solutions using our software products

TWR-KV31F120M Sample Code Guide for IAR Board configuration, software, and development tools Rev.0

Robust Over-the-Air Firmware Updates Using Program Flash Memory Swap on Kinetis Microcontrollers

Quick Start Guide. TWR-MECH Mechatronics Board TOWER SYSTEM

Freescale Semiconductor, I

A Real Time, Object Oriented Fieldbus Management System

Freescale Development Kits IEEE Wireless design made simple. freescale.com/802154

USBSPYDER08 Discovery Kit for Freescale MC9RS08KA, MC9S08QD and MC9S08QG Microcontrollers User s Manual

UART Boot Loader Design on the Kinetis E Series

2. Advance Certificate Course in Information Technology

SimWebLink.NET Remote Control and Monitoring in the Simulink

DCS110 CATVisor COMMANDER

Embedded Component Based Programming with DAVE 3

Company Presentation

EnerVista TM Viewpoint Monitoring v7.10

Frysk The Systems Monitoring and Debugging Tool. Andrew Cagney

CSI Software Development Kit Beginner s Guide Revision: 8/06

INSTRUCTION MANUAL. Campbell Scientific Software Development Kit Beginner s Guide Revision: 9/15. Copyright Campbell Scientific, Inc.

Pcounter Web Report 3.x Installation Guide - v Pcounter Web Report Installation Guide Version 3.4

Microsoft Report Builder 3.0 with SQL 2008R2, SQL 2012 Express and SQL 2012 Course 55005A; 2 Days, Instructor-led

SCADA/HMI MOVICON TRAINING COURSE PROGRAM

CodeWarrior Development Studio for Microcontrollers Version 10.x Profiling and Analysis Tools Users Guide

Web Pages. Static Web Pages SHTML

PMS. Energy management and monitoring software. Installation and operation instructions. BMR trading Horní lán Olomouc Czech Republic

Advanced Web Application Development using Microsoft ASP.NET

USE OF PYTHON AS A SATELLITE OPERATIONS AND TESTING AUTOMATION LANGUAGE

Contents. Introduction. Chapter 1 Some Hot Tips to Get You Started. Chapter 2 Tips on Working with Strings and Arrays..

ORACLE MOBILE SUITE. Complete Mobile Development Solution. Cross Device Solution. Shared Services Infrastructure for Mobility

Portfolio of Products. Integrated Engineering Environment. Overview

Computer Automation Techniques. Arthur Carroll

DESKTOP COMPUTER SKILLS

Internet Information TE Services 5.0. Training Division, NIC New Delhi

14.1. bs^ir^qfkd=obcib`qflk= Ñçê=emI=rkfuI=~åÇ=léÉåsjp=eçëíë

Eddy Integrated Development Environment, LemonIDE for Embedded Software System Development

BarTender Integration Methods. Integrating BarTender s Printing and Design Functionality with Your Custom Application WHITE PAPER

Welch Allyn Connectivity SDK Development

Linux. Reverse Debugging. Target Communication Framework. Nexus. Intel Trace Hub GDB. PIL Simulation CONTENTS

Tutorial for MPLAB Starter Kit for PIC18F

P&E Microcomputer Systems, Inc. P.O. Box 2044, Woburn, MA 01888, USA

Luna Decision Overview. Copyright Hicare Research 2014 All Rights Reserved

MOTEWORKS. Key Features. Overview

Advanced Web Application Development using Microsoft ASP.NET

OPC COMMUNICATION IN REAL TIME

Intellex Platform Security Update Process. Microsoft Security Updates. Version 11-12

Embedded BI made easy

32-bit AVR UC3 Microcontrollers. 32-bit AtmelAVR Application Note. AVR32769: How to Compile the standalone AVR32 Software Framework in AVR32 Studio V2

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

Freescale, the Freescale logo and CodeWarrior are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. Xtrinsic is a trademark of

Microsoft Visual Basic Scripting Edition and Microsoft Windows Script Host Essentials

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

LabVIEW Advanced Programming Techniques

ASP.NET: THE NEW PARADIGM FOR WEB APPLICATION DEVELOPMENT

PCCC PCCC Course Description

Visual Basic Programming. An Introduction

STM32JAVA. Embedded Java Solutions for STM32

How to Import Microsoft Access Databases into FmPro Migrator

Creative Cloud for Web Design

R&S AFQ100A, R&S AFQ100B I/Q Modulation Generator Supplement

Product Overview. Contents

UM1680 User manual. Getting started with STM32F429 Discovery software development tools. Introduction

Development Hints and Best Practices for Using Instrument Drivers

English. Asema.com Portlets Programmers' Manual

Visual Programming of Logic, Motion, and Robotics

Workshop on Android and Applications Development

nc... Freescale Semiconductor, I

Software Development Kit

R&S AFQ100A, R&S AFQ100B I/Q Modulation Generator Supplement

DEVELOP. Choosing a Development Tool. Microsoft Dynamics GP. White Paper

Getting Started with the LabVIEW Mobile Module

International Journal of Advanced Engineering Research and Science (IJAERS) Vol-2, Issue-11, Nov- 2015] ISSN:

Customer Experience. Silicon. Support & Professional Eng. Services. Freescale Provided SW & Solutions

Open Source and Commercial Performance Testing Tools

Choosing a Development Tool

PMS. Energy management and monitoring software. Installation and operation instructions

SCADA Questions and Answers

The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications

Development Hints and Best Practices for Using Instrument Drivers

STLinux Software development environment

Chapter 12 Programming Concepts and Languages

R&S AFQ100A, R&S AFQ100B I/Q Modulation Generator Supplement

COM+ OVERVIEW OF MICROSOFTS COM, DCOM AND COM+ COMPONENT TECHNOLOGIES DCOM - COM+ Peter R. Egli INDIGOO.COM. indigoo.com. 1/20 Rev. 1.

Ways to Use USB in Embedded Systems

CHAPTER 1: CLIENT/SERVER INTEGRATED DEVELOPMENT ENVIRONMENT (C/SIDE)

Reliable Security Solutions

Real Time Development of MC Applications using the PC Master Software Visualization Tool. 1. Introduction. 2. Development of Motor Control.

Quick Start Guide. MRB-KW01 Development Platform Radio Utility Application Demo MODULAR REFERENCE BOARD

DRV8312-C2-KIT How to Run Guide

Fondamenti su strumenti di sviluppo per microcontrollori PIC

Data logger and analysis tools

E-LINK FOR ARM. E-Link User maunal / 46

Pre-tested System-on-Chip Design. Accelerates PLD Development

Transcription:

Using FreeMASTER to debug, tune, control and sell embedded applications. Michal Hanak O c t - 2 0 2 0 1 4 TM External Use

What is FreeMASTER? FreeMASTER as a Real-time Monitor FreeMASTER as a Control GUI FreeMASTER vs. Debugger FreeMASTER Replacing Custom GUI Applications FreeMASTER as a Selling Tool Inside FreeMASTER External Use 1

What is FreeMASTER? Real-time Monitor Graphical Control Panel Demonstration Platform & Selling Tool FOR YOUR EMBEDDED APPLICATION External Use 2

FreeMASTER as a Real-time Monitor of internal variables processes & algorithms application states External Use 3

FreeMASTER as a Real-time Monitor PC Host Connects to an embedded application over unified DLL library SCI, UART USB-CDC - Kinetis, ColdFire V2 CAN - mscan, FlexCAN with PC interface from IXXAT, Vector, NI, Glinker, ZLG JTAG/EOnCE (56F8xxx only) BDM - Kinetis, PowerPC, ColdFire, HCS with Segger, P&E Micro, CMSIS-DAP, isystem,... Any of the above remotely over the IP network MCU Memory Access Enables access to application memory Parses ELF application executable file Parses DWARF debugging information in the ELF file Knows addresses of global and static C-variables Knows variable sizes, structure types, array dimensions etc. Communication DLL Library Connect over UART, USB, CAN or JTAG Direct memory access j-link, CMSIS-DAP or P&E Share any connection over the internet External Use 4

FreeMASTER as a Real-time Monitor Display the variable values in various formats: Text, tabular grid variable name numeric value peak detector number-to-text enumeration Real Time Graph Real-time waveforms up to 8 variables simultaneously in an oscilloscope-like graph High-speed recorded data up to 8 variables in on-board memory transient recorder Variable Watch (one per project block) External Use 5

FreeMASTER as a Real-time Monitor Variable Transformations Value can be transformed to custom units Transformations may reference other variable values Inverse-transformation applied when writing a new value to the variable Ability to protect memory regions (TSA) Describing variables visible to FreeMASTER Declaring variables as read-write to read-only for FreeMASTER - the access is guarded by the embedded-side driver Application Commands Command code and parameters are delivered to an application for arbitrary processing After processed (asynchronously to a command delivery) the command result code is returned to the PC Legacy feature, not used in today s applications (requires target-side driver) External Use 6

FreeMASTER as a Real-time Monitor Anatomy of the main window Main pane: Control page (if not floating) HTML content for block items HTML content for graph items Scope or Recorder Graphs Project Tree: Block folder items (also root item) Scope graph items Recorder graph items Shortcuts Application Commands List of commands to send Variable Stimulus Stimulator tables to run Variable Watch: Variable list assigned to block tree item External Use 7

FreeMASTER as a Real-time Monitor Highlights Access to target variables, symbols and data types Safe access over UART, CAN or USB with target-side driver Transparent access over BDM (no target-side driver needed) Addresses parsed from ELF file or provided by target (TSA) Fine tuning parameters or direct control via variable modifications Scope graphs with real time data in [ms] resolution Recorder visualization transitions close to 10[us] resolution External Use 8

FreeMASTER as a Control GUI rendering HTML-encoded GUI scriptable in JScript or VBScript script access to target memory External Use 9

FreeMASTER as a Control GUI Variable access and modification Manually in the Watch pane Time-tables & stimuli modification Script-based read/write directly from GUI mouse-clicks and keyboard control push buttons and forms sliders, gauges or other ActiveX/HTML5 widgets custom intelligence and control algorithms ActiveX clients external to FreeMASTER Excel or Matlab typical programmable clients FreeMASTER enables HW-in-loop simulations Works over all communication interfaces Communication DLL Library 3 RD Party Tools & IDEs HTML Rendering & JScript ActiveX & Custom Scripting MCU Memory Access Sending Application Commands Traditional control approach Not recommended as it is limited to systems with target-side agents (UART & CAN). Connect over UART, USB, CAN or JTAG Direct memory access j-link, CMSIS-DAP or P&E Share any connection over the internet External Use 10

FreeMASTER as a Control GUI Scripting in FreeMASTER HTML pages are displayed directly in the FreeMASTER window InternetExplorer v10 used as the rendering engine HTML may contain scripts and ActiveX objects FreeMASTER invisible ActiveX object Script accesses the FreeMASTER functionality through this object Variable access Direct memory access Stimulator access Application Commands Recorder Data Symbol and data type information External Use 11

FreeMASTER as a Control GUI Target-in-loop Simulations FreeMASTER invisible ActiveX object is accessible also by external standalone applications Standard C++ or VB applications Excel & Visual Basic for Applications Matlab, Simulink Target-in-loop Simulation Matlab or Simulink engine lets embedded application to perform calculations SFIO toolbox for direct HW-in-loop simulations and algorithm testing External Use 12

FreeMASTER vs. Debugger Write source code Compile Flash code to MCU IAR, KEIL, CW, KDS Debug code Logging data to file Graphs & Visualization limited functionality uc/probe Control Panel FreeMASTER Field-tune parameters (no JTAG) Remote control Plugins & custom communications & scripting External Use 13

FreeMASTER Replacing Custom GUI Applications comparing FreeMASTER with custom GUI approach typical use cases External Use 14

From Custom GUI to FreeMASTER Typical pitfalls of using custom GUI Requires PC Host programming tools and skills Never enough communication interfaces, communication issues over and over again Time to develop a robust PC Host application Deploying GUI to host PC Using custom GUI with modified user application Benefits of FreeMASTER uniform approach application control by variable modification works over UART/CAN but also over non-intrusive BDM one tool used with variety of GUIs GUI easily extended by multimedia content (charts, documentation) local, online or embedded Can be used with user-modified content too. User able to mix our data with his data in common charts. GUI project can be extended by user to cover more functionality External Use 15

From Custom GUI to FreeMASTER Typical custom GUI approach communication driven data collection, custom protocol PC sends request, Target processes and replies with data pro: under full control of developer, may be shielded from the rest of application logic con: communication development just for sake of GUI, typically not used for any other purpose con: migration to different communication media is typically hard con: user modifications of firmware makes the GUI to stop working FreeMASTER approach control by modifying variables use either artificial variables dedicated for GUI control or modify state variables used also by the general application algorithm con: typically requires to change existing applications with custom GUI pro: works over standardized protocol or with BDM direct memory access pro: easy to protect or restrict functionality pro: easy to integrate this approach with additional user modifications to firmware pro: the TSA feature self-describing and automatic board discovery (FreeMASTER 2.0 in 2015) External Use 16

FreeMASTER as a Selling Tool embed multimedia content and online shop links customers may use FreeMASTER to sell their Freescale-based products complimentary use with any Freescale MCU system External Use 17

Inside FreeMASTER how to get maximum out of FreeMASTER linking with other executables reusing communication layer External Use 18

Internal Application Structure Basic FreeMASTER Communication Diagram FreeMASTER Executable ActiveX Interface So-called in-process calls are the simple calls to functions located in dynamically loaded libraries (DLLs). The calls are fast just like if the function would be located inside the executable itself. In-process calls Communication DLL RS232 Plug-ins In-process calls FreeMASTER enables to use custom plug-in modules to implement the communication layer. The plug-ins use Microsoft COM (ActiveX) procedure call standard. Typically the fast inprocess plug-in DLLs are used. RS232 Custom Plug-in DLL SCI Target Board or phy iface Target Board Custom connection (CAN, BDM, JTAG,...) External Use 19

Internal Application Structure FreeMASTER Communication with HTML/JScript Pages FreeMASTER Executable ActiveX Interface Internet Explorer running embedded in FM HTML page JScript or VBScript In-process calls Out-of-process calls (exe-to-exe) Communication DLL RS232 RS232 Plug-ins In-process calls Custom Plug-in DLL Out-of-process calls are also based on Microsoft ActiveX/COM technology. FreeMASTER ActiveX interface exports methods like ReadVariable, WriteVariable this means the user first needs to load a valid FreeMASTER project to define variable context. SCI Target Board or phy iface Target Board Custom connection (CAN, BDM, JTAG,...) External Use 20

Internal Application Structure Internet Explorer Running Separately (no difference) FreeMASTER Executable ActiveX Interface Internet Explorer running separately HTML page JScript or VBScript In-process calls Out-of-process calls (exe-to-exe) Communication DLL RS232 RS232 Plug-ins In-process calls Custom Plug-in DLL Custom connection (CAN, BDM, JTAG,...) It makes no difference if the IE is running inside or outside the FreeMASTER application window. From the data exchange point of view, this is still out-of-process procedure calls. The same approach can be used with other scriptable applications like Matlab, Excel, PERL, or even compiled applications written in C, C++, VB, or the.net languages (see next slide). In any case, the FreeMASTER needs to have a valid project loaded, with variable definitions etc. SCI Target Board or phy iface Target Board External Use 21

Internal Application Structure Excel (or other application) accessing FM ActiveX FreeMASTER Executable ActiveX Interface Microsoft Excel VB macros In-process calls Communication DLL RS232 Plug-ins Out-of-process calls (exe-to-exe) Excel/VBA uses the same ActiveX interface like IE HTML/JScript as shown on previous slide. In-process calls RS232 Custom Plug-in DLL SCI Target Board or phy iface Target Board Custom connection (CAN, BDM, JTAG,...) External Use 22

Internal Application Structure Other Ways to Access Target Microprocessor: C, C++ FreeMASTER Executable ActiveX Interface In-process calls Custom Windows-based C or C++ application capable of direct DLL calls Communication DLL RS232 RS232 SCI Target Board Plug-ins or In-process calls Custom Plug-in DLL phy iface Target Board Custom connection (CAN, BDM, JTAG,...) Any Windows-based application which is capable of direct C-like calls into the DLL may reuse the communication DLL to make use of the FreeMASTER protocol. The DLL exports calls like OpenPort, ClosePort, ReadMemory, WriteMemory, SetupRecorder,... As FreeMASTER is out of the game here, the term variable makes no more sense in this scenario. User application needs to use numeric memory addresses and sizes when accessing the board (see FM protocol for more details) External Use 23

Internal Application Structure Other Ways to Access Target Microprocessor:.NET, C#,... FreeMASTER Executable ActiveX Interface Communication DLL Custom.NET-based application (C#, VB.NET) In-process calls In-process.NET calls FMCOMM.NET DLL RS232 RS232 Plug-ins In-process calls Custom Plug-in DLL Custom connection (CAN, BDM, JTAG,...) For.NET applications, we provide the FMCOMM example DLL project. The FMCOMM provides a.net-compatible wrapper around plain-old C functions in Communication DLL. SCI Target Board or phy iface Target Board External Use 24

Thank you - Questions? 3 RD Party Tools & IDEs HTML Rendering & JScript ActiveX & Custom Scripting MCU Memory Access Communication DLL Library Connect over UART, USB, CAN or JTAG Direct memory access j-link, CMSIS-DAP or P&E Share any connection over the internet External Use 25

www.freescale.com 2014 Freescale Semiconductor, Inc. External Use