Archive

Posts Tagged ‘rtos’

MYD-C437x-PRU Development Board Leverages TI Sitara AM437x Programmable Real-time Unit

February 16th, 2017 No comments

MYIR Technologies launched MYC-C437x system-on-module based on TI Sitara AM437X processor, and the corresponding MYD-C437x development board at the end of 2015, but the latter did not make use of the processor’s PRU-ICSS (Programmable Real-Time Unit Subsystem and Industrial Communication SubSystem) block. The company has now released a new version of the baseboard called MYC-C437x-PRU which exposes I/Os pins to leverage the PRU-ICSS and enable implementation of protocols like EtherCAT and Profibus.MYD-C437x-PRU industrial development board specifications:

  • System-on-Module – MYC-C437x module with
    • SoC – Texas Instruments AM437x ARM Cortex A9 processor @ up to 1GHz with PowerVR  SGX530 GPU (AM4378/AM4379 only)
    • System Memory – 256 or 512MB (default) DDR3 SDRAM
    • Storage – 4GB eMMC Flash (reserved 256/512MB Nand Flash design), 16MB QSPI Flash (unpopulated by default), 32KB EEPROM
    • Connectivity – Gigabit Ethernet PHY
  • Storage – 1x micro SD slot
  • Serial ports – 1x 3-wire RS232 debug serial port, 2x  5-wire RS232 serial port, 1x RS485 with isolation
  • USB – 1x USB 2.0 host port, 1x mini USB 2.0 device port
  • Connectivity – 1x Gigabit Ethernet interface, 2x 10/100 Mbps PRU-ICSS Ethernet interfaces
  • Display – 1x 16-bit LCD interface, 1x 24-bit LCD interface, 1x 4-wire resistive touch screen interface
  • Camera – 1x Camera interface (0.5mm pitch 30-pin FPC connectors)
  • Debugging – 20-pin JTAG interface
  • Other Expansion Ports
    • 1x CAN interface with isolation
    • 3x 20-pin expansion connectors (2.0mm pitch) with:
      • 8x ADC
      • 2x SPI, 1x I2C, 2x UART
      • PRU-UART with support for PROFIBUS
      • 2x EnDat, 2x eQEP
      • eHRPWM
  • Misc – 4x Buttons (1x reset, 1x PMIC, 2x user), 1x power LED (red), 3x user LEDs (blue)
  • Power supply – +12V/1.5A (base board)
  • Dimensions – 150mm x 105mm (4-layer PCB)
  • Temperature Range – -40 to 85 Celsius (industrial grade)

The company provides a Linux 4.1.18 BSP for the modules and board, as well as Texas Instruments’ SYS/BIOS v6.45 Real-time Operating System. Note that you can only used one LCD interface at a time, and some of EtherCAT and LCD signals are multiplexed so only one can be used.

You can find some limited hardware & software documentation on the product page, as well as purchase MYD-C4377-PRU development board with TI Sitara AM4377 SoC, 512MB DDR3, and a 4GB eMMC flash for $189. Several modules are also offered with LCD displays, WiFi, and cameras.

Embedded Linux Conference & IoT Summit Europe 2016 Schedule

August 2nd, 2016 4 comments

Embedded Linux Conference & IoT summit 2016 first took place in the US in April, but the events are now also scheduled in Europe on October 11 – 13 in Berlin, Germany, and the schedule has now been published. Even if you are no going to attend, it’s always interesting to find out more about the topic covered in that type of events, so I had a look, and created my own virtual schedule with some of the sessions.

Embedded_Linux_Conference_Europe_2016Tuesday, October 11

  • 10:40 – 11:30 – JerryScript: An Ultra-lightweight JavaScript Engine for the Internet of Things – Tilmann Scheller, Samsung Electronics

JerryScript is a lightweight JavaScript engine designed to bring the success of JavaScript to small IoT devices like lamps, thermometers, switches and sensors. This class of devices tends to use resource-constrained microcontrollers which are too small to fit a large JavaScript engine like V8 or JavaScriptCore.

JerryScript is heavily optimized for low memory consumption and runs on platforms with less than 64KB of RAM and less than 200KB of flash memory. Despite the low footprint, JerryScript is a full-featured JavaScript engine implementing the entire ECMAScript 5.1 standard. It is actively used in production and runs already on hundreds of thousands of smartwatches!

JerryScript is an open source project and has been released under the Apache License 2.0. The talk will include a demo showing JavaScript code executing on top of JerryScript on a resource-constrained microcontroller.

  • 11:40 – 12:30 – Read-only rootfs: Theory and Practice – Chris Simmonds, 2net

Configuring the rootfs to be read-only makes embedded systems more robust and reduces the wear on flash storage. In addition, by removing all state from the rootfs it becomes easier to implement system image updates and factory reset.

In this presentation, Chris shows how to identify components that need to store some state, and to split it into volatile state that is needed only until the device shuts down and non-volatile state that is required permanently. He gives examples and shows various techniques of mapping writes onto volatile or non-volatile storage. To show how this works in practice, he uses a standard Yocto Project build and shows what changes you have to make to achieve a real-world embedded system with read-only rootfs. In the last section, Chris considers the implications for software image update. Expect a live demonstration.

  • 14:00 – 14:50 – Comparison of Linux Software Update Technologies – Matt Porter, Konsulko

The update of software in an embedded Linux system has always been an important part of any product. In the past, however, planning and design for software update was often an afterthought in system design. Further, software update mechanisms for embedded Linux products were typically implemented as ad hoc one-off projects within each product company. As the requirements for products have matured to include security updates at a frequent intervals, software update strategy has become a focal point of product development. This session will explore a number of different Linux software update technologies that are FOSS projects, comparing each for their strengths and weaknesses. In order to better understand the applicability of these technologies, we will also deep dive into both common and uncommon use cases that drive requirements for these software update mechanisms.

  • 15:00 – 15:50 – Building a Micro HTTP Server for Embedded System – Jian-Hong Pan

Apache HTTP Server, NGINX .. are famous web servers in the world. More and more web server frameworks come and follow up, like Node.js, Bottle of Python .., etc. All of them make us have the abilities to get or connect to the resources behind the web server. However, considering the limitations and portability, they may not be ported directly to the embedded system which has restricted resources. Therefore, we need to re-implement an HTTP server to fulfill that requirement.

Jian-Hong will introduce how he used the convenience of Python to implement a Micro HTTP Server prototype according to RFC 2616/HTTP 1.1. Then, re-write the codes in C to build the Micro HTTP Server and do the automated testing with Python Unit Testing Framework. Finally, he’ll explain how he combined the Micro HTTP Server with an RTOS, and lit the LEDs on an STM32F4-Discovery board.

  • 16:10 – 17:00 – Stuck in 2009 – How I Survived – Will Sheppard, Embedded Bits Limited

When developing Linux based products it’s desirable to use the latest version of the Linux kernel – however this is not always possible. In this presentation Will Sheppard will enlighten you with his experiences in developing a product based on a 2.6.28 kernel. Throughout the presentation he will share with you the reasons why you can be stuck with an old kernel, the issues this causes and the surprising and unexpected benefits that also arise. The presentation will also give you an indication as to how far the kernel has developed since 2009 and perhaps some hope if you too are also stuck working in the past.

  • 17:10 – 18:00 – Power Management Challenges in IoT and How Zephyr RTOS Meets Them – Ramesh Thomas, Intel

An OS that runs on tiny IoT devices is already meeting several challenges. These challenges are due to the limited resources in these devices and the diverse nature of the applications and the ecosystem. These same reasons make adding an effective power management infrastructure extremely complex. These devices that run on tiny batteries for extensive periods, mostly unattended, have a very critical need to conserve power.

Zephyr is a RTOS from Intel, designed for IoT and wearable devices. It is open source and supports x86, ARM and ARC SoC platforms. It has a small footprint and can run with very less memory. Power management is built in the core of its scheduling and idling design. It exports infrastructure for PM services to implement custom power policies.

This presentation will give an insight into the Zephyr power management design and the philosophies behind it.

  • 18:10 – 19:00 – BoF: Linux Device Performance Framework – Michael Turquette, BayLibre

Complex system-on-chip processors provide performance levels for their devices and peripherals. The same chips also provide interconnects with performance knobs connecting these devices. For years, Linux has not provided a way to express the relationship between a device and its performance states, nor a uniform method for drivers to change these states. There are many solutions to this in downstream vendor trees. Let’s fix that.

The purpose of this BoF is to start a discussion around the topic with a wide audience, solicit feedback on the currently proposed approach and move forward with consensus. This BoF will discuss the types of performance states that need to be modeled, existing Linux driver frameworks that can be re-used, new code that needs to be written and how Device Tree plays a role. Will we write a new DVFS or Interconnect Framework? Attend and find out!

Wednesday, October 12

  • 09:00 – 09:50 – Supporting the Camera Interface on the C.H.I.P – Maxime Ripard, Free Electrons

Every modern multimedia-oriented ARM SoC usually has some kind of camera interface to be able to capture a video (or photo) stream from an external camera. The framework of choice to support these controllers in Linux is the Video4Linux subsystem, also called v4l2.

This talk will walk through the v4l2 stack, the architecture of a v4l2 driver and the interaction between the SoC driver and its camera’s. The presentation is based on the work Free Electrons has done to develop such a driver for the Allwinner SoCs, as part of enabling the C.H.I.P platform with the upstream Linux kernel.

  • 10:00 – 10:50 – How to Develop the ARM 64bit Board, Samsung TM2 with Exynos5433 – Chanwoo Choi, Samsung Electronics

In the last period of twenty years ARM has been undisputed leader for processor’s architecture in the embedded and mobile industry. With its 64 bit platform, ARM widens up its field of applicability. The ARMv8 introduces a new register set, it is compatible with its 32 bit predecessor ARMv7 and suits best those system that try to be amongst the high end performance devices. Tizen OS is an open multi profile platform that can run on TV, mobile, cars and wearables. Samsung TM2 board based on Exynos5433, which patches has been recently posted to mainline, is an ARM 64-bit board supported by Tizen 64-bit. However, during the bring-up, the kernel developers have faced many challenges that will be presented in this session. The presentation will go through a number of issues and the way they have been solved in order to make Tizen run on a 64 bit platform.

  • 10:45 – 11:35 – Devicetree Hardware Autoconfiguration – Hans de Goede, Red Hat

One can buy 7″ android tablets for around $35 now, assuming one gets the standard Q8 Allwinner based model, these are actually supported by the mainline linux kernel now. These tablets use a standard case + SoC + display, which get paired with a different touchscreen-controller, accelerometer and wifi chip for every other batch.

This talk will outline my experience in making a single devicetree file covering all variants using an in kernel hardware auto-detection module which creates and applies devicetree changesets depending on the detected hardware. This talk will give the audience an idea what is and is not possible wrt dynamic devicetree usage as well as give does and don’ts for people who want to use dynamic devicetree themselves.

  • 11:45 – 12:35 – Wyliodrin STUDIO: An Open Source Tool for IoT Development – Alexandru Radovici, Wyliodrin

Have you been using your development board (like the Raspberry pi for example) as a glorified computer? Are you tired of needing to hookup your boards to a display and keyboard any time you want to program them?

Wyliodrin STUDIO is a software development tool especially created for the design of IoT projects. It comes as an open source Chrome extension so that programmers can use it independently of their specific OS platform and with little setup overhead.

Wyliodrin STUDIO abstract away many of the issues regarding setting up your development boards and allows programmers to directly focus on their projects. It offers a friendly programming environment with many of the features of advanced IDEs, like Eclipse. For beginners, Wyliodrin STUDIO offers a large range of tutorials to help people take their first steps in IoT development. MagPi gave Wylidorin STUDIO a 5/5 rating.

  • 14:00 – 14:50 – ASoC: Supporting Audio on an Embedded Board – Alexandre Belloni, Free Electrons

ASoC, which stands for ALSA System on Chip, is a Linux kernel subsystem created to provide better ALSA support for system-on-chip and portable audio codecs. It allows to reuse codec drivers across multiple architectures and provides an API to integrate them with the SoC audio interface.

This talk will present the typical hardware architecture of audio devices on embedded platforms, present the ASoC API and how to use it for machine drivers, which are used to glue audio codecs with the processor audio interface. Examples, common issues and debugging tips will also be discussed.

  • 15:00 – 15:50 – Cameras in Embedded Systems: Device Tree and ACPI View – Sakari Ailus, Intel

Cameras in embedded systems are often collections of different components rather than monolithic devices such as USB webcams. They consist of sensors, lenses, LED or xenon flashes and ISPs, each of which are individual devices with their specific drivers.

Once the prevalent solution for supporting hardware variation between different ARM based systems was platform data. Since around 2011 new platform data files have had hard time getting to mainline, the preferred solution being the Device tree. However, Device tree support in the V4L2 framework was not around until over a years after that, additionally help from the V4L2 async framework is also required in order to achieve the same functionality as with platform data.

This talk shows how the frameworks are used in drivers and Device tree source, reviews the status of ACPI and discuss potential future developments.

  • 16:30 – 17:20 – Swapping and Embedded: Compression is the Key – Vitaly Wool

Ever since Linux started running on embedded devices, having a swap for such had been considered a misconfiguration rather than a method for overcoming RAM shortage or performance booster. This attitude started to change with the spread of Android devices which usually don’t have a problem utilizing virtually any amount of memory. An with the introduction of ZRAM the usage of a compressed swap in RAM became more useful and more popular. This talk will give a comprehensive description of ZRAM and its counterpart, zswap, a summary of pros and cons of both. This talk will also cover a brand new z3fold compressed memory allocator which can be used for both zswap and ZRAM, of course presenting measurement results for these, obtained on various devices, ranging from set top boxes to laptops, not to forget Android phones.

Thursday, October 14

  • 09:00 – 09:50 – Time is Ready for the Civil Infrastructure Platform – Yoshitake Kobayashi, Corporate Software Engineering Center & Urs Gleim, Seimens

The Civil Infrastructure Platform (CIP) – launched in April – CIP defined and started to realize a super long-term supported open source “base layer” for industrial grade software. This base layer aims to be used for current and future industrial systems which supports machine-to-machine connectivity for digital future. This kind of systems, being the field for decades, should have long-term support for security and robustness reasons. In this talk, we will show the first steps on CIP development. This includes initial set of components for the base layer and its maintainers. Are you ready? It’s time to start your development with and for the CIP.

  • 10:00 – 10:50 – Introduction to Memory Management in Linux – Alan Ott, Signal 11 Software

All modern non-microcontroller CPUs contain a memory management unit and utilize the concept of virtual memory. This presentation will describe the different types of virtual memory spaces and mappings used in the Linux kernel, the cases in which they are useful, how they are implemented in the kernel, and how they differ from user space memory. Concepts such as the hardware memory-management unit (MMU) and translation lookaside buffer (TLB) will be discussed, as well as software concepts like kernel page tables. User space concepts such as growable stacks, memory paging, memory mapping, page faults, exceptions, and other memory-related conditions will be covered as well.

  • 11:15 – 12:15 – MinnowBoard Delta: Fishing for Easy IoT Hardware – David Anders, Intel

With the introduction of the Zephyr Project, a small scalable real-time operating system for use on resource-constrained systems, the need for an easy to use platforms to enable Internet of Things development has grown. With the idea of enabling both hardware and software developers to quickly prototype and develop proof-of-concept, as well as transitioning directly to product, the MinnowBoard Delta was designed as an open source hardware platform to highlight the Zephyr Project. This presentation will cover design considerations as well as implementation methods for creating open source hardware specifically for open source software.

  • 12:15 – 13:05 – Cloud Platforms for the Internet of Things: How Do They Stack Up? – Koustabh Dolui, Politecnico di Milano

With the advent of the Internet of Things (IoT), there has been a recent surge in the number of cloud platforms offering their services for data collection and processing from IoT devices. These platforms, open-source and closed, are diverse in terms of ease of use, architecture, data storage, privacy, security and communication protocols. However, how these cloud platforms measure up against each other, given the set of tradeoffs that they present, remains quite unexplored in existing literature. In this presentation, Koustabh will present a detailed study on the architecture that these platforms are based on and how the open source platforms compare against closed platforms. Koustabh will compare the platforms based on a real data-set generated from a sensor network deployed at the heritage site of Circo Massimo, Rome, as a part of an ongoing project at Politecnico di Milano, Italy.

  • 14:30 – 15:20 – GPIO for Engineers and Makers – Linus Walleij
We will go over the changes to the GPIO subsystem in the recent years, including GPIO descriptor refactoring, new support for things like open drain, some words on device tree and ACPI hardware descriptions, and we will discuss the new userspace character device ABI for GPIO chips and how use cases such as those presented by the maker community or industrial control clients can benefit from it. We will also talk a bit about the future direction of the subsystem.
  • 15:30 – 16:20 – FDO: Magic ‘Make My Program Faster’ Compilation Option? – Pawel Moll, ARM

Feedback Driven Optimisation (FDO), also known as Profile Guided Optimisation (PGO) is a well known code optimisation technique, employed by compilers since mid XX century, yet not widely used in the wild these days. It relies on providing runtime-captured information about code execution (eg. “branch taken or not?”) during next code compilation, improving quality of decisions made by compiler heuristics.

To be fair, there were good reasons for its demise which I hope to discuss, mainly time and complexity overhead and deployment difficulties, but there is some hope on the horizon, coming with new approach, called AutoFDO and originating at Google, based on statistical profiling (namely Linux perf + extra tools) and source code level attribution. I’ll discuss existing support for it available in mainline GCC and LLVM and give examples of real-life, successful deployments.

If you’d like to attend the event, you can do so by registering online, and paying the entry fee:

  • Early Registration Fee: US$550 (through August 1, 2016)
  • Standard Registration Fee: US$650 (August 2, 2016 – September 3, 2016)
  • Late Registration Fee: US$850 (September 4, 2016 – Event)
  • Student Registration Fee: US$175 (valid student ID required)
  • Hobbyist Registration Fee: US$175

Micrium µC/OS RTOS Is Now Free for Makers and Startups

June 24th, 2016 1 comment

According to UBM embedded market study for 2015, Micrium µC/OS real-time operating system only came second after FreeRTOS when the company asked close to 1,000 engineers and managers around the world which operating systems they were currently using in their embedded products. The OS appears to be particularly popular in Asia, and the results are all the more impressive considering it’s a commercial operating systems.

Operating Systems used in Embedded Systems (UBM Survey)

Operating Systems used in Embedded Systems (UBM Survey)

But Micrium decided to bring more people on board by announcing a free version called µC/OS for Makers targeting hobbyists and startups (<$100k revenues) in February earlier this year. The real-time operating system includes a preemptive multitasking real-time kernel with optional round robin scheduling, has a low footprint (6K to 24K bytes code space, 1K+ bytes data space), support various types of targets including ARM Cortex-M and Cortex-A based MCU and processors such as STMicro STM32,  NXP Kinetis, Cypress PSoC5, etc.., as well as Atmel AVR, TI MSP430 and many others.

The Maker version of the OS excludes the CAN module, Building Blocks and the Graphical UI library, but comes with USB, TCP/IP, Modbus, and file system stacks. A summary of the different licenses for µC/OS-III is shown in the table below.

Click to Enlarge

Click to Enlarge

You can find more information on Micrium Maker page, or directly download it  (free email registration required) to try it out on your own platform or board.

Via 43oh.com

Apache Mynewt RTOS for IoT Includes an Open Source Bluetooth 4.2 LE Stack for MCUs

June 15th, 2016 7 comments

The Apache Software Foundation has recently released version 0.9 Apache Mynewt open source real-time operating systems for micro-controllers under… an Apache 2.0 license. The RTOS works on STMicro STM32 Cortex-M4, and Arduino Zero / M0 Cortex-M0 boards, but they’ve also implemented the  first open source Bluetooth Low Energy stack for MCUs, starting with support for Nordic Semi nRF52 Cortex-M4 and nRF51 Cortex-M1 evaluation boards, and acting as a replacement for Nordic SoftDevice Bluetooth Smart / LE solution.

Apache_Mynewt_System_Block_DiagramThe operating system competes with ARM mbed, the Zephyr Project, and RIoT, but the foundation claims it is the only one that’s both community driven and permissively licensed (Apache 2.0) project in the embedded space.

The OS is modular and can be configured with a Go-like build and package management tool with components such as secure boot loader, flash file system and TLV storage mechanism, rich logging infrastructure, circular buffering schemes, and Bluetooth 4.2 Low Energy. WiFi, Thread, and Bluetooth 5 are also part of the roadmap, and support for Javascript and Python is currently being worked on.

You can find more information and/or get started with the project on Apache Mynewt microsite.

$20 MediaTek LinkIt 7687 Arduino Compatible WiFi IoT Board Runs FreeRTOS

April 22nd, 2016 1 comment

MediaTek Labs has already launched several WiFi boards for IoT applications starting with LinkIt ONE, and later LinkIt Smart 7688 running OpenWrt, and the company is now about to launch LinkIt 7687 HDK (Hardware Development Kit) powered by Mediatek MT7687F Cortex-M4 SoC,  running FreeRTOS, and developed & produced by Silicon Application Corp (SAC).

LinkIt_7687LinkIt 7687 (WS3489) board specifications:

  • SoC – MediaTek MT7687F ARM Cortex-M4F MCU @ 192MHz with 352 KB SRAM, 64KB ROM, and 2 MB serial flash in package, integrated security engine, and built-in 802.11n WiFi. 8×8 mm 68-pin QFN package
  • Connectivity – 1×1 802.11 b/g/n WiFi with on-module PCB antenna and U.FL connector.
  • USB – 1x micro USB for power, debugging (Coresight Debug Access Port + Virtual COM)
  • Expansion
    • Arduino Uno Rev. 3 headers + an extra 8-pin extension connector.
    • Mass Storage Device (MSD) flash programming interface.
    • Reserved headers for power consumption (current) measurement.
  • Misc – LEDs for UART communication, power, and 6x user customizable; 3x push buttons for reset, RTC interrupt, and external interrupt; configuration jumpers for power source and boot mode (embedded flash or UART)
  • Power supply – 5V via micro USB port, or 1.8 to 3.2V using VIN pin
  • Dimensions – 108.5 x 60.5 mm
  • Weight – 25 grams
  • Temperature Range – Operating: -40 to 85°C
Mediatek MT7687F Block Diagram

Mediatek MT7687F Block Diagram

This is the first board for MediaTek LinkIt Development Platform for RTOS, which is said to provide “the convenience of a single toolset and common APIs implemented over a popular RTOS”, in this case, FreeRTOS with additional components such as TCP/IP, SSL/TLS, HTTP (client and server), SNTP, DHCP daemon, MQTT, XML and JSON. You can download MediaTek LinkIt SDK v3.0, compatible with Windows and Linux operating systems, to work on it.

LinkIt_for_RTOS

Documentation for the board, including datasheets, a user’s guide, and the hardware reference files, can be found on Hardware Development Kits for the MediaTek LinkIt Development Platform for RTOS page.

Mediatek MT7687 HDK and MT7687 WiFi module are shown to be “coming so” for respectively $19.99 and $4.99.

Via HackerBoards (previously LinuxGizmos)

Embedded Linux Conference 2016 and OpenIoT Summit 2016 Schedule

March 4th, 2016 2 comments

The Embedded Linux Conference 2016 and the OpenIoT summit 2016 will take place on April 4 – 6, 2016 in San Diego, California, and over 800 attended will meet including kernel & system developers, userspace developers, and product vendors. The Linux Foundation has recently published the schedule, so I’ve had a look at some of the talks, and designed my own virtual schedule to find out more the current development focus although I won’t attend.

Embedded_Linux_Conference_2016Monday April 4

  • 10:40am – 11:30am – Linux Connectivity for IoT by Marcel Holtmann, Intel OTC

There are many connectivity solutions that available for IoT. For example Bluetooth Low Energy, 802.15.4, Zigbee, OIC, Thread and others. This presentation will provide and overview of the existing technology and upcoming standard and how they tie into the Linux kernel and its ecosystem.

  • 11:40 – 12:30 – BoF: kernelci.org: A Million Kernel Boots and Counting by Kevin Hilman, BayLibre

The kernelci.org project is currently over 1500 kernel boot tests per day for upstream kernels on a wide variety of hardware. This BoF will provide a very brief overview of kernelci.org and then be a forum for discussion and feature requests, how to participate and next steps.

  • 14:00 – 14:50 – Hello, Brillo by Dave Smith, NewCircle

Brillo is Google’s latest embedded offering, based on Android, intended for low-power devices in the IoT market. But what does “based on Android” really mean? In this session, we will compare the Brillo stack to Android, examining what has been added as well as removed. You will learn how Google attempts to bring secure solutions to IoT using Brillo and Weave—Google’s IoT connectivity protocol. We will also discuss the current status of user space application development on the platform.

  • 15:00 – 15:50 – Reducing the Memory Footprint of Android by Bernhard Rosenkränzer, Linaro

The Android team inside the Linaro Mobile Group has been working on reducing the memory footprint of the Android system – cutting around 70 MB off the memory used by a newly booted AOSP build on Nexus 7.

This talk describes what techniques we have used to save memory without having too much of a negative impact on performance.

  • 16:10 – 17:00 – Bringing Display and 3D to the C.H.I.P Computer by Maxime Ripard, Free Electrons

Every modern multimedia-oriented ARM SoC usually has a bunch of display controllers, to drive a screen or an LCD panel, and a GPU, to provide 3D acceleration. The framework of choice to support these controllers in Linux is the DRM subsystem.

This talk will walk through the DRM stack, the architecture of a DRM/KMS driver and the interaction between the display and GPU drivers. The presentation is based on the work we have done to develop a DRM driver for the Allwinner SoCs display controller, as part of enabling the C.H.I.P platform with the upstream Linux kernel. The work done to make the ARM Mali OpenGL driver work on top of a mainline DRM/KMS driver will also be detailed.

  • 17:10 – 18:00 – Bluetooth on Modern Linux by Szymon Janc

This presentation will help audience to better understand how Linux supports fast changing and evolving technology as Bluetooth. It will provide comprehensive guide on BlueZ 5 Bluetooth stack architecture demystifying transition from BlueZ 4 systems. This includes integration with external components like PulseAudio or NetworkManager. Audience will also have good overview of how Bluetooth on Linux can help building Internet of Things by supporting bleeding edge features like LE Connection Oriented Channels, 6LowPAN, LE Secure Connections and more.

  • 18:10 – 19:00 – BoF: Device Tree by Frank Rowand

The Linux kernel Device Tree continues to evolve. The presentation portion of the BoF will include improvements completed over the last year, the status of partially completed projects, and plans for the coming year. Suggestions for changes and improvements to Device Tree will be solicited from the participants. Come meet Device Tree maintainers and contributors.

Please bring questions, complaints, solutions, reports of what is not working for you, and wish-lists.

Tuesday April 5

  • 9:00 – 9:50 – Implementing Miniature Smart Home by Constantin Musca, Intel

We are at the beginning of a new era of technologies computing where almost every device communicates with each other or communicates with their environment. It is about the so called Internet of things (IoT).

A major line of investigation is the smart home and the benefits of having one and what it takes to make a home “smart”. These solutions are to make life easier and free more time. How cool is to be able to control the temperature, lights, music or garage door remotely.

The smart house system runs on a Brillo OS device which exposes standard peripherals’ APIs and can be controlled through the standard Weave interface using your Google account with commands like: open_garaje_door, set_living_temperature, play_song or close_curtains.

For the moment we only implemented this solution on a miniature house, but we are looking forward to extend it to a larger scale and use it in real

I’ve found a demo of the project, and they’ve actually used a house as big as “standard” apartment… Maybe it’s only considered miniature if you live in the US…

  • 10:00 – 10:50 – Developing a Standard Interface for Drones by Tully Foote, Open Source Robotics Foundation

With the proliferation of a huge variety of drones it is becoming more important to develop standard interfaces which can enable software to be reused across whole classes of airframes. In his work on ROS (the Robot Operating System), Tully Foote has been actively involved in many standard interface proposals and refinements and is the maintainer of many of the core message definitions. In this talk he will review the important aspects of designing standard interfaces using examples from indoor robotics, autonomous cars, and more. The talk will conclude with a proposed standard interface for drones with the hope of sparking further discussion in the greater drone community.

  • 11:20 – 12:10 – Linux Power Management Optimization on the Nvidia Jetson Platform by Merlin Friesen, Golden Gate Research

Powerful cellular System on Chip (SoC) Application Processors with multiple ARM cores and a vast array of peripherals are now readily available for non cellular applications and are finding use in areas such as vision processing, robotics and drones. These devices, due to their use in mobile smart phones and tablets, have highly optimized power management features and come with Linux kernels that complement the hardware.

The Linux based Nvidia Jetson platform is used in this presentation to give developers a hands on overview of SoC power management and techniques they can use to monitor and improve power consumption in their own designs.

  • 14:00 – 14:50 – libiio – Access to Sensor Devices Made Easy by Lars-Peter Clausen, Analog Devices

The Linux IIO (Industrial IO) framework is tasked with handling configuration and data aggregation from and to all sorts of sensors and data converters including ADCs, DACs, temperature sensors, accelerators, chemical analysis, light sensors, lifestyle sensor and many more. libiio is a system library hides the low-level details of the IIO kernel ABI and provides a simple yet complete programming interface. It implements functionality often required by applications which want to access IIO sensor devices.

This presentation will give an introduction to the core concepts of libiio, it’s API and how it can be used in applications to access sensor devices, enabling attendees to develop their own applications being able to access sensor devices fast and efficiently. In addition it will discuss the existing infrastructure and tools that have been built around libiio.

  • 15:00 – 15:50 – Communication for IoT: MQTT Development and Integration by Rodrigo Chiossi, Intel

MQTT is a lightweight publish/subscribe protocol intended for small sensors and mobile devices. It is designed to work with high-latency and unreliable networks and is the protocol of choice of many IoT solutions, such as IBM Bluemix and Amazon AWS IoT. MQTT is also one of the communication protocols of the Soletta Project, which uses Mosquitto, a compact open source implementation of MQTT, as backend.

This technical talk is focused on the integration between Mosquitto and Soletta. The Soletta MQTT API will be presented along with the process of integrating Mosquitto into Soletta’s mainloop. We then discuss the main limitations and problems of this process, and present the solutions applied. Lastly, we take a look at live demos of Soletta MQTT working with IBM Bluemix and Amazon AWS, with code snippets and development guidelines for those platforms.

Wednesday April 6

  • 9:00 – 9:50 – Static Code Checking in the Linux Kernel by Arnd Bergmann, Linaro

As a maintainer of the arm-soc tree, Arnd is responsible for the quality of a lot of new code that gets merged each release. His dirty secret is that he never runs any of it on real hardware, but that makes static compile-time checking at even more important.

In this presentation, Arnd shows his setup for finding and fixing bugs, and gives an overview of many of the available tools, including kernelc, sparse, coccinelle, clang, checkpatch and coverity.

  • 10:00 – 10:50 – HDMI CEC: What? Why? How?  by Hans Verkuil, Cisco Systems Norway

The HDMI connector features a CEC (Consumer Electronics Control) pin that allows connected devices to detect and control one another. This talk describes what CEC is, why you would want to implement support for it, and how you can use a new kernel framework and API to support this HDMI feature.

This talk will include a short introduction of the upcoming CEC framework and the utilities that use it.

  • 11:05 – 11:55 – Embedded Linux 3D Sensing: Minnowboard Meets RealSense by Miguel Bernal Marin, Intel

Robots and Drones use sensing devices (like cameras, lasers range-finders, ultrasonic sonars) to get information from external environment and it is used avoid obstacles or create maps. The use of 3D depth cameras helps to do these task easily. But the current 3D depth cameras in the market are heavy to load on a drone or the smaller doesn’t have Linux support. In this presentation, Miguel will explain how to use the Intel RealSense 3D camera in a Linux environment using a Minnowboard Max, a small 3D camera that can be used in outdoors. In addition, Miguel will go into detail on how to use it using the Clear Linux Project for Intel Architecture.

  • 13:35 – 14:25 – Survey of Open Hardware 2016 by John Hawley, Intel

This is a generalized talk where we’ll generally compare, contrast and discuss various things that have happened in the last year regarding Open Hardware. In 2016 this will cover things that happened at the last OSHWA meeting, various new devices that are on the market, and generally focus on devices capable of running and operating system, and not micro-controllers.

  • 14:35 – 15:25 – Zephyr Project: An RTOS to change the face of IoT by Anas Nashif

An increasing number of developers need a scalable, real-time operating system designed specifically for small-footprint IoT devices. It needs to be affordable, easy to use and built with input from the developers using it. An open source RTOS can’t just be called “open” – it must live and breathe “the open source way.” Developers should have influence over the direction of the project and be able to impact its software and hardware architecture support. The OS should also maximize interconnectivity between other devices, contain powerful development tools and come with customizable capabilities. The Zephyr Project offers just that.

This class will give an overview of Zephyr Project. Zephyr is a small, scalable, real-time operating system designed specifically for small-footprint IoT edge devices. Its modular design allows you to create an IoT solution that meets all of your device needs, regardless of architecture. It is also embedded with powerful development tools that will, over time, enable developers to customize its capabilities.

Launched in partnership with the Linux Foundation, the Zephyr project is a truly open source solution focused on empowering community development. The goal of Zephyr is to allow commercial and open source developers alike to define and develop IoT solutions best suited for their needs.

There are so many other interested talks that I did not mention in my list, but that’s what happens when you do a schedule.

You can register online to attend both Embedded Linux Conference and OpenIOT Summit 2016. The fees are as follows:

  • Early Registration Fee – US$550 through February 21, 2016
  • Standard Registration Fee – US$650 through March 13, 2016
  • Late Registration Fee – US$850 after March 14, 2015
  • Student Registration Fee – US$175
  • Hobbyist Registration Fee – US$175. You’ll need to contact events [at] linuxfoundation.org to receive a discount code, and you must pay for the fee yourself.

 

Samsung Artik IoT Boards and Devkits with WiFi, Bluetooth LE, and Zigbee Available, Partners Announced

February 19th, 2016 12 comments

Samsung Artik IoT boards will finally start selling on February 22 via Digikey. With the many fascinating developments in the IoT space over the year, you’d be forgiven if you completely forgot about Samsung Artik boards. So let’s have a quick recap.

Samsung_Artik

The Korean company previously announced three boards all supporting Bluetooth LE:

  • Artik 1 – Ineda Systems Dual Core microAptiv MIPS32 processor with 1MB on-chip RAM, no GPU, and 4MB SPI flash
  • Artik 5 – Dual core Exynos ARM processor @ 1GHz with ARM Mali 400 MP2 GPU, 512MB RAM and 4GB eMMC flash (both on-chip), with WiFi & Zigbee/Thread connectivity
  • Artik 10 – Octa core Exynos processor with 4x ARM Cortex A15 @ 1.3GHz, 4x ARM Cortex A7 @ 1.0 GHz with ARM Mali-T628 GPU, 2GB LPDDR3 (on-chip), 16GB eMMC flash, and WiFi & Zigbee/Thread connectivity

Samsung also partnered with multiple companies working on:

  • Operating Systems – Tizen, Nucleus Real Time OS (for Artik 1), Fedora Linux, and Snappy Ubuntu Core.
  • Tools and Services
    • Arduino web-based development environment
    • Temboo for cloud connectivity and automatic code generation.
    • Medium One’s workflow tools for analytics and visualization
    • Sensory’s speaker-independent on-device TrulyHandsfree Voice Control technology
    • Soundhound’s contextual natural language and voice recognition engine
    • Vayyar’s 3D imaging sensor technology.
  • Cloud – Microsoft Azure IoT Suite and IoT Hub;  Samsung SAMIIO + the Open Data Exchange platform
  • Security – TEE support (Trusted Execution Environment) with Trustonic

You can find the SDK, documentation, and community forum on  Artik developer’s page.

Artik 5 Development Kit

Artik 5 Development Kit

Artik 1 and Artik 10 prices are not unavailable, 4 days from the launch… however Artik 5 kit is already sold for $99.99, and includes a baseboard, Artik 5 modules, three antennas for WiFi, Bluetooth and Zigbee, as well as a power supply and a USB cable.

Open Source Operating Systems News – Maru OS, Zephyr, ReactOS, Tizen 3.0, and Raspbian

February 18th, 2016 9 comments

There have been several news related to open source operating systems in the last couple of weeks including Maru OS to run Debian on Android, Zephyr Project real-time OS managed by the Linux Foundation, ReactOS an open source port of Windows XP, and Raspberry Pi boards are getting a Tizen 3.0 port, as well as a new Raspbian release.

Maru OS – Mobile <-> Desktop  Convergence

Maru_OS

Maru OS mobile operating system is supposed to do what Ubuntu convergence promised: it runs in mobile mode on the go with Android Lollipop mobile OS, once you connect the phone to an HDMI screen, and pair Bluetooth keyboard and/or mouse, it will switch to desktop mode running Debian Linux. The downside is that so far it a single developer (Preetam D’Souza) worked on it, and the beta version only works on Nexus 5 smartphone. However, since the project went viral, dozen of other people wanted to get involved and help, so Preetan decided to open source it, and a community may form around the project.

You can find more details on Maru OS website and blog.

Zephyr Real-time Operating System for IoT

Zephyr_RTOS

Zephyr Project is a lightweight real-time operating system (RTOS) design for IoT applications comprising of a microkernel for lower priority tasks, and a nanokernel to handle the real-time part. Zephyr memory footprint can be as low as 8KB, it supports x86, ARMv7-M, and ARC instructions sets, includes Bluetooth and 6LoWPAN stacks, as well as I/O drivers for GPIOs, ADC, I2C, and SPI, and supports Constrained Application Protocol (CoAP) and Datagram Transport Layer Security (DTLS).

The main features are explained in the short video below.

You can get the source code for the first release as follows:

It will run with QEMU for x86 or ARM, as well as several development boards such as MinnowBoard MAX, Quark D2000 and SE boards, Arduino 101, Galileo, Arduino Due, and NXP Freedom development platform.

You can find more details, including full documentation and Zephyr SDK on Zephyr Project website, and the Linux Foundation announcement.

ReactOS 0.4.0 Release

ReactOS

ReactOS is an open source operating system written from scratch – i.e. not based on Linux – that looks like Windows XP, and runs Windows applications. The source code has over 9 millions lines of code contributed from over 100 developers, so it’s not exactly a small project. It can run on older computers with as low as 96MB RAM and 500MB storage.

The developers have been working on the project for many years, but the news is that ReactOS 0.4.0 has been released with some new features including ext2 read/write and NTFS read support, a new explorer shell and theme support, and on the hardware drives side SATA, sound, USB and wireless networking are now working. The operating system is still considered alpha, but if you want to give it a try, you can download the ISO to boot or install it from a USB drive.

Raspberry Pi Gets Tizen 3.0 Port, new Raspbian Release

Raspberry_Pi_2_Tizen_3.0Tizen adoption rate is relatively low, so the Samsung Open Source Group decided to leverage Raspberry Pi 2 reach, over 5 millions sold for far, to bring more people on board. Development is still in progress, so while Tizen 3.0 is booting fine on Raspberry Pi 2 board, supports 3D graphics acceleration, but still lacks some functionalities.

You can try it by downloading tizen.rpi-sdimg.LATEST, and dumping it into a micro SD card the usual way, i.e. Win32DiskImager or dd. If you’d rather build one of the minimal images by yourself, you can do so by following the build instructions.

If you are running the better known Raspbian distribution on your Raspberry Pi board(s), you may consider upgrading it, as the Raspberry Pi Foundation recently announced a new release of the Debian based operating system which mostly contains bug fixes and packages updates. There’s also a new experimental feature: an OpenGL driver for the desktop, only implemented for RPi 2. It is turned off my default, but can be enabled with raspi-config.

To update Raspbian to the latest version, simply run:

If you also want to tried OpenGL applications:

H5OS HTML5 based OS

H5OSOne quick update, as I’ve just seen Linaro member ACADINE Technologies released the first version of H5OS HTML5 based operating system designed for mobile devices and IoT and that has been forked from  Firefox OS.