Embedded Summary 1

A target

1, understand the embedded technology;
2, master the use of embedded Linux operation; (command) (more than 80% of the development platform is Linux)
3, master the use of embedded Linux development tools; (gcc, gbd, make, shell )
4, master of embedded Linux application development; (files, multi-tasking, network) (database)
5, understand the embedded product development process; (hardware - software - system)
6 for embedded system migration; (u-boot, kernel, file system)
7, understand the underlying embedded software development; (driven development)

  • Embedded systems learning knowledge base: C language (cumulative amount of code: 3w) + microcontroller (hardware works)

Second, the Embedded Development Overview

1. What embedded technology?

On the existing hardware Portable Operating System; do application development on top of the operating system; to do low-level development under the operating system;
(the role of the operating system: Management Resources (software resources and hardware resources) == housekeeper)
Embedded Solutions the problem: let the software and hardware to reduce the degree of coupling, the relationship between software and hardware does not occur directly;

2, consisting of embedded systems?

Application (changeable) -> operating system (core) -> processor (core)
embedded CPU selection

3. The non-embedded software and embedded software difference?

① embedded software is developed in conjunction with the operating system to do
② non-embedded software development is done bare-metal (did not run the operating system)
③ embedded make the product more intelligent, can run more software, the software can multi-task execution

4. The difference with the MCU development of embedded development?

① embedded operating system development, microcontroller development without operating system.
② microcontroller development can be called (SCM purpose of learning: learning for the hardware side of the students, not to grasp this chip, but to master the development process CPU and some peripheral hardware works, so do not Sike) traditional development
MCU development process: see diagram - write code - downloaded to the development board to run
③ extended to traditional development: two elements: software and hardware (hardware control software written work, hardware to software feedback)

The shortcomings of the traditional development?

① software portability poor (poor adaptation platform capability, the hardware must be followed by a change in software change)
② developer proficiency requirements: soft and hard take-all (not grouped, low development efficiency; big companies recruit people is difficult, costly training)
③ not consider the user experience

6. The advantages and disadvantages of embedded development?

Advantages:
the ①: Software fit and strong; developers the ability to divide more clearly;
② technology: multitasking; provides a wealth of network protocols; provides open source software and libraries
Cons: efficient operating system for hardware demanding ,high cost

Third, the direction of embedded development (learning path)

1. embedded upper layer application software development

. A language proficiency a;
. B familiar with an operating system; (equivalent will read the instructions, uses)
C data structure / algorithm.

2. Embedded Software Development underlying system

a. proficient in C language (the core of the operating system kernel, all the operating system kernel is compiled by the C + development)
b. understand the implementation of the operating system (will be used, also add / edit function)
c. Familiar with the hardware works (CPU: stm32 + 64-bit) (peripherals: SPI, IIC, Bluetooth, WiFi, networking, camera)
. d familiar with assembly
supplement: ① why the kernel developers choose C language? (C language features?)
Can directly access the hardware, portability, and high operating efficiency
② Why C language can access the hardware directly?
C language has pointer data type, a pointer can be operated to address
③ When selecting assembly? When selected in C language?
Assembly language is a low-level language, without advanced support syntax, visit the hardware efficiency is greater than C language, assembly time is initialized for hardware, using C language for complex operations for the hardware.
3. Embedded Systems Engineer

BSP (firmware engineers) kernel development

4. Does the device can be used as an embedded CPU?

YES, the operating system has a similar ucossii small operating system, so the device can be on a small operating system.

5. Which operating system is available as an embedded operating system?

Embedded operating system is portable (open source code, provides a portable interface) operating system
(example: win10 not be used as an embedded operating system because he only adapter on the PC side, non-portable)

6. real-time

Real-time (software and hardware): complete the required action within the time prescribed
vxworks: strong real-time Linux: no real-time, operational efficiency and stable
real-time as well: RT-Linux openwrt

Released four original articles · won praise 0 · Views 206

Guess you like

Origin blog.csdn.net/weixin_43688481/article/details/104617384