
MULTI for DaVinci Workshop Joe Fabbre [email protected] Agenda 1 • Begin install of MULTI tools • Intro to Green Hills Software • INTEGRITY RTOS • MULTI IDE for DaVinci • Why to choose GHS for DaVinci – INTEGRITY –MULTI • Lab: Building a BIOS project for the TI simulator • Demo: BIOS on the DV-EVM • Lab: Building a stand-alone ARM application for the GHS ARM simulator • Demo: Simultaneous dual-core debug on the DV-EVM • Break Agenda 2 • Lab: TimeMachine • Demo: Linux kernel awareness on the DV-EVM – How to rebuild the Linux kernel for MULTI – Freeze mode kernel debug – Linux Kernel Awareness (OSA) – Linux Run Mode debug • Fork debugging – Debugging kernel modules Green Hills Software, Inc. GHS provides embedded software development solutions to produce the most reliable products, with the highest quality, in the shortest time • 25 years in embedded software industry – Averaging 30% per year – Profitable each year in business – Privately held • Largest RTOS market share growth three years in a row • #2 in total RTOS revenue worldwide in only five years • 35 offices worldwide (20 U.S. FAEs, 15 ROTW) Green Hills Software: Overview Worldwide, single-source leader with total software development solutions and services for embedded systems – Royalty Free Real-Time Operating System for systems that require total reliability, including full memory protection, POSIX.1 conformance, and the highest levels of safety, reliability and security, to systems needing small, fast and simple-to-use capabilities. – Optimizing C/C++/MISRA C/Ada Compilers for many microprocessors for the fastest, smallest code. – MULTI Integrated Development Environment including the C/C++/MISRA C/Ada Source-Level Debugger, Event and Performance Analyzer, Memory Leak Detector and other code quality features for building the most reliable applications in the shortest time. – Hardware Probes for the industry’s fastest download time to your embedded targets optionally connecting up to 1GB of trace data to make sure you don’t miss anything running on your targets. – Custom Engineering and Services providing, for example, porting services to selected RTOS, custom BSPs, device drivers, middleware integration and validation, feasibility studies rapid prototyping and more. Green Hills RTOS Solutions • Royalty-free, innovative and proven deterministic real-time operating system that includes support for processors MMU • Mature technology – shipping for 7+ years • Designed for products demanding robust reliability and security • Ecosystem shared with velOSity – 100% common API with velOSity – Shares services and middleware support with velOSity – Shares tools integration and debug features support with velOSity The Green Hills RTOS Pedigree Green Hills is dedicated to continued development and availability of the most reliable and secure Royalty-Free RTOS products in the industry. INTEGRITY and velOSity • The embedded industry’s leading reliable, scalable and open RTOS solution • Commercially available since 1997 INTEGRITY-178B • FAA DO-178B Level A certification for safety-critical applications in commercial and military avionics • Customer certifications achieved since 2002 INTEGRITY-MLS • Common Criteria EAL 6+ certification to the Separation Kernel Protection Profile (SKPP) for high-security applications in government and financial markets • In progress – expected completion in 2006 INTEGRITY-61508 • IEC 61508 SIL 3 certification for industrial automation & control, automotive industries INTEGRITY-MED • Customized package for medical device industry type I to III certifications INTEGRITY Middleware • File Systems – Formats • DOS/FAT, Unix/Linux compatible FFS, CD-ROM, DVD, PJFS – Network file systems: NFS and CIFS (Samba) – Device types – IDE/EIDE/ATAPI (hard disk drives, CD-ROM drives, DVD drives) –RAM disk – Flash memory (wear leveling NAND and NOR flash support) – Compact Flash – USB mass storage – M-Systems •USB 2.0 – Host and device stacks •Networking – IPv4/IPv6 – Security protocols: SSH, SSL, IPSec, firewall, VPN plus many more – WiFi: 802.11 a/b/g with WPA/WPA2 • DSP/BIOS Link • 2D and 3D graphics INTEGRITY Performance • INTEGRITY on ARM 920T at 184 MHz – Context switch • Between 2 VAS processes: 1.724 usec • Between 2 KS processes: 1.216 usec – Interrupt handler callback latency • 1.015 usec – These times are deterministic! • Linux on ARM926 at 200 MHz – Context switch is non-deterministic • Varies from ~100 usec to ~350 usec – Source: http://linuxdevices.com/articles/AT2598317046.html MULTI for DaVinci DaVinci Software Architecture A/V process Video thread Audio Video Application Audio codec codec process thread Codec engine Operating Systems INTEGRITY Kernel DSP/BIOS velOSity module u-velOSity DSP/BIOS Link Linux ARM DSP MULTI: Complete Integrated Solution for DaVinci Program Development Target Host System Connection Targets GHS Optimizing MULTI ToolSuite CompilerSuite Ethernet MPserv ICEPick (GHS Probe) or USB C TI DaVinci TIserv Freeze Mode DM644x Misra C Debug Global TI Target PCI/USB XDS560 Optimization Server ICEPick C++ TI DaVinci DM644x EC++ Ethernet LINUXserv Linux TI Optimizing Ethernet CompilerSuite RTserv TI DaVinci DM644x C Debug INDRT TI Info TIserv C64x+ Conver- INTEGRITY sion C++ TI Target TI DaVinci Run Mode DM644xi Server Debug ARM TI C64x+ Simulator Simulator DaVinci C64x+ DSP/BIOS Support • Create and manage a project • Build standard TI DSP/BIOS examples • C64x+ target connection options – Green Hills probe – TI XDS560 probe – TI simulator – BlackHawk XDS560 – Spectrum Digital XDS560 • Advanced MULTI debug features – BIOS kernel awareness (GUI) Freeze Mode Debugging • Uses JTAG for run control of processor cores • When a breakpoint is hit, execution on the entire core is stopped • Good for: – Low-level debugging – Board bring-up – Device driver development – Kernel aware application development • Process-specific breakpoints possible through “hiccup” debugging – When breakpoint is hit, MULTI checks current process context Where Can I Use Freeze Mode? A/V process Video thread Audio Video Application Audio codec codec process thread Codec engine Operating Systems INTEGRITY Kernel DSP/BIOS velOSity module u-velOSity DSP/BIOS Link Linux ARM DSP Simultaneous Dual-Core ARM/C64x+ Freeze Mode Debugging • Loading and debugging images on both cores • Multi-core debug – Individual core instruction stepping – Processor context debugging and viewing (e.g., registers, variables, etc.) • Single instance of MULTI debugger • Kernel aware debugging on all cores – Green Hills Software: INTEGRITY, velOSity and u-velOSity –MontavistaLinux – TI DSP/BIOS Simultaneous Dual-Core Debugging What Does “Kernel Awareness” Mean? • Object Structure Awareness (OSA) – Ability to explore the internal data structures of the operating system •Processes • Semaphores • Message queues • Dynamically loaded kernel modules •Etc. – In-depth look at the current state of the OS • Thread/Task/Process Aware Debugging – Debugger controls system based on thread-level events – Thread-level break points • Stop the system when thread “a” hits a common break point, but not if thread “b” hits the same break point. – Thread-specific variable and register views – Thread-specific call stack and local variables Debugging the Linux Kernel Object Structure Awareness Explorer Object Structure Awareness Explorer (Kernel Modules) Run-Mode Debugging • Uses target resident debug agent (linuxserv or rtserv) to perform run control. • MULTI gains run-control at the individual thread or process level. – Start and stop individual threads while the rest of the system continues to run uninterrupted. – Stop an arbitrary number of threads, controlling each independently. • Not limited to one thread at a time. – Threads can be grouped or managed independently. • Good for application developers who need visibility of interaction between processes and threads. Where Can I Use Run Mode? A/V process Video thread Audio Video Application Audio codec codec process thread Codec engine Operating Systems INTEGRITY Kernel DSP/BIOS velOSity module u-velOSity DSP/BIOS Link Linux ARM DSP Run-Mode Application Debugging (ARM) Low-Level Debugging and Custom Board Bring Up • Connect to hardware and access memory and registers without a program. – Low-intrusion mode disables MULTI’s cache. • Debug and perfect setup scripts with MULTI’s setup script debugger and script creation mechanism. • Create register view windows on the fly for custom devices. • Program flash memory using custom drivers. Register Viewer Advanced Register Visualization • Databook look and feel • Integrated bitfield descriptions • Graphically add new descriptions on the fly • Search for register window Integrated Memory Test Tool Test memory on new hardware with memory test tool. • Address walking • Data walking • Data patterns • CRC computation • Specify access size STL/Container Visualization • Display STL containers as arrays in view windows and when printing. • Customizable for custom- written C or C++ containers. TimeMachine: Revolutionary Debugging • Currently supported on Green Hills operating systems: INTEGRITY, velOSity and u-velOSity. • CodeReplay allows programs to step forward or backward through execution inside the MULTI debugger. • View Functions/Events/Call Stack vs. Time. • Non-intrusive real-time profiling and code coverage information. • EventAnalyzer to visualize RTOS events. • Analyze long-term changes in variables. • Debug virtual address spaces from trace data (INTEGRITY only). CodeReplay Debugger Debug collected trace data as though
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages77 Page
-
File Size-