Embedded Processor

Microcontroller or uC, SoC. ASIC Design and EDA Tools. FPGA and DSP. SBC to Industrial Computers. Part of delabs Technologies

Search This Blog

Saturday, January 04, 2020

SDCC - Small Device C Compiler

SDCC was written by Sandeep Dutta and released under a GPL license. SDCC is a retargettable, optimizing ANSI - C compiler that works for the Intel 8051, Maxim 80DS390, Zilog Z80 and the Motorola 68HC08 based MCUs.

SDCC - Small Device C Compiler

Work is in progress on supporting the Microchip PIC16 and PIC18 series. SDCC is Free Open Source Software.

SDCC - Small Device C Compiler
  • ASXXXX and ASLINK, a Freeware, retargettable assembler and linker.
  • extensive MCU specific language extensions, allowing effective use of the underlying hardware.
  • a host of standard optimizations such as global sub expression elimination, loop optimizations (loop invariant, strength reduction of induction variables and loop reversing ), constant folding and propagation, copy propagation, dead code elimination and jump tables for 'switch' statements.
  • MCU specific optimizations, including a global register allocator.
  • adaptable MCU specific backend that should be well suited for other 8 bit MCUs
  • independent rule based peep hole optimizer.
  • a full range of data types: char (8 bits, 1 byte), short (16 bits, 2 bytes), int (16 bits, 2 bytes), long (32 bit, 4 bytes) and float (4 byte IEEE).
  • the ability to add inline assembler code anywhere in a function.
  • the ability to report on the complexity of a function to help decide what should be re-written in assembler.
  • a good selection of automated regression tests.