Bridging the development gap from ARM Cortex-M to

advertisement
Bridging the Gap
From Cortex™-M to Cortex™-A with StarterWare
Presentation Outline
• Introducing TI Embedded Processing Porfolio
 Sitara Family overview
 AM335x Cortex™-A8 low cost MPU
 Development tools
• Introducing the BeagleBone
 Platform overview
 Expansion options „Capes‟
• From StellarisWare to StarterWare
History
StarterWare Deep Dive
Examples and Development Tools
Flashing and Running Program
• Demonstration
• Performance Optimisations with VFP
2
®
TI ARM investment and innovation
Introduce
ARM
CortexLead
Fixed/
FloatingLicensee A15
Point
based
on
TI
®
Introduced DaVinci™ Two ARM Stellaris®
ARM9
Stellaris
silicon
CortexAcquires
Cortex-R4
processors for
DustDevil SoC
Fury
M4
OMAP™
Luminary
cores
digital video
Class OMAP™
Class TI
OMAP 5
Micro
for
– ARM9™-based SoCs
Licenses
OMAP-L138
automotive
ARM
*TI first licensee for
Cortex-A9
ARM Cortex™- A8
1st single-chip
digital baseband DSP/ARM
multi-core
TI
Licenses
first
ARM
core
1993 1995 2002
DaVinci™
2005
1st multi-core
applications
processor,
ARM9-based
OMAP™
OMAP1510
2006
Stellaris
MCU
TMS570
MCU
2007
2009
2008
Stellaris®
Tempest
Class
2011
2010
TI Licenses
Cortex-A15
DaVinci™
TI
Stellaris®
announces
Sandstorm
1st R4F-based
Introduce ARM
1st ARM
31 new
Class
floating-point,
Cortex-A9
®
Cortex-A8
Stellaris
Newest
DaVinci
dual-core
auto
based
silicon
based silicon
and
solution for
MCU
ARM-based
OMAP™
OMAP™
flexible,
MPUs
OMAP 4
OMAP 3
TMS570F
HD video
MCU
TI has shipped over 6 billion ARM-based products and continues to invest
in a large portfolio of scalable platforms from $1 to >1GHz
* TI licensed in July 2003, but publicly announced Oct 2005.
3
A TI embedded processor to meet your needs
C6000™ High-perf
Multicore DSPs
Digital Signal Processors (DSPs)
ARM®-based MCUs and MPUs
Lower Power Consumption*
Microcontrollers (MCUs)
C2000™ Real-time
MCUs
• 40 MHz - 300 MHz
Stellaris® ARM®
MCUs
• ARM Cortex™ M3 MCUs
• Up to 80 MHz
C5000™ UltraLow Power DSPs
C6000™ High-perf DSPs
• 300 MHz – 1.5 GHz
• C6000 Floating Point DSPs
• OMAPL1x DSP + ARM9 processors
• 1 to 8 CPU Versions
• Fixed & Floating Pt DSP
• Up to 320 GMACS/ 160 GFLOPS
Sitara™ ARM® MPUs
• ARM9 and Cortex-A8™ MPUs
• ARM9 under $5
• Cortex-A8 to 1.5GHz
>70 devices
• Up to 300 MHz
• Start at $1.95
~180 devices
MSP430™ Ultra
Low Power MCUs
• Up to 25 MHz
• Value Line as low as 25¢
• Industry’s most complete embedded
processor portfolio
• One Software Development Environment
across the entire portfolio
• Software and tools to make development
fast, easy and pain-free
~300 devices
Code Composer Studio™ Integrated Development Environment
Higher Performance
* Active power based on performance range for the product family
Migrating from MCU to MPU
Starter
WARE
of the
bridging
Gap
the Gap
Beare
There
pearls
on either
side
Stellaris® ARM®
MCUs
• ARM Cortex™ M3 MCUs
• Up to 80 MHz
~180 devices
Sitara™ ARM® MPUs
• ARM9 and Cortex-A8™ MPUs
• ARM9 under $5
• Cortex-A8 to 1.5GHz
>70 devices
5
Sitara™ offers
Performance
Scalability
• Up to 450MHz ARM9™ to 1.5GHz Cortex™A8 devices
• Industry‟s first widely available Cortex-A8
devices - 2 DMIPS per MHz
• Graphics acceleration up to 27M polygons/s
performance for advanced user interface
• High speed DDR2 and DDR3 memory
performance
• Largest software compatible ARM MCU &
Embedded MPU portfolio
• ARM only to ARM + accelerator functionality
while reusing both SW and HW designs
• Leverage TI‟s extensive portfolio of
embedded ARM devices to maximize your
product‟s changing needs
• Fully pin-for-pin and software compatible
options to scale from ARM only to ARM +
DSP
Connectivity
Strength of Software
• 10/100/1000 Ethernet
• CAN 2.0 and High speed USB interface
• Multiple serial port options per device
• Lowest cost processor with SATA interface
• Flexible LCD controller for up 720p displays
moving to 1080p in future devices
• Industrial peripheral support
• Free and easy access to software
• Low cost development tools with reference
code
• Application specific and advanced
development kits
• Aggressive Linux community, Windows
Embedded CE and RTOS ecosystem of
development partners
• Driver software available for most high-level
operating systems
7
Sitara™ ARM9™ & Cortex™-A8 target markets
Industrial
Automation
• Industrial control and
connectivity interfaces
• Low heat dissipation core (no
fan or heat sink)
• Extended temp range
• 3D graphics accelerator for
building advanced GUI
functions
• Real-time Linux kernel
supported
Data Terminals
• Flexible industrial connectivity
• 3D graphics accelerator for
building advanced GUI
functions
• High performance core for fast
response times
• Power efficient (down to 7mW
standby, 182mW active)
Broad Market
• Broad embedded processing
portfolio to allow for
optimization on performance,
power and cost
• Flexible integrated peripherals
and connectivity options
• Large ARM® ecosystem and
third-party network simplifies
application development
Long Product Lifecycles with Focus on Reliability and Quality
8
9
10
Sitara ARM® Processor Roadmap
Performance + Integration
Cortex-A8
Cortex-A8
AM389x
AM387x
•
•
•
•
•
•
•
•
•
Up to 1.5 GHz
2x GbE, HDMI,
2x PCIe, 2x SATA
2xDDR2 / DDR3
10ku $29 - $31
Up to 1.0 GHz
GbE, HDMI, PCIe, SATA
2xLPDDR1 / DDR2/ DDR3
10ku $22 - $32
3
D
Dual Cortex-A7
3
D
AM2x Next
• More Interface Options
• Increased Security Features
Cortex-A8
Cortex-A9
AM37x
AM4x Next
• 800MHz/1GHz
• LPDDR1
• 10ku $12 - $24
• More Interface Options
• Increased Security Features
3
D
Cortex-A8
Cortex-A7
AM335x
•
•
•
•
Cortex-A8
AM35x
•
•
•
•
600MHz
10/100 Enet, CAN
LPDDR1 / DDR2
10ku $12 - $17
Up to 720 MHz
1G-Enet switch, TSC/ADC
LPDDR1/DDR2/DDR3
10ku $8 - $20
I
C
S
S
AM2x Next
• More Interface Options
• Increased Security Features
• Lower Power
3
D
3
D
ARM9
ICSS
3D
AM18x
•
•
•
•
375/450MHz
I
10/100 Enet, SATA
SDRAM / LPDDR1 /DDR2 C
S
10ku $5 - $8
Production
S
Available Now
|
2012
|
= PRU Industrial Communication Sub System
= 3D Graphics Accelerator
= Recently Announced
Sampling
2013
Development
|
Concept
2014
TI Confidential – NDA Restrictions
11
Migraine free development with TI
Support
Product scalability
Ease of use
Documentation/Sales Collateral
Demos
Developer Network and
community Ecosystem
Sales and Logistics
Business model
Supply chain logistics
Sales channels
Market presence and
reputation
Software
Operating system
Industry standard frameworks
Graphics SDK
Applications
Development community
Silicon
Analog – Power/Signal Chain
Roadmap
Packaging
Quality / Lifecycle
commitments
Hardware Platforms
System collateral
Evaluation hardware
System modules
Low cost boards
Starter kits
Tools
Code Composer Studio (TI IDE)
eXpressDSP™ Data Visualization tool
OS specific tools (Code Sorcery for Linux; Visual Studio for
MS Windows Embedded CE, etc)
Developer Network tools for enhanced debugging
12
13
Introducing the BeagleBone
•
•
•
•
•
•
•
•
•
>700-MHz superscalar ARM
Cortex™-A8
256-MB DDR2 RAM
1-port USB 2.0 host
Integrated 10/100 Ethernet
microSD slot and 2-GB microSD
card with validation and
demonstration image from the
Angstrom Distribution
USB 2.0 flexible device port with
ability to supply power
On-board USB-to-serial/JTAG over
shared USB device port
3.3-V 2 46-pin peripheral with
multiplexed LCD signals and
battery-control expansion headers
Board size: 3.4” 2.1”
Expanding BeagleBones Capabilities
•
BeagleBone Breadboard - A prototyping cape
•
BeagleBone DVI-D Cape - A DVI-D cape
•
BeagleBone LCD3 Cape - A 3.5" touchscreen LCD cape
•
BeagleBone Breakout Cape - A troubleshooting cape
•
BeagleBone LCD7 Cape - A 7" touchscreen LCD cape
Traditional OS with Cortex-A8 / ARM9
• Large memory footprint
• Complex architecture
• Steep learning curve when moving up from MCU
16
Software Development Options
Platform
From
Suitability
Benefits / Focus
SYS/BIOS Industrial SDK
TI
Bare-metal developers
familiar with 32-Bit MCU,
lightweight Real Time OS.
Industrial SDK, Drivers,
Protocols
(Profibus,EtherCAT
etc). CCS 5 Tools
Sitara Starterware
TI
Bare-metal developers
familiar with 16 / 32-Bit
MCU environments
A „No OS‟ solution with
peripheral drivers and
libraries. CCS 5 Tools
Sitara Linux 3.2 SDK or
(Angstrom)
TI
High level OS developers
– Not Real-time!
Open Source. Good for
HMI, Comms, Media.
GPL a consideration
Android (ICS)
TI
High level OS developers
– Not Real-time!
Open Source-but not
Free! Good tools
Windows CE (Compact 7)
TI /
Adeneo
High level OS developers
– a religious choice! Hard
Real-time kernel.
Lots of software support
but not free. No GPL
issues.
QNX Momentics 6.5.0
(Foundry 27)
QNX
POSIX API . A 3rd Party
Commercial RTOS well
suited- NDA
to Restrictions
multicore
TI Confidential
Safety critical certified –
Medical & Military. No
GPL issues.
StellarisWare® - The Starting Point
Development – Stellaris® Cortex-M
• StellarisWare software is an extensive suite of software designed to simplify and speed development
of Stellaris-based microcontroller applications.
• Features:
• StellarisWare software includes source-code
and royalty-free libraries
• Keep all your programming in C/C++,
including ISR‟s and startup code
• The key functional areas are:
• Stellaris Peripheral Driver Library
• Stellaris Graphics Library
• Stellaris USB Library
• Stellaris IQmath Library
• Stellaris IEC 60730 Library
• Includes reference application software
• Stellaris In-System Programming support
• StellarisWare® Software is supported
by all the most popular tools vendors
• Robust: StellarisWare is preprogrammed
into ROM on most Stellaris MCUs
• Part #: SW-LM3S
• Availability: NOW
• Price: Free
18
TI Confidential - NDA Restrictions
StarterWare – Evolved From StellarisWare
• Free bare-bones software suite for ARM9, Cortex-A8 and C6000 DSP
 Also compatible with some RTOS
• Evolved from StellarisWare with compatible library APIs, enabling streamlined
migration from Stellaris MCU to TI MPU
• Full access to and configurability of the following features
 Peripheral driver library
 Graphics library
 Lightweight USB and network stacks
 Code examples
 Application Notes
• Available for Windows and Linux with tool options
 Code Composer Studio
 Keil
 IAR
 GCC
• Supported available through wikis and Tis e2e community
19
StarterWare Components
Uses multiple
peripherals
Show
individual
driver usage
• Simple and
intuitive API
• Interrupt +
EDMA
capability
• Peripheral
drivers
• Interrupt
controller
• Pinmux
• Consistent
with
peripheral
specs
• Similar to
RCSL
Configures PLL,
EMIF and loads
application
StarterWare Package
Peripheral Usage
Examples
Demo Application
Boot / UBL Helper
StarterWare Libraries
Configuration Utility
Graphics Library
EMAC, USB Stacks
System / Device Abstraction Layer
Peripheral Register Layer
Peripheral Hardware
DSP Core
ARM Core
PC application that
generates
configuration code
StarterWare Libraries – Deep Dive
Application
drivers.lib
psc
gpio
i2c
raster
uart
emac
mcasp
…
platform_X.lib
syscfg
pinmux
system.lib
cpu
interrupt
init
cache
exception
startup
grlib.lib
fonts
widget
image
slider
usblib.lib
canvas
checkbox
circle
…
device
hid
cdc
utils.lib
host
msc
bulk
uartStdio
tick
delay
cmdline
Peripheral Hardware
• driver.lib – device abstraction layer APIs for supported peripherals
• platform.lib – board-specific code for configuring peripherals
• system.lib – ARM/DSP core specifics like interrupt controller code
• grlib.lib – graphics library supporting primitives (lines, circles) and UI widgets
• usblib.lib – implements USB stack
• utils.lib – miscellaneous functionality for StarterWare applications
StarterWare Libraries – Deep Dive
Application
drivers.lib
psc
gpio
i2c
raster
uart
emac
mcasp
…
platform_X.lib
syscfg
pinmux
system.lib
cpu
interrupt
init
cache
exception
startup
grlib.lib
fonts
widget
image
slider
Peripheral Hardware
Driver library contents:
– Peripheral configuration, access, and control
• peripheralInit(…)
• peripheralEnable(…) and peripheralDisable()
• peripheralIo(…)
– System control
• peripheralReset(…)
• peripheralClocking(…)
usblib.lib
canvas
checkbox
circle
…
device
hid
cdc
utils.lib
host
msc
bulk
uartStdio
tick
delay
cmdline
StarterWare Libraries – Deep Dive
Application
drivers.lib
psc
gpio
i2c
raster
platform_X.lib
uart
emac
mcasp
…
syscfg
pinmux
system.lib
cpu
interrupt
init
cache
exception
startup
grlib.lib
fonts
widget
image
slider
usblib.lib
canvas
checkbox
circle
…
device
hid
cdc
utils.lib
host
msc
bulk
uartStdio
tick
Peripheral Hardware
Platform library contents:
– Pinmux configuration API
•
•
•
•
Supports EVM (including all example applications)
Peripheral-specific APIs (ex. I2CPinMuxSetup(…))
Complete GPIO muxing not supported
Locks/unlocks the write-protection of the SYSCFG module (i.e. kick registers)
– Signal routing on EVM
• Some pins need to be routed differently based on which peripheral is using them
delay
cmdline
StarterWare Libraries – Deep Dive
Application
drivers.lib
psc
gpio
i2c
raster
uart
emac
mcasp
…
platform_X.lib
syscfg
pinmux
system.lib
cpu
interrupt
init
cache
exception
startup
Peripheral Hardware
System library contents:
– Cache configuration
– ARM and DSP interrupt controller
• Enable/disable interrupts
• Specify user callback functions
– Exception Handler definitions
• Define exception interrupt vector table
– Initialization & Startup Code
• IVT initialization
grlib.lib
fonts
widget
image
slider
usblib.lib
canvas
checkbox
circle
…
device
hid
cdc
utils.lib
host
msc
bulk
uartStdio
tick
delay
cmdline
StarterWare Libraries – Deep Dive
Application
drivers.lib
psc
gpio
i2c
raster
uart
emac
mcasp
…
platform_X.lib
syscfg
pinmux
system.lib
cpu
interrupt
init
cache
exception
startup
grlib.lib
fonts
widget
image
slider
usblib.lib
canvas
checkbox
circle
…
device
hid
cdc
Peripheral Hardware
Graphics library contents:
– Graphics primitives
• Draw individual items such as lines, circles
• Render text
– UI widgets
• Combines one or more graphics primitives to create a UI element
• Application-defined responses to user interaction
utils.lib
host
msc
bulk
uartStdio
tick
delay
cmdline
StarterWare Libraries – Deep Dive
Application
drivers.lib
psc
gpio
i2c
raster
platform_X.lib
uart
emac
mcasp
…
syscfg
pinmux
system.lib
cpu
interrupt
init
cache
exception
startup
grlib.lib
fonts
widget
image
slider
Peripheral Hardware
USB library contents:
– Lightweight USB stack
– Device mode support for the following classes:
•
•
•
•
CDC
HID
MSC (with EDMA support)
Generic bulk
– Host mode support for the following classes:
• HID
• MSC
usblib.lib
canvas
checkbox
circle
…
device
hid
cdc
utils.lib
host
msc
bulk
uartStdio
tick
delay
cmdline
StarterWare Libraries – Deep Dive
Application
drivers.lib
psc
gpio
i2c
raster
uart
emac
mcasp
…
platform_X.lib
syscfg
pinmux
system.lib
cpu
interrupt
init
cache
exception
startup
grlib.lib
fonts
widget
image
slider
usblib.lib
canvas
checkbox
circle
…
Peripheral Hardware
Utils library contents:
–
–
–
–
UART-based STDIO replacement (puts, gets, etc.)
Delay functionality (specified as real time, not just cycles)
Periodic “tick” with user-specified callback function
Command line argument handling
device
hid
cdc
utils.lib
host
msc
bulk
uartStdio
tick
delay
cmdline
StarterWare Libraries – Deep Dive
Application
drivers.lib
psc
gpio
i2c
raster
uart
emac
mcasp
…
platform_X.lib
syscfg
pinmux
system.lib
cpu
interrupt
init
cache
exception
startup
grlib.lib
fonts
widget
image
slider
usblib.lib
canvas
checkbox
circle
…
device
hid
cdc
Peripheral Hardware
Not Shown:
– lwIP
• Third party lightweight networking stack
• Supports DHCP, TCP/IP, UDP, and more
– FatFs
• Third part lightweight filesystem (FAT)
• Used to interface with external memory devices (ex. USB flash drive)
– NAND library
– MMC/SD library
utils.lib
host
msc
bulk
uartStdio
tick
delay
cmdline
StarterWare – Example Applications
• Many example applications including
• ADC, Timers, PWM, GPIO
• Ethernet
• Interrupts, Cache and MMU
• USB
• Device: Mouse, MSC, CDC
• Host: Mouse, MSC
30
StarterWare – Development Tools
• Code Composer Studio (CCS)
• Integrated development environment for TI embedded processors
– Includes debugger, compiler, editor, simulator, OS…
– The IDE is built on the Eclipse open source software framework
– Extended by TI to support device capabilities
• CCSv5 is based on “off the shelf” Eclipse
– Going forward CCS will use unmodified versions of Eclipse
• TI contributes changes directly to the open source community
– Drop in Eclipse plug-ins from other vendors or take TI tools and drop them into an
existing Eclipse environment
– Users can take advantage of all the latest improvements in Eclipse
• Integrate additional tools
• Low cost!
TI Information – Selective Disclosure
JOHN STEVENSON
– OS application development tools (Linux, Android…)
– Code analysis, source control…
StarterWare - Running examples within CCS
StarterWare includes GEL scripts to perform bootloader initialisations and
application loading within your IDE using a JTAG emulator
32
StarterWare - Bootloader Utility
• Acts as bridge between
RBL and application
• Applies same EMIF, PLL
settings as GEL file
• Use host PC tools to
prepare boot image:
– AISgen
– out2rprc
– Serial flash tool (SFH)
• Boot your application
quickly from SPI Flash
RBL loads and
executes
bootloader
Bootloader
applies PLL ,
EMIF settings
SPI Flash Memory
Bootloader AIS
Application Binary
Device Memory
Bootloader
copies code &
data to device
memory
Application
ApplicationCode
Code &
&Data
DataSections
Sections
Bootloader jumps to
application entrypoint
Beagebone Flashing And Booting – SD Card
• Simple two step process
– Prepare SD Card
• The SD card needs to be prepared, by FAT formatting it as follows.
• Choose a SD card and a USB based or similar SD card reader/writer. Plug it to a
Windows host system.
• The converted bootloader binary has to be renamed to "MLO" and the application
binary has to be renamed to "app".
• Run the TI_SDCard_boot_utility_v1_0.exe executable (which is in release
package in the following directory - tools/sd_format/).
– Select the SD Card drive name, location of bootloader file (MLO) and
application image (app) path.
• Safely eject/remove the card from the host, unplug the card reader, remove the
SD card. The SD card is ready for use on the target.
– Booting the BeagleBone
• Insert the SD card into the SD slot
• Connect to the Virtual serial Port on PC (115200, 8, N, 1)
• On power on, the MLO is first detected and copied and executed from the OCMC0
RAM. The MLO then copies the application image (app) from the card to the DDR
and passes the control to the application. On Successful boot, following messages
appear on the serial console.
Beaglebone Boot with StarterWare
ROM
Bootloader
(RBL)
On-chip RAM
Bootloader
StarterWare
Application
On Power-up execution begins from on-chip ROM which:
1. Checks the boot setting (configured by DIP switches)
2. Loads the secondary bootloader from the respective
medium to on-chip RAM
3. Hands over control to the on-chip RAM
The secondary bootloader then:
1. Initialises PLLs
2. Enables Peripheral Clocks
3. Initialises DDR
4. Sets the operating frequency (up to 720 MHz)
5. Loads the application from respective medium to offchip DDR
6. Hands over control to DDR
The StarterWare Application code is then executed from DDR
35
DEMONSTRATION
36
StarterWare - Demonstration
• Import a CCS Project from
the StarterWare Release
package
• Build the CCS Project
• Create the Target
Configuration
• Launch and Debug project
37
Performance optimisation (1) –
Enabling the ARM VFP with Starterware
•
The AM335x Cortex A8 family feature the ARM VFPv3 Vector Floating Point
co-processor:
– Provides a significant performance boost for floating point arithmetic heavy
applications
– This is not enabled by default!
•
Starterware build options, libraries and initialisation code require some simple
changes
– Initialise and enable the VFP and NEON sub-system in init.asm
(..\AM335X_StarterWare_02_00_00_06\system_config\armv7a\cgt\init.asm)
– Insert the following code before Clear_Bss_Section:
; Initialize NEON and VFP
MRC
p15, #0, r3, c1, c0, #2
ORR
r3, r3, #0x00F00000
MCR
p15, #0, r3, c1, c0, #2
; Enable NEON and VFP
MOV
r0, #0x40000000
VMSR FPEXC, r0
VMRS R1, FPSID
; Read CPACR
; Enable access to CP10 and CP11
; Write CPACR
Performance optimisation (2) –
Rebuild Libraries with ARM VFP Support
•
To make use of the VFP the support libraries and your application code all need
to be re-built with the ARMv3 options (check the <project>.cmd build file to
see the library dependencies ) :
– Platform, Drivers, System, Utils
– In the project settings select Runtime support library rtsv7A8_A_le_v3_eabi.lib
and float_support option VFPv3 then Clean and Build all dependent projects
Performance optimisation (2) –
Starterware Benchmark Results
Without VFP Enabled:
/*************
CPU @720 MHz , -O2, -mf5, VFP disabled (default), debug build,
Starterware ****************/
[CortxA8] Dhrystone 2.1 Integer Benchmark:
[CortxA8] ===========================
[CortxA8] Dhrystone Benchmark, Version 2.1 (Language: C)
[CortxA8]
[CortxA8] Program compiled with 'register' attribute
[CortxA8]
[CortxA8] Execution starts, 500000 runs through Dhrystone
[CortxA8] Execution ends
[CortxA8]
[CortxA8] Microseconds for one run through Dhrystone:
38.0
[CortxA8] Dhrystones per Second:
26315.8
[CortxA8]
[CortxA8] Whetstone Floating Point Benchmark:
[CortxA8] =============================
[CortxA8] Loops: 1000, Iterations: 1, Duration: 37 sec.
[CortxA8] C Converted Double Precision Whetstones: 2.7 MIPS
[CortxA8]
[CortxA8] Pi (float) - Performing 100000000 iterations...
[CortxA8] Pi = 3.141383647919 in 349 secs
[CortxA8]
[CortxA8] Pi (double) - Performing 100000000 iterations...
[CortxA8] Pi = 3.141592644576 in 842 secs
[CortxA8] Terminating
[CortxA8]
With VFP Enabled:
/*************
CPU @720 MHz , -O2, -mf5, VFP enabled, debug build, Starterware
****************/
[CortxA8] Dhrystone 2.1 Integer Benchmark:
[CortxA8] ===========================
[CortxA8] Dhrystone Benchmark, Version 2.1 (Language: C)
[CortxA8]
[CortxA8] Program compiled with 'register' attribute
[CortxA8]
[CortxA8] Execution starts, 500000 runs through Dhrystone
[CortxA8] Execution ends
[CortxA8]
[CortxA8] Microseconds for one run through Dhrystone:
38.0
[CortxA8] Dhrystones per Second:
26315.8
[CortxA8]
[CortxA8] Whetstone Floating Point Benchmark:
[CortxA8] =============================
[CortxA8] Loops: 1000, Iterations: 1, Duration: 6 sec.
[CortxA8] C Converted Double Precision Whetstones: 16.7 MIPS
[CortxA8]
[CortxA8] Pi (float) - Performing 100000000 iterations...
[CortxA8] Pi = 3.141383647919 in 9 secs
[CortxA8]
[CortxA8] Pi (double) - Performing 100000000 iterations...
[CortxA8] Pi = 3.141592644576 in 13 secs
[CortxA8] Terminating
[CortxA8]
Result = Full double precision support in less CPU MIPS, lower power consumption
and MUCH faster floating point code than software emulation !
TI Confidential - NDA Restrictions
Appendix – Additional Resources
41
Software Resources
• Code Composer Studio (Free Evaluation)
– http://processors.wiki.ti.com/index.php/Download_CCS
• SYS/BIOS Industrial SDK
– http://www.ti.com/tool/sysbiossdk-ind-sitara
• Sitara™ AM335x Starterware
– http://processors.wiki.ti.com/index.php/StarterWare
• Linux EZ Software Development Kit (EZSDK) for Sitara™ ARM®
Microprocessors
– http://www.ti.com/tool/LINUXEZSDK-SITARA
• BeagleBone Angstrom Linux Distribution
– http://www.angstrom-distribution.org/demo/beaglebone
• Linux Training Resources (Free Electrons)
– http://free-electrons.com/blog/beagle-labs/
• Nacissus (Angstrom) Online Linux Image Builder
– http://www.angstrom-distribution.org/builder/
MSP430Ware
Development – MSP430
• One-stop shop for software and hardware documentation. Collateral includes examples, documentation
(datasheets, user‟s guides, etc.), and drivers (DriverLib, USB software package) to develop applications
on the MSP430.
• Features:
• Collection of MSP430 design resources
• Sleek & intuitive GUI for browsing content
• Automatic filtering of content using a
unique 2-pane view
• Auto-updates through the web
• Features the new MSP430 Driver Library
• Available as a CCS plug-in or
standalone executable
• Part #: (Part of CCS v5.1)
• Availability: NOW
• Price: Free
43
TI Confidential - NDA Restrictions
MSP430Ware, featuring Driver Library
•
Within TI‟s Resource Explorer, the MSP430Ware package includes:
–
–
–
–
•
•
•
Traditional C Code Examples –
Grace Code Examples
–
Data Sheets & User‟s Guides –
Errata
–
Dev kit out of box experience code
Driver Library APIs
Driver Library Code Examples
And more…
Provides an MSP430 solution that complements StellarisWare & ControlSuite
Auto-updates latest versions from the web
Filter content by Device, Development Tool or Software library
Download