Category: Software

Video: What does an Embedded Software Engineer Do?

This video explains what is it like to be an embedded software engineer. Relavant articles 4 Types of Embedded Software Explained! How to become an Embedded Software Engineer? 200 Embedded and IoT Software Engineering Interview Questions – Part 1 9 Essential Microcontroller Peripherals Explained

Hardware, Software, Firmware, Middleware, Drivers, OS & Applications, The Difference?

We hear a lot of these “wares” terms all the time, some are hard, some are soft, some are firm and some are in the middle. But why some many types of wares? How do they all fit in? Let’s learn more about them in this article. Let’s start with the familiar term hardware. Hardware What is Hardware? Hardware is a system consisting of electronic devices, designed to work together as a single unit. It is the only tangible “ware” out of our list that you can physically interact with. Examples include PCBs like motherboard, RAM, Integrated Circuits, Processor, Microcontroller,...

Profiling of Embedded Code Explained Through Examples!

I remember the time when I first heard the term Profiling, I could barely write source code without googling every 10 minutes at that time and when I heard about profiling, I couldn’t help but tell myself that I will never be able to master programming! Then after a few years I became very comfortable with programming, I came across the term again, but this time I was not scared anymore! So went out and did some research about it and what I found out was shocking, the concept of profiling was not so difficult, it was just another technical...

How to become an Embedded Software Engineer?

When I started out with a goal to become an embedded developer, I had no clue where to even begin as embedded systems cover a wide variety of fields including electronics, software engineering, microcontroller programming, PCB design, networking, chip design, etc., Due to a big knowledge base needed, entering this particular engineering field can seem daunting.  If you are reading this article, then you are probably looking for directions and some sort of a plan to develop the skills needed to get into this field of making embedded systems. By the end of this article hopefully, you will know where...

FreeRTOS, Everything You Need To Know..!

When I started out learning about FreeRTOS, I was not able to find good short resources to read, and hence I had to spend weeks reading a 400 page eBook, see a bunch of webinars and videos, then cross-reference to some other resources when concepts were not clear, before I was finally able to understand what FreeRTOS is, how it works and how to use it in applications. So I decided to write this guide to summarise all the information I have learned over my research in an easy to understand manner so that you can get started with FreeRTOS...

How to Detect, Debug and Prevent Stack-Overflow!

Today I ran into my very first stack overflow bug. It was a frustrating experience to find the actual bug as I had to go through all of my code and double-check the logic, buffers, pretty much my entire code before I was finally able to detect that the bug I got was due to stack overflow. But once I managed to find out the fact that the source of my problem is stack overflow, the fix was a pretty easy one. This is one of those bugs that will make you doubt pretty much everything you know..! I am...

programming

4 Types of Embedded Software Explained!

I am working as an embedded software engineer and I have often been asked this question of what does embedded software engineers do. I am writing this article to explain what we do, how we do it, varieties of embedded software, skills needed to do develop each kind, types of companies you get to work for and other relevant details you might find interesting to give you an insiders look into this profession.  What does an embedded software engineer do? Embedded software engineers develop software that runs on devices like microwave ovens, Xbox controllers, Blood pressure monitors, Bluetooth headphones, smartwatches,...

Bootloader And Stages of Booting Process Explained!

During the early days in my career as an embedded software engineer, I was hearing the term ‘bootloader’ very often. Even though I had a basic understanding of the term, I felt that my knowledge about it is incomplete. For example, when they say the system is ‘booting up’ I knew it meant the system is getting ready for the user to start using its applications, but how exactly is it ‘getting ready’? As days passed by, I read some books, used some development boards, read some forums and with all that my knowledge of bootloader improved to a stage...