Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
bare_metal [2015/11/23 14:25] – [Strategies] More on OS-like libraries. Traumflug | bare_metal [2018/05/27 16:10] (current) – external edit (unknown user) | ||
---|---|---|---|
Line 1: | Line 1: | ||
======What is 'Bare Metal'? | ======What is 'Bare Metal'? | ||
- | Your usual PC runs an operating system (OS). Often used OSs include //Linux//, //BSD//, //OS\_X//, // | + | Your usual PC runs an operating system (OS). Often used OSs include //Linux//, //BSD//, //OS\_X//, // |
'Bare metal' means that there is no operating system, no standard library, no user management, much less a user privilege system. Whatever is done to hardware, the application does it directly (and has to know on how to do it). | 'Bare metal' means that there is no operating system, no standard library, no user management, much less a user privilege system. Whatever is done to hardware, the application does it directly (and has to know on how to do it). | ||
Line 23: | Line 23: | ||
======Strategies====== | ======Strategies====== | ||
+ | |||
+ | People typically create a bare-metal application on a PC with a cross-compiler such as a [[compiler for arm]], and then transfer the executable to the target hardware using a bootloader such as the [[LPC1114 Bootloader]]. | ||
Compilers usually support building for bare metal, but need additional parameters, like '' | Compilers usually support building for bare metal, but need additional parameters, like '' | ||
Line 29: | Line 31: | ||
Precompiler-optimisations. It's a good idea to let the precompiler do one-time calculations as much as possible. Then only the result is stored in the binary, saving the calculation effort at runtime. [[Teacup Firmware]] uses this strategy a lot, making it about double as fast and half as big as compareable printing firmwares. | Precompiler-optimisations. It's a good idea to let the precompiler do one-time calculations as much as possible. Then only the result is stored in the binary, saving the calculation effort at runtime. [[Teacup Firmware]] uses this strategy a lot, making it about double as fast and half as big as compareable printing firmwares. | ||
+ |
bare_metal.1448285150.txt.gz · Last modified: 2018/05/27 16:10 (external edit)