VWorks VLAB Powers Freescale Vybrid Virtual Platform

Back in March, Freescale announced their Vybrid solution featuring both a Cortex A5 processor and a Cortex M4 microcontroller, and they had prototypes running  an unnamed virtual platform in order to speed up software development and possibly have the software ready at the same time as the silicon is. Always looking to learn more, I studied and wrote about virtual hardware platforms such as Cadence Virtual System Platform, Wind River Simics Virtual  Platforms and the open source Imperas OVPsim simulator. It turns out Freescale does not use any of these solutions, but relies on VWorks VLAB instead, which still use the same standard (SystemC/TLM) as the virtual hardware solutions aforementioned. VWorks uploaded a demonstration of VLAB running a virtual platform for the Freescale Vybrid controller and showing how it can handle both ARM Cortex-A5 and Cortex-M4 cores. This demo of VLAB 1.7.0 is pretty interesting and showcases: Dual (virtual) display […]

Importing Source Code to Github

Github is a hosting service for software development projects using the Git revision control system. GitHub offers free accounts for open source projects (public repositories) and commercial plans for private repositories. I’ve been using github for a while to clone source code, but I had never imported existing source code to github. Here are the steps to follow: If you don’t have an account yet, sign-up for github. Setup github for Linux, Windows or Mac OS X. Create a repository as shown as explained here. You should now have a URL in github, something like [email protected]:user/repo_name.git, which we’ll use below. Go to the directory with your existing source code and create a local repo:

Finally, type the commands below to add your code to your new repository:

That’s it, anybody should now be able to clone you code as follows:

NB: If your existing source code (or […]

Getting Started with MultiArch (armel / armhf) in Ubuntu

Until now, I used xapt and dpkg-cross to install cross libraries for armel, but since I’ve upgraded to Ubuntu 12.04, it appears to be broken. I’ve contacted Linaro about this issue, and the “cross-building” expert at Linaro (wookey) recommended me to use multiarch instead, as xapt/dpkg-cross will be eventually deprecated. He provided me an example showing how-to use multiarch to build Chromium. I’ve been looking for a “How-to multiarch”, but haven’t been able to find something really clear and simple, so I thought I would post it here. In the example, they used a chroot for cross-building, which is probably a good idea to avoid messing up with the system. It’s also possible multiarch is not 100% reliable, and I’ve read stories where people messed up their system when using multiarch with i386 (32-bit) and amd64 (64-bit). Preparing a chroot for cross-building I’ll use a 32-bit Ubuntu precise chroot, but […]

Yocto Project Release 1.2 Announced

The Yocto Project Release 1.2 has just been announced. This release codenamed “Denzil” and based on Poky 7.0 is the third release of the project. The project was announced in October 2010 to provide developers with greater consistency in the software and tools they’re using across multiple architectures for embedded Linux development. Yocto Project 1.2 Features: HOB redesigned with new user interface and work flow. HOB is a GUI based tool for users to customize and build an embedded Linux image in a more intuitive and easier way. Build appliance, which is a set of changes and enhancements to enable users to build a virtual machine image running Linux built with the Yocto Project. Within the Linux running on the virtual machine, users can customize and build their own customized embedded Linux images. Error message handling improvement, making error message more efficient, useful and accurate to users. New kernel update […]

How-to Make a Process Continue to Run After Closing an SSH client

If you are connected to a remote server via SSH, you may want to start a time-consuming task or a background task in the server and right after starting it, close your SSH client, because you need to turn off your computer to “save the earth”, reduce your electricity bill, or simply because you need to bring your laptop with you. The problem is that if you close your SSH client, the terminal session will be terminated together all processes launched from this terminal. There are 2 tools to solve this issue: GNU screen and nohup. GNU screen screen may not be installed in your Linux distribution. In Debian/Ubuntu you can install it with apt-get: sudo apt-get install screen In your SSH terminal, start GNU screen: screen Press enter to discard the text, run your command and press Ctrl+a+d (and not Ctrl+Alt+d) to detach the screen. That’s it. You can […]

HbbTV Specification 1.5 Adds MPEG DASH Support

The HbbTV (Hybrid Broadcast Broadband TV) consortium, an European initiative for web-based smart TV applications for TVs and set-top boxes, has recently released version 1.5 of the HbbTV specification. The latest specification adds support for HTTP adaptive streaming based on MPEG-DASH (ISO/IEC 23009-1), improving the perceived quality of video presentation on busy or slow Internet connections. It also enables content providers to protect DASH delivered content with multiple DRM technologies based on the MPEG CENC specification (ISO/IEC 23001-7). Finally, HbbTV Version 1.5 significantly enhances access to broadcast TV schedule information (DVB-SI EIT-Schedule), enabling operators to produce full 7-day electronic program guides (EPG) as HbbTV applications that can be deployed across all HbbTV receivers to provide a consistent user experience. The diagram above show the main improvement of HbbTV 1.5 over HbbTV 1.0 that is, as mentionned above,  EIT-Schedule for EPG, MPEG-DASH for streaming video and MPEG CENC for multiple DRM […]

Green Hills MULTI 6.0 Compiler Improves ARM MCU Performance by up to 40%

Last week at Design West 2012, Green Hills Software announced it had achieved the highest compiler performance scores ever certified by EEMBC CoreMark and that it outperformed the nearest competing compilers by 35.5% using its MULTI 6.0 – Compiler 2012. Benchmarks were completed on 3 ARM Cortex-M4 microcontrollers: Freescale Kinetis K60 MCU @ 100 Mhz – 35.5% improvement over nearest competitor. Freescale Kinetis K70 MCU @ 120 Mhz – 29.6% improvement over nearest competitor. STMicroelectronics STM32F417IGt6 @ 168 MHz – 34.7% improvement over nearest competitor. Since apparently it’s bad marketing to name competitors in press releases, I went directly to the source (EEMBC Coremark benchmark results) to check out the results and competitors (IAR and Keil) for Kinetis K60 MCU. The first thing you may notice is that there are 2 tests per compiler / MCU combination. That’s because there 2 test configurations: Code in internal Flash – Data in internal […]

ARM Releases Ne10: An Open Source Library with NEON Optimized Functions

Arm NE10

The Advanced SIMD extension (aka NEON or “MPE” Media Processing Engine) is a combined 64- and 128-bit single instruction multiple data (SIMD) instruction set that provides standardized acceleration for media and signal processing applications for ARM Cortex-A (ARMv7) processors and the goal of these instructions is similar to MMX, SSE, and 3DNow! extensions for x86 processors. Starting early 2011, ARM has been working internally on a project codenamed Snappy to develop common functions accelerated by NEON. They have now released the first version of Snappy, now called the Ne10 library, which is available on GitHub at https://github.com/projectNe10/Ne10 . The code has been developed in C and Assembler and tested on Ubuntu on ARM (Linaro). A Makefile is also included to build it for Android (AOSP). The current functions include vector and matrix operations accelerated by NEON instructions. Since the library is open source, ARM hopes developers will make use of the Ne10 […]