Linux Mind Mapping and Project Management Software

Linux Mind Mapping and Project Management Software: Just ran into the article on, it’s kind of interesting.

And a few project management software projects the article links to: OpenProj, TaskJuggler, Project Open, DeskAway, Wrike, ACE Project …

Posted in All, Desktop | Tagged , , , | Leave a comment

Fedora on Acer C7 Chromebook

Since installed ChrUbuntu, Fedora has been on my todo list till now … it’s done! Even better, with double the battery run time!

c7fedora - Fedora on Acer C7 Chromebook

Chromebooks are a great budget laptop or netbook when running Linux. Many people prefer Fedora over Ubuntu. So far there has only been the fantastic ChrUbuntu project that allows Acer C7 Chromebook to load a special kernel with a Ubuntu root file system. Its approach can be used to load Fedora 19 too. The steps below in a few scripts automate the Fedora 19 installation process. It loads a pre-installed Fedora LXDE minimal root file system image. After booting into LXDE it’s free to load KDE or GNOME environments and any other normal packages.

View original post 292 more words

Posted in Uncategorized | Leave a comment

Using Newlib in ARM bare metal programs

Really great and very detailed series of artistic work on ARM and emulation.

Freedom Embedded

When dealing with embedded software, I often find useful to have the standard C functions we all learn during our first programming course: printf, malloc, getchar, strncpy, …
A common way to have them is using Newlib. Newlib is an implementation of the standard C library that is specifically thought to run somewhere with low resources and undefined hardware. The idea of Newlib is to implement the hardware-independent parts of the standard C library and rely on few low-level system calls that must be implemented with the target hardware in mind.

I compiled Newlib with the CodeSourcery ARM compiler for bare-metal targets: Sourcery G++ Lite 2010.09-51. Once the toolchain is installed, the commands I used to download compile Newlib are:

The “--disable-newlib-supplied-syscalls” option is necessary because otherwise Newlib compiles some pre-defined libraries for ARM that are useful in conjunction with debug features…

View original post 515 more words

Posted in Uncategorized | Leave a comment

Hello world for bare metal ARM using QEMU

Really great and very detailed series of artistic work on ARM and emulation.

Freedom Embedded

Last time I wrote about writing and debugging bare metal ARM software using the CodeSourcery toolchain. Now I want to exploit QEMU’s emulation of a complete system and create the simplest “Hello world!” example.

The QEMU emulator supports the VersatilePB platform, that contains an ARM926EJ-S core and, among other peripherals, four UART serial ports; the first serial port in particular (UART0) works  as a terminal when using the -nographic or “-serial stdio” qemu option. The memory map of the VersatilePB board is implemented in QEMU in this board-specific C source; from that I note the address where the UART0 is mapped: 0x101f1000. The code that emulates the serial port inside QEMU (here in the source repository) implements a subset of the functionalities of the PL011 Prime Cell UART from ARM; there is a useful technical manual from the ARM info center that describes…

View original post 672 more words

Posted in Uncategorized | Leave a comment

Emulating ARM PL011 serial ports

Really great and very detailed series of artistic work on ARM and emulation.

Freedom Embedded

QEMU is able to emulate ARM systems with multiple serial ports, for example the Versatile PB. It has the ability to direct them to many types of host resources such as standard I/O, a pseudo-terminal or a telnet port. I started from my hello world example for bare-metal ARM programs to control three different serial ports. In the Versatile PB manual there’s a section, called Memory Map, that includes the absolute addresses of the mapped peripherals. For example, the UART 0, 1 and 2 interfaces are placed at addresses 0x101F1000, 0x101F2000 and 0x101F3000 respectively. Inside the manual, the programmer’s model for the UART peripherals indicates the ARM PrimeCell UART (PL011) Technical Reference Manual as reference. In the PL011 manual we can find a detailed description of the UART memory mapped registers. From that decription I implemented a C struct that renders easy to use the serial ports. The complete…

View original post 327 more words

Posted in Uncategorized | Leave a comment

ARM Tiny Linux Emulated in QEMU

Free Electrons has an excellent example of a tiny ARM Linux demo that runs in QEMU. The footprint, including everything, is about 2.1 M. The full text below is for your convenience, be sure to visit the original site.

From this simple example, much more can be achieved.

Continue reading

Posted in All, C/C++, Hardware, Tools | Tagged , , , , , , , , , | Leave a comment

Chromebook Verified Boot and Recovery

In my previous blog the steps to install a Linux distribution is explained in detail. The major technology behind it, is the Chromium OS design of verified boot and recovery. Continue reading

Posted in All, Desktop, Hardware | Tagged , , , , | Leave a comment