In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-01-15 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >
Share
Shulou(Shulou.com)06/03 Report--
Wedge
I often think that the development and change of modern society is faster than many people realize. Fat Luo said that he could not keep up with the times and had to pay cognitive tax, which is very reasonable. The semiconductor and IT industries are also the center of the vortex, developing even faster, in fact, think about the innovation of other industries (Meituan takeout, Didi Taxi, Wechat Social, Taobao JD.com e-commerce, as well as the latest new retail vending machines, self-driving cars, etc.) are essentially innovation-driven by the semiconductor industry, all rely on the chips first, supporting software resources and developers before anyone can innovate in these industries.
After many years of embedded development, I often think about the internal driving force and external rationality of these developments and changes in the face of the rapid development and changes of chips and related software development technology. what inspiration and guidance do these developments and changes give us, and where should we go when we are in the center of the vortex, in order to ensure that we will not be washed away by the torrent of history and constantly enhance our value.
Microcontrollers
Single-chip microcomputer is the Chinese name, the corresponding English name is "Single Chip Microomputer", many people may wonder that usually do not say MCU (Micro Control Unit)? In fact, the exact translation of MCU should be called microcontroller, now many Chinese books use this word, do not use single-chip microcomputer. Because the word single-chip microcomputer is a concept many years ago, in that era semiconductor technology is still in its infancy, the integration ability is very poor, often CPU a chip, SRAM a chip, Flash a chip, if you need an interrupt, then there must be a special interrupt chip, so a complete and available computer system is made of many chips (Chip) on a PCB board.
What about the single-chip microcomputer? It integrates CPU, SRAM, Flash and other required modules on a chip (Chip), and implements a microcomputer system on a Chip, so it is called Single Chip Microcomputer, that is, a single-chip microcomputer. In fact, from this point of view, the word single-chip microcomputer is now meaningless, because now the semiconductor technology has long been very powerful, now you buy all are "single-chip computers", there is no separate type of the so-called "multi-machine". And modern single-chip microcomputer not only integrates CPU, SRAM, Flash and other indispensable components of microcomputer, but also mostly integrates a lot of internal peripherals, such as Nand controller, LCD controller, serial communication, timer, RTC and so on, so the current single-chip microcomputer should be called SoC (System on Chip).
English is very accurate. Here are several words you can understand: microcomputer, computer, system, microcontroller. If there is no strict distinction, these words can often be substituted for each other and universal, but strictly speaking, they actually have different pronouns. Computer, for example, refers to computers, which you can understand as computers, such as laptops and desktops. Of course, computers many years ago are very large and bulky, so computer refers to this kind of organic box shell, with keyboard and mouse, very large, bulky, versatile computer. And microcomputer refers to such things as single-chip microcomputer, it is also an independent computer system, with CPU and memory and peripherals, which can run computer programs. But it is small compared to computer, and it is not general-purpose but special-purpose, so it is called microcomputer. Where's system? More inclined to the whole system, that is to say, all kinds of peripherals of system=microcomputer+. The simple understanding is that when the serial port, LCD controller and other modules enter the interior of the Chip, the whole microcomputer becomes system. So in fact, system is a name that is more meaningful and suitable for modern single-chip microcomputer chips. So now we all call the chip SoC, which is more valuable. What about microcontroller? Now many single-chip manufacturers call their single-chip computers microcontroller (microcontroller). In fact, I personally understand that the focus of microcontroller is on controller, that is to say, they want to emphasize that the system integrated in this chip is a controller and is good at control. Not a DSP (good at computing).
Embedded system
The full name of embedded system is embedded system, and English is Embeded system, so we can see that embedded system is a system. Why is it called embedded? Embedding here means that we embed the system (represented as a Chip in hardware) into a device. For example, the chip on the refrigerator board is a system embedded in the refrigerator, which is responsible for controlling user buttons, refrigerator lights, refrigeration system, and so on. It can be seen that the name embedded system is mainly named from the organizational form of the chip when it is used. So from this point of view, as long as the chip is embedded in the device can be called embedded system.
Well, the scope is too wide, to be honest, it's hard to find system that doesn't belong to embedded, so I often think that the term embedded is nonsense and meaningless. Fortunately, this understanding is only the definition of embedded in a broad sense, but we usually understand embedded in a narrow sense.
In a narrow sense, embedded is to distinguish it from single-chip microcomputer. We often call the system that can only run bare metal or RTOS (such as ucos, Huawei LiteOS, RT-Thread, freertos, etc.) without MMU (memory management unit) in the chip as a single chip (such as STM32, NXP LPC series, new NXP imxRT1052 series, etc.), while the chip with its own MMU can support virtual addresses, and the system that can run operating systems such as Linux, Vxworks, WinCE, Android, etc., is called embedded. So linux WinCE and so on are often called embedded operating systems, that's what it is. You look back carefully, in fact, most people talk about single-chip computers and embedded from a narrow point of view, not in a broad sense.
The Technology and Market situation of single Chip Microcomputer
Single-chip microcomputer is a kind of computer with the largest shipment. This is easy to understand, because the use of single-chip microcomputer is too wide, almost all the built-in control systems of home appliances are single-chip microcomputer, this number is very staggering. Almost all kinds of public facilities and factory automation equipment are controlled by single-chip microcomputer. There are also many manufacturers and categories of single-chip computers. I will list several commonly used ones below.
8-bit and 4-bit machines. This kind of single-chip microcomputer has low performance and low configuration, but the advantage is that the price is cheap. Therefore, many low-end household appliances will be used, and small household appliances are the biggest market for this kind of single-chip microcomputer. In order to reduce costs, many of these microcontrollers can only be programmed with assembly (of course, many of them have also provided C compilers in recent years), and many chips are packaged with bounding (that is, the core of the chip is directly affixed to the PCB and then glued with black hard glue, and we have played LCD1602 to see the black disc behind that). These products used to be made by some small chip manufacturers in Taiwan. In recent years, Chinese mainland has also emerged a lot of this kind of chip manufacturers, these single-chip industry mostly on the standard of a specific application field, very familiar with the needs of the industry, directly launched solutions suitable for this industry. Laymen may not have heard of the model and related information of this single-chip microcomputer at all. Generally speaking, this is a relatively low-end industry, it is not recommended for everyone to learn and enter. Especially now that China is engaged in industrial upgrading, backward traditional household appliances are still unable to sell at reduced prices, on the contrary, "industrial upgrading" household appliances with various high-end functions and appearance are very profitable. So this kind of chip and technology which is suitable for traditional and old electronic products is not worth investing in. 51 single chip microcomputer. In fact, 51 single-chip microcomputer is also an 8-bit machine, the reason why it is taken out alone is because 51 single-chip microcomputer is really too famous. In fact, at that time when a hundred schools of thought contended (about the 1980s), 51 single-chip microcomputer was only one of them, and there were many other very powerful ones, but they were all blown away by the rain and the wind. The reason why 51 single chip microcomputer is famous and alive now is that Intel later opened the copyright of 51 kernel, so many companies and many people can use it without fear of payment or copyright risk. In fact, by now (2018), 51 single-chip microcomputer is already a very old solution with no technical advantages, but why is it still used in large quantities? There are mainly the following reasons: first, a large number of stock projects and stock developers, these people are very familiar with 51 single-chip microcomputer, and even many old engineers may only know 51 single-chip microcomputer, and many old projects can no longer be redeveloped, so 51 single-chip microcomputer is still used. Second, 51 single-chip microcomputer is also cheap enough, many products that do not require too much performance simply use 51 is also very good. Third, the 51 core is open, so many SoC that require built-in monolithic processors (such as many capacitive touch screen chips, many fingerprint identification chips, etc.) will choose to use 51 cores. Many students asked me if I still want to learn 51 single-chip microcomputer. I think we still need to learn. One reason is that the technical skills used in the development of 51 single-chip microcomputer are still useful in the development of other single-chip computers, so learning 51 will be much faster in the future, and time will not be wasted. Another reason is that it is true that sometimes the actual development will encounter the use of 51 single-chip microcomputer, so it can be regarded as a skill that can be used. So if you want to learn the development of single-chip microcomputer, it can't be wrong to start with 51 single-chip microcomputer. But remember not to indulge in 51, to quickly learn 51 single-chip microcomputer, quickly continue to learn more modern and practical other single-chip computers (such as stm32). Many people stop moving after learning 51, which is like not continuing to study after graduating from kindergarten, which is wrong. STM32 single chip microcomputer. Finally, it's been 11 years since STM32, the first STM32, was released by ST in 2007. STM32 is a single-chip microcomputer with the core of ARM Cortex-M. In fact, there are many single-chip computers that also use the core of ARM Cortex-M (for example, LPC series of NXP, K60 series of former Freescale, M051 series of Taiwan Xintang, domestic series such as GD32 series of innovation by Zhaoyi, etc.). STM32 is only one of the representative works. ARM has been in the limelight these years, beating Intel in the application-level SoC. Now the chips in the mobile phone industry have been eaten by ARM, and people like MIPS are even more oppressed than dead. In the field of single-chip microcomputer, ARM's Cortex-M series (M0, M3, M4, M7) is also a complete victory, many semiconductor manufacturers have given up their original architecture to become ARM core single-chip microcomputer. How to say, I think the single-chip microcomputer with ARM kernel is very suitable for the current era, especially STM32, no matter the hardware configuration or development tools are deeply recognized by the market, the popularity is getting higher and higher. It is strongly recommended that universities learn single-chip microcomputer to learn STM32, can play STM32 is very valuable. As for GD32 and other domestic single-chip computers similar to STM32, I think they will become stronger and stronger later, and even dominate the market to drive foreign brands out of China. The way these chips are developed is also very similar to STM32, so it's easy to cut through STM32 development, don't worry. Other single-chip computers. I am referring to PIC, ATmega, MSP430, STM8 and so on, which are not very familiar so I will not discuss them in detail. Generally speaking, these single-chip computers have good performance-to-price ratio and are competitive in their respective fields, but they are still not as broad as STM32. Therefore, active learning is not recommended unless it is used by the company's research and development. High performance and high price single chip microcomputer. Here I specifically refer to single-chip computers such as STM32F7, STM32H7, NXP imxRT1052 and so on. Although this kind of single-chip microcomputer, but the performance is much stronger than the general single-chip microcomputer, peripherals are also much more complex, and even need external SDRAM to provide more memory, external SLC Nand or Spiflash to provide storage. At the same time, from the price point of view, most of these single-chip computers are more than 30 yuan, or even as high as 100 yuan. These are really single-chip fighters, the price can scare people to death. For this kind of single-chip microcomputer, I am actually not optimistic about it. In fact, to write this long article is to explain why I am not optimistic about this kind of single-chip microcomputer. Interested students can continue to read the following analysis. Embedded technology and market situation
At present, ARM+linux and ARM+android are the most popular in the embedded field.
The chips are all based on ARM, with ARM9 and ARM11 at the low end and Cortex-A7, Cortex-A8, Cortex-A9, Cortex-A53 and Cortex-A57 at the high end. From single-core to double-core, four-core, eight-core. There are also a lot of manufacturers, including domestic imported Taiwan products and so on. It also has a wide range of coverage, including consumer grade, industrial grade and car regulation level.
Embedded-level ARM can run complex OS very well because of its MMU, so although the chip itself can be run in bare metal, almost no one uses this kind of chip to run bare metal or RTOS. Will be on the operating system. To put it simply, if the product does not need a gorgeous man-machine interface to linux (such as routers, webcams), if you need a man-machine interface but the interface is simple to focus on function and stability, then go to linux+QT (such as industrial control HMI, electric car charging piles, parking display), if the product pays much attention to the user experience of human-computer interaction, then go to Android (such as smart phones, smart televisions, game consoles, etc.).
Generally speaking, the embedded system has high complexity, great difficulty in development and long learning curve. Because of the complexity of the software, it is possible to produce bug. Once out of bug, it takes more skill and experience to find it. So many companies use embedded linux or android to do products have a lot of problems, on the one hand, it is related to the technical ability of developers, on the other hand, companies can not spend time and cost to make the product stable and mature.
The real difference between embedded and single-chip microcomputer
In fact, at this point of analysis, we all know the real difference between embedded and single-chip microcomputer, that is, there is no complex operating system such as linux or android.
Single-chip microcomputer is either streaking or RTOS, in fact, students who have played RTOS and linux all know that although RTOS is also called an operating system, it is not at all the same level as linux. Far from it, not to mention android, the code amount of any module taken out in android is larger and more complex than a complete RTOS. So whether there is a complex OS like linux/android is really different for developers.
For example, from the perspective of C language, my "embedded linux Core course" part 4, "in-depth Analysis of C language", is specifically aimed at people with insufficient C language skills in embedded linux development. Many students who have been doing single-chip microcomputer for many years sigh that they really don't know the depth of C language if they don't do linux. The elements such as structure and pointer do not show charm at all in single-chip microcomputer programming, but they are perfectly played and released in the linux kernel. Without real research, it is very difficult to feel that kind of beauty and shock.
The intersection of embedded system and single Chip Microcomputer
Is there any intersection between embedded and single-chip microcomputer? The intersection here means that some products can be solved not only by embedded system, but also by single-chip microcomputer.
There was no such thing before. You think about the general single-chip microcomputer a few yuan more than ten yuan, and embedded system SoC plus DDR and Flash at least dozens of yuan, how can there be intersection. Even if you can do what the single-chip microcomputer can do, why should you spend dozens of yuan on the work that I can do for more than ten yuan? So there was no intersection between the two before. It's not a matter of the same level at all.
But the situation has changed in the past two years. First of all, the configuration and price of many high-end single-chip computers are getting higher and higher. For example, the NXP imxRT1052 series of single-chip computers released in October 2017, known as cross-border processors. Why is it called cross-border? Which two boundaries do you cross?
We know that single-chip microcomputer, it is necessary to provide a single chip to provide the entire system, to put it simply, at least cpu, sram, flash these three major pieces can not be less, otherwise it is impossible to run independently. So you see whether it is 51 single-chip microcomputer or STM32 are internal CPU, there are SRAM, there are Flash, this is a typical single-chip microcomputer. Unlike embedded SoC, for example, there are only CPU and a small amount of SRAM inside S5PV210, which requires external integration of DDR SDRAM and Flash (EMMC) to work properly. Therefore, embedded system can not be on a chip, generally typical embedded system system is composed of a core board, this core board integrates SoC, DDR SDRAM, Flash, power module and so on, which is called embedded system. The so-called cross-border processor spans the two boundaries of single-chip microcomputer and embedded system. This imxRT1052 integrates CPU and SRAM internally, but without Flash, it requires an independent Flash chip from the outside to form a system. So this thing is neither a typical single-chip microcomputer nor a typical embedded, but it is both like a single-chip microcomputer and embedded, so NXP says this is a cross-border processor. Whether it works or not, the name sounds cool.
By the way, why is NXP designed like this? In fact, because the single-chip microcomputer built-in Flash are very expensive, why imxRT1052 can be much cheaper than the same performance of STM32, the main reason is that it does not have built-in Flash. So many people say that ST lags behind NXP, but it doesn't. It can only be said that the design of NXP is an innovation in the field of single-chip computers. By comparison, it appears that the performance-to-price ratio of STM32F7 and STM32H7 is too poor. But to tell you the truth, the STM32 F7 and H7 are really rubbish. I don't know if a single-chip microcomputer is going to sell for more than a hundred. Who priced ST's courage like this, Leong Ching-ju?
Forget it. I'm too lazy to complain about F7 and H7. Take this cross-border processor imxRT1052, which is mainly 600MHz, consumer and industrial, with a variety of peripherals (anyway, you can use basically everything you can use), and a TFT LCD with a maximum resolution of 10240768 (of course, you need an external SDRAM as video memory). This thing compared to the ordinary single-chip microcomputer is a divine existence, ah, generally play single-chip microcomputer to see this data scared directly kneel down to call father. As far as the price is concerned, the official bulk price of this thing is about 30 yuan. Think about it. It feels like the price-to-performance ratio is sky-high. In fact, STM32 is not so weak, although the main frequency of F7 and H7 is not as abnormal as 600MHz, but the overall performance of H7 is not too inferior to RT1052. Even if you don't call your father, you can't escape. The reason why F7 and H7 did not set off a big wave or the price is too scary, most people heard that more than 100 direct heart scolding mother turned away, do not want to know your performance. And the 30 yuan of imxRT1052 is really tempting, it sounds like high performance and low price, and many people even judge that NXP is going to "kill" ST.
The embarrassment of cross-border processors
High-performance cross-border processors seem good at first glance, but in fact they are not that easy to succeed. The reason is that this kind of high-performance single-chip microcomputer actually has no advantage over the low-performance and cost-effective embedded linux solution.
Yes, many people think that the 600m main frequency of the single-chip microcomputer only 30 yuan is very cheap and powerful. That's because you're not familiar with embedded solutions. In fact, imxRT1052 single chip can not work very well, he needs at least external Flash and SDRAM to achieve high performance, even if it is only 1Gbit's SLC Nand and 32MB's SDRAM, plus the cost of RT1052BOM is about 50 yuan. In addition, although RT1052 claims to be 30 yuan in batches, it is actually priced at 40-50 yuan in small batches, so the price of the core board of RT1052 on the market is between 120-150 yuan. In fact, this price is not cheap, there are many embedded linux solutions are more cost-effective than this.
For example, NXP's imx6ul, built-in Cortex-A7 single core, the highest main frequency 1.2GHz, but also industrial grade, all kinds of peripherals you can think of. The lowest price of the core board equipped with 256MB SLC Nand and 256MB DDR is 119 yuan, which is lower than that of RT1052.
In fact, there are more cost-effective solutions, such as the Xintang NUC972 scheme used in the NUC972 Newton board launched by our Deep Creator, with built-in 64MB DDR and external configuration 1Gbit SLC Nand. The motherboard can do within 100 yuan in batches. The ratio of performance to price is better than the high-performance single-chip microcomputer such as RT1052.
Many people may say, I don't know how to develop embedded linux, I only know how to develop MCU. So no matter how high the cost-performance ratio of your linux program is, it doesn't matter to me, it's the single-chip microcomputer that has something to do with me. I would like to say that this is definitely a misunderstanding, a 100% misunderstanding. Why?
Single-chip microcomputer only three words, you do not think that what is called single-chip microcomputer is a kind of thing. Single-chip microcomputer and single-chip microcomputer are different, do you think the main frequency 600MHz single-chip microcomputer with 10240768 resolution TFT LCD, its development mode and difficulty will be the same as STM32F103 with less than 10 yuan? Software development follows the hardware, what kind of performance hardware should be equipped with what kind of software development methods and corresponding resources, will also require developers to have some corresponding quality. So don't think that all single-chip computers are friendly and can be played. In fact, it is not an easy thing to make a good-looking GUI and use it to solve all the BUG in the project.
Conclusion
This article is relatively shallow, mainly about the origin and difference between single-chip microcomputer and embedded system. It leads to a comparison between high-end single-chip microcomputer (STM32H7, imxRT1052, etc.) and high performance-to-price embedded linux solution. The main purpose is to give you a thinking point to guide you to think about how to analyze and evaluate a chip scheme, so that you can better select a suitable chip scheme when doing a project. Generally speaking, my view is: can use a few pieces of single-chip microcomputer, if these cost-effective single-chip microcomputer can not meet the requirements of dozens of pieces of high-performance single-chip microcomputer, then you should really consider whether you should put in place a cost-effective embedded linux solution in one step. Many people worry that linux will not be developed, but it should not be considered that way. If you really sink down to do a project, you will find that it is not so difficult to use embedded linux, and it is not easy after high-end single-chip microcomputer plus RTOS and a bunch of frameworks and protocol stacks. It's hard to find if something goes wrong. And embedded linux after years of accumulation, the stability of most of its schemes are good. However, the middleware such as RTOS and frame protocol stack of high-end single-chip microcomputer are often in the early stage of development, and there are often many bug. Therefore, it is recommended that it is worth investing time to learn embedded linux software development skills.
That's all for today, and then we'll have time to go deeper into the technical details of cost-effective embedded linux solutions.
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.