Now available design strategies and documentation to ease the migration to an ARM platform - From one programmer to another.
You could say I'm an "Acorn boy" - I cut my programming teeth on personal computers from Acorn in the late '70s and early '80s. All were based around the 6502 and, perhaps because, it's where I started, I still look on that processor with great affection. I've used many other devices in my 25-year career in embedded software - 6502, 6809, 6811, Z80, 68000, 8051, 8086 to name a few. For the last eleven years, I've worked at ARM and have worked almost exclusively with various flavours of the ARM architecture. I had worked with ARM processors before that, though. In my life as a consultant software developer, I was part of the team which ported BSD Unix to what was then the Acorn RISC Machine.
So, you can assume that I've changed platforms many times during my career. Each time the process is similar. The programmer's model changes, the instruction set changes, the register set changes, the exception model changes, but through it all, the actual job of programming changes very little. The skill set is the same and the problems which need solving are still there and are largely unchanged. You just have to work out how to solve them using a new toolbox. Sometimes it's easy, sometimes it's not. Often, the new architecture makes the coding task easier as its better suited to the problem in hand; then again, sometimes it makes it more difficult. I once built a DECT phone around an 8051 platform. I have great respect for the 8051, but believe me it isn't good for wireless telephony!
As ARM's Training Manager for the last 11 years, I have been involved in training and coaching many of our customers in the details of the ARM architecture. All have been programmers, all have had experience of some kind of another, all have had different backgrounds, but they have been united in one thing "" all have been tasked with migrating themselves, their tools, their problems and their expertise to devices based around an ARM processor. Some have found it easy; some have struggled.
As the ARM architecture surges in popularity in almost every sector of the embedded universe, more and more programmers are being faced with the need to grapple with the whole ARM thing. So I have spent the last year or so putting together a series of papers which I hope will help. They cover the issues involved with migrating to an ARM platform and I have written papers covering MIPS, 8051, PIC, PPC and most recently, IA-32. You can find them on the ARM website, under "Application Notes". More will undoubtedly follow. All are different and this reflects the fact that the particular issues you need to grapple with depend on where you are coming from.
I have written these as one programmer to another and they are deliberately technical rather than pieces of marketing. I have enjoyed writing them and hope they will prove interesting and useful to my fellow programmers worldwide as they come to terms with what it means to join the ARM family.