Definition of embedded system:
Application-centric, computer-based, and hardware and software can be cut to adapt to the application system to function, reliability, cost, volume, power consumption of the strict requirements of the dedicated computer system.
Features of embedded systems:
Small system core: Embedded system is generally applied to small electronic devices, system resources are relatively limited, so the kernel is much smaller than the traditional operating system
Special strong: Embedded system personalization is strong, the software system and hardware is very close, generally to the hardware for the system transplant
System simplification: Embedded system generally does not require its function design and implementation is too complex, so that on the one hand to control the cost of the system, but also conducive to system security
Real-time Operating system: This is the basic requirements of embedded software, and software requirements for curing storage to improve speed, software code requirements of high quality and high reliability, real-time
Dedicated development tools and development environment.
the composition of the embedded system:
Embedded operating system:
Embedded System development process:
Bare-Metal development: Embedded systems that simply include applications for functionality are generally not using the operating system, only applications and device drivers
With the development of the operating system: When designing a more complex program, it may need an operating system (OS) to manage memory, multitasking, peripheral resources, modern high-performance embedded system applications more and more widely, the use of operating systems become the inevitable trend of development
Hardware Development---> bootloader---> Operating system kernel---> Root file system---> device driver---> Applications
Embedded development steps are typically based on Linux systems:
Development of target hardware systems: such as selecting microprocessors, flash and other peripherals
Build a cross-development environment: Install cross-compilation toolchain, install development Debugging Tools
Development bootloader: Porting Uboot,vivi
Porting the Linux kernel: such as the linux2.6.31 kernel
Developing the root file system: Cramfs,yaffs
Development of hardware-related drivers: LED,ADC and other drivers
Development of top-level applications: such as QT GUI development
the basic skills that a hardware engineer should have:
(1) from the demand analysis to the overall plan, detailed design planning and creation capacity;
(2) skilled use of design tools, design schematics,Pcbcapacity of the board;
(3) Proficiency in the use of single-chip microcomputer,Dsp,Pld,Fpgaand other hardware and software development and debugging capabilities;
(4proficiency in the use of simulation tools, oscilloscopes, signal generators, logic analyzers, such as the ability to debug hardware;
(5Master the common standard circuit design capabilities, such as reset circuit, common filter circuit, amplifier circuit, high-speed signal transmission line matching circuit;
(6) fault location, problem-solving ability;
(7) The organization writing skills of the design document.
Embedded basic knowledge and embedded design should have the essential skills