4 ms·
The best advice I can give you is to try things that your professors aren't telling you to do already, and also to try going one layer deeper into the system th
by jschwartzi 7y ago
The best advice I can give you is to try things that your professors aren't telling you to do already, and also to try going one layer deeper into the system then you think you need to in order to solve problems. Doing so will reveal things to you about why the solutions are the way they are.
You'll probably come out with a good understanding of gc'ed languages like Javascript and Python, but the interpreters for these languages still interface with the modern operating system with a systems language like Assembly, C, or Rust.
Maybe try bringing up a simple application on a Z80 or similar MCU that blinks an LED connected to a GPIO. Then switch to using the pulse-width-modulated output to blink the same LED but at different blink rates and potentially even make it fade in and out.
You will learn more about embedded systems from that project than you ever could from messing with Linux on a Raspberry Pi. And everything you learn will give you a better understanding of how computer systems actually work. You will also have to learn more about C and potentially C++ then you ever thought was possible.
You don't need to write an OS from scratch either. You can use something like https://freertos.org/ https://freertos.org/. There's board support for widely-available platforms.
- hereisdx 7y agoThanks a lot for your advice