Skip to main content

Navigating Embedded AI: A Friendly Guide for Junior Students

Embedded AI algorithms might sound complicated, but they're just a bit different from the AI you might know from general-purpose computers. These differences come from the unique needs and limitations of embedded systems, like those in your smartphone or a smart fridge. Let's explore these differences and see how they shape the way we design and use AI in these cool devices!

#### 1. Working with Limited Resources

**Memory and Storage:**  
Embedded systems usually don't have a lot of memory or storage. Think of them like tiny apartments compared to big houses (general-purpose computers). So, when we write algorithms for them, we need to make sure they don't take up too much space. It's all about being efficient!

**Processing Power:**  
These devices often have less powerful processors. It's like comparing a bike to a car; you can't go as fast, but you can still get where you're going. Our algorithms need to be lightweight and quick so they can run smoothly on these smaller "bikes."

**Power Consumption:**  
Embedded systems often run on batteries, so energy efficiency is super important. Just like you wouldn't want your phone to die halfway through the day, we don't want these systems to use up all their power too quickly. We design algorithms that sip power instead of guzzling it.
The illustration features two characters: a squirrel representing an embedded system and a bear representing a general-purpose computer. The squirrel, being agile and lightweight, carries a small, simple backpack (limited memory and storage), a basic map made of leaves (simple data structures), and a tiny acorn lantern (low power consumption). The bear, on the other hand, is equipped with a large, overstuffed backpack (ample memory and storage), a detailed map with many paths (complex data structures), and a bright, high-power lantern (high power consumption).



#### 2. Handling Real-Time Requirements

**Real-Time Processing:**  
Some embedded systems need to process information super quickly, almost instantly. Imagine your car's safety system—it needs to react right away if something happens. These systems need real-time processing, meaning the algorithms must be fast and reliable, like a superhero responding to an emergency.
This illustration depicts a race between two vehicles: a sleek, small car driven by a cheetah representing an embedded system and a larger, slower truck driven by a tortoise representing a general-purpose computer. The cheetah's car has a digital clock on the dashboard, highlighting the importance of real-time processing. The tortoise's truck is loaded with various gadgets and equipment, illustrating its broader capabilities but less focus on speed.



#### 3. Using Specialized Hardware

**Specialized Hardware:**  
Some embedded systems use special hardware like Digital Signal Processors (DSPs) or Field-Programmable Gate Arrays (FPGAs). These are like special tools in a toolbox, perfect for certain jobs. Our algorithms need to be tailored to these tools to work as efficiently as possible.

**Single Address Space:**  
Unlike your laptop, which can juggle multiple tasks at once, embedded systems usually focus on one thing at a time. This makes memory management simpler, but it also means we have to be careful about how we use memory.
In this illustration, two workshops are set up side by side. One workshop, represented by a beaver, symbolizes embedded systems and features specialized tools like precision chisels and detailed schematics (representing DSPs and FPGAs). The beaver is carefully working on a small, intricate dam model. The other workshop, represented by an octopus, symbolizes a general-purpose computer and has a wide array of generic tools and a complex machine being worked on, with tentacles multitasking on various parts.



#### 4. Designing the Software and System

**Embedded OS or No OS:**  
Embedded systems might have a simple operating system or none at all. This is different from your computer, which might run Windows or macOS. Sometimes, we program these systems to interact directly with the hardware, like writing a letter by hand instead of typing it.

**Firmware Integration:**  
Algorithms in embedded systems often live in the firmware, which is like the permanent memory of the device. Once it's set, changing it isn't easy, so we test everything thoroughly to make sure it works perfectly before it's "baked in."

#### 5. Focusing on Specific Tasks

**Dedicated Tasks:**  
Embedded AI is usually designed for specific jobs, like controlling a washing machine or monitoring your heart rate. Unlike the more general AI you might learn about in class, these algorithms are fine-tuned for their particular tasks, making them very efficient.

**Pre-programmed Functions:**  
These systems often perform set functions without needing user input. It's like having a robot vacuum cleaner that knows exactly what to do without you guiding it. This means the algorithms have to be robust and reliable.

#### 6. Balancing Cost and Simplicity

**Cost Constraints:**  
Embedded systems are usually designed to be affordable, so we need to balance performance with cost. It's like cooking a tasty meal on a budget; you want it to be good without breaking the bank.

**Simplicity:**  
The software architecture for these systems is generally simpler. We focus on the essentials, ensuring the system does its job well without any unnecessary extras.
This illustration features two construction sites with technology-themed characters. The embedded system site is managed by a robot with a minimalist design, symbolizing cost-effectiveness and efficiency. The site is small, with simple, functional structures made of basic materials. The robot holds a checklist with items like "efficiency" and "cost-effective materials."


Comments

Popular posts from this blog

How to test frame buffer in linux

The intended goal of this article is to provide the user with enough information so they can display an image onto a screen of their choosing. How to re-build frame buffer testing application. Base knowledge http://trac.gateworks.com/wiki/OpenEmbedded/Video_Out Frame buffer test application - rebuild fb-test-app step 1: Download soure code ( git installed on your machine and account in git-hub is required) https://github.com/prpplague/fb-test-app Command in git: git init git clone https://github.com/prpplague/fb-test-app.git step 2: Change makefile vi Makefile //open Makefile by vim editor :set nu //show line number replace from line 6 to line 12 by folow code: CC=arm-linux-gnueabi-gcc CFLAGS=-02 -Wall Save change command :wq step 3: Rebuid Type “make” command step 4: Copy execute file to target system by filezilla or something like that step 5: Remote target by root account, change mode of execute file (what copied from host)

[Git] Handle trailing space when patching with git

After complete coding one module in development branch. Next phase is merging. Obviously, you can merge source code automatically without no errors happen. However, life is not dream. Create a patch git diff HEAD > newTariff.patch Apply patch git apply newTariff.patch then problem happens Problem git apply newTariff.patch:106: trailing whitespace. patch does not apply Route cause: Nguyên nhân: Do trong source code có những dấu space thừa (ô vuông màu đỏ hình dưới) Some whitespaces is existed in your patch. (red area in below pictures) Fix Clean white space and patch again. Cách khắc phục Xóa những dấu space này đi và thực hiện patch lại Make up after complete coding. Find and clean whitespace before create patch file. Sửa sau khi code xong Kiểm tra sau khi code xong có lỗi này không git diff HEAD --check Prevent whitespace by manually when typing source code Sửa ngay khi đang code =>Bật chức năng hiển thị các dấu whitespace, hoặc remove trailing

The best 12 AI Tools in 2023

The new life challenges require new tools.  For decades, AI technology has been a fuzzy field for unprofessional users. However, it is not rocket science anymore at this time.  There are the best 12 AI tools in 2023 that will keep you up and take some advantages in your business. Here, I put everything on your table. Enjoy Solves anything - ChatGPT ( https://chat.openai.com/auth/login ) Write anything - Writesonic ( https://writesonic.com/ ) Generates Art - Midjourney ( https://www.midjourney.com/explore ) Generates Code - Replit ( https://replit.com /) Generates Video - Synthesia ( https://www.synthesia.io/ ) Generates Music - Soundraw ( https://soundraw.io/ ) Generates Tiktoks - Fliki ( https://fliki.ai/ ) Generates Avatars - Starrytars ( https://starryai.com/en/starrytars ) Generates PPTs - SlidesAI ( https://www.slidesai.io/ ) Edit Pictures - Remini ( https://remini.ai/ ) Edit Video - Pictory ( https://pictory.ai/ ) Summarize Notes - Wordtune( https://www.wordtune.com /)