Analysis of the advantages and disadvantages of embedded technology, and methods for learning embedded systems

Publisher:technology1Latest update time:2020-09-23 Source: elecfans Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

  Analysis of the advantages and disadvantages of embedded technology

  The benefits of engaging in embedded software development are:

  1 Currently, there is a shortage of people in this field both at home and abroad.

  On the one hand, this field has a high entry threshold. Not only do you need to understand the lower-level software (such as operating system-level and driver-level software), you also need to have a high level of software expertise (embedded systems require high time and space efficiency in software design), and you must also understand the working principles of hardware (recommended: network engineer training), so it is difficult for non-professional IT personnel to enter this field;


  On the other hand, because this field is relatively new and is developing too fast, many software and hardware technologies have not been around for long or are just emerging (such as ARM processors, embedded operating systems, MPEG technology, wireless communication protocols, etc.), and people who master these new technologies are of course hard to find (embedded technology training: ARM development training, FPGA training, DSP training, etc.). Embedded talents are scarce, so their value is naturally high. The more experienced they are, the higher their price. In fact, the fundamental reason why embedded talents are scarce may be that most people have no conditions to contact them, which requires corresponding embedded development boards and software, and experienced people to guide the development process.


  Unlike application software such as enterprise computing, the work intensity of talents in the embedded field is usually lower (but the income is not low).

IT companies that develop enterprise application software have to work on the next user's system after they finish developing the system for one user. Moreover, the needs and completion time of each user have to change according to the customer's requirements, which often makes them exhausted and repeating work. In contrast, companies that develop embedded systems have their own product plans and act at their own pace. The products they develop are usually universal and will not be modified for different customers. After a product model is developed, there is often a long period of idle time (or just some minor repairs to the software), which gives them time to recharge and rest.

  IT companies that develop enterprise application software have to work on the next user's system after they finish developing the system for one user. Moreover, the needs and completion time of each user have to change according to the customer's requirements, which often makes them exhausted and repeating work. In contrast, companies that develop embedded systems have their own product plans and act at their own pace. The products they develop are usually universal and will not be modified for different customers. After a product model is developed, there is often a long period of idle time (or just some minor repairs to the software), which gives them time to recharge and rest.


  In addition, the scope of work for everyone engaged in embedded software is relatively narrow, and the professional technology involved is the same (ARM, RTOS, MPEG, 802.11, etc.). Over time, you will become more and more experienced in these things, and a few words of guidance will be enough for those who are new to the field to ponder for half a year. If you work on application software, the next customer may want to switch to a completely different software development platform, which will be a pain.


  For those who want to enter the embedded development industry, the recommended training courses include: embedded Linux development training, embedded WinCE development training, 3G mobile phone development training, Android embedded development training, etc.


  The disadvantages of working in embedded software development are:

  (1) The entry entry point is relatively high, and the technologies used are often difficult. If you do not have a good foundation in hardware and software, especially if you do not have a deep foundation in operating system-level software, you may not be suitable for this line of work.

  (2) The number of companies in this field is far less than that of enterprise computing companies. In particular, there are more small companies engaged in embedded systems (small companies want to start their own products), and fewer well-known large companies (large companies engaged in embedded systems mainly include Intel, Motorola, TI , Philips, Samsung, Sony, Futjtum, Bell-Alcatel, STMicroelectronics, Microtek, Advantech, Huawei, ZTE, Shanghai Media Group and other manufacturing companies). The habitual way of thinking of these companies is to look for people in relatively hard majors such as electronics and communications. Since our college’s previous graduates were mainly in enterprise computing, our college has relatively few contacts with these companies. Our college is actively working hard and has established contacts with some of these companies. We hope that our students can intern or work in these companies in the future.

  (3) A few companies often require people with a master's degree or above to work on embedded systems, mainly due to the difficulty of embedded systems. However, most companies do not have this requirement, as long as they have experience.

IT companies that develop enterprise application software have to work on the next user's system after they finish developing the system for one user. Moreover, the needs and completion time of each user have to change according to the customer's requirements, which often makes them exhausted and repeating work. In contrast, companies that develop embedded systems have their own product plans and act at their own pace. The products they develop are usually universal and will not be modified for different customers. After a product model is developed, there is often a long period of idle time (or just some minor repairs to the software), which gives them time to recharge and rest.

  If students in our college study embedded systems, they should obviously focus on embedded software, especially embedded operating systems, which should be our strong point. For people who engage in embedded software, the most important technology is obviously (in fact, this is what is written in the recruitment advertisements of many companies):

  (1) Master the structure and principles of mainstream embedded microprocessors

  (2) You must master an embedded operating system

  (3) Must be familiar with the embedded software development process and have worked on at least one embedded software project.


  Embedded entry learning method

  1. Definition of Embedded System

  Based on the definition of embedded systems found on the Internet and combined with my own understanding of embedded systems, I define embedded systems as follows:

  1. Simply put, an embedded system is a special-purpose computer system designed for a specific application;

  2. Embedded systems are different from ordinary PCs or notebooks. The size, power consumption, external adapters and other characteristics of embedded systems must meet the requirements and limitations of the application;

  3. The software of the embedded system, including the operating system, is burned onto a circuit board;

  4. It uses a low-power X86-level CPU, a modular design, and is equipped with the most basic computer peripherals. This type of computer usually uses the Windows operating system;

IT companies that develop enterprise application software have to work on the next user's system after they finish developing the system for one user. Moreover, the needs and completion time of each user have to change according to the customer's requirements, which often makes them exhausted and repeating work. In contrast, companies that develop embedded systems have their own product plans and act at their own pace. The products they develop are usually universal and will not be modified for different customers. After a product model is developed, there is often a long period of idle time (or just some minor repairs to the software), which gives them time to recharge and rest.

  5. The CPU of the embedded system can be: 4-bit, 8-bit, 16-bit, 32-bit;

  6. Embedded systems are widely used, such as:

  1) Small appliances

  2) Automobile

  3) Elevator

  4) Television

  5) Video recorder or VCD, DVD

  6) mp3, mp4

  7) Industrial Control

  8) Medical equipment

  9) Satellite

  10) Telephone

  11) PDA

  12) Flight system, etc.

  13) …

  7. Architecture of embedded systems:

  1) CPU

  2) RAM

  3) ROM or flash ram

  4) AD

  5) DA

  6) Human-machine interface (e.g. buttons + LED/LCD/color LCD/)

  7) I/O

  8) Usart

  9) USB

  10) CAN

  11) Ethernet

  12) Embedded operating systems, such as uc/os, linux, vxworks, wince, dos. . .

  8. Embedded systems are more characterized by SoC, that is, the entire system is integrated on one chip, such as ATMEL's arm7 chip 91sam7x128/256, etc.; users can get cheap and powerful embedded systems;


  2. The most correct learning path - from 8-bit MCU to CANbus to ARM7

  Step 1: Get familiar with 8-bit MCU

  My personal opinion is that there is a pattern for learning embedded technology: 8-bit mcu (51 or avr...) + can2.0B + arm7 + arm9. You can follow this pattern when learning.

  As a low-end embedded system, it is more appropriate to choose an 8-bit MCU as an entry point. Among 8-bit MCUs, compared with PIC, AVR, Freescale and other 8-bit microcontrollers, it is more appropriate to choose a 51-core microcontroller as the first choice for learning 8-bit MCU. Of course, this view is a matter of opinion; if you need a reason, then perhaps the following reasons can be used as a reference:

  1. 51 has accumulated a large number of excellent codes and other resources; there are too many such resources on the Internet, and they are almost free;

IT companies that develop enterprise application software have to work on the next user's system after they finish developing the system for one user. Moreover, the needs and completion time of each user have to change according to the customer's requirements, which often makes them exhausted and repeating work. In contrast, companies that develop embedded systems have their own product plans and act at their own pace. The products they develop are usually universal and will not be modified for different customers. After a product model is developed, there is often a long period of idle time (or just some minor repairs to the software), which gives them time to recharge and rest.

  2. There are many manufacturers that produce 51 core microcontrollers, such as: ATMEL, Winbond, LG, Philips, STC (Macrochip Technology), TI , ...

  3. In the low-end market segment, manufacturers of 51 MCUs have launched different products for different industry applications, such as the LPC900 series and STC's 12CXXXX series; they meet the needs of industry users in terms of function, price, power consumption, size, packaging, anti-interference, etc. For example, more and more 51 MCUs now integrate A/D, D/A, SPI, I2C, PWM, internal clock, watchdog, eeprom, ISP/IAP, etc., which are very different from the traditional ATMEL 89C51/52! The functions are becoming more and more powerful while the cost is getting lower and lower, and there is no need to worry about a certain manufacturer's shortage of stock. . .

  4. . . . (still increasing)


  Step 2: Be familiar with can2.0A/B. Be familiar with can2.0A/B on the basis of mastering 51

  Why is it CANBU instead of MODBUS bus or BITBU?

  CAN is a CAN (Controller Area Network) field bus communication structure developed by Bosch of Germany to solve many control and data exchange problems in modern vehicles. Its main features are:

  1. 8-byte short frame transmission, so the transmission time is short and the anti-interference ability is strong;

  2. High speed, the maximum speed can reach 1Mbit/s;

  3. Multi-master mode, multiple masters can be divided into master nodes and slave nodes; each node can actively send information to other nodes on the network at any time, regardless of master or slave, and the communication is flexible; when sending, the bus automatically arbitrates the master and the slave; the master node has priority;

  4. It can realize full-area broadcast, zone broadcast and point-to-point communication;

  5. The CAN controller automatically filters frames with inconsistent frame numbers, greatly reducing the burden on the CPU;

  6. With multiple error checking methods such as CRC and other checking measures, the data error rate is extremely low; and in the case of serious errors, the node will automatically go offline to avoid affecting other nodes on the bus; RS485 often affects all nodes on the bus due to one node;

[1] [2]
Reference address:Analysis of the advantages and disadvantages of embedded technology, and methods for learning embedded systems

Previous article:C language programming program optimization solution, how to choose ARM core processor operating system
Next article:Introduction to embedded development environment, analysis of embedded file system requirements

Latest Microcontroller Articles
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号