This chapter describes all board-specific functions that you may need to implement.
In order for a device driver to be platform independent, it is necessary to provide a layer of code that abstracts details such as configuring clocks, interrupt controllers, general-purpose input/ouput (GPIO) pins, direct-memory access (DMA) modules, and other such hardware modules. The board support package (BSP) code layer enables you to implement certain high-level functionality in µC/TCP-IP that is independent of any specific hardware. It also allows you to reuse device drivers from various architectures and bus configurations without having to customize µC/TCP-IP or the device driver source code for each architecture or hardware platform.
To understand the concepts discussed in this guide, you should be familiar with networking principles, the TCP/IP stack, real-time operating systems, microcontrollers and processors.
Micrium provides template BSP files (net_bsp_ether.c/h and net_bsp_wifi.c/h), which should be copied to your project and modified depending on the combination of compiler, processor, board and device hardware used. However, Micrium might have BSP available for some specific Evaluation board which are not delivered. So before starting to write your own BSP, you can ask Micrium for a working sample code for a MCU, if a sample code is available you could just apply minor modification to be compatible with your compiler and board.