Board Support Package For Raspberry Pi-3B & 4B Boards
Introduction
Raspberry Pi-3B & 4B Pin out |
This board support package (BSP) supports Raspberry Pi-3B & 4B boards. Following specific targets are provided
1. RaspberryPi3B_4B: This target supports Raspberry Pi-3B & 4B. It uses GCC ARM ARCH32 cross compiler tool chain to generate 32-bit binaries that can execute on Raspberry Pi-3B & 4B hardware.
2. RaspberryPi-3B Remote Build: This target supports RaspberryPi-3B with remote build capability to build and deploy CASP models on the target hardware. It uses GCC ARM ARCH32 native present on target hardware and supports CASP simulation panel (SimPanel). For remote build to work, both host and target systems shall be connected through common LAN.
3. RaspberryPi-4B: This target supports Raspberry Pi-4B. It uses GCC ARM ARCH64 cross compiler tool chain to generate 64-bit binaries that can execute on Raspberry Pi-4B.
4. RaspberryPi-4B Remote Build: This target supports RaspberryPi-4B with remote build capability to build and deploy CASP models on the target hardware. It uses GCC ARM ARCH64 native present on target hardware and supports CASP simulation panel (SimPanel). For remote build to work, both host and target systems shall be connected through common LAN.
Getting Started
· Ensure Raspberry Pi is updated with latest Raspberry Pi OS.
· For local build targets (i.e. RaspberryPi3B_4B & RaspberryPi-4B), create and build CASP model on host PC to generate required binary. The generated binary can be copied and executed by the user on Raspberry Pi hardware.
· Following steps shall be followed for Remote Build version
1. Generate Remote Build Tool chain for the target from CASP -> Tools -> HwTools->RemoteBuild. CASP creates a folder containing files that can run on Raspberry Pi hardware. Copy the folder to the target hardware and follow instructions from readme_setup.txt file located in the root directory.
2. Run casp_rbuild from the Raspberry Pi terminal with proper IP address as argument.
3. Enter the target IP from above step in Remote Build/Deploy IP address in CASP Setup Simulation window as shown below
4. Enter/Select other setup options and click on Run to build and deploy the model on Raspberry Pi target.
Board Configuration
· General Configuration
Configuration Parameter |
RaspberryPi-3B & 4B Local Build |
RaspberryPi-3B Remote Build |
RaspberryPi-4B Local Build |
RaspberryPi-4B Remote Build |
Board Title |
RaspberryPi3B_4B |
RaspberryPi3B_RBuild |
RaspberryPi4B_64bit |
RaspberryPi4B_RBuild |
Tool Chain Type |
Local Build |
Remote Build & Deploy |
Local Build |
Remote Build & Deploy |
Board Preprocessor Symbol |
_BUILD_BRD_RPI_3B_4B |
_BUILD_BRD_RPI_3B |
_BUILD_BRD_RPI_4B |
_BUILD_BRD_RPI_4B |
Platform Preprocessor Symbol |
_BUILD_PLT_RPI32 |
_BUILD_PLT_RPI32 |
_BUILD_PLT_RPI64 |
_BUILD_PLT_RPI64 |
Compiler Preprocessor Symbol |
_BUILD_CMP_ARM_LINUX_GCC |
_BUILD_CMP_ARM_LINUX_GCC |
_BUILD_CMP_ARM_LINUX_GCC |
_BUILD_CMP_ARM_LINUX_GCC |
C++11 Standard Support |
Yes |
Yes |
Yes |
Yes |
File System Support |
Yes |
Yes |
Yes |
Yes |
OpenMP/OpenCL/CUDA Support |
No/No/No |
No/No/No |
No/No/No |
No/No/No |
Simulation Panel Support |
No |
Yes |
No |
Yes |
· Hardware Configuration
Configuration Parameter |
RaspberryPi-3B & 4B |
Number of CPU cores |
4 |
Dynamic Memory Support |
Yes |
Prefer Fixed/Floating Point |
Floating Point |
DI/DO Pins |
GPIO2[2], GPIO3[3], GPIO4[4], GPIO5[5], GPIO7[7], GPIO8[8], GPIO9[9], GPIO10[10], GPIO11[11], GPIO14 (TX)[14], GPIO15 (RX)[15], GPIO16[16], GPIO17[17], GPIO20[20], GPIO21[21], GPIO22[22], GPIO23[23], GPIO24[24], GPIO25[25], GPIO27[27] |
ADC Default Resolution |
0 |
ADC Pins |
- |
PWM Default Resolution |
12 |
PWM Pins |
GPIO18[0], GPIO13[1] |
DAC Default Resolution |
GPIO2[2], GPIO3[3], GPIO4[4], GPIO5[5], GPIO7[7], GPIO8[8], GPIO9[9], GPIO10[10], GPIO11[11], GPIO14 (TX)[14], GPIO15 (RX)[15], GPIO16[16], GPIO17[17], GPIO20[20], GPIO21[21], GPIO22[22], GPIO23[23], GPIO24[24], GPIO25[25], GPIO27[27] |
DAC Pins |
0 |
UART0 Pins |
- |
UART1 Pins |
- |
UART2 Pins |
- |
UART3 Pins |
- |
SPI Pins |
- |
I2C Pins |
- |
WiFi Support |
Implemented through TargetHw_LinuxIP |
Ethernet Support |
Implemented through TargetHw_LinuxIP |
Programmer
For Local Build version, user has to manually copy generated binary from project bin directory on host PC to Raspberry Pi hardware.
For Remote Build version, binary file is created and executed on target itself, when user presses Run button.
Debugging
Debugging is supported through console display for local build versions and via Simulation Panel message window for remote build versions.
Known Issues & Limitations
-