Archive | Uncategorized RSS feed for this section

Website maintenance

Hi all,

Due to an internal error during the maintenance of our website, some articles were unpublished. The problem is now fixed and you can have again access to the unpublished articles.

Here are the links to read our content.

Turning on an ARM MMU and Living to tell the tale : The code

Write an MLO for BeagleBoard XM

I2C in the 2.6.32 Linux Kernel

Understanding “vmalloc region overlap”

Using ‘delay_use’ to speed up USB Enumeration

GCC Weak symbols

cat/proc/meminfo : MemTotal

Understanding I/O Wait (or why 0% Idle can be OK)

Witekio team

Continue Reading →

We’re hiring!

In order to support the growing demand for our consultancy services we are currently recruiting for an Embedded Linux Software engineer to join our Bristol team. For more information please see our careers page.

Continue Reading → embraces Twitter! embraces Twitter embraces Twitter has joined Twitter! I thought it would be a great way to get to know my readers and to share with you the blog posts I write.

When it comes to developing for embedded devices – it can be quite difficult to find good documentation or informative articles on the things we really need to know. I’m hoping that we can use Twitter to share links to the useful nuggets of information that we come across during our travels across the internet.

I will look forward to seeing you on Twitter! [© 2011]

Continue Reading →

Turning on an ARM MMU and Living to tell the Tale: Some Theory

MMU Enabled

MMU Enabled

In my last post I wrote some bare metal code which ran on a BeagleBoard xM as an MLO – I’d like to extend this by running this code with the MMU switched on. I want to write the absolute minimum amount of code required to turn on an ARM MMU and to come out the other side in one piece. This post describes the basic principles of operation of an MMU – we’ll come on to writing code in my next post.

One of the most fundamental tasks of an MMU is to translate virtual addresses into physical addresses. How virtual addresses map onto physical addresses is entirely a matter of software design – the ARM MMU design provides great flexibility for helping you in this area. Just to illustrate this and to demonstrate the capability of these MMUs, I’ve come up with some perfectly valid schemes (though some of which at first may seem nonsensical):

Continue Reading →

Contributors Wanted!

Your Country Needs You

Your Country Needs You

To improve the broadness and frequency of articles on this site – I’m looking for contributors willing to write blog posts for I believe this will make the site a much more attractive place on the internet and a more useful resource for those in interested in our field.

If you are a systems integrator or work in the field of making hardware and stubborn software do something useful – or generally feel you have something to offer (it doesn’t have to be Linux) then I would love to hear from you. As long as you can demonstrate you can write high-quality, original and interesting articles that others will want to read and are willing to do it for nothing but fun – then drop me an email at – feel free to ask any questions in the comments sections. [© 2011]

Continue Reading →