Numerous Chip manufacturers such as STMicroelectronics, Texas instruments,Qualcomm Incorporated provides evaluation boards to their products. they can be used to characterize study and evaluate numerous parameters in order to decide if it worthy of spending more time and budget on that particular unit.
Those boards can be called demo cards or Development kits (DK) not to be conflicted with Software development kit lol.
in general those board allows you to sense and evaluate the effort it takes to boot, program and run applications. The DK is usually more complete and may be part of a package that includes more software and examples demonstrating the capabilities of the solution.
Figure1 : STM32MP1 Discovery Board
A Board Support Package(BSP) is a collection of software used to boot and run the embedded system. it is the essential software needed to work with a board.
with a proper BSP all you need to do is boot the system and start developping.
for demonstration boards, it handles the minimal set of peripherals neede so a user can ensure they can leverage the System on a ship (SoC) main features and use the components on the board.
A BSP is often the first software developed to be used in conjunction with a particular chip or its evaluation card.
The BSP includes, low level boot programs((also knwon as fist stage bootloader) (FSBL) a boot program or a bootleader is usually the second stage bootloader (SSBL), an operating system OS and the compatible drivers for this specific OS. as drivers are specific to a given OS, if multiple OS eg Linux Zephyr, FreeRTOS, VXWorks, ThreadX..) are supported manufacturers will provide multiple BSP for each OS. it will initialize all the internal SoC components, clocks, communication buses, the DDR the Flash memory ... The it sometimes provides a root filesystem( ROOTFS) the file structure needed by an OS to work) and might even include a minimal set of softwares needed for comunication or user interractions.
Semi-conductor manufacturers often deliver a Linux-based BSP with an evaluation board that contains the comolete hardware support for the board. Linux is really popular because its the " free as in free speech" and thus is agnostic between semiconductor providers. ofter, semi-conductor vendor maintains a branch of the Linux kernel tree with all the low level support required for the SoC. this excellent as it allows you to switch quite eacly from one manufacturer to an other as long as you keep Linux the main embedded OS.
As Linux is open-source, no one has to pay any fee to use it, therefor it is free to build a custom BSP based on an existing one. And this is where things become great: you can start developing your embedded software on an evaluation board, while designing your own board, then customize your own BPS and run your embedded software with a few to no modifications. Furthermore, there are device drivers for almost any components you will find on the market, it will ease your BSP development, and drastically reduce your time to market.
Things becomes even greater if all the specific code and drivers for a given CPU are included within the official Linux sources tree. It often means that the code has been tested extensively, that there are many users, that updates will not depend on the good will of a given manufacturing. Instead you will benefit from all the hard work continuously done by the community.
The Cherry on top of the embedded Linux cake is the ecosystem: You will have access to thousands of libraries and open-source software to create your own custom applications. You can use use any language so it is easier to find developers.
Comments
Post a Comment