SVEN Technology SDK Preview

SVEN Technology SDK Preview

SVEN Technology 1.0 1 Intel® System Studio for Linux* 2014 1. Windows* Host and Linux* Host Support with Eclipse* Integration 2. Support for Intel® Atom™ Processor E3xxx (code-named “Baytrail SoC”) 3. Support for Tizen* IVI 4. Intel® C++ Compiler Improvements • Optimizations for latest Intel processors • improved sysroot and GNU cross-build integration support • Cross-build support for Windows* host and Wind River* Linux* target 5. Extended Intel® VTune™ Amplifier System-Wide Analysis 6. Yocto Project* Compatible 7. Intel® JTAG Debugger support for next generation processors of all sizes$ 8. Graphical installer for both Windows* host and Linux* host $: requires NDA Copyright© 2013, Intel Corporation. All rights reserved. 2 *Other brands and names are the property of their respective owners. Support for Latest Intel Processors & SoCs Silvermont Ivy Bridge Haswell microarchictectur microarchitecture microarchitecture e Intel® JTAG Debugger† – ✔ -- ✔ System Debug Enhanced GDB* Debugger ✔ ✔ ✔ – Application Debug Intel® Inspector – ✔ ✔ ✔ Memory & Thread Memory & Thread Memory & Thread Memory & Thread Analysis Analysis Analysis Analysis Intel® VTune™ Amplifier †† ✔ ✔ ✔ – Power & Performance Hardware Events Hardware Events Hardware Events ® ✔ ✔ ✔ Intel C++ Compiler SSE4.2 SSE, AVX SSE, AVX, AVX2, FMA3 ✔ ✔ ® -- Intel MKL SSE, AVX SSE, AVX, AVX2, FMA3 Intel® IPP ✔ ✔ ✔ † Hardware platform debug coverage added as new processors ship † † Hardware events for new processors added as new processors ship Copyright© 2013, Intel Corporation. All rights reserved. 3 *Other brands and names are the property of their respective owners. Windows* Host Build and Debug Support with Eclipse* Integration Windows* Host Eclipse* integration for SVEN, GDB and Intel® C++ Compiler Copyright© 2013, Intel Corporation. All rights reserved. 4 *Other brands and names are the property of their respective owners. Updated Studio Components Build Major Windows* Eclipse* Tizen* Yocto Intel® Atom™ 4th Gen Intel® Update & Linux* Host Integration Project* 1.4 Processor E3xxx Core™ Processor Intel® C++ Compiler 14.0 P P P P P P P for Embedded OS Linux* Intel® Integrated Performance Primitives P P P P P P 8.0 Update 1 Intel® Math Kernel Library 11.1 P P P P (Intel® 64 only) Analysis Intel® VTune™ Amplifier 2014 for Systems P P P P P P Intel® VTune™ Amplifier Sampling Enabling Product P P P P P P (SEP) 3.10 Update 12 Intel® Inspector 2014 for Systems P P P P P P Debug The GNU* Project Debugger – GDB v7.5 P P P P P P (Provided under GNU Public License v3) Intel® JTAG Debugger 2014 for Linux* P P P P P P Intel® JTAG Debugger notification module xdbntf.ko P P P P P (Provided under GNU Public License v2) SVEN Technology 1.0 P P P P P P (Provided under GNU Public License v2) Copyright© 2013, Intel Corporation. All rights reserved. 5 *Other brands and names are the property of their respective owners. Supported OSs Host: • Red Hat Enterprise* Linux* 5, 6 • Ubuntu* 10.04 LTS, 12.04 LTS, 13.04 • Fedora* 17, 18 • Wind River* Linux* 4, 5 • openSUSE 12.1 • SUSE LINUX Enterprise Server* 11 SP2 • Microsoft* Windows* 7,8 Target: • Yocto Project* 1.3, 1.4, and newer based environment • CE Linux* PR32 based environment • Tizen* IVI 1.0, 2.0 • Wind River* Linux* 4, 5 based environment Copyright© 2013, Intel Corporation. All rights reserved. 6 *Other brands and names are the property of their respective owners. Intel® JTAG Debugger(XDB) System Software Debug Solution IPT Support • EFI/UEFI Firmware Debug • ELF Dwarf / PDB symbol info support • Complex Software Breakpoints • Source File Bookmarks • Memory Layout and Page Table views • Descriptor Table Views (GDT, LDT, IDT) • Linux* OS awareness Kernel Thread Views, Kernel Module Debug • Hardware/Platform register access • Hardware Threads • LBR based Hardware trace capability support • Advanced Scripting • Flash Writer System Software Debug with in-depth register and memory configuration awareness – from Firmware to OS Copyright© 2013, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Debug Firmware and Bootloaders • Debug SEC, PEI, DXE phase EFI debug support • Source level debug for modules in flash, RAM and shadowed mode • Tree view of firmware modules • Automatic load of source files • Step and set breakpoints as in any high level language debugger JTAG assisted firmware and bootloader debug made easy Copyright© 2013, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. 3 What is SVEN ? SVEN = „System Visible Event Nexus“ • Infrastructure for low overhead software event tracing • Based on SW instrumentation using an TX-API – Inserted code to indicate what is happening when • SoC/Platform scope, collects traces for – multiple cores (IA, DSP, ...) – user and kernel code Think of SVEN as the SW analog to an airplane black box recorder 9 Copyright© 2013, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. What is a SVEN event • 32 byte in size • Indicates good or poor health of the module timestamp • Standardized set of events ! mod u typ sub • User defined module or API events p a y l o a d 10 Copyright© 2013, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. What is debug instrumentation? Code inserted to indicate WHAT a component is doing and WHEN I just got a buffer at my input! Whoops, frame DROP! Physical address = 0xCAFEF00D Physical_addr= 0xABADFEED Timestamp =Bad 6006 frame in stream, skipping..Timestamp = 140 Buffer_idClient = Workload57 = SVEN0xC0DED0010 Buffer_id = 13 Timestamp = 3003 Buffer_id = 31 Events PSI Input Viddec Vidpproc Vidrend Demux Audio Display SMD Audio Decode completeCore (ac3) Timestamp = 3003 Buffer_id = 23 Num_samples = 1536 11 Intel Confidential Copyright© 2013, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Software Instrumentation Example static void ipc_message_received( struct HostIPC_Handler *hipc, struct Host_IPC_ReceiveQueue *rcv_q, const struct _IPC_MessageHeader *mh, const char *message, unsigned int message_size ) { struct Host_IPC_QueuedMessage *msg; DEVH_FUNC_ENTER(hipc->devh); /** Queue the message for reading with HostIPC_GetNextInboundMessage() */ DEVH_ASSERT( hipc->devh, (message_size > 0) ); DEVH_ASSERT( hipc->devh, (message_size <= CONFIG_IPC_MESSAGE_MAX_SIZE) ); DEVH_ASSERT( hipc->devh, (mh->ipc_mh_dst_qnum < CONFIG_IPC_HOST_MAX_RX_QUEUES) ); devh_ReadReg32( hipc->devh, CONFIG_IPC_ROFF_DOORBELL_STATUS ); if ( NULL != (msg = HostIPC_GetFreeMessage(hipc)) ) { if ( message_size > CONFIG_IPC_MESSAGE_MAX_SIZE ) message_size = CONFIG_IPC_MESSAGE_MAX_SIZE; msg->mh = *mh; /* copy the header */ memcpy( msg->msg, message, message_size ); /* Add to inbound messages */ OS_LIST_ADD_TAIL( &msg->node, &rcv_q->inbound_msgs ); } else { DEVH_WARN( hipc->devh, "HIPC_RX_OVF" ); } DEVH_FUNC_EXIT(hipc->devh); } Copyright© 2013, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. SVEN Architecture SVEN Intrumented SW modules Transmitters • Tracing infrastructure with a SW device kernel User SVEN TX API: instrumentation API and devh_WriteEvent() devh_ReadReg() visualization tools DEVH_WARN() Sys Debug SVEN TX OS Integration ... • 3 Layer architecture API – Event TX API for user/kernel/firmware code – DRAM based event ring buffer (nexus) – Trace receiving API and tools Debugger System Intel – Multiple trace writers/ multiple readers Event SVEN Structure • Very low event TX overhead – < .5 microseconds on Intel CE HW – Can remain in retail builds • Open and extensible architecture – Well defined event structure Trace – Independent tools development Receivers: Visualisation – Split between TX and receivers Trace File Storage Scripting Remote or DUT analsyis tools Low overhead Event Trace infrastructure for SoC SW event tracing 13 Copyright© 2013, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. SVEN SDK • Easy adaptable SVEN device side SW stack • Source code distribution (no binary components) • SVEN kernel module • User mode tools like the csven trace console • Build system – Works on any Linux distribution with kernel module build environment – Basically just “make && sudo make install” needed for setup • C/C++ Headers and libraries for doing SW instrumentation • Documentation for installing and adapting to own needs • Intel Internal version for Linux available via git http://wiki.ith.intel.com/display/SVEN/Accessing+the+SVEN+SDK+using+git The SDK contains everything for SVEN enabling of a Linux platform and for starting with instrumenting code 14 Copyright© 2013, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. SVEN Tools Environment Trace configuration File (htuple) SVEN SDK CSVEN recorded enabled Trace Data file Linux System Trace Visualisation Layout Trace Data in Trace BBR format Data (BlackBoxRec SVEN Breakpoint order) triggering USB Trace visualisation Upload of SVEN trace data from memory via JTAG XDB JTAG Debugger 15 Copyright© 2013, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. SVEN Debug Tools Trace Visualization Framework • Embeddable into JTAG Debugger and Eclipse Timeline view with SVEN SW events and • Advanced navigation and search capabilities OMAR waveforms • Graphical

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    24 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us