LLVM (Low Level Virtual Machine) Compiler Infrastructure

The Low Level Virtual Machine (LLVM) is a compiler and toolchain infrastructure, written in C++, designed for compile-time, link-time, run-time, and “idle-time” optimization of programs written in arbitrary programming languages. Originally implemented for C/C++, LLVM is now used with a variety programming languages such as Python, Ruby and may others. Code in the LLVM project is licensed under the “UIUC” BSD-Style license. LLVM can be used to replace and/or supplement the GNU tools such as gcc, g++, gdb, etc… LLVM now consists of a number of different sub-projects including: The LLVM Core libraries provide a source- and target-independent optimizer, along with code generation support for many popular CPUs. These libraries are built around a well specified code representation known as the LLVM intermediate representation (“LLVM IR”). The LLVM Core libraries are well documented, and it is particularly easy to invent your own language (or port an existing compiler) to use […]

Open Source Licenses Overview: GPL, LGPL, Apache, BSD,…

The great thing about open source code is the large amount of high quality code that is available and many embedded projects use FOSS code as it really speeds up development time. What is not often taken into account are the licenses for the code. Many companies often simply ignore licenses issues and some even go one step further by obfuscating the code to work around dual license issues or to hide the use of a particular open source library. Even though history shows that few companies get sued due to open source license infringements and release of open source code modified in commercial projects often requires the community involvement, open source licenses should still be taken into consideration as the risk still exists. I’ll give an overview of open source licenses in this blog post, as well as recommendation on how to keep your proprietary code closed. Definition of […]

Embedded Linux Conference Europe 2011

Embedded Linux Conference Europe (ELC-E 2011) will take place on October 26 – 28, 2011 at Clarion Congress Hotel in Prague, Czech Republic. The event will be co-located with LinuxCon Europe 2011 and GStreamer Conference. The day before the official opening of the conference, two tutorials will be offered on Tuesday 25th of October:b Outside the Box: An Introduction to Embedded Linux and Hardware Interfacing Using the Snowball Board – 9:00 – 17:00 – Trainer: Chris Simmonds – Cost: 350 USD. Embedded Android Workshop – 9:00 – 17:00 – Trainer: Karim Yaghmour- Cost: 300 USD. ELCE 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. October 26 10:45 – 11:45 – Linaro’s Android Platform by Zach Pfeffer, Linaro Android Platform team leader. Linaro uses components from the Android Open Source […]

Android Developer Conference: DroidCon 2011 Schedule

DroidCon UK will be held for two days (October 6th & 7th 2011) at the Islington Design Center in London and boasts to be United Kingdom’s largest Android-only developer conference. Here’s the program for day 1 (6th of October): 9:00 Barcamp Talks will be selected by attended among the following proposals: From Publisher to Platform – the role of OpenSource in engaging with developers by Oscar Clark, Papaya Mobile. Reality of Mobile Advertising by Terence Eden, Inmobi. OpenGLES2 & Android QEMU Emulator by Jonathan White and Jose Commins, Accenture. Enhancing User Experience with HTC: 3D, Pen, and Audio Lance Nanek, HTC. Cisco Workshop by Marcus O’Sullivan, Cisco. OpenGL & NDK by Ashraf Hegab, Orange. Fed up with trying to make pay per download pay back? Try API revenue share by James Parton, o2. (Re)Branding Headache? Here’s your Pain Killer by Joana Cruz e Costa, Masabi. Smooth and User Friendly UI […]

Embedded MasterClass Conference Schedule in Cambridge, UK

Embeded MasterClass will take place in Cambridge on the 5th of October 2011. This conference will give you the chance to meet with embedded systems engineers from many of the world’s leading vendors and you’ll be able to attend presentations and workshops free of charge. Here’s the presentations’ schedule for the event: Time Stream 1 Stream 2 8.30 – 9.30 Tea/Coffee – Meet the Exhibitors 9.30 – 10.15 1: Leveraging the Performance of Intel® Architectures in low power, fan-less solutions with the latest Intel® Atom™ processor-based platform. Regis Cheval CEng MIET, Intel® Atom™ Platform Application Engineer – Intel 10.30 – 11.15 2: Proving your code quality. Barry Lock – Lauterbach 3: Developing reliable embedded systems using COTS and custom processors. Michael Pont, CEO – TTE Systems 11.15 – 11.45 Coffee and Exhibition 11.45 – 12.30 4: Strategic Research Agenda. Helen Finch – Artemis and Infineon 5: Safely from Conception to […]

Select an ARM MCU during Development with Atollic TrueSTUDIO for ARM

Atollic has released the latest version of TrueSTUDIO development tool for ARM, a C/C++ development tool for embedded developer that looks similar to Eclipse. It supports micro-controllers from a number of semiconductor manufacturers, making it possible to switch MCU supplier during the design process. This release of TrueSTUDIO supports several ARM MCU cores such as ARM7, ARM9, Cortex-M0, Cortex-M1, Cortex-M3 and Cortex-M4 processors. It also includes device-specific support for an extensive list of ARM processor-based micro-controller families, including: Atmel AT91SAM, EnergyMicro EFM32, Freescale Kinetis, Fujitsu FM3, STMicroelectronics STM32, Texas Instruments Stellaris and Toshiba TX. As well as an optimizing C/C++ compiler and a multiprocessor-aware debugger, the tool also has serial wire viewer tracing, graphical UML diagram editors for model-based design and architecture, performs code-quality analysis via TrueINSPECTOR and TrueANALYSER and features a test-automation toolbox (TureVERIFIER). There is also an ECLIPSE-based IDE with editor, x86 C/C++ build and debug tools for development of […]

Most Engineers have Multicore/Multiprocessor Experience

In a recent blog post entitled “Engineers’ Multicore/Multiprocessor Experience Improving” , VDC research revealed a survey showing that more and more engineers are gaining experience working on multicore or multiprocessor projects. In their 2011 survey, there are now only 32% of engineers who have never worked on projects based on multicore and/or multiprocessor versus 45% in 2010. VDC Research questions the the factors that are driving engineers’ expanding experience with multiprocessing, such as  the increasing availability and affordability of multicore processors, advancements in processor technology, the effectiveness of ISVs efforts around educating the engineering community about the use of multicore or the continued maturation of software solutions that enable parallel programming. But I believe it’s all of the above. There are now many cost effective multicore processors for embedded systems (mainly thanks to ARM). Some of them have low cost development platforms that attract more developers. For device where battery […]

Setting Up a Git Server on Ubuntu

Git is a version control system used by many projects such as Linaro, the Linux kernel, Android, Eclipse, Qt and more. For projects that can not afford their own servers and still need to collaborate, hosted git is available from github and as today there are a total of 2,769,642 repositories (private and public) hosted on github. For software developed internally, you can start to setup you own Git server by following some simple steps (in Ubuntu). Installing the Git Server Update Ubuntu and install git-core: sudo apt-get update sudo apt-get install git-core That’s it. Installing Gitolite Gitolite allows you to setup git hosting on a central server, with fine-grained access control and many more powerful features. First get gitolite with git: git clone git://github.com/sitaramc/gitolite.git Obtain a public key based access to your server, so that you can log in from your workstation to the server without getting a password […]