Upload
dothu
View
216
Download
0
Embed Size (px)
Citation preview
11Confidential
RealView® Tools for Linux
Philippe Robin, Product Manager
Embedded Software Division
222Confidential
Open Source and Linux Kernel
www.kernel.org
Linux Vendors
Architecture & PlatformsSilicon Partners
etc...
Development Model
333Confidential
ARM Embedded Software Products
Energy Management
Security
Execution Acceleration
Graphics
Intelligent Energy Manager
ARM Software Division develop optimized products and solutions for ARM platforms:
Validated with Linux based platforms
444Confidential
ARM Contributions to Open SourceARM contributes architectural support to Linux kernel and related GNU projects
ARM® architecture and technologiesARMv6, ARMv7 architectureSMP, support for Java acceleration etc.
Promotes standardization initiativesNew 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)
555Confidential
Support for the ARM ArchitectureLinux is used at a very early stage to validate new processors and technology
Used with simulation modelsUsed with FPGAs and test chips as they become available
ARM contributes architectural support to GNU tools (GCC, binuti ls and GDB)
Linux kernel still relies strongly on GCCThe new ABI for ARM architecture provides more flexibility with regard to development tool chains
Interoperability between multiple tool chains (including GCC andRVCT)Re-use of existing application code base Save costly re-writes of existing code
666Confidential
ARM GNU ToolsEnsure that GCC support for ARM architecture tracks the main GCC trunkTrack ARM architecture roll-out
Currently support architectures up to ARMv6Contributing ARMv7 architecture support
Optimization for some popular ARM µ-architecturesIn 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 ARM Architecturei.e. arm-none-linux-gnueabiStable bi-annual releasesARM ABI compliant version of GCC now available
Enable interoperability of objects generated by ABI-compliant compilersReuse of existing code base
777Confidential
ARM GNU ToolsCooperation with CodeSourcery (www.codesourcery.com)
Integrate and release new architectural support into GCC mainline tree
Bi-annual release of pre-built GCC/Glibc
Open discussion forum for specific GCC questions to complement existing public forums
Provide additional support and services for GNU tools
Adoption of the new ABI for the ARM ArchitectureBetter portability of binary codeAllows greater interoperability between proprietary tool chains (RVCT, etc.)http://www.arm.com/products/DevTools/ABI.html
Open access to pre-built GNU binariesFacilitates access to ARM development environmentEnables early adoption of new architectural features
888Confidential
Linux – Debug with GDBGDB support
GDB is a popular open source debugger for LinuxArchitectural support added for new cores
Partly done when adding processor support in binutilsCurrently has support for cores up to ARMv6 architectureCan use RealView ICE as a transport via JTAG
999Confidential
Eclipse IDE for Linux Development
Stationery
Create new C/C ++ p rojects customize d fo r you r ta rget hardw are and OS requi rem ents
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)
Simulators
Fast “C ode -Tr anslati on”simulato rs, ide al fo r applicatio n dev elop ment
Profiling & Analysis
Perspective for vi ewing multi-source pro filing d ata in ord er to ref actor and opti mize
RVD IntegrationPlannedIntegr ation of th e RealView debug ger pr ovides power ful debug cap abilities
GDB over RVI
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
Flash Programming
High-sp eed w riting t o flash memo ry o n the targ et fr om inside th e IDE
SPIRIT Editor
Easily edit ta rget descripti ons th at ca n configu re m any EDA tool -chains
Online UpdateReleasedOur lat est plu g-ins, docum entati on, releas e-notes a nd t utori als ar e available online :
http://www.a rm.c om/e clipse
Development
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 .
User AssistanceIn devel opm entFro 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
LocalizationIn QAエクリプスは多くの言語化で
きます。ARMのプラグインは韓国語化と日本語化できます。
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
*
*
*
*
New Plug-ins
101010Confidential
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 applicationsReal-time trace and profi ling of the Linux kernel
111111Confidential
Quotes
“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 Symbian, which 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 signif icantly reduce image size.”
“With the RealView Development Suite 3.0, our customers can achieve signif icant code size reduction for Linux applications,” said Jim Ready, CEO, MontaVista Software, 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 life for mobile products.”
121212Confidential
RealView Superior Code Generation ToolsGenerate 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 compatibilityThumb-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 compilationAutomatic compression of Read/Write data areas for optimal ROM size
Generate significantly faster executing code than GCCNew compiler optimization engine gives performance improvements of:
Up to 47% faster ARM code than GNU ‡
Up to 42% faster Thumb code than GNU ‡ † with –Ospace option‡ with –Otime option
131313Confidential
Traditional Embedded Linux Development
Build and f lashPrintf debuggingkgdb for modulesgdb for applicationsFilesystem
Serial
Flash
Ethernet
Host
Console
141414Confidential
Traditional Embedded Linux Development
.s f iles
.c f iles
Kernel
.c f iles
Apps and shared libs
gas
gcc
gcc
gld
gld
Kernel binaryapp1
app2lib1
lib2
GDB
GDB
gdbstubgdbserver
Serial / Ethernet
Serial
Target
151515Confidential
Embedded Linux Development with RealViewCompilation
Compile Linux kernel w ith GCCCompile applications libraries w ith compilation tools in RealView Development Suite
Kernel bring-up using debugger in RealView Development Suite
Build kernel and run from RAMSymbolic debug for statically linked modulesVisualization of kernel resourcesTrace kernel and statically loaded objects (drivers/libraries)
Apps debug using GDB and RealView ICEGDB server for application debug over DCCGDB console debugging over DCC
Trace kernel and statically loaded objects
161616Confidential
Build with RealView Tools - Debug via GDB+ICE
.s f iles
.c f iles
Kernel
.c f iles
Apps and shared libs
ABI-gcc
Kernel binaryapp1
app2lib1
lib2
gdbserver
RVCT Compiler
RVI
RVI
ABI-gcc
gdbstubABI-GLD
ABI-GLDor RVDS
linker
ABI-GAS
ABI-GDB
ABI-GDB
171717Confidential
Enhanced Debug Experience- HW DebugRealView ICE - high performance JTAG run control unit
GNU/Linux tools flow interoperabilityCan connect with GDB and KGDBAllows Linux targets to mount host file system via DCC
Faster downloadDownload speeds up to 1.3Mbytes/second
Enhanced connectivityEthernet 10/100 baseT and USB-2 connectivity
Support for multi-core DSP connectionsARM+StarCore, CEVA, Zoran, ZSP, and Proprietary 3rd party CPU bespoke solutions possibleARM homogeneous multi-core systems
181818Confidential
ABI-gcc
Build and Debug with RealView Development Suite
.s f iles
.c f iles
Kernel
.c f iles
Apps and shared libs
ABI-GCC
RVCT Compiler
Kernel binaryapp1
app2lib1
lib2
gdbserver
RVIGLD
ABI-GAS
RVD
RVI RVDRVDS linker
191919Confidential
RealView OS Debug for LinuxFeatures
Support Linux kernel porting and developing device driversAccess to kernel resources, memory...
All changes are color coded so they are clearly seenSupports both single and multi-core Linux applicationsUse Trace/ETM information to track kernel’s execution
BenefitsExtensive control of processor and platform resourcesHelp to find resource bottlenecks and starvationTechnology host resident over JTAG
RealView-ICE download at 1.3Mb/sec
202020Confidential
Code Size and Performance HistoryARM9E™ROM size vs.performance
46 benchmarks48 applications9 Mbytes ROM
212121Confidential
RVDS 3.0 Thumb-2 on ARM1156T2-SRVDS 3.0 Thumb-2 on ARM1156T2-S FPGA, 64K Data cache/ 64K
instruction cache
50%
55%
60%
65%
70%
75%
80%
85%
90%
95%
100%
50%55%60%65%70%75%80%85%90%95%100%
ROM size compared to ARM Otime
Perf
orm
ance
com
pare
d to
AR
M O
time
ARM Oti meThumb- 2 OtimeThumb Oti meARM OspaceThumb- 2 OspaceThumb Ospace
222222Confidential
RVCT EEMBC / DHRY BenchmarksEEMBC per area
RVCT faster than gcc
CPU
120%ARM946E-S 97%ARM1136J-S+VFPv2
DHRYstoneRVCT 3.0 versus GCC 4.1 performance
EEMBC per areaRVCT 3.0 vs GCC 4.1 Performan ce EEMBC
0%
5%
10%
15%
20%
25%
30%
35%
40%
automo tiveMark networkingMark office Mark
% R
VCT
bet
ter t
han
GC
C
.
RVCT 3.0 vs GCC 4.1 Cod eSize EEMBC
48%
50%
52%
54%
56%
58%
60%
Auto mot ive networking office telecom
% R
VCT
bet
ter t
han
GC
C
mpcorearm1136jf-sarm946e-s
mpcorearm1136jf-sarm946e-s
232323Confidential
SummaryARM is…
Delivering optimized GNU tools for ARM via CodeSourceryPromoting interoperability via GNU ARM ABI complianceTargeting its RealView tools for Embedded LinuxProviding OEMs who use Embedded Linux with:
Competitive open source toolsRealView DEVELOP tools that inter-work with GNU and deliver:
Significant performance improvementSignificant cost reductionJTAG debug solution for Linux