Short description: C language extensions for embedded systems
Embedded C is a set of language extensions for the C programming language by the C Standards Committee to address commonality issues that exist between C extensions for different embedded systems.
Embedded C programming typically requires nonstandard extensions to the C language in order to support enhanced microprocessor features such as fixed-point arithmetic, multiple distinct memory banks, and basic I/O operations. The C Standards Committee produced a Technical Report, most recently revised in 2008[1] and reviewed in 2013,[2] providing a common standard for all implementations to adhere to. It includes a number of features not available in normal C, such as fixed-point arithmetic, named address spaces and basic I/O hardware addressing. Embedded C uses most of the syntax and semantics of standard C, e.g., main() function, variable definition, datatype declaration, conditional statements (if, switch case), loops (while, for), functions, arrays and strings, structures and union, bit operations, macros, etc.
References
- ↑ "Project status and milestones". http://www.open-std.org/jtc1/sc22/wg14/www/projects.html.
- ↑ "ISO/IEC TR 18037:2008" (in en). https://www.iso.org/cms/render/live/en/sites/isoorg/contents/data/standard/05/11/51126.html.
C programming language |
|---|
- ANSI C
- C99
- C11
- C18
- C2x
- Embedded C
- MISRA C
|
| Features |
- Functions
- Header files
- Libraries
- Operators
- String
- Syntax
- Preprocessor
- Data types
|
|---|
Standard library functions |
- Char (ctype.h)
- File I/O (stdio.h)
- Math (math.h)
- Dynamic memory (stdlib.h)
- String (string.h)
- Time (time.h)
- Variadic (stdarg.h)
- POSIX
|
|---|
Standard libraries |
- Bionic
- dietlibc
- EGLIBC
- glibc
- klibc
- Microsoft Run-time Library
- musl
- Newlib
- uClibc
- BSD libc
|
|---|
| Compilers |
- Comparison of compilers
- ACK
- Borland Turbo C
- Clang
- GCC
- ICC
- LCC
- PCC
- SDCC
- TCC
- Microsoft Visual Studio / Express / C++
- Watcom C/C++
|
|---|
| IDEs |
- Comparison of IDEs
- Anjuta
- Code
- CodeLite
- Eclipse
- Geany
- Microsoft Visual Studio
- NetBeans
|
|---|
Comparison with other languages |
- Compatibility of C and C++
- Comparison with Embedded C
- Comparison with Pascal
- Comparison of programming languages
|
|---|
Descendant languages |
- C++
- C#
- D
- Objective-C
- Alef
- Limbo
- Go
- Vala
|
|---|
Category
|
Embedded systems |
|---|
| General terms |
- ASIC
- Board support package
- Bootloader
- Consumer electronics
- Cross compiler
- Embedded database
- Embedded hypervisor
- Embedded OS
- Embedded software
- FPGA
- IoT
- Memory footprint
- Microcontroller
- Single-board computer
- SoC
|
|---|
| Firmware and controls |
- Closed platform
- Crippleware
- Custom firmware
- Defective by Design
- Hacking of consumer electronics
- Homebrew (video games)
- iOS jailbreaking
- PlayStation 3 Jailbreak
- Proprietary firmware
- Rooting (Android)
- Vendor lock-in
|
|---|
| Software libraries |
- uClibc
- dietlibc
- Embedded GLIBC
- lwIP
- musl
|
|---|
| Programming tools |
- Almquist shell
- Bitbake
- Buildroot
- BusyBox
- OpenEmbedded
- Stand-alone shell
- Toybox
- Yocto Project
|
|---|
| Operating systems |
- Linux on embedded systems
- Linux for mobile devices
- Light-weight Linux distribution
- Real-time operating system
- Windows IoT
|
|---|
| Programming languages |
- Ada
- Assembly language
- CAPL
- Embedded C
- Embedded C++
- Embedded Java
- MISRA C
|
|---|
- Lightweight browsers
- Open-source computing hardware
- Open-source robotics
|
 | Original source: https://en.wikipedia.org/wiki/Embedded C. Read more |