Kishan B. asked a question to Ruchi R.
Hello Kishan B,
Thank you for your question. For an embedded software role, it is crucial to have a holistic understanding of how device software works, for which, one should have a strong foundation of Operating Systems focusing on concepts like Memory Management, Process Scheduling, Multithreading, Inter-process Communication and more. You can benefit from having an understanding of widely used microcontrollers/microprocessors such as ARM Cortex; embedded communication protocols such as CAN, UART, SPI, I2C, Ethernet; embedded Linux platforms such as Yocto; familiarity with RTOS and some hardware debugging tools like JTAG. Most embedded devices are developed using C and C++ so you should definitely practice programming using these languages as well as Python for scripting and automation. If you are interested in more low-level programming, then some assembly language knowledge would be beneficial. Along with good programming skills, you should also have good debugging skills where you can use tools like GDB. You can search for more related topics and hope this answer gives you some direction.
A cookie is a small file of letters and numbers that we store on your browser or the hard drive of your computer if you agree. Cookies contain information that is transferred to your computer's hard drive.
These are cookies that are required for the operation of our website. These essential cookies are always enabled because our website won’t work properly without them. You can switch off these cookies in your browser settings but you may then not be able to access all or parts of our website.
These allow us to recognise and count the number of users and to see how users move around our website when they are using it. This helps us to improve the way our website works.