Skip to main content

Board Support Package for Linux (BSP)

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

Popular posts from this blog

What is the ESP32 VSPI / HSPI

 The ESP32 integrates four SPI peripherals. SPI0 and SPI1 are used to access the ESP32’s attached flash memory and thus are currently not open to users to be used . They share one signal bus via an arbiter. SPI2 and SPI3 are general purpose SPI controllers, sometimes referred to as HSPI and VSPI, respectively. They are open for use. SPI2 and SPI3 have independent signal buses with the same respective names. Each bus has three CS lines to drive up to three SPI slaves.  

Most common baud rates table

  The following table shows the most used baud rates. The left side part of the table shows speed and bit duration. The right part shows real transmission speed assuming there is no parity, 8 data bits and one stop bit.   Bauds Bits/s Bit duration Speed Actual speed Actual byte duration 50 bauds 50 bits/s 20.000 ms 6.25 bytes/s 5 bytes/s 200.000 ms 75 bauds 75 bits/s 13.333 ms 9.375 bytes/s 7.5 bytes/s 133.333 ms 110 bauds 110 bits/s 9.091 ms 13.75 bytes/s 11 bytes/s 90.909 ms 134 bauds 134 bits/s 7.463 ms 16.75 bytes/s 13.4 bytes/s 74.627 ms 150 bauds 150 bits/s 6.667 ms 18.75 bytes/s 15 bytes/s 66.667 ms 200 bauds 200 bits/s 5.000 ms 25 bytes/s 20 bytes/s 50.000 ms 300 bauds 300 bits/s 3.333 ms 37.5 bytes/s 30 bytes/s 33.333 ms 600 bauds 600 bits/s 1.667 ms 75 bytes/s 60 bytes/s 16.667 ms 1200 bauds 1200 bits/s 833.333 µs 150 bytes/s 120 bytes/s 8.333 ms 1800 bauds 1800 bits/s 555.556 µs 225 bytes/s

How to program 8051 based MCU using Ptroteous Schematic capture and Source code editor to use timers using AT892051 + project files

 This tutorial is dedicated to use a 8051 based Microcontroller core and program it using keil's C51 tools on the Proteus Source code editor.  1- Brief History of 8051 one of the first microprocessors 4004 was invented by Intel Corporation as well as  8085 and 8086 microprocessors back in 1981,shortly after Intel introduced an 8-bit microcontroller called the 8051 . It was referred to as system on a chip because it had 128 bytes of RAM, 4K byte of on-chip ROM, two timers, one serial port, and 4 ports (8-bit wide), all on a single chip. When it became so widespread, Intel allowed other manufacturers to make and market different flavors of 8051 with its code compatible with 8051. It means that if you write your program for one flavor of 8051, it will run on other flavors too, regardless of the manufacturer. This has led to several versions with different speeds and amounts of on-chip RAM. 2- Features of AT892051 Microcontroller Compatible with MCS®-51Products 2K Bytes of R