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

-