Difference between revisions of "Embedded"

From Free Pascal wiki
Jump to navigationJump to search
(formatted to wiki)
 
(19 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 
{{Embedded}}
 
{{Embedded}}
  
The original EMBEDDED topic has been moved to [[TARGET Embedded]] (Embedded Systems w/o OS)
+
This page is about embedded systems with operating system (Nintendo platforms, Linux Embedded, Windows embedded). For microcontroller programming, i.e. embedded systems without operating system, see [[TARGET Embedded]].
  
  
An '''embedded system''' is a computer system designed to perform one or a few dedicated functions often with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts. By contrast, a '''general-purpose computer (such as a PC''', is designed to be flexible and to meet a wide range of end-user needs. Embedded systems control many devices in common use today. See [[Wikipedia:Embedded System]] for further description.
+
An '''embedded system''' is a computer system designed to perform one or a few dedicated functions, often with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts.
  
As the general purpose systems (PCs) are becoming smaller and smaller and the embedded systems become more and more
+
In contrast, a '''general-purpose computer''' (such as a PC), is designed to be flexible and to meet a wide range of end-user needs. Embedded systems control many devices in common use today. See [[Wikipedia:Embedded System]] for further description.
powerful (and universally usable devices), the border between embedded systems and general purpose computers will wash out in future. Also a point of discussion would be to which section smart phones shall be assigned.
+
 
 +
As general purpose systems (PCs) are becoming smaller and smaller and embedded systems become more and more powerful (and universally usable devices), the border between embedded systems and general purpose computers will blur in future. Also a point of discussion would be to which section smart phones will end up.
  
 
We can divide embedded systems into several sections:
 
We can divide embedded systems into several sections:
  
== Embedded systems w/o general purpose operating system (OS).==
+
== Embedded systems without general purpose operating system (OS)==
 +
 
 +
For these devices, a special target in FPC exists: [[TARGET Embedded]].
  
For this devices, a special target in FPC exists [[TARGET Embedded]]
+
Also see: [[Ultibo core]].
  
 
== Nintendo platforms ==
 
== Nintendo platforms ==
  
For this devices, special targets exist in FPC.
+
For these devices, special targets exist in FPC.
Also there exist specially built crosscompilers for the X86 Windows platform:
+
Also there exist specially built cross-compilers for the x86 Windows platform:
 
* [http://en.wikipedia.org/wiki/Game_Boy_Advance Gameboy Advance] (OS_TARGET=gba CPU_TARGET=arm BINUTILSPREFIX=arm-eabi)
 
* [http://en.wikipedia.org/wiki/Game_Boy_Advance Gameboy Advance] (OS_TARGET=gba CPU_TARGET=arm BINUTILSPREFIX=arm-eabi)
* Hauptprozessor: [[ARM7tdmi]])
+
* Main processor: [[ARM7tdmi]]
* Subprozessor: [[Z80]] [ftp://ftp.freepascal.org/pub/fpc/dist/2.4.2/arm-gba/arm-gba-fpc-2.4.2.i386-win32.zip arm-gba-fpc-2.4.2.i386-win32.zip]
+
* Sub processor: [[Z80]]; FPC build: arm-gba-fpc-2.4.2.i386-win32.zip
 
* [http://en.wikipedia.org/wiki/Nintendo_DS Nitendo DS] (OS_TARGET=nds CPU_TARGET=arm BINUTILSPREFIX=arm-eabi)
 
* [http://en.wikipedia.org/wiki/Nintendo_DS Nitendo DS] (OS_TARGET=nds CPU_TARGET=arm BINUTILSPREFIX=arm-eabi)
* Hauptprozessor: [[ARM-Architektur|ARM]]946E-S (67 MHz, bei DSi: 133 MHz)
+
* Main processor: [[ARM-Architektur|ARM]]946E-S (67 MHz, in DSi: 133 MHz)
* Subprozessor: ARM7TDMI (33 MHz) [ftp://ftp.freepascal.org/pub/fpc/dist/2.4.2/arm-nds/arm-nds-fpc-2.4.2.i386-win32.zip arm-nds-fpc-2.4.2.i386-win32.zip]
+
* Sub processor: ARM7TDMI (33 MHz); FPC build: arm-nds-fpc-2.4.2.i386-win32.zip
 
+
 
 
==Embedded systems with a general purpose operating system==
 
==Embedded systems with a general purpose operating system==
  
Line 32: Line 35:
 
===Embedded Linux===
 
===Embedded Linux===
  
Here several flavours exist:
+
Here several flavors exist: from (slightly to radical) slimmed down desktop Linux distributions (like Debian) to even slimmer variants consisting of a Linux kernel and some compact tools packages like [http://www.busybox.net/ BusyBox]. Other variants like:
From (slightly to radical) slimmed down desktop Linux distributions (like Debian) to even slimmer variants consisting of a Linux kernel and some compact tools packages like [http://www.busybox.net/ BusyBox]. Other variants like:
 
 
* [http://www.rtlinuxfree.com/RTLinuxFree Open RTLinux] aim on enhancements of the real-time behaviour.
 
* [http://www.rtlinuxfree.com/RTLinuxFree Open RTLinux] aim on enhancements of the real-time behaviour.
* [[ARM Linux Embedded Systems]]
+
* [[ARM Linux Embedded Systems]].
* [[i386 Linux Embedded Systems]]
+
* [[i386 Linux Embedded Systems]].
  
 
===Embedded Windows===
 
===Embedded Windows===
 
   
 
   
Here we have '''XPe''' (XP-Embedded) which behaves mostly like it's desktop counterpart (i386 only) but offers the following benefits:
+
We have '''Windows XP Embedded''' which behaves mostly like its desktop counterpart (i386 only) but offers the following benefits:
* System Builder allows to include/exclude components to slim down system
+
* System Builder allows to include/exclude components to slim down the system
* Readonly Filesystems supported for more robust operation
+
* Readonly file-systems are supported for more robust operation
* Licensing done in System Builder, no individual licensing at product rollout
+
* Licensing done in System Builder; no individual licensing at product rollout
The successor is <please add>
+
 
The other branch are the '''Windows-Mobile/Windows-CE''' Variants:
+
Successors:
* i386, ARM and MIPS available
+
* '''Windows Embedded Standard 7'''
[[Windows Embedded Systems]]
+
* '''Windows Embedded 8 Standard'''
<to be extended>
+
* '''Windows 10 IoT'''
 +
* '''Windows 11 IoT'''
 +
 
 +
Another branch is '''Windows Mobile''' / '''Windows CE''' family of operating systems.
 +
 
 +
Variants:
 +
* i386
 +
* ARM  
 +
* MIPS
 +
 
  
===Others===
+
[[Category:Embedded]]

Latest revision as of 12:27, 13 October 2022

English (en) español (es) 中文(中国大陆)‎ (zh_CN) 中文(台灣)‎ (zh_TW)

This page is about embedded systems with operating system (Nintendo platforms, Linux Embedded, Windows embedded). For microcontroller programming, i.e. embedded systems without operating system, see TARGET Embedded.


An embedded system is a computer system designed to perform one or a few dedicated functions, often with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts.

In contrast, a general-purpose computer (such as a PC), is designed to be flexible and to meet a wide range of end-user needs. Embedded systems control many devices in common use today. See Wikipedia:Embedded System for further description.

As general purpose systems (PCs) are becoming smaller and smaller and embedded systems become more and more powerful (and universally usable devices), the border between embedded systems and general purpose computers will blur in future. Also a point of discussion would be to which section smart phones will end up.

We can divide embedded systems into several sections:

Embedded systems without general purpose operating system (OS)

For these devices, a special target in FPC exists: TARGET Embedded.

Also see: Ultibo core.

Nintendo platforms

For these devices, special targets exist in FPC. Also there exist specially built cross-compilers for the x86 Windows platform:

  • Gameboy Advance (OS_TARGET=gba CPU_TARGET=arm BINUTILSPREFIX=arm-eabi)
  • Main processor: ARM7tdmi
  • Sub processor: Z80; FPC build: arm-gba-fpc-2.4.2.i386-win32.zip
  • Nitendo DS (OS_TARGET=nds CPU_TARGET=arm BINUTILSPREFIX=arm-eabi)
  • Main processor: ARM946E-S (67 MHz, in DSi: 133 MHz)
  • Sub processor: ARM7TDMI (33 MHz); FPC build: arm-nds-fpc-2.4.2.i386-win32.zip

Embedded systems with a general purpose operating system

There are several operating systems commonly used in embedded systems

Embedded Linux

Here several flavors exist: from (slightly to radical) slimmed down desktop Linux distributions (like Debian) to even slimmer variants consisting of a Linux kernel and some compact tools packages like BusyBox. Other variants like:

Embedded Windows

We have Windows XP Embedded which behaves mostly like its desktop counterpart (i386 only) but offers the following benefits:

  • System Builder allows to include/exclude components to slim down the system
  • Readonly file-systems are supported for more robust operation
  • Licensing done in System Builder; no individual licensing at product rollout

Successors:

  • Windows Embedded Standard 7
  • Windows Embedded 8 Standard
  • Windows 10 IoT
  • Windows 11 IoT

Another branch is Windows Mobile / Windows CE family of operating systems.

Variants:

  • i386
  • ARM
  • MIPS