Wind River Optimizing Linux Development Chuck Wissore and

  • Slides: 52
Download presentation
Wind River Optimizing Linux Development Chuck Wissore and Patrick Garvey, September 15, 2005

Wind River Optimizing Linux Development Chuck Wissore and Patrick Garvey, September 15, 2005

Agenda • Introduction to Wind River • HAT/SAT Products • Why Linux? • Linux

Agenda • Introduction to Wind River • HAT/SAT Products • Why Linux? • Linux tools today • Wind River Solution • • Overview Key Features Benefits Value Proposition • Wind River Firmware Tools • Wind River Work Bench 2. 3 • Summary/Questions? © Wind River, 2005 2

Wind River • Founded 1981, IPO 1993 • Market Share Leader • 30% of

Wind River • Founded 1981, IPO 1993 • Market Share Leader • 30% of Commercial Market • 4 x nearest competitor • • • $204 M FY 2004 Revenue 4, 000+ Customers Running in 300+ Million Devices 1, 100+ Employees Worldwide Footprint © Wind River, 2005 3

About Wind River • Vertical market focus • • • Network Infrastructure Aerospace/Defense Automotive

About Wind River • Vertical market focus • • • Network Infrastructure Aerospace/Defense Automotive Digital Consumer Industrial Operating systems Development tools Professional Services Hardware bring-up-tools, JTAG Emulator, and development boards © Wind River, 2005 4

Partners Silicon Operating Systems © Wind River, 2005 Development Boards 5

Partners Silicon Operating Systems © Wind River, 2005 Development Boards 5

Wind River HAT/SAT

Wind River HAT/SAT

Wind River On Chip Debugging Product Overview vision. CLICK Wind River PROBE -100 MHz

Wind River On Chip Debugging Product Overview vision. CLICK Wind River PROBE -100 MHz JTAG Clock - USB 1. x and 2. 0 Compliant - Bus Powered Wind River ICE - Multi-Core - Multi-Session Wind River Workbench Wind River TRACE - 200 MHz TRACE Speed Wind River TRACE - High-speed real-time trace buffer - Filtered Trace - Modular Hardware Design - Graphical user interface - Target versatility - Ability to capture up through: 1 Million lines of code. © Wind River, 2005 7

Wind River Compiler • Market leading C/C++ compiler (DIAB) • Used by silicon vendors

Wind River Compiler • Market leading C/C++ compiler (DIAB) • Used by silicon vendors to demonstrate new processor capabilities • Key Features: • Full-spectrum RTOS support • Configurable for speed, code footprint and other variables • Edison Design Group C++ front-end • ANSI compliant • Additional optimizations on key architectures • PMC-Sierra RM 9000 • Power PC • MIPS © Wind River, 2005 Industry’s most flexible complier solution 8

Architectures Supported Wind River ICE and Wind River Probe • Power. PC • Motorola

Architectures Supported Wind River ICE and Wind River Probe • Power. PC • Motorola • 505, 509, 555, 561, 563, 565 • 603/740/745/750/755 • 821, 823, 850(variants), 860 (variants), 855, 857, 862 • 8240/8241/8245 • 8250/8255/8260/8264/8265/8266 • Cold. Fire • MCF 5202, 5204, 5206 E, 5249, 7272 • MCF 5307, 5307 a • Mcf 5407 • ARM • IBM • • • 403 (variants) 405 (variants) (no 405 ZGPr) 440 GP/GX 603 (variants) 750, 750 CXe, 750 FX • MIPS • 32/64 Alchemy, Broadcom, NEC, PMC-Sierra, Phillips, Toshiba & IDT © Wind River, 2005 • ARM 7 DI, ARM 7 TDMI, TRISCENDA 7 • ARM 9 TDMI • ARM 920 T • ARM 940 T • XScale • IXP 310/321/80200 • PXA 210/250 • IXP 425/2400/2800 9

Reference Design • Wind River provides Hardware Reference Designs that provide our customers with

Reference Design • Wind River provides Hardware Reference Designs that provide our customers with a fully functional platform. © Wind River, 2005 10

Reference Design Architectures Supported ARM • SBCARM 7 Intel XScale • PPMC 80310 •

Reference Design Architectures Supported ARM • SBCARM 7 Intel XScale • PPMC 80310 • SBCPXA 250 MIPS • PPMCMIP 32 • PPMCIDT 334 Expansion Boards • PCI Expansion Unit • PMC/PCI 64 -bit Development System © Wind River, 2005 Power. PC • • • • Motorola Scout PPMC 440 GP PPMC 750/755/7400 PPMC 750 CX – 750 CXE PPMC 750 FX PPMC 8245/8241/8245 PPMC 8260 SBC 405 GP FPGA PMC SBC 555 SBC 7410 SBC 8560/40 SBC 7447/SBC 7457 SBCPOWERQUICC II (MPC 8250/60/65/70/80) • Mdp. PRO 8 xx 11

Why Support Linux? • Wind River is the market leader in commercial RTOS and

Why Support Linux? • Wind River is the market leader in commercial RTOS and embedded tools market space. • Linux is still new to the embedded market space and lacks standard tools and services support. • Wind River recognizes the need for industry leading tools and services support. • Wind River has the ability to leverage it’s embedded market expertise to bring a best of breed solution to the market. © Wind River, 2005 12

Linux Tools Today Limited in feature set and coverage. KGDB - Today User Libraries

Linux Tools Today Limited in feature set and coverage. KGDB - Today User Libraries Dynamic Linked Images Mount File System Optimizations I/O Shared Libraries Boot Configure OS Hardware Bring-up Board Bring-up OS Initialization/ Driver Development Kernel Configuration Applications Application Development Other Application Development Tools © Wind River, 2005 13

Challenges of Linux Development • Most tools require a boot-loader first – • Linux

Challenges of Linux Development • Most tools require a boot-loader first – • Linux relies on a boot-loader for initialization of the Kernel. • Why wait for the boot-loader to start kernel/driver development on your custom hardware? • What tools are available to support my boot-loader development efforts? • Losing control of the KGDB debugger – • If the OS crashes the debugger channel crashes as well. • Understanding what Linux is doing – • How do I know when I am debugging in virtual or physical memory. Target board • Tied to basic debugging techniques • Use of printf • Current tools tied to a specific Linux distribution. • Current tools cannot debug both the application and the kernel without having to run two debug agents. © Wind River, 2005 14

Wind River Solution: Provide the ability to bring-up and debug an operating system, such

Wind River Solution: Provide the ability to bring-up and debug an operating system, such as Linux, that supports virtual memory and memory protection. © Wind River, 2005 15

Wind River’s Solutions to Linux

Wind River’s Solutions to Linux

Wind River’s Linux Tools Coverage User Libraries Mount File System I/O Hardware Bring-up Board

Wind River’s Linux Tools Coverage User Libraries Mount File System I/O Hardware Bring-up Board Bring-up Boot OS Initialization/ Driver Development Dynamic Linked Images Optimizations Shared Libraries Configure OS Kernel Configuration Applications Application Development Wind River’s Workbench & Wind River ICE or Wind River PROBE Provided by INSMOD support in latest vision. CLICK LINUX release © Wind River, 2005 17

Tools For Linux • The development cycle using embedded Linux is no different than

Tools For Linux • The development cycle using embedded Linux is no different than with any other embedded OS. • Technical details vary, but the workflow is the same. Linux Firmware Tools HW Bring-Up Drivers, BSP OS Bring-Up Appl Dev & Debug Optimization & Test Manufacturing Wind River Workbench 2. 3 for Linux © Wind River, 2005 18

Firmware Tools for Linux

Firmware Tools for Linux

Firmware Tools for Linux • Wind River Workbench with WR ICE and WR PROBE

Firmware Tools for Linux • Wind River Workbench with WR ICE and WR PROBE JTAG emulators have been enhanced with Linux awareness. Workbench • Makes it MUCH easier to bring-up Linux on new HW. Ethernet • Can be used with any version of Linux. or LPT Wind River ICE or Wind River PROBE • PPC 405/440 & 824 x/6 x/7 x/8 x MIPS 4 Kc/ec FCS now. • Additional arches rolling out through 4 Q 05. JTAG New Hardware © Wind River, 2005 20

What Are The Benefits? • Can get Linux running before boot loader or BSP

What Are The Benefits? • Can get Linux running before boot loader or BSP written. • Easier to debug drivers/BSP & boot loader if board is “talking to you” • Competing solutions require sequential development (time consuming) • Total system control, even if Linux crashes. • Critical in early stages when stabilizing drivers and BSP • Competing tools crash when the kernel crashes • Eliminates the virtual memory mystery. • Shows where code is in physical and virtual memory. • Competing tools just show virtual. Useless for embedded work. • Can be used with any Linux distribution. © Wind River, 2005 21

The Products Behind The Solution: • Provide customers with reliable development tools for early

The Products Behind The Solution: • Provide customers with reliable development tools for early access to their CPU’s On Chip Debugging capabilities. Development Boards JTAG/BDM Debugger • Professional Services Support • Backed by years of experience in the embedded industry © Wind River, 2005 22

Key Features: • Wind River Boot Line • Hardware Bring-Up without a BSP or

Key Features: • Wind River Boot Line • Hardware Bring-Up without a BSP or Boot Loader. • Wind River Direct Debug: • Kernel and User Level Debugging • Breakpoint Support: • Physical Memory • Virtual Memory • Wind River VMI™ • Identifies when you are debugging in physical or virtual (effective) memory. © Wind River, 2005 23

Key Features: JTAG Capabilities (cont’) • A rich set of commands to debug and

Key Features: JTAG Capabilities (cont’) • A rich set of commands to debug and bring up Linux • • • © Wind River, 2005 “CF MMU ENABLE” “CF BL ENABLE” “CF WSPACE xxxxx yyy” “CF TRPEXE NO” “CF VECTOR ZERO” “MMUA xxxx yyyy zzzz” 24

Key Features: JTAG Capabilities (cont’) • “CF MMU ENABLE” • Turns on Linux MMU

Key Features: JTAG Capabilities (cont’) • “CF MMU ENABLE” • Turns on Linux MMU Support • “CF BL Enable” • Loads the Boot Line Parameters on initialization (“IN”) • “CF WSPACE xxxxx yyy” • Sets the workspace for the boot line parameters. • “CF TRPEXE NO” • Stop monitoring exceptions for runtime speeds. • “CF VECTOR ZERO” • Configure vector table pointer to zero on “IN” • “MMUA xxxx yyyy zzzz” • Automatically biases the link address (xxxx) of the download image, and PC to the RAM address (yyyy), and the mask (zzzz) determines the nibbles bias nibbles. © Wind River, 2005 25

Key Features: Wind River Boot Line The Boot Line Utility allows a user to

Key Features: Wind River Boot Line The Boot Line Utility allows a user to setup the bootline parameters, which are passed to Linux on startup (after the Linux image is downloaded over the JTAG port). • Wind River technology that allows you to create Linux Kernel images and directly download them to the target without using a boot loader © Wind River, 2005 26

Key Features: Wind River Direct Debug • Wind River technology that allows the debugging

Key Features: Wind River Direct Debug • Wind River technology that allows the debugging of the Linux kernel and processes running in User mode without the need for an embedded agent OR kernel instrumentation. • Supports breakpoints in both physical and virtual memory. © Wind River, 2005 27

Key Features: Wind River VMI™ (Virtual Memory Indicator) Virtual Memory Indicators enable the developer

Key Features: Wind River VMI™ (Virtual Memory Indicator) Virtual Memory Indicators enable the developer to identify where the code is executing, virtually and physically. • Wind River technology that gives you full visibility: both virtual and physical memory • Source level debug that lets you know what the OS is doing and where the OS is running © Wind River, 2005 28

Key Features: Wind River VMI™ (cont’) • Clear indication of the MMU translation mode

Key Features: Wind River VMI™ (cont’) • Clear indication of the MMU translation mode AND the actual memory translations. Arrow Points Right: Indicating that MMU is turned off, and we are operating in the Physical Address space with one to one mapping. Arrow Points Right: Indicating that MMU is turned off, but the code is compiled and linked to the virtual address space on the left – useful in finding link errors. Arrow Points Left: Indicating that MMU is turned on, and we are operating in the virtual address space. In this case the PC address is the source linked address: 0 x. C 00089 C 0 While the physical address is 0 x 000089 C 0 © Wind River, 2005 29

Summary: All of your vital information on your desktop Linux Runtime Shell Output Source

Summary: All of your vital information on your desktop Linux Runtime Shell Output Source Code Display Logical to Physical Address Translation © Wind River, 2005 Read/Modify of Virtual Memory 30

Benefits • No target agent (GDB or KGDB) NO MORE INSTRUMENTATION required • System

Benefits • No target agent (GDB or KGDB) NO MORE INSTRUMENTATION required • System Mode debugging even in User Mode COMPLETE CONTROL AT ALL TIMES • Simultaneous debug of Kernel and User application SINGLE TARGET CONNECTION FOR EVERYTHING • Same bring-up tools for Linux, Vx. Works, or your in-house proprietary OS • The same tools can be use not only in NO MORE SWITCHING TOOLS COMMONALITY design, but in testing as well © Wind River, 2005 31

Wind River vision. CLICK Demo

Wind River vision. CLICK Demo

Wind River Workbench 2. 3

Wind River Workbench 2. 3

Wind River Workbench Sni. FF+ Tornado Single. Step vision. PROBE II 1. Mix a

Wind River Workbench Sni. FF+ Tornado Single. Step vision. PROBE II 1. Mix a broad range of proven, best in class, embedded development tool capability 2. Combine in a open, extensible, development environment framework with strong third party support 3. Provide common tools for the most popular processors, hosts, and embedded operating systems Vx. Works® 6. 0 Linux © Wind River, 2005 Wind River Workbench 34

Open and Standard The ECLIPSE Model Eclipse is an open framework and platform for

Open and Standard The ECLIPSE Model Eclipse is an open framework and platform for device development tools that leverages open-source licensing and a community of tool developers 75 Member Organizations 640 + 3 rd Party Plug-Ins © Wind River, 2005 • Eclipse Platform • Tools • Technology • Web Tools Platform • Test and Performance Tools Platform 35

Eclipse Strategic Developer Member • Wind. River Manages a Project • Wind. River Invests

Eclipse Strategic Developer Member • Wind. River Manages a Project • Wind. River Invests millions of dollars every year • Wind. River has 10 dedicated engineers contributing to the Eclipse project © Wind River, 2005 36

Eclipse Plug-In Examples • JDT – Java Development Tools • Py. Dev – Python

Eclipse Plug-In Examples • JDT – Java Development Tools • Py. Dev – Python Development environment • Editors • • Slick. Edit Studio Eclipse. Wiki editor XMLBuddy (XML Editor) JSEditor (Java Script) • Source Code Management • Clear. Case • CVS • Eclipse. UML (visual modeling) • Per Eclipse Openness, You can create custom plug ins © Wind River, 2005 37

Wind River Workbench 2. 0 Wind River Workbench Host Shell Graphical User Interface Eclipse

Wind River Workbench 2. 0 Wind River Workbench Host Shell Graphical User Interface Eclipse Framework Project Editor Build Source Analyzer Compiler Debugger Analysis Data Memory Perform Coverage System Viewer 3 rd Party CM Alternate Editor 3 rd Party Tool Target Agent Connectivity © Wind River, 2005 Linux 38

Wind River Workbench 2. 2 Wind River Workbench Graphical User Interface Host Shell Eclipse

Wind River Workbench 2. 2 Wind River Workbench Graphical User Interface Host Shell Eclipse Framework Project Editor Build Source Analyzer Compiler Debugger Analysis System Viewer Data 3 rd Party CM Alternate Editor Memory Perform 3 rd Party Tool Coverage Target Agent and OCD Connectivity © Wind River, 2005 Vx. Works Simulator Vx. Works Linux Other OS No OS 39

Wind River Workbench 2. 3 Eclipse Framework Graphical User Interface Wind River Linux GNU

Wind River Workbench 2. 3 Eclipse Framework Graphical User Interface Wind River Linux GNU Tool Chain Analysis Project Editor System Viewer 3 rd Party CM Data Source Analyzer Build Compiler Debugger Memory Alternate Editor Perform Coverage 3 rd Party Tool Trace Target Agent and On-Chip Debugger Connectivity Wind River Linux Platforms © Wind River, 2005 Roll-Your-Own Linux Other Commercial Linux Distributions Vx. Works Thread. X Other OS 40

What Are The Benefits? • Total system debug. • Competing tools cannot debug apps

What Are The Benefits? • Total system debug. • Competing tools cannot debug apps & drivers at same time. • Debug & analyze multiple CPUs at the same time. • Understand interactions in a multi-processor system. • Develop & debug on Linux & Vx. Works at same time, same tool suite. • Great for multi-CPU systems that mix both OSs. This is unique. • Firmware development & app development in the same tools suite. © Wind River, 2005 41

Project Facility and Build System • Project System • Wizards and templates accelerate setup

Project Facility and Build System • Project System • Wizards and templates accelerate setup of common project types • Import mechanisms for legacy code project files • Easy project manipulation via drag and drop • Build System • Useful default settings to shorten time-to-build • Build tools and build specs completely graphically configurable via property sheets for advanced customization • File-level build settings, custom link order and multiple build targets for expert setup • Command line build support for scripts and nightly updates • Integration with custom makefiles to support legacy projects © Wind River, 2005 43

Source Analysis • Code and Symbol Browsing • Symbol definition lookup and quick source

Source Analysis • Code and Symbol Browsing • Symbol definition lookup and quick source code navigation to reduce learning curve of unfamiliar code • Problem Solving • Workbench Debugger enhanced with source analysis features solves runtime problems more quickly • Powerful Editor • Code completion, macro expansion and other productivity features • Support for 3 rd party editors via Eclipse plug-ins © Wind River, 2005 44

High Capability Debugging • Multiple Context Wind River Debugger • View, control and debug

High Capability Debugging • Multiple Context Wind River Debugger • View, control and debug multiple: • • task, process, threads and processors concurrently • Rich target agent enablement • Single session Kernel & User mode debug via a single agent • Task mode and system mode debugging © Wind River, 2005 45

Windsh and Kernel Shell • Windsh • A command line shell for monitoring and

Windsh and Kernel Shell • Windsh • A command line shell for monitoring and debugging • Provides gdb command line of Wind River Workbench debugger • Based on the popular Vx. Works shell • Symbolic debug monitor • Work at assembly language level • Tcl scripting capability • Can be seen as the command line version of the debugger • Makes kernel and driver development of Linux as easy as traditional embedded development • Kernel shell • Provide the famous Vx. Works shell into the Linux kernel © Wind River, 2005 46

Workbench Target Connections • • • Wind River ICE Wind River Probe Linux KGDB

Workbench Target Connections • • • Wind River ICE Wind River Probe Linux KGDB Linux User Mode Agent Target Server (WDB Agent) • Linux • Vx. Works • Simulator • Instruction Set • Vx. Works © Wind River, 2005 47

Wind River System Viewer - Superior instrumentation - User and kernel instrumentation - Supports

Wind River System Viewer - Superior instrumentation - User and kernel instrumentation - Supports triggering which LTT does not have More activity occurring around here Easier event log navigation thanks to radar screen *Here showing BSD/OS events © Wind River, 2005 48

File System Creator • Features • GUI based • Easily select the few files

File System Creator • Features • GUI based • Easily select the few files your system needs out of the thousands of files of a Unix like system • Handles special files like link, devices, socket, fifo • Automatically analyses and import static and dynamic shared libraries required by selected system or application binaries • One click filesystem image build - One click bootable image generation • Based on tash restricted shell to prevent trashing host filesystem • There is no way to identify all possible dependencies that exists between all the OS files • a filesystem creation tool should not attempt to solve the entire problem • focus on the most common cases © Wind River, 2005 49

Wind River Workbench 2. 3 Demo

Wind River Workbench 2. 3 Demo

Questions

Questions

Wind River • Thank You!

Wind River • Thank You!

END

END