Questions tagged [bare-metal]

In a bare-metal environment, the software runs directly on the hardware (CPU, microprocessor, etc) without the intermediary layer of an operating system.

There are multiple definitions for the term bare metal, (bare-metal, baremetal). This tag is specific to the definition meaning without an operating system.

https://en.wikipedia.org/wiki/Bare_machine

The software/firmware talks directly to the hardware and peripherals without running on top of an operating system.

A typical use case is firmware running on a microcontroller that manages the peripherals directly and doesnt use an RTOS. Some bootloaders for microprocessors would also fall into this category.

See other tags for bare metal server and other definitions.

539 questions
-1
votes
3 answers

Unable to get 2 LEDs working. [Raspberry pi, bare metal]

I am facing an issue in getting 2 LEDs glow one after another or at the same time. However, they work separately only one at a time. The problem comes when I try to achieve this in the same program. Only the first LED starts filckering not the other…
user3144089
  • 91
  • 1
  • 5
-1
votes
1 answer

Static function for multiple files

Language : C Environment : bare-metal This program have many sub-modules. I hope in the functions of each sub-module can't not be visible/used by other sub-modules except that the functions are the API functions. If the sub-modules only contains…
-1
votes
1 answer

What is the best development path for someone with no ARM experience to learn a powerful embedded system?

I want to design LOW COST embedded systems that need significant compute power, for example real time HD video compression. For someone with experience in PIC and Atmel architectures, but no ARM or Linux experience, what is the best path to a…
monzie
  • 565
  • 5
  • 15
-2
votes
1 answer

Why do some programs point SP to entry point?

Im studying some assembly code, but i dont get why the usually point SP to program entry point or other random position. For example this bare metal code for raspberry pi , points to 0x80000000 but .text is mapped to 0x8000, is there any reason?
Angel Ruiz
  • 39
  • 5
-2
votes
1 answer

What is the difference between bare metal, RTOS and SoC?

Having just recently gotten into embedded programming using PIC microcontrollers, I am trying to understand the difference between Bare metal, RTOS and SoC. Online searches reveal contradictory definitions and meanings. For example, Semiengineering…
aLoHa
  • 165
  • 7
-2
votes
2 answers

Which program take care of loading from Flash to RAM and running program in Microcontroller Bare metal?

The program written in C and compiled on some other IDE/computer (or cross-compiling) and then loaded as binary data into the flash memory of the controller. What am i not understanding in Bare Metal / No RTOS Which program/code take care of…
shiv
  • 127
  • 1
  • 3
  • 13
-2
votes
1 answer

On bare-metal, non-OS, how context switching occurs upon exceptions/interrupts

When CPU receives exception, Pre-processing by hardware Saving the current PC and PSW values in RAM (or in control registers in the case of the fast interrupt) and Reading of the vector Branching to the start of the exception handling routine is…
-2
votes
1 answer

AT91 Bootstrap + Bare Metal Application

I am currently trying to understand how AT91 and a bare metal application can work together. I'll try to describe what I have: IAR as development environment A simple application which I can download via debugger to SRAM and which toggles some LEDs…
Tom L.
  • 932
  • 2
  • 9
  • 30
-2
votes
2 answers

arm (bare metal): call binary file as function

I have AT91Bootloader for AT91sam9 ARM controller. I need add some extra hardware initialization, but I have only compiled .bin file. I loaded bin file to memory and tried to call it: ((void (*)())0x00005000)(); But, haven't any results. Please…
Oleg Olivson
  • 489
  • 2
  • 5
-3
votes
1 answer

Is it possible to run Alexa, google assistant, or any other voice software on bare metal (no OS) raspberry pi?

I have searched online and all implementations seem to use Raspbian or Linux. I would like to do be able to do voice control on my raspberry pi baremetal. Any suggestions?
-4
votes
1 answer

Is it possible to display an image to screen in ASM language, without using interrupts?

Is it possible to display pixels to the screen or play a beep in the speakers to screen in ASM language, without using any BIOS/DOR/... interrupts ?
mpo
  • 1
-4
votes
1 answer

Explain how the following program works?

Here is the program in C language: (I removed some portion of the code which simply initializes VGA_COLOUR variables) static inline uint8_t vga_entry_color(enum vga_color fg, enum vga_color bg) { return fg | bg << 4; } static inline uint16_t…
Yahya
  • 13
  • 6
-5
votes
1 answer

Bootloader Written for Java

Is there a boot loader written for booting Java virtual machine without an operating system? As far as I know Java virtual machine can run on a machine by itself, without help of an operating system.
maDeveloper
  • 84
  • 11
1 2 3
35
36