14 karma · joined November 8, 2020
My point is that none of us know nearly as much as we think we do. If you think you’ve somehow zeroed in on the truth while sitting behind a screen or keyboard, you are sorely mistaken.
Telling me about how the world works while trying to treat it like a comic book with clearly delineated good and bad guys is kind of ironic.
The Universal Computer
Computer Connections: https://computerhistory.org/blog/computer-history-museum-lic...
QEMU is nice for learning because you can more easily debug kernel code with gdb.
You can do a lot with QEMU. https://bootlin.com/ has a lot of great, free training material.
https://bootlin.com/doc/training/embedded-linux-qemu/embedde...
is one of my favorites.
Learning to cross-compile, do embedded debugging, the process of booting an embedded system (which varies depending on the answers to the above questions), learning how to read a technical reference for the processor you’re using as well as for peripherals you’re likely to interact with - SPI, i2c, UART, maybe PCIe, are all handy skills. Learn a bit about JTAG, hardware, reading schematics, etc. Even being able solder is helpful.
There may be books (I had a great embedded Linux book when I started) but there are lots of online materials too. Check out https://platformio.org/
There are fun embedded boards and projects for microcontrollers too - micropython on an rpi pico, tinygo, eLua, etc.