Ian, Thanks for for your comments. This is very valuable information. > Why not just use an ARM core? We have analyzed several cores and have rank them in several categories. In our analysis, the ARM scores high in code density, and in toolchain quality (we call it the the gold standard). One of the issues with the ARM core is the gate count is relatively high (almost 2x that of MSP430 and 4X that of the core we currently use). Currently, we have a in-house-brewed compact CPU architecture that we have sucessfuly used for a similar application, with the advantage of very low power, low gate count (1/8 the size of the ARM) and high code density. The limitation with this CPU is that the instruction set is limited to the point that is not capable of supporting C. Or plan is to extend this CPU's instruction set carefully so that the code output from GCC is highly compact and dense, while keeping in check the gate count and power dissipation. Execution time is not one of our top concern for this project, since this CPU core is targetted to run a highly specialized algorithm. Your recommendation of hiring an expert with experience doing GCC ports is a good idea. I will like to have an expert come over and give us a kick-start on how to go about porting GCC, and also our digital designers will be curious to get a better understanding on which instructions are more beneficial in terms of code density. Again, thanks for your valuable comments. Regards, -Omar