110 likes | 258 Views
This report presents the results of C code benchmarks conducted on nine applications using customer code from various domains. It includes an analysis of byte usage, normalized accumulated results, and averaged performance indexes. The benchmarks support claims of code efficiency across different architectures, demonstrating that all code can be compiled for all compilers. Key findings highlight that AVR microcontrollers perform well across applications, while no single microcontroller stands out as the best for all. The report concludes with detailed compiler usage information.
E N D
C Code Benchmarks- FAE Training September 2000 CONFIDENTIAL
C Code Benchmarks • Nine applications • Based on customer code • Various application areas • Byte usage in individual applications • Summarized results reported as • Normalized Accumulated Results • Averaged Normalized Results CONFIDENTIAL
Comments • Support our claims of code efficiency • All code could be compiled for all compilers • Indexes relative to AVR • All code written for different architecture, no modifications done • All compilers from IAR (except ARM/Thumb) • EDN Embedded Microprocessor Benchmark Consortiumm CONFIDENTIAL
Reed-Solomon • Reed-Solomon Encoder/Decoder CONFIDENTIAL
Car Radio Control • Skeleton application • Control Flow and Bitfields CONFIDENTIAL
C Bitfields • Benchmark code from customer • 8 and 16 bit bitfield variables CONFIDENTIAL
Accumulated over all Benchmarks • Indexes based on accumulated sizes • Large applications counts more than small CONFIDENTIAL
Normalized over all Benchmarks • Averaged indexes from all applications • All applications counts evenly CONFIDENTIAL
Summary • Nine C Code Benchmarks from various application areas • No single microcontroller best for all applications • AVR in the top range for all the applications CONFIDENTIAL
Compilers Used • AVR: IAR ICCA90 version 1.40 • 80C51: IAR ICC8051 version 5.20 • Thumb: ARM tcc version 1.02b • ARM: ARM armcc version 4.66b • 80196: IAR icc196 version 5.20a • Z80: IAR iccz80 version 4.03a • H8/300(H): IAR icch83 version 3.22 • H8/500: IAR icch8500 version 2.92g • 68HC11: IAR icc6811 version 4.20B • PIC: IAR iccpic version 1.11A CONFIDENTIAL
Thermal Printer -34% CODE and we used C…... • PIC16C74 replaced with AT904434 • PIC assembly code • Code size: 3364 Words = 5887 bytes • AVR code written in “C” • Code size: 3896 bytes • AVR winning features • Faster printing due to improved speed • Reduced cost by integrating EEPROM • Enhanced code control and maintenance due to C code. CONFIDENTIAL