We’ve already seen several sub-second boot times for embedded Linux systems with platforms such as Beagleboard (TI OMAP 3530) and an AllWinner A10 based device, but I had never seen fast boot optimization for Android before, or I just forgot… Typically Android boots within 20 to 40 seconds on most devices, but AllGo Embedded Systems has optimized Android Jelly Bean boot time for their IVI (In-Vehicle Infotainment) platform running a media player called RACE. Charbax interviewed then at CES 2014, where they demoed the 4 seconds (actually 4.2 seconds) boot on Texas Instruments OMAP5 from reset and power, as you can see in the video below. (The video starts at 2:20 to show the demo directly). Beside Texas Instrument OMAP5, the solution is also available for Freescale i.MX6. 0xlab did some boot time optimizations for Android dropping the boot time from 30 seconds to 15 seconds. AllGo Embedded Systems did […]
Google’s Portable Native Client Builds Architecture Independent Executable for Portability, and Better Performance
Native Client (NaCl) allows to build native C and C++, and runs it in the browser for maximum performance. Applications such as photo editing, audio mixing, 3D gaming and CAD modeling are already using it. The problem is that you have to build the code for different architecture such as ARM, MIPS or x86. To provide a portable binary, Google announced the Portable Native Client (PNaCl, pronounced pinnacle), which “lets developers compile their code once to run on any hardware platform and embed their PNaCl application in any website”. Instead of compiling C and C++ code directly to machine code, PNaCl generates a portable bitcode executable (pexe), which can be hosted on a web server. Chrome then loads this executable, and converts it into an architecture-specific machine executable (native executable – nexe) optimized for the device where the code runs. Bullet physics simulators (Shown below) and Lua interpreters are two […]
Google Announces LG Nexus 5 Smartphone with Android 4.4 KitKat
Google has partnered with LG and Nestle to bring to market the latest Nexus 5 smartphone featuring Android 4.4 “Kitkat”, the latest, and brand new, release of Android. Let’s first have a look at the device, and then we’ll go through the new features and improvement brought by Android 4.4. LG Nexus 5 Nexus 5 has the following technical specifications: SoC – Qualcomm Snapdragon 800 @ 2.26GHz with Adreno 330 GPU @ 450MHz System Memory – 2GB RAM Storage – 16 to 32 GB flash, but no microSD slot Display – 4.95″ touchscreen display with 1920×1080 resolution, Gorilla Glass 3 Connectivity – Dual band 802.11a/b/g/n/ac WiFi (2.4G/5G), Bluetooth 4.0, NFC, and GPS Celullar Networks – 2G/3G/4G LTE. GSM, CDMA, WCDMA, and LTE in North America, and GSM, WCDMA, and LTE for the rest of the world. Camera – 8MP rear camera with Optical Image Stabilization (OIS) and 1.3MP front camera […]
Embedded Linux Conference Europe 2013 Schedule – Build Systems, Security, Device Tree, Debugging & Profiling Techniques, and More
Embedded Linux Conference Europe 2013 will conveniently start right after LinuxCon 2013, last 2 days (October 23-24), and take place at the same location: the Edinburgh International Conference Center, Edinburgh, United Kingdom. The Linux Foundation has published the schedule for the conference, so I’ll make my own virtual schedule with sessions that I find particularly interesting. Thursday – 24th of October 9:30 – 10:10 – Timeline For Embedded Linux by Chris Simmonds, Consultant, 2net Limited Today, Linux is woven into the fabric of our technology. Things such as printers, routers, TVs and phones all have their own “Inner Penguin”. Yet it was never originally intended to be used beyond desktop and server PCs. A lot of things had to happen before Linux could break out of the PC environment and make its way in the world as a jobbing jack-of-all-trades. Since the early beginnings of embedded Linux in the late 1990’s many people have contributed […]
ARM TechCon 2013 Schedule – ARM Servers, Internet of Things, Multicore, Hardware and Software Optimization and More
ARM Technology Conference (TechCon) 2013 will take place on October 29 – 31, 2013, in Santa Clara, and the detailed schedule for the event has just been made available. In the previous years, the conference was divided into Chip Designs day (1 day), and the other 2 days were reserved for Software & System Design, but this year it does not appear to be the case. Whether you’ll be able to attend the event or not, it’s worth having a look at what will be discussed there in order to have a better understanding of what will be the key ARM developments in the near future in terms of hardware and software. There will be around 90 sessions categorized into 15 tracks: Accelerating Hardware Development – This track explores the resources, tools, and techniques that designers can employ to quickly bring hardware to market. Topics include multicore design, ARM IP, […]
Booting Linux in Less Than 1 Second in AllWinner A10 Devices? Yes! You Can!
threewater, a Chinese developer, has just posted a very interesting demo on linux-sunxi mailing list showing a device based on AllWinner A10 boot linux within 0.85s, and if you add a Qt app, the total time is just about 1.2s. This appears to be a custom hardware (EM6000), but we do know it’s based on AllWinner A10, comes with 512 MB RAM, and 4GB NAND Flash. On the software side, the device runs kernel 3.4 from linux-sunxi, with a customized version of uboot, a squashfs rootfs, and a Qt 4.7.4 app showing a gauge. Both the rootfs (7MB) and the kernel (2MB) have been compressed with LZO. All that boots from NAND flash for optimal speed. The 1.2 second time includes kernel + rootfs + app time, and the total time is a bit longer, but this is still impressive. Here’s the boot log:
1 2 3 4 5 6 7 8 9 10 |
[1.690000 1.690000] U-Boot SPL 2013.01-05984-g2120a27-dirty (Apr 17 2013 - 14:22:02) [0.009000 0.009000] Board: EM6000 [0.012000 0.003000] DRAM: 512MB [1.014000 1.002000] init startup v1.1 [1.016000 0.002000] mount usr data error 2 [1.158000 0.142000] Could not read calibration: "/data/etc/pointercal" [1.166000 0.008000] Couldnt open tslib config file: No such file or directory [1.175000 0.009000] QWSTslibMouseHandlerPrivate: ts_config() failed with error: 'No such file or directory' [1.187000 0.012000] Please check your tslib installation! [1.200000 0.013000] qt show |
If you just boot to […]
Embedded Linux Conference 2013 Schedule
The Embedded Linux Conference (ELC 2013) will take place on February 20 – 22, 2013 at Park 55 Hotel in San Francisco, California. ELC consists of 3 days of presentations, tutorials and sessions. There will be over 50 sessions during those 3 days. I’ll highlight a few sessions that I find particularly interesting, and that did not get presented at ELCE 2012 (AFAICR). February 20 11:00 – Anatomy of the arm-soc git tree by Olof Johansson, Google We are now two years into the new maintainer model for ARM platforms, and we have settled down into a workflow that maintainers have adjusted well to. Still, when new platforms arrive, or when maintainer ship changes hands, there’s sometimes a bit of ramp-up in getting used to how we organize our git tree and how we prefer to see code submitted to fit that model. This presentation will give an overview of […]
USB Debugging and Profiling Techniques – ELCE 2012
Kishon Vijay Abraham and Basak Partha, respectively software design engineer and tech lead at Texas Instruments, provide an overview of techniques that can be used to debug Linux USB drivers on the host PC or/and the device itself. Abstract: The widespread integration of USB into embedded applications presents many developers with the challenge of debugging problems, that are difficult to detect and isolate when a USB device misbehaves. This paper discusses about the various USB debugging techniques which includes debugging at the host PC, at the device and in the cable and discuss when each of the above techniques will be handy. This paper will also discuss about the various facilities provided within Linux kernel to aid in USB debugging e.g sysfs, trace points etc. and the various user space tools available to help USB debugging e.g USBMON. This paper also discusses about the profiling techniques at various levels in […]