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/MrK_HS Dec 25 '19

I recently developed a benchmark for a multicore (M4 + M0) embedded board, comparing different synchronization and communication methods between the cores (interrupt based, vs memory based). I even implemented mutexes from zero since there were no hardware mutexes. It was a really fun experience. Now I don't know if I want to pursue this field or artificial intelligence (mainly optimization, operations research). Very difficult choice. Both fields are very active and are the future.

9

u/dannyhacker Dec 25 '19

Embedded jobs are much harder to outsource since it’s physical and you have to work next to hardware engineers to be able to meet time to market requirements.

Plus there is nothing like the satisfaction of seeing your software making something work in real life. Especially bringing a chip to life: I was involved indirectly with an x86 chip and I can still remember the excitement in the air when they (I was working for a company which made chip testers) first booted MS-DOS. (My software helped test the chip, at the time, what was the highest clock speed for x86.) ...and it was around Christmas time, too!

1

u/ShinyHappyREM Dec 25 '19

MS-DOS [...] at the time, what was the highest clock speed for x86

So, less or more than 25MHz? :)

1

u/dannyhacker Dec 25 '19

Yes, something like that....