44
04/25/22 1 The ABCs of the BeagleBoard-xM Gerald Coley [email protected] [email protected]

Abc beagleboard Getting To Know It

Embed Size (px)

DESCRIPTION

Some great general info about the original Beagleboard.

Citation preview

Page 1: Abc beagleboard Getting To Know It

04/11/23 1

The ABCs of the BeagleBoard-xM

Gerald Coley

[email protected]

[email protected]

Page 2: Abc beagleboard Getting To Know It

04/11/23 2

MPUs – Microprocessors

Find the right ARM® Solution for you

32-bit ARMCortex™-M3

MCUs

DSPDSP+ARM

ARM Cortex-A8 &

ARM9™ MPUs

Stellaris®

ARM Cortex-M3

Sitara™

ARM Cortex-A8& ARM9

C6000™

DaVinci™

Digital Media processors

Integra™

Up to 80 MHz

Flash8 KB to 256 KB

USB, ENET MAC+PHY CAN, ADC, PWM, SPI

Connectivity,Security,Motion Control, HMI,Industrial Automation

$1.00 to $8.00

32-bit ARM MCU for

Safety-Critical Applications

TMS570ARM

Cortex-R4™

Up to 250 DMIPS/ 160 MHz

2 MB Flash, 160 KB RAM

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

375MHz to >1GHz

Cache, RAM, ROM

USB, CAN, SATA,SPI, PCIe, EMAC

Industrial automation, POS & portable

data terminals

$5.00 to $25.00

300MHz to >1Ghz +Accelerator

Cache RAM, ROM

USB, ENET, PCIe, SATA, SPI

Floating/Fixed PointVideo, Audio, Voice,

Security, Conferencing $5.00 to $200.00

Comprehensive developer ecosystemS

oftw

are

supp

ort

Developm

ent tools

Responsive design support

Page 3: Abc beagleboard Getting To Know It

04/11/23 3

AgendaAgenda• Introduction to BeagleBoard.org

• Meet the Beagles

• BeagleBoard-xM Walkthrough

• Qt Demo

• Working with the Community

• OS and Distro Options

• Questions

Page 4: Abc beagleboard Getting To Know It

04/11/23 4

What’s in the name…BeagleWhat’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

Page 5: Abc beagleboard Getting To Know It

04/11/23 5

> 3,200 participants and

growing

Open access to hardware

documentation

Wikis, blogs/RSS,

promotion of community

activity

Freesoftware

Freedom to innovate

Personally affordable

Active & technical

community

Opportunity to tinker and learn

Multiple OS and distribution

support, applications

Addressing open source community

needs

Beagle CommunityBeagle Community

Page 6: Abc beagleboard Getting To Know It

04/11/23 6

Why such an active community?Why such an active community? $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 Ubuntu, Debian, Angstrom, Gentoo, WinCE, Symbian, QNX, and

many others

The BeagleBoard community shares 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…

Affordable

Freedom to tinker at all

levelsLots of open

starting pointsLarge and

experienced community

Open ecosystem provides

real options

Page 7: Abc beagleboard Getting To Know It

04/11/23 7

Open source, do-it-yourself, and pro developers embracing the Open source, do-it-yourself, and pro developers embracing the BeagleBoardBeagleBoard

• 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

FFmpeg BeagleBoard Video Wall

ARM DS-5 for the BeagleBoard

Page 8: Abc beagleboard Getting To Know It

04/11/23 8

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

Page 9: Abc beagleboard Getting To Know It

04/11/23 9

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)

Page 10: Abc beagleboard Getting To Know It

04/11/23 10

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– ARM CortexTM-A8 @ 1GHz

– Launched August 2010

– Ramping production

– 2,000 shipped to date

Page 11: Abc beagleboard Getting To Know It

04/11/23 11

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

Fast, low power, flexible expansion Rev CFast, low power, flexible expansion Rev C

3.1”

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 RAMPOP Memory 256MB LPDDR RAM 256MB NAND flash

USB Powered 2W maximum consumption

OMAP is small % of that Many adapter options

Car, wall, battery, solar, …

$149

Page 12: Abc beagleboard Getting To Know It

04/11/23 12

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

And more…And more…

Other Features 4 LEDs

USR0 USR1 PMU_STAT PWR

2 buttons USER RESET

4 boot sources SD/MMC NAND flash USB Serial

3.1”

Page 13: Abc beagleboard Getting To Know It

04/11/23 13

13

BeagleBoard–xMBeagleBoard–xM

• 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

xM meansExtra MHz

andExtra MB

Page 14: Abc beagleboard Getting To Know It

04/11/23 14

Laptop-like performanceDesktop-style USB

peripherals and embedded style

expansion

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

3.35”**

DM3730

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

BeagleBoard-xM detailsBeagleBoard-xM details

Page 15: Abc beagleboard Getting To Know It

04/11/23 15

BeagleBoard-xM details

• Ships with 4GB uSD card with diagnostic Linux load– No desktop

• Wiki Diagnostic page– http://code.google.com/p/beagleboard/wiki/BeagleBoardDiagnosticsNext

– Diagnostic image (Ships with board)

– Full desktop Angstrom demo image

– Source code w/Build instructions

Page 16: Abc beagleboard Getting To Know It

04/11/23 16

16

Use your BeagleBoard like a desktopUse your BeagleBoard like a desktop

Stereo in

SD

Power

DVI-D

USB

Stereo out

Page 17: Abc beagleboard Getting To Know It

04/11/23 17

17

Take your BeagleBoard anywhere & crank code on Take your BeagleBoard anywhere & crank code on the gothe go

Power over USB

Serial Port

Page 18: Abc beagleboard Getting To Know It

04/11/23 18

USB

SD16GB

Stereo out

Power

USRP

18

Expand your BeagleBoardExpand your BeagleBoard

Photo by Philip Balister

Turn innovations into mass-produced products to share with the world

Page 19: Abc beagleboard Getting To Know It

04/11/23 19

BeagleBoard-xM DemoBeagleBoard-xM DemoBoot the -xMBoot 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

19

Page 20: Abc beagleboard Getting To Know It

04/11/23 20

BeagleBoard-xM DemoBeagleBoard-xM DemoTI Matrix GUITI Matrix GUI

• Web browser with HTML code served up from the board

• Written in Qt

• Includes ability to launch apps

Click 3D GraphicsClick ChameleonClose windowSelect MainSelect Exit

Click 3D GraphicsClick ChameleonClose windowSelect MainSelect Exit

Show Me

Page 21: Abc beagleboard Getting To Know It

04/11/23 21

BeagleBoard-xM DemoBeagleBoard-xM DemoGnome DesktopGnome 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’

Click ApplicationsScroll down the MenuClose window

Click ApplicationsScroll down the MenuClose window

Show Me Applications

Page 22: Abc beagleboard Getting To Know It

04/11/23 22

BeagleBoard-xM DemoBeagleBoard-xM DemoSystem MonitorSystem Monitor

• Monitors the system performance

• Displays CPU loading

Select ApplicationsSelect System ToolsSelect System MonitorSelect Resources Tab

Select ApplicationsSelect System ToolsSelect System MonitorSelect Resources Tab

Show Me System Monitor

Page 23: Abc beagleboard Getting To Know It

04/11/23 23

BeagleBoard-xM DemoBeagleBoard-xM DemoFrequency ScalingFrequency Scaling

• Monitors the system performance

• Gnome Media Player

Select 1GHz IconSelect 600MHzSelect 600 MHz IconSelect 1GHzClose window all windows

Select 1GHz IconSelect 600MHzSelect 600 MHz IconSelect 1GHzClose window all windows

Show Me Freq Scaling

Page 24: Abc beagleboard Getting To Know It

04/11/23 24

BeagleBoard-xM DemoBeagleBoard-xM DemoGNOME MPlayerGNOME MPlayer

• GNOME Multimedia player

• Comes standard in Desktop Image

• Big Buck Bunny is an open source project from the Peach Open Movie Project.

Select BigBuck IconSelect BigBuck Icon

Show Me GNOME MPlayer

Page 25: Abc beagleboard Getting To Know It

04/11/23 25

The Linux command-lineThe 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

Select ApplicationsSelect TerminalSelect ApplicationsSelect Terminal

Show Me Terminal

Page 26: Abc beagleboard Getting To Know It

04/11/23 26

GUI building with QtGUI 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

Page 27: Abc beagleboard Getting To Know It

04/11/23 27

Qt architectureQt architecture

Page 28: Abc beagleboard Getting To Know It

04/11/23 28

Qt CreatorQt Creatorhttp://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 hasthe compiler andlibraries readyto build Qt appsnatively on yourBeagleBoard

Page 29: Abc beagleboard Getting To Know It

04/11/23 29

Qt DemosQt Demos• Descriptions not compiled in here

• Lots of different GUI tools

• Many other programming tools, like networking, IPC, 3D, database,…

Select ApplicationsSelect TerminalType qtdemoSelect Graphics ViewSelect Ported AsteroidsSelect LaunchClose and select Back Select DesktopSelect ScreenshotSelect LaunchClose all windows

Select ApplicationsSelect TerminalType qtdemoSelect Graphics ViewSelect Ported AsteroidsSelect LaunchClose and select Back Select DesktopSelect ScreenshotSelect LaunchClose all windows

Show Me Qt

Page 30: Abc beagleboard Getting To Know It

04/11/23 30

Working With The CommunityWorking With The CommunityOrder of resourcesOrder 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

6. Ask on IRC and be patient/polite• Don’t disrupt everyone

7. Mailing list• Individual developers will go away if load isn’t shared

• If you can help, please do!

30

Page 31: Abc beagleboard Getting To Know It

04/11/23 31

Working With The CommunityWorking With The CommunityHow to ask for helpHow to ask for helphttp://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

31

Page 32: Abc beagleboard Getting To Know It

04/11/23 32

Working With The CommunityWorking With The CommunityThe community perspectiveThe 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

32

Page 33: Abc beagleboard Getting To Know It

04/11/23 33

Working With The CommunityWorking With The CommunityChat, mail, forums, blogs, and wikis!Chat, mail, forums, blogs, and wikis!

• All exist because they all solve different problems

• Chat allows you to know someone’s listeninghttp://beagleboard.org/chat or #beagle on irc.freenode.net

– Great for beginner questions and rapid coordination

• Mail allows you to reach almost anyonehttp://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 organizedhttps://community.ti.com/forums/32.aspx (minimal activity to avoid disrupting community critical mass)

• Blogs provide emphasis, filtering, and timelinesshttp://beagleboard.org/news and http://beagleboard.blogspot.com

• Wikis enable inputs to become documentationhttp://eLinux.org/BeagleBoard and http://code.google.com/p/beagleboard/wiki

Page 34: Abc beagleboard Getting To Know It

04/11/23 34

Working With The CommunityWorking With The CommunityOrder of resources Chat on IRCOrder 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– http://en.wikipedia.org/wiki/List_of_IRC_clients– http://www.ircreviews.org/clients

Page 35: Abc beagleboard Getting To Know It

04/11/23 35

Working With The CommunityWorking With The CommunityBaseline tools and softwareBaseline tools and softwarehttp://beagleboard.org/resources http://beagleboard.org/resources

• 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

Page 36: Abc beagleboard Getting To Know It

04/11/23 36

OS and Distro OptionsOS and Distro Options

Angstrom and Open EmbeddedAngstrom and Open Embeddedhttp://www.angstrom-distribution.org/demo/beagleboard 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

36

Page 37: Abc beagleboard Getting To Know It

04/11/23 37

OS and Distro OptionsOS and Distro OptionsUbuntuUbuntuhttps://wiki.ubuntu.com/ARM/Beaglehttps://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

Page 38: Abc beagleboard Getting To Know It

04/11/23 38

OS and Distro OptionsOS and Distro Options

AndroidAndroidhttp://arowboat.org 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

38

Page 39: Abc beagleboard Getting To Know It

04/11/23 39

OS and Distro OptionsOS and Distro OptionsMeeGoMeeGohttp://wiki.meego.com/ARM/Meego_on_Beagleboard_from_scratchhttp://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

39

Page 40: Abc beagleboard Getting To Know It

04/11/23 40

OS and Distro OptionsOS and Distro Options

GentooGentoohttps://www.slashorg.net/48-Gentoo-port-for-BeagleBoard.htmlhttps://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

40

Page 41: Abc beagleboard Getting To Know It

04/11/23 41

OS and Distro OptionsOS and Distro Options

QNXQNXhttp://www.qnx.com/products/reference-design/ti-reference-design.htmlhttp://www.qnx.com/products/reference-design/ti-reference-design.html

41

• See Foundary27

• Not Linux, but Posix compliant and real-time

• Great for time critical and high reliability applications

Page 42: Abc beagleboard Getting To Know It

04/11/23 42

OS and Distro OptionsOS and Distro Options

SymbianSymbianhttp://developer.symbian.org/wiki/index.php/BeagleBoard_Quick_Starthttp://developer.symbian.org/wiki/index.php/BeagleBoard_Quick_Start

• Most popular smart phone operating system

• Initial open source release was on the BeagleBoard

42

Page 43: Abc beagleboard Getting To Know It

04/11/23 43

43

OS and Distro Options OS and Distro Options WinCEWinCEhttp://beagleboard.org/esc http://beagleboard.org/esc

• Real-time

• Advanced GUI and code tools

• Lots of code libraries available

• Low-cost entry through “Spark”

Page 44: Abc beagleboard Getting To Know It

04/11/23 44

Thank you!Thank you!

[email protected]

[email protected]

• http://beagleboard.org/chat

• http://beagleboard.org/discuss

Questions?Questions?