It just occurred to me, there's another bit of my history with ARM based boxes I should mention.
In 1994, I joined the Apple Newton team in their DTS group. The Newton of course was based on an ARM processor.
In 1997 when Steve Jobs very effectively destroyed Newton, I joined Palm Computing. The Palm was based on Motorola's DragonBall 68k SoC. It looked and felt a _lot_ like an early Mac inside. Fast forward a few years and Palm is transitioning to... you guessed it, ARM.
A few of us managed to convince the powers that be to let us initially make the transition in a similar fashion to how the only other computer company in history changed processor architectures, seamlessly (and they've done it twice so far). The company of course being Apple, who went from the 68K to PowerPC to x86, and did so in a way that was almost completely transparent to end users.
So we did. We wrote a 68000 emulator, and initially the complete PalmOS was running in the emulator. Over time we added the ability for app developers to include native ARM code, and the OS itself was ported over to native ARM.
Here's where my claim to fame comes in. Someone had to write a new boot-loader for the ARM. The ARM had an MMU, which the DragonBall didn't, so at startup the entire memory map had to get rearranged, and especially, the ROM needed to be remapped to higher addresses, and RAM remapped to address 0. On power-on, ROM was mapped to address 0.
This was my job. Writing ARM assembly code for the most part, setting up the MMU and generally configuring the SoC to be ready to hand off to PalmOS. If you watch an ARM based Palm handheld starting up, you'll see a little flicker along the top of the screen, this flicker is a small trampoline routine I wrote that lived, briefly, in the video RAM, since the video RAM was not remapped. The trampoline took care of switching on the MMU and then modified its return address so that when it returned it jumped into ROM, not to the low addresses that were now RAM.
One of my favorite memories of that time was the very first time that PalmOS booted itself on the prototype board I was using. It was the very first time anywhere that PalmOS booted on an ARM device. I'm told that my shout "It's alive!!!!" could be heard throughout the building
Cheers!
Bruce.