Small Device C Compiler: Difference between revisions

Content deleted Content added
Citation bot (talk | contribs)
Misc citation tidying. | You can use this bot yourself. Report bugs here. | Suggested by Abductive | Category:Free compilers and interpreters | via #UCB_Category 107/146
Bender the Bot (talk | contribs)
m Supported targets: HTTP to HTTPS for SourceForge
 
(27 intermediate revisions by 10 users not shown)
Line 2:
| name = Small Device C Compiler
| developer = Sandeep Dutta and others
| latest release version = 4.04.0
| latest release date = {{Start date and age|20202024|01|3029}}
| operating system = [[Microsoft Windows]], [[OS XmacOS]], [[Linux]]
| genre = [[C (programming language)|C]] [[compiler]]
| license = [[GNU General Public License|GPL]]
Line 10:
}}
 
The '''Small Device C Compiler''' ('''SDCC''') is a [[free-software]], partially [[Retargetable compiler|retargetable]]<ref>Rainer Leupers, Peter Marwedel: "Retargetable Compiler Technology for Embedded Systems: Tools and Applications", page 126. Springer, 2001</ref> [[C (programming language)|C]] [[compiler]] for 8-bit [[microcontroller]]s. It is distributed under the [[GNU General Public License]]. The package also contains aan [[Linkerassembly (computing)language|linkerassembler]], [[assemblyLinker language(computing)|assemblerlinker]], [[simulator]] and [[debugger]]. As of March 2007, SDCC is thea onlypopular open-source C compiler for microcontrollers compatible with [[Intel 8051|Intel 8051/MCS-51]]-compatible microcontrollers.<ref>
"Porting Contiki Operating System to RIEST2430" by Juan Wang, Wei Ma, and Dan Liu, published in
According to a [[Google]] search for: [http://www.google.com/search?hl=en&safe=off&q=8051+open+source+C+compiler&btnG=Search 8051 open source C compiler]
[https://books.google.com/books?id=OYa5BQAAQBAJ "Emerging Intelligent Computing Technology and Applications"], 2012, p. 383: "Due to the 8051 MCU’s unique characteristics, there are only a handful of toolchains available. The most noteworthy open source solution is the Small Device C Compiler (SDCC)."
</ref><ref>
Lewin Edwards
[https://books.google.com/books?id=OlfXVIclwnAC "Open-Source Robotics and Process Control Cookbook: Designing and Building Robust, Dependable Real-time Systems"], 2005, p. 15: "Worse still, the only halfway decent open-source C compiler for the 8051 (sdcc) is exactly that—only halfway decent."
2011.
p. 15.
</ref><ref>
{{cite book |author=Lewin A. R. W. Edwards |url=https://archive.org/details/pdfy-MKFMCCNbqENoR3Ft |title=So, You Wanna be an Embedded Engineer: The Guide to Embedded Engineering, from Consultancy to the Corporate Ladder |date=2006 |page=51}}: "I personally prefer to use the free compiler package, sdcc. This is unquestionably the poor man's choice of 8051 C compilers, ... in any case, sdcc is perfectly adequate for hobbyist, low-volume and/or educational projects."
De-Shuang Huang, Phalguni Gupta, Xiang Zhang, Prashan Premaratne.
</ref>
[https://books.google.com/books?id=OYa5BQAAQBAJ "Emerging Intelligent Computing Technology and Applications"].
2012.
p. 383.
</ref>{{Citation needed|reason=Google?|date=June 2011}}
In 2011 the compiler was downloaded on average more than 200 times per day.<ref>{{cite web |url=http://sourceforge.net/project/stats/?group_id=599&ugn=sdcc&type=&mode=alltime |title= Usage Statistics For Small Device C Compiler |author=SourceForge |access-date=2010-02-16}}</ref>
 
==Supported hosts==
Line 29 ⟶ 24:
 
==Supported targets==
 
The following include binary compatible derivatives:
* [[Intel]] 8031, 8032, [[Intel MCS-51|8051]], 8052; [[Maxim Integrated|Maxim]]/Dallas DS80C390; [[C8051]]
* [[Motorola]]/[[Freescale Semiconductor|Freescale]]/[[NXP Semiconductors|NXP]] [[Motorola 68HC08|68HC08]] and [[Freescale S08|68HCS08S08]]
* [[Padauk Technology]] PDK14 and PDK15<ref>[http://www.padauk.com.tw Padauk website]</ref>
* [[Sharp Corporation|Sharp]] SM83, the CPU found in the [[Game Boy|Nintendo Game Boy]] LR35902 [[System on a chip|SoC]]
* [[STMicroelectronics]] [[STM8]]
* [[Zilog]] [[Z80]], [[Z180]], [[eZ80]] in Z80 mode; [[Rabbit Semiconductor]] [[Rabbit 2000|2000]], 2000A, 3000, 3000A, 4000;, [[Sharp Corporation|Sharp]] LR35902 (Game Boy processor)6000; [[Toshiba]] [[TLCS-90]]; Z80N ([[ZX Spectrum Next]] processor), [[R800]].
* [[MOS Technology 6502]], [[WDC 65C02]].
 
Work is in progress on:
* [[Microchip Technology|Microchip]] [[PIC16]] and [[PIC18]].<ref>{{cite web |url=httphttps://sdcc.sourceforge.net/|title=SDCC - Small Device C Compiler|author=|access-date=2013-01-20}}</ref><ref>[https://sites.google.com/site/rmaalmeida/mplabx-sdcc-toolchain Setting up the free compiler SDCC at MPLABX], Google Sites</ref>
* Padauk Technology PDK13.
 
Obsolete:
* [[AVR microcontrollers]] used to be a supported target, but was made obsolete by avr-gcc in 2010 (SDCC 3.0.0).
 
SDCC suite is a collection of several components derived from different sources with different FOSS licenses.
 
==See also==
{{Portal|Free and open-source software}}
* [[Z88DK]] - C compiler for Z80-based systems
 
* [[Z88DKcc65]] - a C compiler for a range of Z80-based6502/65C02 systems
 
==References==
Line 58 ⟶ 55:
* [http://www.dl9sec.de/prj_sdccokr.html SDCC Open Knowledge Resource]
* [http://video.fosdem.org/2015/devroom-embedded/8bit_compiler.mp4 FOSDEM 2015 presentation on SDCC]
* [https://archive.fosdem.org/2024/schedule/event/fosdem-2024-2479-the-small-device-c-compiler-sdcc-/ FOSDEM 2024 presentation on SDCC]
* [http://www.freertos.org/portcygn.html A port of FreeRTOS to 8051]
* [http://www.8052.com/users/robotics/sdcc.phtml Using SDCC on the AT89C52 (8051 derivative)]
Line 66 ⟶ 64:
[[Category:C (programming language) compilers]]
[[Category:Cross-compilers]]
[[Category:Free compilers and interpretersopen source compilers]]
 
{{programming-software-stub}}