queued_spi_edma_b2b_transfer_master#
Overview#
The queued_spi_edma_b2b_transfer example shows how to use QUEUEDSPI driver in edma way:
In this example, we need two boards, one board is used as QUEUEDSPI master and the other board is used as QUEUEDSPI slave. The file ‘queued_spi_edma_b2b_transfer_master.c’ includes the QUEUEDSPI master code.
QUEUEDSPI master sends/receives data to/from QUEUEDSPI slave in edma way. (QUEUEDSPI Slave uses edma way to receive/send the data)
Supported Boards#
MC56F80000-EVK
Hardware requirements
Micro USB cable
MC56F80000-EVK board
Personal Computer
Board hardware common setting
Power setting:
Connect J8 pin2 and pin3 Connect J6 pin1 and pin2 Connect J5 pin1 and pin2
Reset pin setting:
Connect J11 pin2 and pin3
Debugger setting:
Connect J13 pin 1-2, 3-4, 5-6, 7-8
Board settings
Master/Slave board connection as below:
Master Board Slave Board
INSTANCE0(QSPI0) CONNECTS TO INSTANCE1(QSPI0)
Pin Name Board Location Pin Name Board Location
SS0 J1 pin 3 SS0 J1 pin 3
MOSI J2 pin 8 MOSI J2 pin 8
MISO J2 pin 10 MISO J2 pin 10
SCK J2 pin 12 SCK J2 pin 12
GND J2 pin 14 GND J2 pin 14
Note: Don’t use GC7 as SS since GC7 is used for onboard MX25
Prepare the Demo
Connect USB cable between the host PC and the J12 USB port on the target board. It setups Multilink and COM port in PC device manager.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board with Multilink debug configuration.
Launch the debugger in your IDE to begin running the demo.
Running the demo
When the example runs successfully, you can see the similar information from the terminal as below.
QUEUEDSPI board to board EDMA example.
This example uses one board as master and another as slave.
Master and slave use EDMA way. Slave should start first.
Please make sure you make the correct line connection. Basically, the connection is:
QSPI_master -- QSPI_slave
CLK -- CLK
PCS -- PCS
SOUT -- SIN
SIN -- SOUT
GND -- GND
Master transmit:
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 40
This is QUEUEDSPI master edma transfer completed callback.
This is QUEUEDSPI master edma transfer completed callback.
QUEUEDSPI transfer all data matched!
Master received:
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 40
Press any key to run again
MC56F81000-EVK
Hardware requirements
2 x Micro USB cable
MC56F81000-EVK board
Personal Computer
Board hardware common setting
Power setting:
Connect J8 pin2 and pin3 Connect J5 pin1 and pin2 Connect J6 pin1 and pin2
Onboard PnE U-MultiLink debugger setting:
Connet J11 pin2 and pin3 Connect J13 pin 1-2, 3-4, 5-6, 7-8, to setup onboard debugger PnE U-MultiLink. Note: when use external debugger(connected to J10), leave all J13 pins open.
Board settings
Master/Slave board connection as below:
Master Board Slave Board
INSTANCE0(QSPI0) CONNECTS TO INSTANCE1(QSPI0)
Pin Name Board Location Pin Name Board Location
SS0 J1 pin 3 SS0 J1 pin 3
MOSI J2 pin 8 MOSI J2 pin 8
MISO J2 pin 10 MISO J2 pin 10
SCK J2 pin 12 SCK J2 pin 12
GND J2 pin 14 GND J2 pin 14
Note: Don’t use GC7 as SS since GC7 is used for onboard MX25
Prepare the Demo
Connect USB cable between the host PC and the USB(J26) port on the target board to setup USB to UART bridge.
Connect USB cable between the host PC and the USB(J12) port on the target baord to setup mulitlink debugger.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board with PnE U-MultiLink debug configuration.
Either press the reset button on your board or launch the debugger in your IDE to begin running the demo. Please be noted default FCF(flash configuration field) makes the MCU boot from flash.
Running the demo
When the example runs successfully, you can see the similar information from the terminal as below.
QUEUEDSPI board to board EDMA example.
This example uses one board as master and another as slave.
Master and slave use EDMA way. Slave should start first.
Please make sure you make the correct line connection. Basically, the connection is:
QSPI_master -- QSPI_slave
CLK -- CLK
PCS -- PCS
SOUT -- SIN
SIN -- SOUT
GND -- GND
Master transmit:
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 40
This is QUEUEDSPI master edma transfer completed callback.
This is QUEUEDSPI master edma transfer completed callback.
QUEUEDSPI transfer all data matched!
Master received:
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 40
Press any key to run again
MC56F83000-EVK
Hardware requirements
Micro USB cable
MC56F83000-EVK board
Personal Computer
Board hardware common setting
Power setting:
Connect J19 pin2 and pin3 Connect J12 pin1 and pin2 Connect J13 pin1 and pin2 Connect J15 pin1 and pin2 Connect J16 pin2 and pin3 Connect J17 pin1 and pin2
Onboard OSJTAG debugger setting:
Leave J5 open Leave J6 open Note: J6 is only used(connected) when firmware update for onboard debugger OSJTAG. Connect J11 pin 1-2, 3-4, 5-6, 7-8, to setup onboard debugger OSJTAG. Note: when use external debugger(connected to J10), leave all J11 pins open.
Board settings
Master/Slave board connection as below:
Master Board Slave Board
INSTANCE0(QSPI0) CONNECTS TO INSTANCE1(QSPI0)
Pin Name Board Location Pin Name Board Location
SS0 J2 pin 6 SS0 J2 pin 6
MOSI J2 pin 8 MOSI J2 pin 8
MISO J2 pin 10 MISO J2 pin 10
SCK J2 pin 12 SCK J2 pin 12
GND J2 pin 14 GND J2 pin 14
Prepare the Demo
Connect USB cable between the host PC and the JM60 USB(J8) port on the target board. It setups OSJTAG and COM port in PC device manager.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board with OSJTAG debug configuration.
Either press the reset button on your board or launch the debugger in your IDE to begin running the demo. Please be noted that default FCF(flash configuration field) setting makes MCU boot from bootloader. So after reset button press, it will wait 5s(wait in bootloader) to run the application code.
Running the demo
When the example runs successfully, you can see the similar information from the terminal as below.
QUEUEDSPI board to board EDMA example.
This example uses one board as master and another as slave.
Master and slave use EDMA way. Slave should start first.
Please make sure you make the correct line connection. Basically, the connection is:
QSPI_master -- QSPI_slave
CLK -- CLK
PCS -- PCS
SOUT -- SIN
SIN -- SOUT
GND -- GND
Master transmit:
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 40
This is QUEUEDSPI master edma transfer completed callback.
This is QUEUEDSPI master edma transfer completed callback.
QUEUEDSPI transfer all data matched!
Master received:
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 40
Press any key to run again