A technical journal dedicated to writing custom linkers, ARM Cortex-M startup files, direct memory-mapped I/O registers, and real-time embedded systems.
Quick Filter:
●gpio_mmio.c
// Direct Memory-Mapped I/O register manipulation for ARM Cortex-M#defineRCC_AHB1ENR (*(volatile uint32_t *)(0x40023830))
#defineGPIOD_MODER (*(volatile uint32_t *)(0x40020C00))
#defineGPIOD_ODR (*( volatile uint32_t *)(0x40020C14))
voidtoggle_led_baremetal(void) {
RCC_AHB1ENR |= (1 << 3); // Enable GPIOD clock
GPIOD_MODER |= (1 << 24); // Set pin 12 as general output
GPIOD_ODR ^= (1 << 12); // Toggle LED pin state
}
Firmware Dispatches
Showing 3 posts
#cortex-m7 min read
Writing a Custom ARM Cortex-M Vector Table & Startup Script
Setting up the initial Stack Pointer, Reset Handler, and interrupt service routines from scratch without vendor SDKs.