As we discussed before, embedded systems are a combination of computer hardware and software designed for a specific function that can work by itself or as part of a larger system.
Embedded systems are great due to low cost, small size, high dependability, simplicity, and its speed. However, embedded systems have numerous constraints that one needs to consider before designing and implementing embedded systems into their network.

Embedded systems are small and have small processors, tiny memory and low power. This is because embedded systems are developed for specific usage rather than general purpose.
Let’s talk about power for example. Average desktop computer has a stable source of power, but embedded systems don’t. Embedded systems have to rely on battery power or some other low-power source, so one needs to ensure it keeps the power usage to a minimum to ensure availability.
Power usage can be reduced with multiple hardware optimization techniques like transistor resizing, low-voltage design techniques and frequency control methods.
Then we have computing. In a regular desktop, the design often focuses on having high computing speed. However, in embedded systems, the CPU simply exists as a way to implement specific functions. Embedded systems have to be designed and meet specific requirements to include size and ability to withstand specific environments. This means that the CPU may be a bit slower so it doesn’t heat up as fast and doesn’t consume too much power.
Most embedded systems are connected to the network in order to perform its assigned tasks. The network includes things like sensors and controllers which are interconnected. For it to work properly, it has to be programmed and made specifically for that network.
Biggest issue is that once embedded systems are installed and configured, these systems can be hard to manage and update. Upgrading certain parts of the system may cause problems, this is why embedded systems and the network it operates in are rarely upgraded. There is no guarantee that the patch doesn’t interfere with the original functionality and it’ll be a big headache to troubleshoot.
This is why identifying requirements like security requirements are critical in the beginning. Also, ensuring there is a process for continuous update is critical. While it’s difficult to update embedded systems, it’s not impossible. In today’s world, cyber threats are blooming, so it’s even more critical to have the ability to update and include it in the design consideration. While crypto and authentication may make it secure, it may put limitations since it does use up extra resources. During the design phase, it’s important to highlight if security is needed at all for specific functions and cost to benefit analysis has to be done as well for all the requirements.
You must be logged in to post a comment.