- #1
Tone L
- 73
- 7
- TL;DR Summary
- What would you define as bare metal programming?
Hey friends, I have had some time on my hand due to the COVID-19 pandemic and I hope everyone at PF is doing well. Thus, I have been learning some introductory electronics. This may be more of an opioniated question but, I am curious to hear from some ~experts~.
From my understanding, bare metal programming is the programming level used to directly interface with hardware, like a microcontroller. A level up from assembly, if you will.
So for example, you are programming an ARM Cortex-M4 microcontroller on STM32F4-NUCLEO development board. To program the microcontroller, we are using Keil, this is a software development environment for a wide range of Arm Cortex-M based microcontroller devices. Keil includes debugger, compiler, etc., so with all this stuff (Keil stuff) are we still technically bare-metal programming, right? We aren’t using an OS on the board or anything. So I think it is.
I think it would be rare for a someone developing some control system circuit to build their own programmer to interface with a microcontroller.
So is the norm for embedded system development to use software like Keil?
Bonus question :) - mbed, I am trying to wrap my head around mbed, but it keeps harping on IoT. Is it like Keil, an IDE?
From my understanding, bare metal programming is the programming level used to directly interface with hardware, like a microcontroller. A level up from assembly, if you will.
So for example, you are programming an ARM Cortex-M4 microcontroller on STM32F4-NUCLEO development board. To program the microcontroller, we are using Keil, this is a software development environment for a wide range of Arm Cortex-M based microcontroller devices. Keil includes debugger, compiler, etc., so with all this stuff (Keil stuff) are we still technically bare-metal programming, right? We aren’t using an OS on the board or anything. So I think it is.
I think it would be rare for a someone developing some control system circuit to build their own programmer to interface with a microcontroller.
So is the norm for embedded system development to use software like Keil?
Bonus question :) - mbed, I am trying to wrap my head around mbed, but it keeps harping on IoT. Is it like Keil, an IDE?