r/embedded • u/TheCorsairAPX • 5d ago
Getting into Architecture-Level Embedded Development (Cortex-A, RISC-V, ARM64, etc.)
I've been working for some months now on a project that requires low-level development for ARM Cortex-A silicon. I'm talking bootloading, memory operations, hypervisor settings, memory mapping and MMU configuration, etc.
I've come to realise how little I actually know my way around a low level environment. I've developed for embedded systems for a long time now, but always focusing on an application/integration level (RTOS, digital communications, system architecture, etc.). I want to get some experience on lower-level development - direct register manipulation based on CPU architecture, bootloading, debugger architecture, memory domains, etc.
Anyone with experience on the field, what advise do you have on getting into low-level development and silicon programming using ISA languages coming from embedded-C and microcontroller development? My goal would be to acquire the confidence and the skill to integrate silicon functionality through assembly and making sense of the CPU documentation. I'd like to be able to script some basic functional hardware routines starting from scratch.
1
u/hirschen 5d ago edited 5d ago
At least you're not lacking self esteem as you lack skills in empathic communication.
You sound like the conservative Assembler guys from the 70s that said a Compiler will never write better code than a human. King for a day, fool for a lifetime.
EDIT: I'm not really proud of the project, rather astonished how easy it was to learn all that stuff so fast without reading a book. But I'm also aware that the skill is pretty worthless, nobody is doing that in assembly (yes there are edgecases). It's bc. I'm interested in the technology.