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.
590
questions
0
votes
0
answers
11
views
Linking Error with RELIC Library on ARM Cortex-M0+ (Raspberry Pi Pico)
I'm working on a project for the Raspberry Pi Pico (ARM Cortex-M0+) using the RELIC cryptographic library. I'm facing a linking error during the build process, and I could use some help resolving the ...
2
votes
0
answers
50
views
Unable to see UART output with Bare Metal Code with STM32F3DISCOVERY microcontroller
I was experimenting with UART on the STM32F3DISCOVERY microcontroller using bare metal code. I was unable to see an output on the terminal. I'm using the STM32CubeIDE. I am new to this so if there are ...
1
vote
1
answer
41
views
LWIP RAW API dual ethernet connection problem
I am trying to use dual PL ethernet connection for redundancy on Xilinx Zynq 7020. At the normal scenarios the ethernets can work separately. So I started by adding network interface for second ...
1
vote
0
answers
91
views
Problems with enabling ARM secure boot feature on allwinner t113-s3 SoC
My goal is to enable arm secure boot feature on t113-s3 SoC. To do it, I need to burn a hash of a RSA2048 public key to efuse(One-time-programmable memory). My questions are:
How is arm core ...
0
votes
0
answers
27
views
Build valgrind to target LPC55S69(which is based on Armv8-m architecture)
I'm trying to build valgrind to target baremetal arm cortex-m (based on armv8-m architecture). The host is a x86 wsl environment. How do I specify this while trying to configure valgrind.
For ex: To ...
0
votes
0
answers
23
views
Problem with setting up Page Attribute Table (PAT) under Jailhouse hypervisor on a x86 Intel Xeon system
I am trying to setup the Jailhouse hypervisor on an Intel Xeon x86_64 system. However, the hypervisor gets stuck when writing to the MSR_IA32_PAT during the initial setup. Apparently, the value that ...
0
votes
0
answers
54
views
Load, relocate and execute function symbol from elf in bare-metal ARMv7-A system
Consider a minimal c source with a simple function symbol inside it like so(for now without any global or read-only variables):
main.c:
int test_mul(int arg) { return arg * 2; }
int main() {return 1;}...
0
votes
1
answer
118
views
How can I write bare metal C programs that run on the Raspberry Pi? [closed]
I'm looking for a way to compile C programs into binaries which run on my Raspberry Pi 5, without any operating system, and so that the program gets full access to all hardware. What cross-compiler ...
0
votes
0
answers
43
views
Using gcov on a freestanding environment with riscv64-unknow-elf-gcc 13.2.0
All
I am trying to use gcov on a freestanding environment with riscv64-unknow-elf-gcc 13.2.0.
I tried to follow the idea of gcc gcov tutorial here. And it works on my host system.
Then I try to ...
0
votes
0
answers
46
views
STM32F401 Debouncing using registers
I want to debounce my input, using registers, but I'm running into the issue of it "not working" I am surely missing something in the logic I am overlooking.
Here is my interrupt:
void ...
0
votes
1
answer
45
views
STM32 pushbutton interrupt
So here's the code for my pushbutton
void PB_Init(void){
RCC->AHB1ENR |= RCC_AHB1ENR_GPIOCEN;
GPIOC->MODER |= ( 0x0 << GPIO_MODER_MODE13_Pos);
GPIOC->PUPDR |= ( 0x1 << ...
0
votes
2
answers
103
views
using setjmp/longjmp to time-slice tasks using a timer on ESP32S3 bare-metal
I have implemented in C a round-robin scheduler that cycles through 3 tasks. I want to time-slice my tasks, meaning that when a task takes more than a pre-determined timeout value x, it is interrupted ...
0
votes
1
answer
67
views
STM32F401 Issue with interrupt request
I have a nucleo board, and on it I have a button. The button is connected to the pin C13 and upon pressing it, I am supposed to stop my PWM signal from progressing. Can anyone point me in the right ...
0
votes
0
answers
48
views
Is it possible to Cross-Compile TensorFlow Lite C API for arm64 bare metal target?
I am writing code that uses the tensorflow lite C API code and that will run on an Arm board targeting bare metal. I am trying to obtain the shared library of tensorflow lite but until now I only see ...
1
vote
1
answer
69
views
Debugging a Multicore Kernel Initialization on Raspberry Pi 3B
I am developing a simple kernel for Raspberry Pi 3B intended to run basic tasks on all four cores. However, it appears that only the primary core is running kernel_init, and the other cores never ...