User Tools

Site Tools

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
bare_metal [2015/11/29 18:57] – [What is 'Bare Metal'?] Traumflugbare_metal [2016/11/12 15:17] – link to related pages. david_cary
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 ''--no-std-inc'' and/or ''--no-std-lib''. Compilers usually support building for bare metal, but need additional parameters, like ''--no-std-inc'' and/or ''--no-std-lib''.
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.txt · Last modified: 2018/05/27 16:10 (external edit)