Matt Ranostay, technical staff at Ranostay Industries, gives a presentation about a telemetry system based on Beaglebone at the Embedded Linux Conference Europe on November 5, 2012.
The author will discuss his ongoing and other team members efforts to develop hardware and software that reports sensor data to the community. This talk will be split into several parts a) types of useful sensors b) hardware design of Beaglebone capes c) and telemetry reports to Pachube/Cosm. Demonstrating that in the new world of cheap prototyping boards with I2C, GPIO, and SPI that anyone can setup a decent monitoring system for home security, automation, and weather reporting. There will be a live demo of prototype geiger counter + weather station.
The audience targeted is the professional hobbyist who likes to hack on microcontrollers in their spare time. It will take little to medium knowledge of electrical engineering to follow this talk.
Telemetry System (Weather Station + Geiger Counter) Block Diagram
You can download the slides for this presentation, and demo source (Python) is available on Github. There are also many other references at the end of the presentation slides.
Matthias Brugger, embedded engineer at ISEE, describes the steps the company had to follow (referred to as a “war story”) to port Android 4.0 to a custom industrial board at ELCE 2012, Barcelona, on November 5, 2012.
This talk will explain the lessons learned by giving a step-by-step introduction of porting Android to a custom board which was designed for an industrial environment. This includes an introduction to the Android build environment, first board bring-up and peripheral integration. The talk will cover bootloader integration, power management. It will focus on the peculiarities configuring Ethernet and Wi-Fi in Android. Also button and display integration, as well as integration of third-party accelerator support will be explained.
Android devices are getting popular not only in the mobile market but although in the industrial environment. Porting Android to a custom board can be challenging, especially as little information about Android internals are available. The talk is addressed to embedded developer and CTOs who regard the introduction of Android in the industrial field.
ISEE Ported Android 4.0 to this Custom Industrial Device
His talk features the key points below:
Android beyond smartphones? – Good for HMI centred embedded systems
Why a war story – Little documentation, small community, vendor specific communities, developing process of Android, and a huge jungle of programming languages. Although Android is based on Linux, Android is not Linux, and there are many differences.
Our custom board – Industrial board based on TI OMAP3 without battery monitor, nor phone function, but with buttons, Ethernet…
Android building system
Add device – Devices are found under device/<manufactor>/<board> folder with 4 files: <device_name>.mk, device.mk, BoardConfig.mk and vendorsetup.sh.
Bootloader/Kernel integration – Specific toolchain needed, and extra boot parameters required (androidboot.console=ttyO2, init=/init).
Power supply – The system hangs at boot time because there’s no battery monitor => Add a “test power driver” to shows battery 50% charged.
Button – Code in frameworks/base/services/input. Key Layout File (/system/usr/keylayout) maps raw input key to internal Android key representation, and Key Char Map File (/system/usr/keychars) describes action for internal Android key
Wi-Fi – 5 different folders with userspace code… Legacy implementation reads wpa supplicant config file (/data/misc/wifi/wpa_supplicant.conf). A template is available in /system/etc/wifi/wpa_supplicant.conf. Drivers and firmware path defined in BoardConfig.mk.
Sound – Audio player is stagefright, AudioFlinger interfaces hardware abstraction.
HW acceleration – Add own multimedia framework and implement wrapper for audio (AudioTrack) and video (Surface).
You can also download the slides for this presentation.
Andre Guedes and João Paulo Rechi Vita, software engineers at Instituto Nokia de Tecnologia (INdT), give a presentation about Bluetooth Low Energy support on Linux (BlueZ stack) at the Embedded Linux Conference Europe in Barcelona on November 5, 2012.
Bluetooth Low Energy Architecture
This presentation will cover a brief introduction on how the Bluetooth Low Energy technology works. Then it will present the current status of its support on Linux, presenting the available APIs and how to interact with Bluetooth Smart devices. Then we’ll present the profiles we’re currently working on and what support can be expected to be found on Linux and BlueZ this year. There will be also a few demos of Bluetooth Smart devices working on Linux. The audience of this talk is application or framework developers that want to add support for Bluetooth Smart devices to their software, hardware vendors,and technology curious. Basic Bluetooth understanding is recommended but not required.
The agenda of the talk is as follows:
Intro to BLE technology – Specified in Bluetooth 4.0 for low power consumption (Coin-cell battery devices), fast connection establishment and short range. BLE is to be used in PCs, wellness and medical devices, mobile phones, as well as sensors and automation.
LE profiles supported by BlueZ
Generic Attribute Profile
Proximity Profile – When reporter distances from monitor an alert is emitted
Find Me Profile – Emit an alert on the remote device upon a command
Time Profile – Synchronizes the current local time
Health Thermometer Profile – Temperature measurements at periodic intervals
HID over GATT Profile – LE Human Interface Devices
Broadcaster & Observer – Undirected connectionless data transfer used for sensors and info advertisement.
Current support status
Work in progress – GATT API improvements, Broadcaster and Observer APIs and Profiles (Alert Notification, Phone alert status)
Demos – Proximity, Time and HID over GATT
You can also download the slides for this presentation.
Alan Ott, founder of Signal 11 Software, gives a presentation dealing with wireless networking for the internet of things in Linux, especially with 802.15.4 and 6LoWPAN standards at the Embedded Linux Conference in Barcelona, Spain on November 5, 2012.
With the rise of the internet of things, low-power wireless devices will become increasingly prevalent. IEEE 802.15.4 is a wireless networking protocol designed for low-power and low-data-rate devices, such as those used in wireless sensor networks. While some higher layer protocols based on 802.15.4 are proprietary, an open standard called 6LoWPAN enables IPv6 traffic over 802.15.4. This presentation will give overviews of 802.15.4, its status in the Linux kernel, hardware support, comparison with other wireless protocols, and a demonstration of a simple 802.15.4/6loWPAN network.
This presentation is targeted toward developers who wish to create low-power, low-data-rate wireless networks for sensors or other applications. Attendees can expect to gain a basic understanding of 802.15.4 and 6loWPAN and also gain some ideas for use in their own systems. Technical expertise required is low.
Beaglebone based Alarm System with Adafruit Proto Cape, Microchip MRF24J40MA (802.15.4 radio transceiver module), Maxbotix HRLV-EZ0 ( ultrasonic rangefinder), LM7805 (5V regulator) and Battery. PS: I almost forget the Altoids can and the piece of cork…
Alan talk covers the following main items:
IEEE 802.15.4 Introduction:
Standard for low-power, low data rate wireless communication between small devices.
It’s not Zigbee which sits on top of 802.15.4 (OSI Level 3 vs OSI Levels 1 & 2). Zigbee license conflicts with the GPL and can’t be implemented in the Linux kernel.
802.15.4 can operate on 2.4 GHz, 915 MHz and 865 MHz bands depending on local regulations.
6LoWPAN Overview – IPv6 over IEEE 802.15.4 can provide an IP address to all small devices.
Linux Support for IEEE 802.15.4 and 6LoWPAN with 2 kernel trees and independent projects:
Linux-Zigbee project – 802.15.4 and partial 6LoWPAN implementation. No updates of the kernel for 6 months. The project includes user space tools (iz, izcoordinator, and izchat) and support for multiple drivers for chips from Atmel, TI, Analog Devices and Redwire.
Linux-wsn project – Project up-to-date in mainline kernel with support for raw 802.15.4 sockets and 6LoWPAN. It uses the same user space tools as Linux-Zigbee, and provides drivers for Atmel AT86RF230, Microchip MRF24J40 and Redwire Econotag. Many things currently work, but there’s still more things to do for both 802.15.4 and 6LoWPAN implementations.
Other Support for IEEE 802.15.4 and 6LoWPAN – Contiki OS and TinyOS,
The presentation also includes a security system demo (Alarm) with 2 nodes: A Beaglebone + Microchip MRF24J40MA + Maxbotix Ultrasonic Range Finder (HRLV-EZ0) and a laptop + Redwire Econotag.
Peter Stuge, self-employed hardware, software and security consultant, talks about OpenOCD open source tool for JTAG debugging at ELCE 2012 in Barcelona.
The presentation walks through how to use the OpenOCD open source software to debug embedded systems on the hardware level via JTAG interface, allowing single stepping, setting breakpoints, inspecting register and memory contents and more, starting before the CPU even executes the first instruction. After an introduction to JTAG debugging we look at how to use OpenOCD both standalone for firmware flashing as well as together with the GDB GNU Debugger for convenient debugging of bootloaders or the Linux kernel. These tasks will be demonstrated, and the respective OpenOCD configuration details will be explained.The presentation targets intermediate-level developers who work on bootloaders, BSPs and kernel drivers, deeply embedded systems, and test and production engineers with an interest in using OpenOCD, which can allow unified tooling across all of development, testing and production.
Joo-Young Hwang, principal engineer at Samsung, presents F2FS (Flash-Friendly File System), a new file system designed for storage in mobile devices at the Embedded Linux Conference in Barcelona, Spain, on November 5, 2012.
Recent mobile devices adopt various flash storages as a primary storage. File system support for those flash storages is a must for flash device performance and lifespan. I will present a new file system, called F2FS, designed for mobile flash storages. F2FS is designed considering the characteristics of the underlying flash storage which has flash translation layer (FTL). F2FS outperforms EXT4, which is a popular file system for Android phones, in most of benchmarks. I will describe motivation, design, and implementation of the file system, then show performance comparison data with EXT4. Target audiences are those who are interested in file system support for flash storages such as eMMC and SSD. Kernel and file system expertise helps but is not mandatory to listen to this talk.
F2FS vs EXT4 – Bonnie++ Benchmark Results DUT: Pandaboard with Linux 3.3 running in a 64GB eMMC with a 12GB partition
The talk is divided into 4 sections:
Introduction – NAND flash memories (SSD, eMMC, SD card) and current file systems and memory management used.
F2FS Design Overview
Performance Evaluation Results – Ext4 vs F2FS on eMMC in Pandaboard (Linux) and Galaxy Nexus (Android).
You can also download the slides for this presentation. You can find more information on F2FS lwn article. F2FS has been added to Linux 3.6 and greater.
Philipp Zabel, kernel developer at Pengutronix, discusses about graphics and video support for Linux on embedded SoCs at Embedded Linux Conference Europe 2012.
Porting Linux to new ARM based application processors has recently become easier than ever: the kernel gained many new frameworks like common-clock, oftree and pinmux. However, things get complicated when it comes to high end embedded graphics units.Those graphics systems tend to be composed of a multitude of on-SoC functional blocks that can operate on shared graphics buffers and video signals, as well as off-SoC encoder/converter chips that can be mixed and matched with any SoC.The old framebuffer is certainly not enough for today’s hardware any more, while modern frameworks like KMS and DRM have their own hassles on non-PC style graphics systems.The talk outlines issues we found while working on graphics and video support for the MX53 and MX6 CPUs and gives suggestions for possible future improvements.This presentation is aimed at developers interested in the linux graphics stack.
Alexandre Belloni, embedded Linux engineer and trainer at Adeneo Embedded, gives a presentation about different techniques to optimize boot time for Embedded Linux at ELCE 2012. He also explains how they’ve measured the boot time.
A common problem faced when embedding Linux is the long boot time before the system is functional. There are many ways to improve boot up time. For a particular project, we had to answer a CAN message from Linux userspace in less than 420 ms from going out of CPU reset. We will describe our methodology and the techniques we finally chose to implement in that particular use case. We will also detail how we measured the boot time efficiently. A live demo will show the results of our work.
More specifically, Alexandre discusses two projects at Adeneo where boot time was critical:
An automotive platform based on Freescale i.mx53 needs to reply to a CAN message in less than 500ms
An OpenGL application must boot as fast as possible on a platform powered by Freescale i.mx6 Quad. After optimization, the app starts within 590ms from reset, 720ms from power on, instead of the 15 to 53!? seconds in the initial rootfs. See video demo.
He describes the different techniques tried to optimize the bootloader, kernel and rootfs, and provides the techniques they finally used in the final solutions.
You can also download the slides for this presentation. Adeneo released the bootloader source code (they completely got rid of U-boot), and you can find most of the techniques used on the Boot Time page from elinux.org.