If I have been doing Linux for a while, have done some C, but have not done any embedded C development, what should I look at learning first?
If I have been doing Linux for a while, have done some C, but have not done any embedded C development, what should I look at learning first?
How far down the rabbit hole do you want to go?
If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
If at first you don't succeed, try writing your phone number on the exam paper.
How about general guidance to start with? I'm happy to read as much as you want to write, but only write as much as you want to.
If you want context, I'm getting close to retirement age but see no reason to retire. I didn't do well at a web programmer job, even though it was in Python which I'm okay at. My C is rusty but I've been able to read it well enough to dive into an issue and send the vendor a snarky solution to a problem they said wasn't a problem. Of the almost dozen computers in the house (not counting phones) we have my wife's current mac, two old macs that will get Linux eventually, a couple of ARM Linuxes, and the rest are x86_64 Linux and one i386 likely to be Linux unless I go crazy and try NetBSD again.
I think the two easiest places to start would be either an Arduino or a Raspberry Pi Pico.
Arduino - Home
Raspberry Pi Pico W | The Pi Hut
Both seem to have good levels of support, and no shortage of examples to work through.
Later on, perhaps try your hand at multiple processes by installing an RTOS.
Eg.
FreeRTOS™ - FreeRTOS™
If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
If at first you don't succeed, try writing your phone number on the exam paper.
Thanks! I have an RPi 4 to play with, so I'll use that.