ID 310C:Run-Time Visualization on Renesas MCUs Matt Gordon Sr. Applications Engineer Version: 1.2...

Preview:

Citation preview

ID 310C: Run-Time Visualization on Renesas MCUs

Matt Gordon

Sr. Applications Engineer

Version: 1.2

Micriµm

12 October 2010

2

Matt Gordon

Sr. Applications Engineer Responsible for demos and example projects Multiple articles and white papers Head of Micriµm’s training program

2

Previous Experience Software engineer at Micriµm

– Developed device drivers and kernel ports Bachelor’s degree in computer engineering from Georgia Tech

3

Renesas Technology and Solution Portfolio

Microcontrollers& Microprocessors

#1 Market shareworldwide *

Analog andPower Devices#1 Market share

in low-voltageMOSFET**

Solutionsfor

Innovation

Solutionsfor

InnovationASIC, ASSP& Memory

Advanced and proven technologies

* MCU: 31% revenue basis from Gartner "Semiconductor Applications Worldwide Annual Market Share: Database" 25 March 2010

** Power MOSFET: 17.1% on unit basis from Marketing Eye 2009 (17.1% on unit basis).

44

Renesas Technology and Solution Portfolio

Microcontrollers& Microprocessors

#1 Market shareworldwide *

Analog andPower Devices#1 Market share

in low-voltageMOSFET**

ASIC, ASSP& Memory

Advanced and proven technologies

* MCU: 31% revenue basis from Gartner "Semiconductor Applications Worldwide Annual Market Share: Database" 25 March 2010

** Power MOSFET: 17.1% on unit basis from Marketing Eye 2009 (17.1% on unit basis).

Solutionsfor

Innovation

Solutionsfor

Innovation

55

Microcontroller and Microprocessor Line-up

Superscalar, MMU, Multimedia Up to 1200 DMIPS, 45, 65 & 90nm process Video and audio processing on Linux Server, Industrial & Automotive

Up to 500 DMIPS, 150 & 90nm process 600uA/MHz, 1.5 uA standby Medical, Automotive & Industrial

Legacy Cores Next-generation migration to RX

High Performance CPU, FPU, DSC

Embedded Security

Up to 10 DMIPS, 130nm process350 uA/MHz, 1uA standbyCapacitive touch

Up to 25 DMIPS, 150nm process190 uA/MHz, 0.3uA standbyApplication-specific integration

Up to 25 DMIPS, 180, 90nm process 1mA/MHz, 100uA standby Crypto engine, Hardware security

Up to 165 DMIPS, 90nm process 500uA/MHz, 2.5 uA standby Ethernet, CAN, USB, Motor Control, TFT Display

High Performance CPU, Low Power

Ultra Low PowerGeneral Purpose

66

Microcontroller and Microprocessor Line-up

Superscalar, MMU, Multimedia Up to 1200 DMIPS, 45, 65 & 90nm process Video and audio processing on Linux Server, Industrial & Automotive

Up to 500 DMIPS, 150 & 90nm process 600uA/MHz, 1.5 uA standby Medical, Automotive & Industrial

Legacy Cores Next-generation migration to RX

High Performance CPU, FPU, DSC

Embedded Security

Up to 10 DMIPS, 130nm process350 uA/MHz, 1uA standbyCapacitive touch

Up to 25 DMIPS, 150nm process190 uA/MHz, 0.3uA standbyApplication-specific integration

Up to 25 DMIPS, 180, 90nm process 1mA/MHz, 100uA standby Crypto engine, Hardware security

Up to 165 DMIPS, 90nm process 500uA/MHz, 2.5 uA standby Ethernet, CAN, USB, Motor Control, TFT Display

High Performance CPU, Low Power

Ultra Low PowerGeneral Purpose

7

Innovation

7

8

A New Interface to Embedded Systems

Gathering data from a running embedded system can be highly difficult. By making this task easier, Micriµm’s µC/Probe can substantially enhance your development efforts.

8

9

Agenda

Introduction

Seeing Inside Embedded Systems

µC/Probe Features

µC/Probe from the User’s Perspective

How µC/Probe Works

When to Use µC/Probe

µC/Probe Demo

9

10

Key Takeaways

By the end of this session you will…

Be familiar with the capabilities of Micriµm’s µC/Probe

Have a basic understanding of how µC/Probe works

Be prepared to use µC/Probe in your own projects

10

11

Introduction

11

12

Micriµm at a Glance

Founded in 1999 by Jean Labrosse, developer of µC/OS, µC/OS-II, and µC/OS-III

Headquarters in Weston, FL (USA), with a second office in Montréal, QC (Canada)

Mission is to provide high-quality, well-documented software to the embedded community

Micriµm is truly “for the way engineers work” With Micriµm’s products, embedded software developers have a clear time-to-market advantage

12

13

Micriµm’s Software Components

µC/OS-II and µC/OS-III Real-Time Kernels

µC/OS-MMU and µC/OS-MPU

Kernel add-ons

µC/FS File system module

µC/GUI Graphical software for embedded

systems

µC/TCP-IP Highly dependable TCP/IP stack

13

14

Micriµm’s Software Components (Cont.)

µC/USB Device and µC/USB Host

Versatile USB stacks

µC/CAN Robust CAN stack

µC/Modbus High-quality implementation of the

Modbus protocol

µC/FL Easy-to-use bootloader

µC/BuildingBlocks µC/Shell µC/CRC µC/Clk µC/LCD

14

15

Seeing Inside Embedded Systems

16

LEDs

Simple visual indication of an application’s progress

Feedback is binary

Application code must be instrumented

Simple drivers required

16

17

printf()

Detailed information can be displayed

Feedback is in text form

Application code must be instrumented

Performance and memory footprint may be negatively impacted (Heisenberg effect)

17

18

Graphical Displays

Feedback can take the form of words or pictures

Application code must be instrumented

Support code is not trivial

18

19

Debuggers

Typically provide access to variables through a watch window

Variables are displayed as text

Updates occur only at breakpoints

Heisenberg effect is often significant

19

20

µC/Probe

Continuous feedback is provided through a rich graphical interface

Application code does not need to be instrumented

No special hardware needed

Little or no impact on the performance of the target system

20

21

µC/Probe Features

22

Reading Variables

Access to any variable (with the exception of local or automatic variables)

Variables can easily be selected for monitoring via a list

Values can be displayed graphically or as text

22

23

Recording Data

Any variable that can be monitored can also be logged

Data is logged into a simple text file

Speed at which data is logged depends on µC/Probe’s connection to the target

23

24

Writing Variables

Variables can be written as the target runs

Text-based and graphical means of manipulating variables are available

24

25

Graphical Interface

µC/Probe can be used to create a custom graphical interface for an embedded system

No programming is necessary

Developers can simply drag and drop components onto data screens

25

26

Non-Intrusive Debugging

µC/Probe gathers data from running embedded systems

Effects on the behavior of application code are minimal

Changes to a user interface created in µC/Probe do not necessitate changes to application code

26

27

Support for Almost Any MCU

µC/Probe was designed to be a universal tool

Micriµm’s customers have used µC/Probe with a wide variety of hardware platforms

CPU architecture is not an issue

27

28

Popular Communication Protocols

µC/Probe can connect to a target via RS-232, USB, or TCP/IP

Device drivers are required on the embedded side

No special debug hardware is needed

28

29

Compatibility with Other Tools

µC/Probe accepts an executable file as input

Any compiler that produces executable files of the ELF format can be used with µC/Probe

In many cases, µC/Probe can be used simultaneously with other tools

29

30

Kernel Awareness

µC/Probe is a perfect match for Micriµm’s newest kernel µC/OS-III

µC/OS-III data screens are provided with µC/Probe

Since it is a universal tool, µC/Probe is not dependent on any kernel

30

31

Free Evaluation

Two evaluation versions of µC/Probe are available from http://micrium.com/page/downloads/windows_probe_trial

Full-featured, 30-day evaluation version 5-symbol evaluation version (no time limit)

The 5-symbol version allows the use of kernel awareness

Free µC/Probe licenses are available to FAEs

31

32

µC/Probe from the User’s Perspective

33

µC/Probe Views

µC/Probe users can switch between two different views

Design View facilitates the development of a user interface Graphical components can be dragged and dropped onto data screens

In Run-Time View, the interface becomes active µC/Probe updates components with values gathered from a running embedded system

33

34

Design View

34

Data screen

Symbol Browser

Workspace Explorer

Program Options

Start Button

Toolbars

35

Graphical Components

35

36

Configuring Components

Each graphical component is configurable

What characteristics can be configured varies from component to component

36

37

µC/Probe Options

The Options dialog allows the communication protocol to be specified

Each protocol has its own configurable parameters

37

38

How µC/Probe Works

39

Implementation Overview

µC/Probe is made up of two components A Windows program that serves as a customizable interface to running embedded systems Embedded code that responds to requests from the Windows program

39

PC Embedded Target

RS-232, TCP/IP, or USB

40

Communicating with the Target

µC/Probe users associate variables with graphical components in the Design View

40

PC Embedded Target

RS-232, TCP/IP, or USB

App_FileSel

41

…0x80004000 App_FileSel

Communicating with the Target (Cont.)

The ELF file supplied to µC/Probe as input lists the address of each variable

41

PC Embedded Target

RS-232, TCP/IP, or USB

Example.out

42

µC/Probe uses these addresses to formulate read and write requests

Communicating with the Target (Cont.)

42

PC Embedded Target

RS-232, TCP/IP, or USB

Read 0x80004000

43

The requests are sent to the target in packets

Communicating with the Target (Cont.)

43

PC Embedded Target

RS-232, TCP/IP, or USB

Read 0x80004000

44

Communicating with the Target (Cont.)

µC/Probe updates graphical components based on the target’s responses to the requests

44

PC Embedded Target

RS-232, TCP/IP, or USB

Value at 0x80004000:0x00000003

45

Target-Resident Code

The target-resident code can be divided into two groups Hardware-independent code Device drivers and protocol stacks

The hardware-independent portion of the target-resident code has a tiny footprint

A few kBytes at the most

The amount of additional code required depends on the communication protocol being used

45

46

Update Rates

The speed at which requests are sent from the PC to the target varies according to communication protocol

Via µC/Probe’s Options dialog, the delay between requests can be adjusted

46

Communication Method

Transmission Speed

RS-232 1,000 symbols/second

TCP/IP 11,000 symbols/second

USB 4,000 symbols/second

47

When to Use µC/Probe

48

Debugging

µC/Probe can be used to supplement a conventional debugger

Especially helpful for detecting stack overflows

Kernel awareness aids in debugging µC/OS-III-based applications

48

49

Demonstrations

µC/Probe facilitates the development of eye-catching presentations

No on-board display hardware is needed for a µC/Probe-based presentation

Presentations are highly portable

49

50

Demonstrations (Cont.)

50

51

In the Field

µC/Probe is not solely a development tool

Technicians can use µC/Probe to gather status information from a product

Product performance is usually not affected by target-resident code

51

52

µC/Probe Demo

53

Questions?

53

54

Innovation

54

5555

Thank You!

Recommended