2022-04-08 14:42:47 +00:00
|
|
|
Overview
|
|
|
|
========
|
|
|
|
CMSIS-Driver defines generic peripheral driver interfaces for middleware making it reusable across a wide
|
|
|
|
range of supported microcontroller devices. The API connects microcontroller peripherals with middleware
|
|
|
|
that implements for example communication stacks, file systems, or graphic user interfaces.
|
|
|
|
More information and usage method please refer to http://www.keil.com/pack/doc/cmsis/Driver/html/index.html.
|
|
|
|
|
|
|
|
The cmsis_spi_dma_b2b_transfer_slave example shows how to use spi driver as master to do board to board transfer
|
|
|
|
with DMA:
|
|
|
|
|
|
|
|
In this example, one spi instance as master and another spi instance on the other board as slave. Master sends a
|
|
|
|
piece of data to slave, and receive a piece of data from slave. This example checks if the data received from
|
|
|
|
slave is correct.
|
|
|
|
|
|
|
|
Toolchain supported
|
|
|
|
===================
|
2022-04-08 14:48:22 +00:00
|
|
|
- IAR embedded Workbench 9.20.2
|
|
|
|
- Keil MDK 5.36
|
|
|
|
- GCC ARM Embedded 10.3.1
|
2022-04-08 14:42:47 +00:00
|
|
|
- MCUXpresso 11.5.0
|
|
|
|
|
|
|
|
Hardware requirements
|
|
|
|
=====================
|
|
|
|
- Micro USB cable
|
|
|
|
- Two LPCXpresso55s69 boards
|
|
|
|
- Personal Computer
|
|
|
|
|
|
|
|
Board settings
|
|
|
|
==============
|
|
|
|
Connect SPI master on board to SPI slave on other board
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Master_board(SPI7) Slave_board(SPI7)
|
|
|
|
Pin Name Board Location Pin Name Board Location
|
|
|
|
MISO P17 pin 12 MISO P17 pin 12
|
|
|
|
MOSI P17 pin 10 MOSI P17 pin 10
|
|
|
|
SCK P17 pin 14 SCK P17 pin 14
|
|
|
|
SSEL1 P17 pin 1 SSEL1 P17 pin 1
|
|
|
|
GND P17 pin 7 GND P17 pin 7
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
Prepare the Demo
|
|
|
|
================
|
|
|
|
Note: MCUXpresso IDE project default debug console is semihost
|
|
|
|
1. Connect a micro USB cable between the PC host and the LPC-Link USB port (P6) on the board.
|
|
|
|
2. Open a serial terminal on PC for JLink serial device with these settings:
|
|
|
|
- 115200 baud rate
|
|
|
|
- 8 data bits
|
|
|
|
- No parity
|
|
|
|
- One stop bit
|
|
|
|
- No flow control
|
|
|
|
3. Download the program to the target board.
|
|
|
|
4. Either press the reset button on your board or launch the debugger in your IDE to begin running
|
|
|
|
the demo.
|
|
|
|
|
|
|
|
Running the demo
|
|
|
|
================
|
|
|
|
The following message shows in the terminal if the example runs successfully.
|
|
|
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
CMSIS SPI board2board DMA example -- Slave transfer.
|
|
|
|
|
|
|
|
|
|
|
|
Slave example is running...
|
|
|
|
|
|
|
|
|
|
|
|
Slave receive:
|
|
|
|
0 1 2 3 4 5 6 7 8 9 A B C D E F
|
|
|
|
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
|
|
|
|
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
|
|
|
|
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
|
|
|
|
Succeed!
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|