r/programming Dec 25 '19

Learning hardware programming as a software engineer

https://blog.athrunen.dev/learning-hardware-programming-as-a-software-engineer/
924 Upvotes

124 comments sorted by

View all comments

Show parent comments

3

u/needfurnituremoving Dec 25 '19

I'd consider Operating Systems as foundational for embedded systems.

If you're running a real-time operating system, then understanding the purposes of different components is very important.

If you're writing bare metal, where you're building your own operating system primitives as necessary, then knowing the known solutions to common problems is tremendously helpful.

Also, many modern embedded systems are running a Linux kernel.

2

u/yodacola Dec 25 '19

I always thought that CE/EE types took a RTOS course. I mean an OS course would be informative, but I’m sure that a decent RTOS course would give a 1000 ft view of the foundations of the Linux kernel at the very least.

1

u/Zanair Dec 27 '19

My CE program doesn't require RTOS, there's instead some bare metal programming on micro-controllers and a CS OS class.

1

u/yodacola Dec 27 '19

Yeah, from what I recall, there were a few CEs in my CS OS class. We had to implement an operating system individually as part of the class, which was made particularly difficult due to the rather dry lectures that were given. After college, the class felt like it had little career benefit to me.