BeagleBoard Workshop ESC Boston 2011

3,411 views

Published on

ESC Boston 2011 BeagleBoard Workshop

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,411
On SlideShare
0
From Embeds
0
Number of Embeds
1,131
Actions
Shares
0
Downloads
74
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

BeagleBoard Workshop ESC Boston 2011

  1. 1. Embedded Android Workshop On BeagleBoard 1
  2. 2. About me● Author of:● Introduced Linux Trace Toolkit in 1999● Originated Adeos and relayfs (kernel/relay.c) 2
  3. 3. Agenda● Goal● BOM● MO● Summary of modifications● Summary of issues encountered● Exercises● Gotchas 3
  4. 4. Goals● Hands-on feel of Embedded Android work-cycle● Experience work w/ functional, real-world Embedded Android Device and dev env. 4
  5. 5. BOM ● Your laptop● BeagleBoard w/ ULCD ● USB-to-Serial ● USB SD programmer ● Class 10 SD card 5
  6. 6. MO● 1St time this workshop is given● Organic● Peer help● Different speeds● Instructor assistance● No rush● Online scratchpad● Have a blast! 6
  7. 7. Summary of modifications$ diffstat ulcd­esc­boston­2011­110925  build/core/combo/arch/arm/armv7­a­neon.mk                               |    1  device/ti/beagleboard/beagleboard.mk                                    |    3  device/ti/beagleboard/init.i2c_setup.sh                                 |    6  device/ti/beagleboard/init.rc                                           |    7  device/ti/beagleboard/ueventd.omap3.rc                                  |    1  frameworks/base/Android.mk                                              |    1  frameworks/base/api/current.xml                                         |  202 +++++++ frameworks/base/core/java/android/app/ContextImpl.java                  |   16  frameworks/base/core/java/android/content/Context.java                  |   10  frameworks/base/core/java/android/hardware/chronos/ChronosManager.java  |   74 ++ frameworks/base/core/java/android/hardware/chronos/IChronosService.aidl |   14  frameworks/base/services/java/com/android/server/ChronosService.java    |   90 +++ frameworks/base/services/java/com/android/server/SystemServer.java      |    7  frameworks/base/services/jni/Android.mk                                 |    1  frameworks/base/services/jni/com_android_server_ChronosService.cpp      |  178 ++++++ frameworks/base/services/jni/onload.cpp                                 |    2  hardware/libhardware/Android.mk                                         |    2  hardware/libhardware/include/hardware/chronos.h                         |   28 + hardware/libhardware/modules/chronos/Android.mk                         |   14  hardware/libhardware/modules/chronos/chronos.c                          |   97 +++ kernel/arch/arm/configs/omap3_beagle_android_defconfig                  |    4  kernel/arch/arm/mach­omap2/board­omap3beagle.c                          |  158 +++++ kernel/drivers/media/video/omap/omap_vout.c                             |    9  kernel/drivers/video/omap2/displays/panel­generic.c                     |  277 ++++++++++ kernel/include/video/omap­panel­generic­dpi.h                           |   37 + kernel/kbuild                                                           |    1  system/core/include/private/android_filesystem_config.h                 |    1  7 system/core/rootdir/Android.mk                                          |    7  28 files changed, 1237 insertions(+), 11 deletions(­)
  8. 8. Summary of issues encountered● SD Cards● Kernel versions● LCD driver● Chronos protocol● Touch-Screen 8
  9. 9. Exercises● Build new sources● Program card● Boot device w/ programmed card● Connected device over serial to VM (minicom)● Browsing around device over serial● Compile existing code to talk to watch in AOSP● Merge code into libchronos● Create APP to talk to Chronos API● Extras: ● Remove phone signal from status bar ● Stop the Zygote from starting at boot time ● Modify build/core/core.mk to see mk includes 9
  10. 10. Gotchas / Tricks● Dont make clean● Dont touch framework● Dont reflash all SD every time ● Copy only what you need● Use logcat● Use dmesg 10
  11. 11. Thank you ...karim.yaghmour@opersys.com 11

×