The optimization of software for embedded systems has been recognized as a key issue in improving cost as well as performance. Embedded software resides in an on-chip ROM and it is crucial to reduce the size of the software when a system-on-chip implementation is being sought. From the view point of size and run-time performance, it is important to eliminate all the redundancy in the code and use efficient coding. In this paper, we describe our experience in realizing an embedded software implementation of an Adaptive Differential Pulse Code Modulation (ADPCM) algorithm. We show that using both machine-independent and machine-dependent code optimization, we can achieve up to 75% improvement in performance and 35% reduction in size. To further improve the performance, we use hardware-software partitioning which can give an improvement in speed-performance by 54% and a reduction by 18% in size.
['Anil Sharma', 'C. P. Ravikumar']
Efficient implementation of ADPCM codec