570 likes | 703 Views
ID 310C: Run-Time Visualization on Renesas MCUs. Micriµm. Matt Gordon. Sr. Applications Engineer. 12 October 2010. Version: 1.2. Matt Gordon. Previous Experience Software engineer at Micriµm Developed device drivers and kernel ports
E N D
ID 310C: Run-Time Visualization on Renesas MCUs Micriµm Matt Gordon Sr. Applications Engineer 12 October 2010 Version: 1.2
Matt Gordon • Previous Experience • Software engineer at Micriµm • Developed device drivers and kernel ports • Bachelor’s degree in computer engineering from Georgia Tech • Sr. Applications Engineer • Responsible for demos and example projects • Multiple articles and white papers • Head of Micriµm’s training program 2
Renesas Technology and Solution Portfolio Microcontrollers& Microprocessors#1 Market shareworldwide * SolutionsforInnovation Analog andPower Devices#1 Market sharein low-voltageMOSFET** ASIC, ASSP& MemoryAdvanced 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).
Renesas Technology and Solution Portfolio Microcontrollers& Microprocessors#1 Market shareworldwide * SolutionsforInnovation Analog andPower Devices#1 Market sharein low-voltageMOSFET** ASIC, ASSP& MemoryAdvanced 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). 4
Microcontroller and Microprocessor Line-up • Up to 1200 DMIPS, 45, 65 & 90nm process • Video and audio processing on Linux • Server, Industrial & Automotive Superscalar, MMU, Multimedia • Up to 500 DMIPS, 150 & 90nm process • 600uA/MHz, 1.5 uA standby • Medical, Automotive & Industrial High Performance CPU, Low Power • Up to 165 DMIPS, 90nm process • 500uA/MHz, 2.5 uA standby • Ethernet, CAN, USB, Motor Control, TFT Display High Performance CPU, FPU, DSC • Legacy Cores • Next-generation migration to RX R32C H8S H8SX M16C General Purpose Ultra Low Power Embedded Security • Up to 25 DMIPS, 150nm process • 190 uA/MHz, 0.3uA standby • Application-specific integration • Up to 10 DMIPS, 130nm process • 350 uA/MHz, 1uA standby • Capacitive touch • Up to 25 DMIPS, 180, 90nm process • 1mA/MHz, 100uA standby • Crypto engine, Hardware security 5
Microcontroller and Microprocessor Line-up • Up to 1200 DMIPS, 45, 65 & 90nm process • Video and audio processing on Linux • Server, Industrial & Automotive Superscalar, MMU, Multimedia All Of Them! • Up to 500 DMIPS, 150 & 90nm process • 600uA/MHz, 1.5 uA standby • Medical, Automotive & Industrial High Performance CPU, Low Power • Up to 165 DMIPS, 90nm process • 500uA/MHz, 2.5 uA standby • Ethernet, CAN, USB, Motor Control, TFT Display High Performance CPU, FPU, DSC • Legacy Cores • Next-generation migration to RX R32C H8S H8SX M16C General Purpose Ultra Low Power Embedded Security • Up to 25 DMIPS, 150nm process • 190 uA/MHz, 0.3uA standby • Application-specific integration • Up to 10 DMIPS, 130nm process • 350 uA/MHz, 1uA standby • Capacitive touch • Up to 25 DMIPS, 180, 90nm process • 1mA/MHz, 100uA standby • Crypto engine, Hardware security 6
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
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
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
Introduction 11
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
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
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
LEDs Simple visual indication of an application’s progress Feedback is binary Application code must be instrumented Simple drivers required 16
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
Graphical Displays Feedback can take the form of words or pictures Application code must be instrumented Support code is not trivial 18
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
µ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
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
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
Writing Variables Variables can be written as the target runs Text-based and graphical means of manipulating variables are available 24
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
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
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
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
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
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
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
µ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
Design View Start Button Toolbars Program Options Data screen Workspace Explorer Symbol Browser 34
Configuring Components Each graphical component is configurable What characteristics can be configured varies from component to component 36
µC/Probe Options The Options dialog allows the communication protocol to be specified Each protocol has its own configurable parameters 37
Implementation Overview RS-232, TCP/IP, or USB PC Embedded Target • µ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
Communicating with the Target App_FileSel RS-232, TCP/IP, or USB PC Embedded Target µC/Probe users associate variables with graphical components in the Design View 40
Communicating with the Target (Cont.) Example.out … 0x80004000 App_FileSel … RS-232, TCP/IP, or USB PC Embedded Target The ELF file supplied to µC/Probe as input lists the address of each variable 41
Communicating with the Target (Cont.) Read 0x80004000 RS-232, TCP/IP, or USB PC Embedded Target µC/Probe uses these addresses to formulate read and write requests 42
Communicating with the Target (Cont.) Read 0x80004000 RS-232, TCP/IP, or USB PC Embedded Target The requests are sent to the target in packets 43
Communicating with the Target (Cont.) Value at 0x80004000: 0x00000003 RS-232, TCP/IP, or USB PC Embedded Target µC/Probe updates graphical components based on the target’s responses to the requests 44
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
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
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
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