User:Ulf R Samuelsson
Started my embedded *nix career at National Semiconductor AB in Sweden in 1984 as an application engineer for microprocessors, mainly focusing on the Series 32000(tm) which was running Genix(tm), a version of Unix System V. Around 1994 I moved over to the newly formed National Semiconductor Research Center, a distributed organisation with people located all over the world. We basically should come up with interesting ideas for research. I choose ”synthesizable processors”, ”multithreaded processors” and ”compilers”. As part of that, I ported NSC’s CompactRISC-32 from the proprietary ”Z” language using two phase non-overlapping clock, to Verilog using a single clock, and supervised a student, Matt, at the University of Michigan to create a new version of CompactRISC-16 from the specification. National decided to move over to Verilog for future processor designs. A very large customer wanted a custom chip with an ARM7TDMI, and NSC requested a synthesizable ARM core and ARM Ltd. designed the ARM7TDMI-S for NSC. The study on multithreading focused on embedded systems. It showed how multithreading could be used to guarantee worst case performance in a real-time system. While not affecting any product line in NSC, the VP of Microcontrollers moved on to become CEO of Scenix, then renamed UBICOM. They were doing 8-bit PIC clones. Three years later UBICOM released a proprietary 32-bit RISC core with multithreading. The manager of the NSC architecture lab became VP of engineering at MIPS computer. There he became the champion of multithreading, leading to MIPS releasing a 64-bit multithreaded core a few years later. I did my own multithreaded core in VHDL a few years ago.
In 1996 I moved over to Atmel, again as application engineer for microcontrollers. Atmel was the first company to do a standard microcontroller based on the ARM7TDMI. This would of course not run Linux, so everyone in the ARM product line wanted an ARM9. The Atmel CEO was more in favour of licensing a Renesas SH core. I was asked to present the arguments for ARM9 to the CEO and the key argument was simply that Symbian ran on ARM9 but not on the SH. Half an hour after the presentation the manager for the ARM product line approached me with a smile and told me - we will get the ARM9. A few years later, in 2003, Atmel released the highly successful AT91RM9200.
The linux support was limited to running a shell script that created the kernel and rootfs. Not really happy about that I soon found Buildroot and started to add support for the AT91s. It was great to show potential customers how easy it was to build linux. A little later I found openembedded. My first try on a Pentium M 2.0GHz laptop indicated a full build would take 42 hours to complete. After asking some questions, I got a reply basically saying (as I interpreted it) We donkt want to anser your stupid questions, send us some boards and we will fix the support. I convinced the product lines to provide 10 ARM9 boards and 10 AVR32 boards which quickly got supported.
A little later, I purchased a Core-i7 desktop and started providing BSPs for the Atmel chips to the OpenEmbedded project. The ARM product line soon adopted OpenEmbedded as the preferred way of building Linux.
I left Atmel in 2011 and formed my own consultant company, eMagii focusing on projects based on Yocto and have worked on projects using Atmel AT91, TI AM335x, NXP iMX6/8 and now Xilinx Ultrascale.