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