Presentation Title Here

Download Report

Transcript Presentation Title Here

The ABCs of the BeagleBoard-xM
Gerald Coley
[email protected]
[email protected]
7/16/2015
1
Find the right ARM® Solution for you
32-bit ARM
MCU for
Safety-Critical
Applications
32-bit ARM
Cortex™-M3
MCUs
ARM
Cortex-A8 &
ARM9™ MPUs
TMS570
Stellaris®
Sitara™
ARM
Cortex-R4™
ARM Cortex-M3
Up to 250 DMIPS/
160 MHz
Up to
80 MHz
375MHz to
>1GHz
2 MB Flash,
160 KB RAM
Flash
8 KB to 256 KB
USB, ENET
MAC+PHY CAN,
ADC, PWM, SPI
Connectivity,Security,
Motion Control, HMI,
Industrial Automation
Cache,
RAM, ROM
300MHz to >1Ghz
+Accelerator
Cache
RAM, ROM
USB, CAN, SATA,
SPI, PCIe, EMAC
USB, ENET,
PCIe, SATA, SPI
Industrial automation,
POS & portable
data terminals
$1.00 to $8.00
$5.00 to $25.00
Floating/Fixed Point
Video, Audio, Voice,
Security, Conferencing
$5.00 to $200.00
7/16/2015
C6000™
Integra™
DaVinci™
Digital Media processors
FPU, ECC, Timer/PWM
Co-Proc, 12bit ADCs, CAN,
EMIF, LIN, SPI, Flexray
Transportation, Motor
Control, Certified for use in
safety critical (SIL3) systems
$7.00 to $18.00
MPUs – Microprocessors
ARM Cortex-A8
& ARM9
DSP
DSP+ARM
Development tools
Software support
Comprehensive developer ecosystem
Responsive design support
2
Agenda
• Introduction to BeagleBoard.org
• Meet the Beagles
• BeagleBoard-xM Walkthrough
• Qt Demo
• Working with the Community
• OS and Distro Options
• Questions
7/16/2015
3
What’s in the name…Beagle
• Bring your own peripherals
• Entry-level cost
• ARM Cortex-A8 (superscalar)
• Graphics and/or DSP accelerated
• Linux and open source community
• Environment for innovators
7/16/2015
4
Beagle Community
> 3,200 participants
and growing
Active &
technical
community
Open access to
hardware
documentation
Opportunity
to tinker and
learn
7/16/2015
Personally
affordable
Addressing
open source
community
needs
Wikis, blogs/RSS,
promotion of
community activity
Freedom to
innovate
Multiple OS and
distribution support,
applications
Free
software
5
Why such an active community?

Affordable
Freedom to
tinker at all
levels
Lots of open
starting points
Large and
experienced
community
Open
ecosystem
provides real
options
7/16/2015

$149/179 for same core processing as used in more
expensive, yet popular, commercial products
Focus on open source, open hardware and DIY
 Tens-of-thousands of boards sold exclusively in small quantities
 All design, test, web, etc. materials shared
Teaching tool for high-level OS on embedded

The BeagleBoard community shares








Ubuntu, Debian, Angstrom, Gentoo, WinCE, Symbian, QNX, and many others
Over 150 registered projects on BeagleBoard.org
Part of the Google Summer of Code with 6 on-going projects to improve Linux,
XBMC, and other open source
Average of around 5 articles or blog posts a day
Over 3,200 English-language mailing list subscribers with additional dedicated
mailing lists in Japanese and Portuguese and numerous project oriented mailing
lists in dozens of languages
Hundreds of followers on each of Facebook, Twitter, and LinkedIn
Rich ecosystem using the design materials





Compatible or enhanced system-on-module/computer-on-module designs
 See http://beagleboard.org/resources
Innovative mobile computers (TouchBook)
Radios (BeagleBrick)
Modular rapid prototyping development systems (Bug2.0)
And many add-ons…
6
Open source, do-it-yourself, and pro developers embracing the
BeagleBoard
FFmpeg BeagleBoard Video Wall
•
Firefox
•
Ubuntu 10.04
•
Android
•
Gnome
•
Angstrom Distribution
•
Gentoo
•
WinCE
•
QNX
•
Flash
•
MontaVista MVL6 and Montabello
•
TimeSys LinuxLink
•
RidgeRun SDK
•
ARM DS-5 and ALIP
•
Halcon machine vision
•
BeagleBoard video wall (>1080p video)
•
…
OpenCV
ARM DS-5 for the BeagleBoard
7/16/2015
7
Beagle is Open Source Hardware
• Every component used in the design of the BB is available for purchase
• Schematics are provided in:
– OrCad
– Altium
– PDF
• PCB files are provided in:
– Allegro
– Altium
– Gerber
• Bills of materials are provided in Excel
• Anyone is free to use the design material in their product
7/16/2015
8
Where can I get a Beagle?
• Digi-Key (World-wide)
• Mouser (World-wide)
• IDA Systems (India)
• SparkFun
• Special Computing
• Watterott Electronic (Germany)
• Liquidware
• ..more online soon (Brazil and China)
7/16/2015
9
Meet the Beagles…..
A Tail of Two Beagles
• Original Version Rev C
–
–
–
–
ARM CortexTM-A8 @ 720MHz
Commonly known as the BeagleBoard Rev C
Launched August of 2008
21,000 shipped
• Newest Version -xM
–
–
–
–
7/16/2015
ARM CortexTM-A8 @ 1GHz
Launched August 2010
Ramping production
2,000 shipped to date
10
Fast, low power, flexible expansion Rev C
OMAP3530 Processor
 720MHz Cortex-A8
 NEON+VFPv3
 16KB/16KB L1$
 256KB L2$
 430MHz C64x+ DSP
 32K/32K L1$
 48K L1D
 32K L2
 PowerVR SGX GPU
 64K on-chip RAM
POP Memory
 256MB LPDDR RAM
 256MB NAND flash
7/16/2015
$149
3.1”
Peripheral I/O
 DVI-D video out
 SD/MMC
 S-Video out
 USB 2.0 HS OTG
 I2C, I2S, SPI,
MMC/SD
 JTAG
 Stereo in/out
 Alternate power
 RS-232 serial
USB Powered
 2W maximum consumption
 OMAP is small % of that
 Many adapter options
 Car, wall, battery, solar, …
11
And more…
Other Features
 4 LEDs
 USR0
 USR1
 PMU_STAT
 PWR
 2 buttons
 USER
 RESET
 4 boot sources
 SD/MMC
 NAND flash
 USB
 Serial
7/16/2015
3.1”
Peripheral I/O
 DVI-D video out
 SD/MMC
 S-Video out
 USB HS on-the-go
 I2C, I2S, SPI,
MMC/SD
 JTAG
 Stereo in/out
 Alternate power
 RS-232 serial
12
BeagleBoard–xM
xM means
Extra MHz
and
Extra MB
•
2,000 Dhrystone MIPS performance
with ARM® Cortex™-A8
•
512MB POP memory enabling
– Native builds of Ubuntu and other distros
– More multitasking with complex apps like
Firefox or OpenOffice.org
•
Robust expansion with more direct
connectivity without external hubs;
– On-board Ethernet
– Five USB 2.0 ports
•
USB-powered board via low power
processor integration
$179
7/16/2015
13
13
BeagleBoard-xM details
Laptop-like performance
3.35”**
DM3730 processor
(AM37x-compatibile)
 1GHz superscaler
ARM® Cortex ™-A8
 More than 2,000
Dhrystone MIPS
 Up to 20 Million
polygons per sec
graphics
 512KB L2$
 512MB LPDDR RAM
 HD video capable
C64x+™ DSP core
7/16/2015
DM3730
Desktop-style USB
peripherals and embedded
style expansion
 LCD Expansion
 I2C, I2S, SPI, MMC/SD
Expansion
 DVI-D
 Camera Header
 S-Video
 JTAG
 4-port USB 2.0 Hub
 Stereo Out
 Stereo In
 10/100 Ethernet
 USB 2.0 HS OTG
 Alternate Power
 RS-232 Serial
 microSD Slot
14
BeagleBoard-xM details
• Ships with 4GB uSD card with diagnostic Linux load
– No desktop
• Wiki Diagnostic page
–
–
–
–
7/16/2015
http://code.google.com/p/beagleboard/wiki/BeagleBoardDiagnosticsNext
Diagnostic image (Ships with board)
Full desktop Angstrom demo image
Source code w/Build instructions
15
Use your BeagleBoard like a desktop
SD
USB
Stereo in
Stereo out
Power
DVI-D
7/16/2015
16
16
Take your BeagleBoard anywhere & crank code on
the go
Serial Port
Power
over USB
7/16/2015
17
17
Expand your BeagleBoard
Turn innovations into massproduced products to share
with the world
USRP
USB
Power
SD
16GB
Stereo out
7/16/2015
18
Photo by Philip Balister
18
BeagleBoard-xM Demo
Boot the -xM
•
A short demo walkthrough of the Beagle in action
– Production BeagleBoard-xM version
•
Setup:
–
–
–
–
–
–
Connect the LCD monitor (Projector) using HDMI-to-DVI-D cable
Connect your keyboard and mouse to the board
Insert your SD card (comes inserted from the box)
Connect the power
Watch it boot
Watch the blinking LEDs
7/16/2015
19
19
BeagleBoard-xM Demo
TI Matrix GUI
• Web browser with HTML code served up from the board
• Written in Qt
• Includes ability to launch apps
Show Me
Click 3D Graphics
Click Chameleon
Close window
Select Main
Select Exit
7/16/2015
20
BeagleBoard-xM Demo
Gnome Desktop
• Just one of the desktop options as part of the Angstrom
Distribution
• Menu bar at top gives list of installed programs
• Add other applications using ‘opkg’
Show Me Applications
Click Applications
Scroll down the Menu
Close window
7/16/2015
21
BeagleBoard-xM Demo
System Monitor
• Monitors the system performance
• Displays CPU loading
Show Me System Monitor
Select Applications
Select System Tools
Select System Monitor
Select Resources Tab
7/16/2015
22
BeagleBoard-xM Demo
Frequency Scaling
• Monitors the system performance
• Gnome Media Player
Show Me Freq Scaling
Select 1GHz Icon
Select 600MHz
Select 600 MHz Icon
Select 1GHz
Close window all windows
7/16/2015
23
BeagleBoard-xM Demo
GNOME MPlayer
• GNOME Multimedia player
• Comes standard in Desktop Image
• Big Buck Bunny is an open source project from the Peach Open Movie
Project.
Show Me GNOME MPlayer
Select BigBuck Icon
7/16/2015
24
The Linux command-line
• There is a shortcut on the desktop to open a terminal
• Can also use an external debug port over the serial port
Show Me Terminal
Select Applications
Select Terminal
7/16/2015
25
GUI building with Qt
Qt C++ framework is just one option for creating graphical applications, but it
is fast, flexible, cross-platform and well-supported by an open source
community
Thanks to Gregg Lebovitz of ICS
7/16/2015
26
Qt architecture
7/16/2015
27
Qt Creator
http://qt.nokia.com
•
Integrated development environment
– Runs on Windows, Mac, or Linux
– Designer for your GUIs
– C++ editor and debugger
•
Build your GUI on your PC, then move it over to the BeagleBoard to
add I/O, etc.
– Angstrom Linux
distribution has
the compiler and
libraries ready
to build Qt apps
natively on your
BeagleBoard
7/16/2015
28
Qt Demos
•
Descriptions not compiled in here
•
Lots of different GUI tools
•
Many other programming tools, like networking, IPC, 3D, database,
…
Show Me Qt
Select Applications
Select Terminal
Type qtdemo
Select Graphics View
Select Ported Asteroids
Select Launch
Close and select Back
Select Desktop
Select Screenshot
Select Launch
Close all windows
7/16/2015
29
Working With The Community
Order of resources
1.
Search beagleboard.org, eLinux.org, the mailing list archive, and IRC logs
2.
Read and search BBSRM_latest.pdf
3.
Check the http://beagleboard.org/faq link
4.
Search the web
5.
Try something
•
Gives you some perspective on what to ask
Ask on IRC and be patient/polite
6.
•
Don’t disrupt everyone
Mailing list
7.
•
Individual developers will go away if load isn’t shared
•
If you can help, please do!
7/16/2015
30
30
Working With The Community
How to ask for help
http://catb.org/~esr/faqs/smart-questions.html
• Know the on-line resources
• Know the on-line community
• Know the manual
• Listen to the answers
• Share the answers you find
7/16/2015
31
31
Working With The Community
The community perspective
• Earn respect by saying what you’ve done and how you’ve tried to find
an answer
– Where did you search?
– What did you try on the board?
• You aren’t entitled to an answer
– Show that you are willing to work for it and the community will feel you are
a part of it
– Impatience implies that your time is more valuable than others in the
community
7/16/2015
32
32
Working With The Community
Chat, mail, forums, blogs, and wikis!
•
All exist because they all solve different problems
•
Chat allows you to know someone’s listening
http://beagleboard.org/chat or #beagle on irc.freenode.net
– Great for beginner questions and rapid coordination
•
Mail allows you to reach almost anyone
http://groups.google.com/group/beagleboard
– Brings larger group into the conversation
– Provides you with a personal log in your inbox
•
Forums helps get the threads organized
https://community.ti.com/forums/32.aspx (minimal activity to avoid disrupting
•
community critical mass)
Blogs provide emphasis, filtering, and timeliness
http://beagleboard.org/news and http://beagleboard.blogspot.com
•
Wikis enable inputs to become documentation
http://eLinux.org/BeagleBoard and http://code.google.com/p/beagleboard/wiki
7/16/2015
33
Working With The Community
Order of resources Chat on IRC
•
http://webchat.freenode.net
–
–
–
–
–
•
#beagle: discussion of the BeagleBoard
#gst-ti: discussion of GStreamer with TI DSP components
#ubuntu-arm: discussion of Ubuntu on ARM processors
#rowboat: discussion of Android on OMAP & Sitara devices
#linux-omap: discussion of OMAP Linux kernel
IRC clients
– http://beagleboard.org/chat
– http://pidgin.im
– http://www.mirc.com
–
–
7/16/2015
/List_of_IRC_clients
http://www.ircreviews.org/clients
http://en.wikipedia.org/wiki
34
Working With The Community
Baseline tools and software
http://beagleboard.org/resources
7/16/2015
•
Hardware verification procedure (http://beagleboard.org/support)
– GPL x-load, u-boot, Linux kernel, and demo distro for validation
– Code images, procedure, and sources are provided to verify the board
functionality
•
GPL ARM GNU compiler collection (GCC)
– Code Sourcery version 2009q1 is the latest supported by TI
• Runs on Linux/Windows and generates ARMv7/Thumb2
– Angstrom version is utilized in ESC training and demo image on xM
•
Access to C6000 with compilers and open source software
– Free TI C6000 compiler for non-commercial use
• x86-Linux hosted (ARM hosted version in evaluation)
– GPL GCC compiler in progress (http://linux-c6x.org)
– C6Run (DSPEasy) project to simplify development model
– BSD/GPL DSP/Link interface software
•
Free 3D graphics libraries (OpenGLES 2.0)
•
Free production audio/video codecs for the DSP
35
OS and Distro Options
Angstrom and Open Embedded
http://www.angstrom-distribution.org/demo/beagleboard
• Angstrom is what we are running today
• OE = metadata and bitbake = build tool
– Used by RidgeRun, Mentor Graphics, MontaVista, WindRiver, and many
others
– Builds many distributions besides Angstrom
7/16/2015
36
36
OS and Distro Options
Ubuntu
https://wiki.ubuntu.com/ARM/Beagle
• Most popular Linux distribution
• Has support for the BeagleBoard
– Netbook, server, and network installers
• Builds all packages natively
• Boots of the uSD card
7/16/2015
37
OS and Distro Options
Android
http://arowboat.org
• Uses most of the Linux kernel, but own versions of user-space
applications
• Runs applications within a virtual machine
• At least half-a-dozen companies provide commercial support for
Android on the BeagleBoard
• Rowboat is the one endorsed by TI
• 0xdroid (0x1ab) and Embinux are also interesting and free
7/16/2015
38
38
OS and Distro Options
MeeGo
http://wiki.meego.com/ARM/Meego_on_Beagleboard_from_scratch
• The combination of Moblin and Maemo
• Maemo was the first of the two and started on OMAP processors
• Good support on the BeagleBoard with demonstrations directly from
the Linux Foundation
• Initially focused on Internet Tablets and Netbooks
• Very interesting for automotive infotainment
7/16/2015
39
39
OS and Distro Options
Gentoo
https://www.slashorg.net/48-Gentoo-port-for-BeagleBoard.html
• Builds every package from source
• The Linux distribution the BeagleBoard.org web server runs
• Builds ARM applications both natively and cross
7/16/2015
40
40
OS and Distro Options
QNX
http://www.qnx.com/products/reference-design/ti-reference-design.html
• See Foundary27
• Not Linux, but Posix compliant and real-time
• Great for time critical and high reliability applications
7/16/2015
41
41
OS and Distro Options
Symbian
http://developer.symbian.org/wiki/index.php/BeagleBoard_Quick_Start
• Most popular smart phone operating system
• Initial open source release was on the BeagleBoard
7/16/2015
42
42
OS and Distro Options
WinCE
http://beagleboard.org/esc
• Real-time
• Advanced GUI and code tools
• Lots of code libraries available
• Low-cost entry through “Spark”
7/16/2015
43
43
Questions?
Thank you!
• [email protected][email protected]
• http://beagleboard.org/chat
• http://beagleboard.org/discuss
7/16/2015
44