Entrepreneurship of embedded software engineers

Embedded System Designer Examination Outline

First, the examination instructions

1, test requirements:

(1) Master the basic knowledge of science;

(2) Master the knowledge of embedded system software and hardware;

(3) Master the methods of embedded system analysis;

(4) Master the methods and steps of embedded system design and development;

(5) Master the implementation method of embedded system.

(6) Master the knowledge of embedded system operation and maintenance;

(7) Understand the basic knowledge of informatization and information technology citation;

(8) Understand the basic knowledge of information technology standards, safety and related laws;

(9) Understand the development trend of embedded technology;

(10) Read and understand English materials in computer and embedded fields correctly.

2. Qualified personnel who pass this examination can practice software and hardware according to the actual requirements of project management and engineering technology and the overall design specification of the system, and write corresponding documents such as system development specifications; Organize and guide embedded system implementers to realize hardware circuits, write and debug programs, optimize and integrate embedded system hardware devices and programs, and develop high-quality embedded systems that meet the overall design requirements of the system; Have the practical working ability and professional level of engineers.

Second, the scope of the examination

Examination subject 1: Basic knowledge of embedded system.

1. Fundamentals of Computer Science

1. 1 number system and its transformation

O Common numerical systems, such as binary, octal, decimal and hexadecimal, and their mutual conversion.

1.2 data representation

Built-in representation of O number (original code, complement, code shift, fixed point and floating point, precision and overflow)

O coding methods of characters, Chinese characters, sounds and images

O Check method and check code (parity check code, Hamming check code, cyclic check code)

1.3 Arithmetic and logic operations

Operation method of binary number in computer

O Basic operations of logical algebra and simplification of logical expressions

1.4 computer system structure and basic working principle of important components

Composition, performance and basic working principle of CPU and memory of

O Performance and basic working principle of common I/O equipment and communication equipment.

Functions, types and characteristics of o I/O interface

O Basic working principle of virtual storage and multilevel storage system

1.5 Basic knowledge of safety, reliability and system performance evaluation

O diagnosis and fault tolerance

O system reliability analysis and evaluation

O computer system performance evaluation method

2. Hardware knowledge of embedded system

2. 1 Fundamentals of digital circuits and logic circuits

2. 1. 1 combinational circuit and sequential circuit

2. 1.2 bus circuit and level shift circuit

2. 1.3 programmable logic device

2.2 Embedded Microprocessor Foundation

2.2. 1 embedded microprocessor architecture

Von Neumann Structure and Harvard Structure

CISC and RISC

O pipeline technology

O byte order of information storage (big-end storage method and small-end storage method)

2.2.2 Structure and type of embedded system processor

O architecture and types of commonly used 8-bit processors

O architecture features of commonly used 16-bit processors

O architectural features of commonly used 32-bit processors

O architecture characteristics of commonly used DSP processors

O architectural features of multi-core processors

abnormal

O Synchronization exception (trap, fault, termination)

O asynchronous exception (interrupt)

O Maskable interrupt, unmasked interrupt

O interrupt priority, interrupt nesting

2.3 storage system of embedded system

2.3. 1 storage system

O levels of memory system

O cache

O memory management unit (MMU)

2.3.2 types and selection of rom

O common types of read-only memory

Typical characteristics and differences of o PROM, EPROM and E2PROM Roms

2.3.3 Types and Selection of Flash Memory

O type of flash memory

Typical characteristics and differences between o NOR and NAND flash memory

2.3.4 types and selection of ram

O types of common RAM

Typical characteristics and differences of o SRAM, DRAM, DDRAM and NVRAM.

External storage

O common types of external memory

O Typical characteristics and differences of disks, optical disks, CF, SD, etc.

2.4 embedded system I/O interface

2.4. 1 Basic principle and structure of timer and counter

2.4.2 basic principle and structure of gpio and PWM interface

2.4.3 Basic principle and structure of A/D and D/A interfaces.

2.4.4 Basic and Structure of Keyboard, Monitor and Touch Screen Interface

2.4.5 Audio Interface of Embedded System

2.5 embedded system communication and network interface

The basic principles and structures of OPPCI, USB, serial port, infrared, parallel port, SPI, IIC and PCMCIA.

O Basic principles and structures of Ethernet, CAN, WLAN, Bluetooth and 1394.

2.6 power classification and power principle of embedded system

2.7 Electronic Circuit Design

2.7. 1 Basic knowledge of electronic circuit design

O electronic circuit design principle

O electronic circuit design methods and steps

O reliable knowledge of electronic circuit design

2.7.2 Basic knowledge of PCB design

O PCB design principles

O PCB design methods and steps

O Matters needing attention and wiring principles in multilayer PCB design

O reliability knowledge of PCB design

2.7.3 Basic knowledge of electronic circuit testing

O principles and methods of electronic circuit testing

O hardware anti-interference test

3. Knowledge of embedded system software

3. 1 Basic knowledge of embedded software

3. 1. 1 Classification of embedded software (system software, supporting software and application software)

3. 1.2 embedded software architecture, without operating system support (polling, interrupt, foreground and background)

3. 1.3 Embedded software architecture supported by operating system

3. 1.4 Basic knowledge of board support package (system initialization, device driver)

3. 1.5 embedded middleware (GUI, database)

3.2 Basic knowledge of embedded operating system

3.2. 1 embedded operating system architecture

O Monomer Structure, Layered Structure and Micronucleus Structure

task management

O multiprogramming technology

O Concepts of process, thread and task

O Task execution (task hierarchy, task control block, task state and state transition, task queue)

O Task scheduling (performance index of scheduling algorithm, preemptive scheduling, nonpreemptive scheduling, first come, first served, short job priority algorithm, time slice rotation algorithm, priority algorithm).

O Real-time system and task scheduling (RMS, EDF algorithm)

O Inter-task communication (* * * shared memory, messages, pipes and signals)

Synchronization and mutex (race condition, critical section, mutex, semaphore, deadlock)

storage administration

O plane storage management mode

O partition storage management (fixed partition, variable partition)

O Address relocation (logical address, physical address, address mapping)

O page storage management

O Virtual storage technology (program locality principle, virtual page storage management, page replacement algorithm, working set model)

facility management

O device independence, I/O address, I/O control, interrupt handling, buffering technology, spooling technology)

3.2.5 Basic knowledge of file system

O files and directories

O structure and organization of documents

O access method, access control

O universal embedded file system (FAT, JFFS, YAFFS)

3.2.6 Basic knowledge of operating system transplantation

3.3 Embedded System Programming

3.3. 1 Basic knowledge of embedded software development

Embedded programming language

O Basic knowledge and working principle of assembly, compilation and interpretation system

O assembly language

O Procedure-based languages (procedures/functions, parameter passing, global variables, recursion, dynamic memory allocation, data types)

O Object-oriented languages (object, data abstraction, inheritance, polymorphism, automatic memory management)

O main features and applications of various programming languages

3.3.3 Embedded software development environment

O host and target computers

O editor, compiler, linker, debugger, simulator

O General embedded development tools (programmer, hardware simulator, logic analyzer, oscilloscope)

O integrated development environment

O develop auxiliary tools

Embedded software development

O Software design (module structure design, data structure design, memory layout, object-oriented analysis and design)

O embedded boot program design, device driver design, kernel design, network program design, application software design)

O coding (programming specification, code review)

O test (test environment, test cases, test methods, test tools)

O download and run

3.3.5 Transplantation of embedded application software

4. Knowledge of embedded system development and maintenance

4. 1 system development process and project management

O division method of objectives and tasks in each stage of system development life cycle

O System development projects depend on your basic knowledge and how to use common management tools.

O main system development methods

O system development tools and environmental knowledge

4.2 Basic knowledge of system analysis

O the purpose and task of system analysis

O system analysis method

O method of preparing system specifications

4.3 System design knowledge

O traditional system design methods

O software and hardware co-design method

4.4 System implementation knowledge

O system architecture design

O system detailed design

O system debugging technology

O system test

4.5 System maintenance knowledge

O system operation management knowledge

O system maintenance knowledge

O system evaluation knowledge

5. Safety knowledge

O the basic concept of security

O encryption and decryption mechanism

6. Standardization knowledge

O the concept of standardization

O Basic knowledge of international standards, national standards, industry standards and enterprise standards

O Understand code standards, file format standards, security standards, software development specifications and document standards.

O standardization organization

O embedded system related standards

7. Basic knowledge of informatization

O Basic concepts of informatization and information system

O relevant laws and regulations

8. Development trend of embedded technology

9. Computer English

O Read and understand English materials in related fields correctly.

Examination subject 2: embedded system design and application technology

1. embedded system development process

1. 1 Methods and steps of system requirements analysis

1.2 system design

O system hardware configuration

O system function composition distribution

O distribution of software and hardware functions

O feasibility verification and design review

O system specifications

O cycle, cost and workload estimates

O development plan

1.3 co-design of software and hardware

Hardware design of 1.4

1.5 software design

O software structure

O design review

O software detailed design

1.6 system test

O test environment

O test plan (content, method, standard, process, inspection)

O hardware testing

O software testing (unit testing, integration testing)

O joint testing of software and hardware

O implement the test

1.7 system evaluation

1.8 Software maintenance

2. Hardware design of embedded system

2. 1 Basic hardware structure of embedded system

2. 1. 1 embedded microprocessor structure and application

2. 1.2 exception and interrupt handling technology

2. 1.3 DMA technology

2. 1.4 multiprocessing system

O multiprocessor system characteristics

O multiprocessor system construction technology

2. 1.5 bus architecture

O bus configuration in application system

2. 1.6 memory type and architecture

O storage system interface design

2. 1.7 digital circuit and logic circuit

O application specific integrated circuit

O programmable logic control equipment

2.2 Design of Input/Output Interface

2.2. 1 input/output interface

O interface signal level conversion

O interface drive circuit design

2.2.2 Application Technology of Input/Output Interface

O peripheral equipment

O serial communication

O parallel port communication

O analog interface

O communication interface equipment

O communication standards and protocols

O data transmission mode

2.3 peripheral interface application technology

2.3. 1 peripheral storage devices

O memory card, memory stick, IC card, MMC card, SD card

o DVD、CD-R、CD-RW

2.3.2 Peripheral input/output devices

O keyboard, mouse, touch screen

O LCD panel, LED, 7-segment digital tube, buzzer

2.3.3 Power supply design technology

2.4 Reliability and safety design technology

2.4. 1 error detection and isolation technology

Redundancy design

2.4.3 System recovery design

diagnostic techniques

General safety standard

2.4.6 Anti-interference design

Electromagnetic compatibility design

2.4.8 system encryption

3. Software design of embedded system

3. 1 Software Structure Design of Embedded System

3.2 embedded operating system application technology

3.2. 1 time management

O system time

O clock interrupt

memory management

O static memory management

O dynamic memory management

3.2.3 Task management and communication between tasks

O communication mechanism between tasks

O semaphore

O mailbox

O message queue

exception handling

O exception handling method

O interrupt priority processing method

O system call

3.2.5 Application Technology of Embedded File System

3.2.6 Application Technology of Graphical User Interface in Embedded System

3.2.7 Application Technology of Embedded System Database

3.3 Embedded software design technology

3.3. 1 assembly language design

O data type

O assembly language program structure

O assembly language programming and optimization

O subroutine call

3.3.2 Embedded C Language Design

O ANSI-C data type

O C program structure

Programming and optimization of o C language

O compilation and connection of programs

3.3.3 Object-oriented Program Design and Development

O object-oriented analysis and design method

O object-oriented programming language

O using C++ for embedded system development

O using Java for embedded system development

3.4 System-level software design technology

O embedded system firmware and system initialization design

O device driver design

O Hardware abstraction layer and board-level support package design

Transplanting technology of embedded software

4. Embedded system development technology

4. 1 system development environment

4. 1. 1 development tool

O text editor

O Assemble, compile and link programs

O ice and ice monitor

O configuration management tool

O reverse engineering tools

4. 1.2 platform

O operating system

O distributed development environment

4. 1.3 creation method and evaluation of development environment

O development work analysis

O establish a development environment

O methods of maintaining, managing and using the development environment

O assessment of development environment

4.2 Real-time system analysis technology

4.2. 1 Real-time system analysis technology

O structured approach

O object-oriented analysis method

4.2.2 Design technology of real-time system

O structured approach

O object-oriented analysis method

4.3 Hardware design environment

hardware description language

O hardware development and design process

O Types and characteristics of hardware description languages

4.3.2 Simulation technology

O logic simulation method

O logic simulation tool

4.3.3 Development method of large-scale integrated circuit system

O basic development methods

O FPGA design method

O intellectual property rights

4.4 Collaborative Design

O hardware and software tasks and debugging

O design review

4.5 Low power design technology of embedded system

O working mechanism of low power system

O low power system model structure

O low power hardware design technology

O low power software design technology

4.6 Design of Distributed Embedded System

O design principles of distributed systems

O communication technology of distributed system

O distributed system design and application

5. Embedded system application

5. 1 Application of embedded system in control field

5.2 Application of Embedded System in Handheld Devices

5.3 Application of Embedded System in Pattern Recognition

Third, examples of questions

1, multiple choice questions

If the embedded system adopts the unified addressing mode of I/O address, the access storage unit and I/O device are distinguished by (1).

(1) A. Data output on data bus

B. Different address codes

C. General routes with different addresses

D. Different explanations

Step 2 Ask and answer questions

In the embedded operating system, the state transition diagram of the task is as follows (incomplete). Please read the chart and the following instructions, answer questions 1 to 4, and fill in the answers in the corresponding columns on the answer sheet.

[description]

A task always has five states: dormant state, ready state, running state, out-of-service state and waiting state. At any time, a task will only be in one of them.

[Question1] (3 points)

In a single CPU system, how many tasks can you run at most?

[Question 2] (3 points)

The mutual conversion of running state, ready state and waiting state is not shown, please add it. It is described in the form of word processing, and the format is "running state → service interruption state".

(Question 3) 6 points)

Can I directly change from the running state to the waiting state? If not, why? If so, when will this change happen? Give examples.

[Question 4] (3 points)

Can I switch directly from the ready state to the waiting state? If not, why? If so, when will this change happen? Give examples.