Embedded system consists of hardware environment, embedded operating system and application program. Hardware environment is the hardware platform for operating system and application program to run. It has different requirements with different applications.The diversity of hardware platform is the main characteristic of embedded system. How to make embedded operating system run effectively on different hardware platforms is the key problem to be solved in the development of embedded system.The solution is to provide a hardware correlation layer between the hardware platform and the operating system to shield these hardware differences and provide a unified operating environment for the operating system. This hardware correlation layer is the Board Support Package (BSP) in the embedded system.
BSP is embedded system intermediary between the hardware platform and the operating system of the middle layer of software, the main purpose is to shield the diversity of the underlying hardware, according to the requirements of the operating system to complete the direct operation of the hardware, to provide the underlying hardware information to the operating system and finally start the operating system.BSP has the characteristics of hardware relevance and operating system relevance, and its main functions include:
(1) initialize the underlying hardware to provide the underlying hardware information for the operating system;
(2) initialize relevant hardware equipment, mainly storage equipment and communication equipment;
(3) check whether the system hardware is normal;
(4) load the operating system and start the system running.
BSP is relative to the operating system, different operating systems have different forms of definition of BSP, BSP requirements to achieve the function is also different.In embedded Linux system, the main is to initialize the underlying hardware and boot the operating system;At the same time, BSP is also related to the hardware, but also consider the initialization of the hardware.These initialization operations are mainly for the CPU, memory, interrupt and other related registers and the correct configuration of the coprocessor.In different development stages, BSP should be able to communicate with the host and download the core from the host due to the different locations of the core and file system.In the target product, the BSP should be able to load the core from a non-volatile storage device.