RealView Tools for Linux

RealView® Tools for Linux Philippe Robin, Product Manager Embedded Software Division Confi de ntial 1 Open Source and Linux Kernel Development Mo...
Author: Christian Parks
24 downloads 0 Views 507KB Size
RealView® Tools for Linux

Philippe Robin, Product Manager Embedded Software Division

Confi de ntial

1

Open Source and Linux Kernel Development Model Architecture & Platforms Silicon Partners

www.kernel.org

Linux Vendors

etc...

Confi de ntial

2

ARM Embedded Software Products ƒ

ARM Software Division develop optimized products and solutions for ARM platforms: Energy Management

Intelligent Energy Manager

Security

Graphics

Execution Acceleration

ƒ

Validated with Linux based platforms

Confi de ntial

3

ARM Contributions to Open Source ƒ

ARM contributes architectural support to Linux kernel and related GNU projects

ƒ ARM® architecture and technologies ƒ ARMv6, ARMv7 architecture ƒ SMP, support for Java acceleration etc. ƒ Promotes standardization initiatives ƒ New ABI for the ARM architecture

ƒ

Provides early access to technology to promote adoption by the open source community

ƒ Cooperation with ARM Partners and open source community members

ƒ

Promotes active participation and contribution to open source projects

ƒ www.arm.com/linux (pre-built images and early access) ƒ www.linux-arm.org (ARM Linux Wiki) Confi de ntial

4

Support for the ARM Architecture ƒ

Linux is used at a very early stage to validate new processors and technology

ƒ Used with simulation models ƒ Used with FPGAs and test chips as they become available

ƒ

ARM contributes architectural support to GNU tools (GCC, binutils and GDB)

ƒ Linux kernel still relies strongly on GCC ƒ The new ABI for ARM architecture provides more flexibility with regard to development tool chains ƒ Interoperability between multiple tool chains (including GCC and RVCT) ƒ Re-use of existing application code base ƒ Save costly re-writes of existing code

Confi de ntial

5

ARM GNU Tools ƒ Ensure that GCC support for ARM architecture tracks the main GCC trunk ƒ Track ARM architecture roll-out ƒ ƒ

Currently support architectures up to AR Mv6 Contributing AR Mv7 architecture support

ƒ Optimization for some popular ARM µ-architectures ƒ

ƒ In the order of 15%-20% performance gain Create long-term binary compatible releases of the GNU tools for the ARM architecture

ƒ

Create a configuration that complies with the ABI for the AR M Architecture ƒ i.e. arm-none-linux-gnueabi

ƒ Stable bi-annual releases ƒ AR M ABI compliant version of GCC now available ƒ

Enable interoperability of objects generated by ABI-compliant compilers ƒ Reuse of existing code base

Confi de ntial

6

ARM GNU Tools ƒ Cooperation with CodeSourcery (www.codesourcery.com) ƒ ƒ ƒ

Integrate and release new architectural support into GCC mainline tree

ƒ

Provide additional support and services for GNU tools

Bi-annual release of pre-built GCC/Glibc Open discussion forum for specific GCC questions to complement existing public forums

ƒ Adoption of the new ABI for the ARM Architecture ƒ ƒ

ƒ

Better portability of binary code Allows greater interoperability between proprietary tool chains (RVCT, etc.)

ƒ http://www.arm.com/products/DevTools/ABI.html Open access to pre-built GNU binaries

ƒ ƒ

Facilitates access to AR M de velopment environment Enables early adoption of new architectural features

Confi de ntial

7

Linux – Debug with GDB ƒ GDB support ƒ GDB is a popular open source debugger for Linux ƒ Architectural support added for new cores ƒ Partly done when adding processor support in binutils ƒ Currently has support for cores up to ARMv6 architecture ƒ Can use RealView ICE as a transport via JTAG

Confi de ntial

8

Eclipse IDE for Linux Development New Plug-ins Stationery Create new C/C ++ p rojects customize d fo r you r ta rget hardw are and OS requi rem ents

Source Control Check-o ut, sync hro nize, branc h an d me rge proj ects with plug gable supp ort f or content -m anag eme nt systems

Simulators

RVD Integration*

Fast “C ode -Tr anslati on” simulato rs, ide al fo r applicatio n dev elop ment

Planned Integr ation of th e RealView debug ger pr ovides power ful debug cap abilities

Flash Programming* High-sp eed w riting t o flash memo ry o n the targ et fr om inside th e IDE

CodeWarrior Importer Impor t you r Cod eWarri or f or RVDS projects. Wr ap extern al buil d syste ms (such as mak e)

Development

Profiling & Analysis*

GDB over RVI

Perspective for vi ewing multisource pro filing d ata in ord er to ref actor and opti mize

Control y our tar get f rom Eclipse with RVI. Or commu nicate with GDB stu b or GDB serv er over real or simulate d Ether net

Eclipse, the CD T, a nd th e ARM Re alView tools are t her e to help y ou at ever y stag e of t he develop men t cycle. Wh ethe r yo u’re tw eakin g you r com piler s etting s, elimi nating war nings, or just browsin g a la rge code bas e, thes e to ols will lead you st raig ht to t he h eart of th e task, savin g valu able ti me a nd p ermit ting y ou to c once ntra te o n pr oduci ng hig h qu ality software .

SPIRIT Editor* Easily edit ta rget descripti ons th at ca n configu re m any EDA tool chains

Localization

User Assistance

Online Update

In QA エ クリプ スは多くの言語化で きま す。ARMのプ ラグインは 韓国語化と日本語化できま す。

In devel opm ent Fro m the i nitial welc ome screen, and thr ough out t he develop men t pr ocess, samples, tuto rials a nd extensive help docum entati on im prov e th e user ex peri ence

Released Our lat est plu g-ins, docum entati on, releas enotes a nd t utori als ar e available online : http://www.a rm.c om/e clipse

Confi de ntial

9

Why RealView Tools for Linux? ƒ

Save memory and improve performance by compiling apps and shared libraries using RealView Compilation Tools

ƒ ƒ ƒ

JTAG connection for debug (no need for serial/Ethernet port) Debug of kernel, device drivers and applications Real-time trace and profiling of the Linux kernel

Confi de ntial 10

Quotes “With the RealView Development Suite 3.0, our customers can achieve significant code size reduction for Linux applications,” said Jim Ready, CEO, MontaVista Softw are, Inc. “For the OEM, this saves money by allow ing a smaller memory footprint, w hich reduces build cost. For the consumer, this offers longer battery lif e for mobile products.”

“Nokia is pleased to offer Symbian OS OEM developers beneficial integration w ith RealView Development Suite 3.0 compilation tools in the Nokia Carbide.c++ Developer, Professional and OEM Edition tools,” said D’Arcy Salzmann, head of Product Management, Developer Tools, Nokia. “OEMs creating new Symbian OS mobile phones w ill be able to improve system performance and decrease the size of their ROM budgets w ith the higher-performance code produced by the latest compilation tools.”

“ARM has developed RealView Compilation Tools for Sym bian, whic h are exclusively available to Symbian and Symbian partners. Symbian OS is created using RealView Technology. RealView Compilation Tools are developed to deliver the tightest code density to significantly reduce image size.” Confi de ntial 11

RealView Superior Code Generation Tools ƒ

Generate significantly smaller code than GCC

ƒ New RealView code generation tools produce space savings of: † ƒ Up to 23% for ARM code and 33% for Thumb code over GNU while ƒ ƒ ƒ

ƒ

maintaining compatibility ƒ Thumb-2 code as small as Thumb code and up to 18% faster Automatically remove redundant code Optimize code across multiple compilation units with multi-file compilation Automatic compression of Read/Write data areas for optimal ROM size

Generate significantly faster executing code than GCC

ƒ New compiler optimization engine gives performance improvements of: ƒ Up to 47% faster ARM code than GNU ‡ † with –Ospace option ƒ Up to 42% faster Thumb code than GNU ‡ ‡ with –Otime option

Confi de ntial 12

Traditional Embedded Linux Development Serial

ƒBuild and flash ƒPrintf debugging ƒkgdb for modules ƒgdb for applications ƒFilesystem

Flash

Host Ethernet

Console Confi de ntial 13

Traditional Embedded Linux Development Kernel

.c files

gld gcc

gdbstub

gas

Kernel binary

.s files

Target

Serial

GDB

app1

.c files gld

lib1

gcc

gdbserver

app2

Apps and shared libs

Serial / Ethernet

lib2 Confi de ntial 14

GDB

Embedded Linux Development with RealView ƒCompilation ƒCompile Linux kernel w ith GCC ƒCompile applications libraries w ith compilation tools in RealView Development Suite

ƒKernel bring-up using debugger in RealView Development Suite ƒBuild kernel and run from RAM

ƒSymbolic debug for statically linked modules ƒVisualization of kernel resources

ƒTrace kernel and statically loaded objects (drivers/libraries) ƒApps debug using GDB and RealView ICE

ƒGDB server for application debug over DCC ƒGDB console debugging over DCC

ƒTrace kernel and statically loaded objects

Confi de ntial 15

Build with RealView Tools - Debug via GDB+ICE Kernel

ABI-GAS

ABI-gcc

ABI-GDB

RVI

ABI-GDB

app1

RVI

gdbserver

ABI-GLD

gdbstub

.c files

Kernel binary

.s files

Apps and shared libs

app2

.c files

lib2

ABI-gcc

ABI-GLD or RVDS linker

lib1

RVCT Compiler

Confi de ntial 16

Enhanced Debug Experience- HW Debug ƒ

RealView ICE - high performance JTAG run control unit

ƒ GNU/Linux tools flow interoperability ƒ Can connect with GDB and KGDB ƒ Allows Linux targets to mount host file system via DCC ƒ Faster download ƒ Download speeds up to 1.3Mbytes/second ƒ Enhanced connectivity ƒ Ethernet 10/100 baseT and USB-2 connectivity ƒ Support for multi-core DSP connections ƒ ARM+StarCore, CEVA, Zoran, ZSP, and Proprietary 3rd party CPU bespoke solutions possible ƒ ARM homogeneous multi-core systems

Confi de ntial 17

Build and Debug with RealView Development Suite Kernel

ABI-GAS

.c files

GLD ABI-GCC

Kernel binary

.s files

RVD

RVI

RVD

app1

RVI

Apps and shared libs

lib2

ABI-gcc

RVDS linker

lib1

RVCT Compiler

gdbserver

app2

.c files

Confi de ntial 18

RealView OS Debug for Linux ƒ Features ƒ Support Linux kernel porting and developing device drivers ƒ Access to kernel resources, memory... ƒ All changes are color coded so they are clearly seen ƒ Supports both single and multi-core Linux applications ƒ Use Trace/ETM information to track kernel’s execution ƒ Benefits ƒ Extensive control of processor and platform resources ƒ Help to find resource bottlenecks and starvation ƒ Technology host resident over JTAG ƒ RealView-ICE download at 1.3Mb/sec

Confi de ntial 19

Code Size and Performance History AR M9E™ ROM size vs. performance 46 benchmarks 48 applications 9 Mb ytes ROM

Confi de ntial 20

RVDS 3.0 Thumb-2 on ARM1156T2-S RVDS 3 .0 Thum b-2 on ARM1156T2-S FPGA, 64 K Data cache/ 64K instruction cache

Perform ance compar ed to ARM Otime

100% 95% 90% 85%

ARM Oti me

80%

Thumb- 2 Otime

75%

Thumb Oti me ARM Ospace

70%

Thumb- 2 Os pac e Thumb Os pac e

65% 60% 55% 50% 100%

95%

90%

85%

80%

75%

70%

65%

60%

55%

50%

ROM siz e compar ed to ARM Otime

Confi de ntial 21

RVCT EEMBC / DHRY Benchmarks EEMBC per area

EEMBC per area

RVCT 3.0 vs GCC 4.1 Performan ce EEMBC

RVCT 3.0 vs GCC 4.1 Cod eSize EEMBC

40%

60%

30%

58%

25%

20%

mpcore arm1136jf-s arm946e-s

15%

10%

% R VCT better th an GCC

% R VCT better th an GCC

.

35%

56% mpcore 54%

arm1136jf-s arm946e-s

52%

50%

5%

48%

0%

automo tiveMark

networkingMark

Auto mot ive

office Mark

networking

office

telecom

DHRYstone RVCT 3.0 versus GCC 4.1 performance

CPU

RVCT faster than gcc ARM1136J-S+VFPv2 97% ARM946E-S

120% Confi de ntial 22

Summary ƒ ARM is… ƒ Delivering optimized GNU tools for ARM via CodeSourcery ƒ Promoting interoperability via GNU ARM ABI compliance ƒ Targeting its RealView tools for Embedded Linux ƒ Providing OEMs who use Embedded Linux with: ƒ Competitive open source tools ƒ RealView DEVELOP tools that inter-work with GNU and deliver:

ƒ Significant performance improvement ƒ Significant cost reduction ƒ JTAG debug solution for Linux Confi de ntial 23