The Essential Path for Embedded Engineers: Linux

The Essential Path for Embedded Engineers: Linux

We apologize for the inappropriate title yesterday, and it was deleted immediately. Today we have changed the title and are reposting it. We will take course titles more seriously in the future, thank you for your understanding and support.

As we all know, before the Spring Festival, we launched a video text version of the WiKi tutorial, which has received rave reviews. Mobile IoT is an unstoppable trend, and everyone is now accustomed to watching WeChat instead of forums. To facilitate this, we will begin serializing a new version (enhanced version of ARM bare metal) of the WiKi content starting today, and this is the first article.

This document is relatively easy and can be considered as a review and preview.

  • Salary Aspects

Are we learning these skills just to make money? On 51job, searching for “microcontroller” averages a few thousand yuan in salary. Then searching for “Linux system engineer” averages around ten thousand.

  • Career Development

I have personal experience in this area. I graduated in 2003 and entered a small company in 2005, where I initially worked on car phone systems using the 51 microcontroller. My colleague with the last name Li implemented the car phone function using two C files with over 3000 lines of code.

Another colleague with the last name Wei split the functionality into various modules, using over 50 C files, and rewrote the program with an operating system approach. Both of these talented individuals have since switched jobs and no longer work with microcontrollers.

My colleague Li went to the United States for further studies in robotic vision and is now a search expert at Baidu, while Wei and I went to ZTE, and now he is responsible for mobile phone development at Lenovo in Xiamen, while I am recording videos for you, but none of us are working with microcontrollers anymore.

In 2005, I wrote an operating system imitating ucos on a 2440 development board; ten years ago, we had already mastered microcontrollers to perfection. But we still need to upgrade, why?

Because microcontrollers are very simple; with just 2-3 months of serious study, one can reach an intermediate level. The skill difference between someone with ten years of experience and someone with two years is not significant. For a company, realistically, they would prefer to hire a lower-paid newcomer who is more willing to work overtime, so we must upgrade.

  • Application Aspects

Where do microcontrollers stand in the embedded field? For example, in an automated machine tool on a production line, microcontrollers are used to detect the position of items being transported and trigger certain signals. However, the overall control must run an operating system to handle more complex tasks.

The Essential Path for Embedded Engineers: Linux

Now, let’s look at Google’s robot; its arms and toes may be controlled by microcontrollers, but its core brain must run an operating system to handle various complex tasks.

In other words, in a complex system, the operating system is the brain, while the microcontroller can perform the functions of fingers. So, do you want to be the brain or the fingers?

The Essential Path for Embedded Engineers: Linux

Moreover, the product upgrades of microcontrollers are relatively slow; when a product uses a microcontroller, it seeks stability and cost. Obviously, there are fewer routine tasks, and you do not need to have very new skills. So, why would a company spend 20,000 to 30,000 yuan to hire someone to work with microcontrollers when they can directly hire a newcomer for a few thousand yuan?

Additionally, the price advantage of microcontrollers is gradually disappearing. Searching on Taobao, STM32 development boards generally cost between 100 to 200 yuan, while a board capable of running a Linux system, such as nanopi, costs only about 100 yuan.

A development board that can run a Linux operating system, has 512M DDR memory, and a quad-core processor, costs only 99 yuan. Therefore, the price advantage of microcontrollers is gradually disappearing; they can only maintain a slight advantage in terms of stability.

Now let’s look at products using microcontrollers and those developed with operating systems, such as alarm clocks and vending machines, which are made with microcontrollers.

However, vending machines that need to connect to the internet and require WiFi will likely need an operating system. The new type of vending machines that feature WeChat payment must have an operating system. Drones use both microcontrollers and Linux operating systems. Microcontrollers can process information more timely. Looking at these products, which ones would you prefer to work on?

The Essential Path for Embedded Engineers: Linux

  • Technical Aspects

Our Linux operating system requires a Bootloader, which is a collection of microcontroller bare metal programs. Once you master the Bootloader for Linux, working with microcontrollers becomes a piece of cake.

In future videos, I will explain this point. Therefore, embedded operating systems are the essential path for microcontroller programmers to further their studies.

In terms of learning, you do not need to use microcontrollers to learn; however, in our work, when designing products, if the performance of the microcontroller is better, we still have to choose the microcontroller.

For example, the Xiaomi smart socket is made with a microcontroller. If the same functionality can be achieved using a microcontroller at a lower cost, why not use a microcontroller? Selling a few hundred thousand devices, saving a dime on each can save hundreds of thousands. I can only tell you that in technical terms, once we master the Linux Bootloader, working with microcontrollers will be a piece of cake.

—-END—–

Public Account Introduction

The account under Shenzhen Baiwen Technology Co., Ltd., founded by Wei Dongshan in 2012, regularly publishes course progress and embedded Linux content. “What pleases oneself can please others,” “To learn embedded systems, just watch Wei Dongshan’s videos.”

The Essential Path for Embedded Engineers: Linux

Leave a Comment