How to become a qualified embedded developer? It's not too late to know now!

How to become a qualified embedded developer? It's not too late to know now!

The embedded knowledge and skill system is huge, and those who are proficient in everything are generally multi-skilled, and they can talk about various skills. According to the hierarchical relationship of embedded development, the skills of embedded developers are arranged as follows.

 

How to become a qualified embedded developer?  It's not too late to know now!

1. Processor

MCU architecture and development. MCU (Microcontroller Unit), commonly known as Single Chip Microcomputer (Single Chip Microcomputer), the frequency and specifications of the central processing unit (CentralProcess Unit, CPU) are appropriately deleted, and the memory (Memory), counter (Timer), USB, A/D Conversion, UART, PLC, DMA and other peripheral interfaces, and even LCD and other driving circuits are integrated on a single chip to form a chip-level computer, which can do different combined control for different applications. Common MCUs include Intel's C51/C8051F series, Motorola's 68K series, and MicroChip's PIC series.

MPU architecture and development. MPC refers to a microprocessor unit, generally without peripheral devices (such as memory arrays, etc.), and is a highly integrated processor with a general structure. Typical examples are Intel's X86 series, Freescale's PowerPC series, P1 series, and ARM architecture processors.

DSP architecture and development. DSP adopts Harvard structure, which can access memory multiple times in the same clock cycle. The multi-level instruction execution pipeline structure improves the execution efficiency of the system. DSP chips are often used for complex operations, such as TI's TMS CXX series, ADI's SHARC series, Blackfin series, etc.

2. CPLD&FPGA architecture and development

CPLD&FPGA emerged as a semi-custom circuit in the field of application-specific integrated circuits (ASIC), which not only solves the shortcomings of custom circuits, but also overcomes the shortcomings of the limited number of original programmable device gate circuits. Various algorithms and combinational logic are implemented through programmable logic cells.

Program development based on CPLD&FPGA. Including RTL gate-level logic diagram design, VerilogHDL programming, VHDL programming, XILINX compiling software, ALTERA compiling software, low-speed serial and parallel communication controller design, high-speed serial communication controller design.

3. Circuit design and analysis

Including analog circuit and digital circuit design, including device DataSheet reading, schematic diagram and PCB reading, etc.

4. Schematic/PCB design tools

Cadence,Altium,PADS,DXP等。

5. Use of circuit simulation tools

Multisim,Pspice,ADS,MATLAB等。

6. Working principle and selection of discrete electronic components

Circuit Protection Devices, Resistor Devices, Inductive Beads, DC/DC, Crystal Oscillators, Diodes, Triodes, Zener Tubes, Optocouplers, MOS Tubes, IGBTs, Relays, Switches and Keys, LED Indicators, Terminal Blocks for PCB Boards , AC transformers, etc.

7. Working principle and selection of integrated electronic components

AD, logic device, DA, op amp, counter, flip-flop, latch, decoder, SRAM, SDRAM, DDR, FLASH, EEPROM, interface chip, etc.

8. Failure analysis and reliability

Material structure and working principle, metallographic section, microscopic observation, PCB deformation measurement, HALT experimental technology, reliability calculation, etc.

9. Hardware test (device, module, whole machine)

Component test method, module, whole machine test method, component, module, whole machine test problem analysis, national standard, industry standard understanding, EMC problem analysis and solution, etc.

10. Operating system architecture and development environment

Understand operating system principles and basic compilation principles. The operating system provides CPU resource management, peripheral driver, memory management, thread/process management, file system, network communication, security mechanism, interface management, etc. The basic characteristics of embedded real-time operating systems are the rapidity and determinism of event response, which are widely used in embedded systems.

Common operating systems include windows, Unix, LInux, etc. Operating systems widely used in the embedded field include: embedded real-time operating system µC/OS-II, embedded Linux, WindowsEmbedded, VxWorks, FreeRTOS, QNX, etc., as well as Android, iOS, etc. used in smart phones and tablet computers.

11. Bottom-level driver development

VxWorks operating system driver development, Linux porting, Linux development, single-board DTS configuration and root file system generation (Buildroot), U-BOOT porting and development, C language development, Python language development, Makefile writing, GNU compiler and toolchain Use, Linux operating system use.

Specifically, it includes Ethernet driver, SPI driver, I2C driver, file system driver, CAN driver, etc.

12. System software design

Object-oriented, design patterns, UML, embedded multitasking development, refactoring, multicore development, etc. Learn about common development processes such as agile programming, test-driven development, and more.

13. System software development

Familiar with development languages, including: C, C++, C#, QT, Python, JAVA, etc. Familiar with WEB development, development specifications, etc.

14. Data Structures and Algorithms

Commonly used data structures and algorithms, graph theory algorithms, digital signal processing algorithms, wavelet algorithms, etc.

15. Network and Communication

Computer network principle, TCP/IP protocol principle and analysis, IEC61850 protocol (modeling, MMS, SV, GOOSE, etc.), 103 protocol, 104 protocol, DNP protocol, Modbus protocol, Internet of things Zigbee protocol, bluetooth, wireshark and other packet analysis tools, ring network HSR protocol, network security, etc.

16. Database

Database principle and design, SQLite/Access/MySQL/SQLServer/Oracle/big data hadoop, etc.

17. Interface and graphics library. Zinc, UGL, QT, SVG, MiniGUI, etc.

18. Application knowledge (taking power system automation as an example)

Common sense of power system, knowledge of relay protection, knowledge of measurement and control; intelligent substation network architecture, network division, fault recorder, guarantee, telecontrol, etc.

19. Debugging and testing

Software testing foundation, 61850 protocol testing, network testing, time management testing, application function testing (relay protection function, etc.), ATS testing development and use, Labview testing program development, etc.

20. Project management

Configuration management, such as the use of version management tools Git, etc., project planning and task division, project progress tracking, project coordination, etc.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325647192&siteId=291194637