Skip Headers
Oracle® Java ME Embedded Getting Started Guide for the Reference Platform (Raspberry Pi)
Release 3.3
E38384-01
  Go To Table Of Contents
Contents
Go To Index
Index

Previous
Previous
 
Next
Next
 

A Raspberry Pi Board Peripheral List

This appendix describes the proper ID and names for the various peripheral ports and buses for the Raspberry Pi embedded board, which are accessible using the Device Access APIs. Note that any IMlet that accesses the Device Access APIs must be digitally signed using a trusted certificate authority. An IMlet that is not signed will encounter an authentication error when attempting to access the Device Access APIs.

GPIO Pins

The following GPIO pins are pre-configured.

DAAPI Peripheral ID DAAPI Peripheral Name Mapped To Configuration

2

GPIO2

GPIO 2

portNumber = 0

pinNumber = 2

direction = GPIOPinConfig.DIR_INPUT_ONLY

mode = GPIOPinConfig.MODE_INPUT_PULL_UP

trigger = GPIOPinConfig.TRIGGER_BOTH_EDGES

initValue - ignored

3

GPIO3

GPIO 3

portNumber = 0pinNumber = 3direction = GPIOPinConfig.DIR_INPUT_ONLYmode = GPIOPinConfig.MODE_INPUT_PULL_UPtrigger = GPIOPinConfig.TRIGGER_BOTH_EDGESinitValue - ignored

4

GPIO4

GPIO 4

portNumber = 0pinNumber = 4direction = GPIOPinConfig.DIR_INPUT_ONLYmode = PeripheralConfig.DEFAULTtrigger = GPIOPinConfig.TRIGGER_BOTH_EDGESinitValue - ignored

7

GPIO7

GPIO 7

portNumber = 0pinNumber = 7direction = GPIOPinConfig.DIR_OUTPUT_ONLYmode = GPIOPinConfig.MODE_OUTPUT_PUSH_PULLtrigger = GPIOPinConfig.TRIGGER_BOTH_EDGESinitValue = false

8

GPIO8

GPIO 8

portNumber = 0

pinNumber = 8

direction = GPIOPinConfig.DIR_OUTPUT_ONLY

mode = GPIOPinConfig.MODE_OUTPUT_PUSH_PULL

trigger = GPIOPinConfig.TRIGGER_BOTH_EDGES

initValue = false

9

GPIO9

GPIO 9

portNumber = 0

pinNumber = 9

direction = GPIOPinConfig.DIR_INPUT_ONLY

mode = PeripheralConfig.DEFAULT

trigger = GPIOPinConfig.TRIGGER_BOTH_EDGES

initValue - ignored

10

GPIO10

GPIO 10

portNumber = 0

pinNumber = 10

direction = GPIOPinConfig.DIR_INPUT_ONLY

mode = PeripheralConfig.DEFAULT

trigger = GPIOPinConfig.TRIGGER_BOTH_EDGES

initValue - ignored

11

GPIO11

GPIO 11

portNumber = 0

pinNumber = 11

direction = GPIOPinConfig.DIR_INPUT_ONLY

mode = PeripheralConfig.DEFAULT

trigger = GPIOPinConfig.TRIGGER_BOTH_EDGES

initValue - ignored

14

GPIO14

GPIO 14

portNumber = 0

pinNumber = 14

direction = GPIOPinConfig.DIR_OUTPUT_ONLY

mode = GPIOPinConfig.MODE_OUTPUT_PUSH_PULL

trigger = GPIOPinConfig.TRIGGER_BOTH_EDGES

initValue = false

15

GPIO15

GPIO 15

portNumber = 0

pinNumber = 15

direction = GPIOPinConfig.DIR_OUTPUT_ONLY

mode = GPIOPinConfig.MODE_OUTPUT_PUSH_PULL

trigger = GPIOPinConfig.TRIGGER_BOTH_EDGES

initValue = false

17

GPIO17

GPIO 17

portNumber = 0

pinNumber = 17

direction = GPIOPinConfig.DIR_INPUT_ONLY

mode = PeripheralConfig.DEFAULT

trigger = GPIOPinConfig.TRIGGER_BOTH_EDGES

initValue - ignored

18

GPIO18

GPIO 18

portNumber = 0

pinNumber = 18

direction = GPIOPinConfig.DIR_OUTPUT_ONLY

mode = GPIOPinConfig.MODE_OUTPUT_PUSH_PULL

trigger - ignored

initValue = false

22

GPIO22

GPIO 22

portNumber = 0

pinNumber = 22

direction = GPIOPinConfig.DIR_INPUT_ONLY

mode = PeripheralConfig.DEFAULT

trigger = GPIOPinConfig.TRIGGER_BOTH_EDGES

initValue - ignored

23

GPIO23

GPIO 23

portNumber = 0

pinNumber = 23

direction = GPIOPinConfig.DIR_OUTPUT_ONLY

mode = GPIOPinConfig.MODE_OUTPUT_PUSH_PULL

trigger - ignored

initValue = false

24

GPIO24

GPIO 24

portNumber = 0

pinNumber = 24

direction = GPIOPinConfig.DIR_OUTPUT_ONLY

mode = GPIOPinConfig.MODE_OUTPUT_PUSH_PULL

trigger - ignored

initValue = false

25

GPIO25

GPIO 25

portNumber = 0

pinNumber = 25

direction = GPIOPinConfig.DIR_OUTPUT_ONLY

mode = GPIOPinConfig.MODE_OUTPUT_PUSH_PULL

trigger - ignored

initValue = false

27

GPIO27

GPIO 27

portNumber = 0

pinNumber = 27

direction = GPIOPinConfig.DIR_INPUT_ONLY

mode = PeripheralConfig.DEFAULT

trigger = GPIOPinConfig.TRIGGER_BOTH_EDGES

initValue - ignored


Please note the following items concering GPIO on the Raspberry Pi.

Description of pinout.jpg follows
Description of the illustration pinout.jpg

I2C

There is no static I2C configuration with the Raspberry Pi because there is no connected hardware. In comparison with SPI, I2C doesn't allow any communication with a loopback device. The following configuration, however, can be used to communicate to I2C slaves.

DAAPI Peripheral ID DAAPI Peripheral Name Mapped To Configuration

NONE


GPIO 2 (SDA)

GPIO 3 (SCL)



Please note the following items about I2C on the Raspberry Pi.

MMIO

The following MMIO peripherals are available:

DAAPI Peripheral ID DAAPI Peripheral Name Mapped To Configuration

31

PWM

byteOrdering = Peripheral.LITTLE_ENDIAN


The MMIO raw memories are shown here:

DAAPI Peripheral ID Name Address Type and Size

31

CTL

0x7e20C000

int 4

31

STA

0x7e20C004

int 4

31

RNG1

0x7e20C010

int 4

31

DAT1

0x7e20C014

int 4

31

FIF1

0x7e20C018

int 4


There are no devices with event support. Due to nature of memory organization of the Raspberry Pi, programmers can create a custom MMIODeviceConfig to access the following memory ranges. Note that all are IO Peripheral register ranges with exclusion of DMA regsiters. The end addresses are not inclusive.

Only int types for the memory configuration are allowed. Otherwise, an IOException will be thrown.

SPI

The SPI has a single static configuration with the following parameters:

DAAPI Peripheral ID DAAPI Peripheral Name Mapped To Configuration

12

SPI_Slave

GPIO10 (MOSI)GPIO9 (MISO)GPIO11 (SCLK)GPIO8 (CE0)

SPI bus number: 0 (SPI1)

Chip Enable: 0 (CE0/GPIO8)

The number of bit of slave's word: 8

Clock frequency in Hz: 2000000

Clock polarity and phase: 1 (CPOL_Low, CPHA_2Edge)

Bit ordering of the slave device: 1 (BIG_ENDIAN)


Please note the following items about SPI on the Raspberry Pi.

UART

The following UART devices are pre-configured:

DAAPI Peripheral ID DAAPI Peripheral Name Mapped To Configuration

40

UART

GPIO 14 (TXD)GPIO 15 (RXD)

uartNumber = 0 (see below)baudRate = 19200dataBits = DATABITS_8parity = PARITY_NONEstopBits = STOPBITS_1flowcontrol = FLOWCONTROL_NONEinputBufferSize - ignoredoutputBufferSize - ignored


Please note the following items about UART on the Raspberry Pi.

Watchdog

The following watchdog devices are pre-configured:

DAAPI Peripheral ID DAAPI Peripheral Name Mapped To Configuration

30

WDG

Platform Watchdog