440 likes | 1.47k Views
The ABCs of the BeagleBoard-xM. Gerald Coley G-coley1@ti.com gerald@beagleboard.org. Find the right ARM ® Solution for you. Comprehensive developer ecosystem. DSP DSP+ARM . 32-bit ARM MCU for Safety-Critical Applications. 32-bit ARM Cortex ™ -M3 MCUs. ARM Cortex-A8 & ARM9™ MPUs.
E N D
The ABCs of the BeagleBoard-xM Gerald Coley G-coley1@ti.com gerald@beagleboard.org
Find the right ARM® Solution for you Comprehensive developer ecosystem DSP DSP+ARM 32-bit ARM MCU for Safety-Critical Applications 32-bit ARMCortex™-M3 MCUs ARM Cortex-A8 &ARM9™ MPUs C6000™ Sitara™ ARMCortex-A8 & ARM9 Stellaris® ARMCortex-M3 TMS570 ARM Cortex-R4™ Integra™ DaVinci™ Digital Media processors 375MHz to >1GHz Cache, RAM, ROM USB, CAN, SATA,SPI, PCIe, EMAC Industrial automation, POS & portable data terminals $5.00 to $25.00 Upto250DMIPS/ 160 MHz 2 MB Flash, 160 KB RAM FPU, ECC, Timer/PWM Co-Proc,12bitADCs,CAN, EMIF, LIN, SPI, Flexray Transportation, Motor Control, Certified for use in safety critical (SIL3) systems $7.00 to $18.00 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 300MHz to >1Ghz +Accelerator Cache RAM, ROM USB, ENET, PCIe, SATA, SPI Floating/Fixed Point Video, Audio, Voice, Security, Conferencing $5.00 to $200.00 Development tools Software support Responsive design support MPUs – Microprocessors
Agenda Introduction to BeagleBoard.org Meet the Beagles BeagleBoard-xM Walkthrough Qt Demo Working with the Community OS and Distro Options Questions
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
Beagle Community Active & technical community Freedom to innovate Freesoftware Opportunity to tinker and learn Wikis, blogs/RSS, promotion of community activity Personally affordable > 3,200 participants and growing Addressing open source communityneeds Open access to hardware documentation Multiple OS and distribution support, applications
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 levels Lots of open starting points Large and experienced community Open ecosystem provides real options
Open source, do-it-yourself, and pro developers embracing the BeagleBoard FFmpeg BeagleBoard Video Wall OpenCV ARM DS-5 for the BeagleBoard 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) …
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
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)
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
Fast, low power, flexible expansion Rev C $149 • 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 • 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 3.1” • USB Powered • 2W maximum consumption • OMAP is small % of that • Many adapter options • Car, wall, battery, solar, …
And more… • 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 • Other Features • 4 LEDs • USR0 • USR1 • PMU_STAT • PWR • 2 buttons • USER • RESET • 4 boot sources • SD/MMC • NAND flash • USB • Serial 3.1”
BeagleBoard–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 MHzandExtra MB 13
BeagleBoard-xM details Desktop-style USB peripherals and embedded style expansion 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 • 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 DM3730
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
Use your BeagleBoard like a desktop SD USB Stereo in Power Stereo out DVI-D 16
Take your BeagleBoard anywhere & crank code on the go Serial Port Power over USB 17
Expand your BeagleBoard USRP USB Power SD16GB Stereo out Turn innovations into mass-produced products to share with the world Photo by Philip Balister 18
BeagleBoard-xM DemoBoot 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
BeagleBoard-xM DemoTI Matrix GUI Show Me Click 3DGraphics Click Chameleon Close window Select Main Select Exit Web browser with HTML code served up from the board Written in Qt Includes ability to launch apps
BeagleBoard-xM DemoGnome Desktop Show Me Applications Click Applications Scroll down the Menu Close window 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’
BeagleBoard-xM DemoSystem Monitor • Monitors the system performance • Displays CPU loading Show Me System Monitor Select Applications Select System Tools Select System Monitor Select Resources Tab
BeagleBoard-xM DemoFrequency 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
BeagleBoard-xM DemoGNOME 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
The Linux command-line Show Me Terminal Select Applications Select Terminal There is a shortcut on the desktop to open a terminal Can also use an external debug port over the serial port
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
Qt 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 Linuxdistribution hasthe compiler andlibraries readyto build Qt appsnatively on yourBeagleBoard
Qt Demos 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 Descriptions not compiled in here Lots of different GUI tools Many other programming tools, like networking, IPC, 3D, database,…
Working With The CommunityOrder of resources • Search beagleboard.org, eLinux.org, the mailing list archive, and IRC logs • Read and search BBSRM_latest.pdf • Check the http://beagleboard.org/faq link • Search the web • Try something • Gives you some perspective on what to ask • Ask on IRC and be patient/polite • Don’t disrupt everyone • Mailing list • Individual developers will go away if load isn’t shared • If you can help, please do! 30
Working With The CommunityHow 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
Working With The CommunityThe 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
Working With The CommunityChat, 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
Working With The CommunityOrder 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
Working With The CommunityBaseline tools and softwarehttp://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
OS and Distro OptionsAngstrom and Open Embeddedhttp://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
OS and Distro OptionsUbuntuhttps://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
OS and Distro OptionsAndroidhttp://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
OS and Distro OptionsMeeGohttp://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
OS and Distro OptionsGentoohttps://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
OS and Distro OptionsQNXhttp://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 41
OS and Distro OptionsSymbianhttp://developer.symbian.org/wiki/index.php/BeagleBoard_Quick_Start Most popular smart phone operating system Initial open source release was on the BeagleBoard 42
OS and Distro Options WinCEhttp://beagleboard.org/esc • Real-time • Advanced GUI and code tools • Lots of code libraries available • Low-cost entry through “Spark” 43
Thank you! Questions? g-coley1@ti.com gerald@beagleboard.org http://beagleboard.org/chat http://beagleboard.org/discuss