Hey @gerhardheinzel
I'm doing exactly what you are trying to do with an OLED controlled by an SSD1322.
I started with the dspi_edma_b2b_transfer code and focused on the transmission (master) side of things (which ignores the receive and does not require an SIN pin or receive buffer). When I specify the Kinetis pins using the Mux, I ignore the SIN pin (and actually use it for something else). Going further, I updated the transmission callback so that after the block of data (I chose 510 bytes as a maximum) had been transmitted if there was more data to send, I would restart the transmission for the next block of data until it was all done.
[EDIT: Added SPI Code]
I've attached my SPI code to this post - looking at it again, the "OLEDSPIProcs.c/.h" are not all that receiving device specific (when I wrote the post originally, I thought they were).
To setup the port, called the unfortunately named "OLEDSPIInt" method to initialize the port. I specify the pins/mux in the MCUXpresso Pin Wizard. At the end of the method, you'll see a couple of pin writes which are specific to the SD1322 (which probably should be moved outside the method to make it more generic. You'll have to check your clocks as well but if you look at my code as well as the SDK example(s) you shouldn't have any issues getting it working.
With the SPI port initialized, you can send data through the SPI port by calling "OLEDSPI_BulkTransfer" after setting up the variables. You must send at least two bytes (tthere is no maximum) so if you have a single byte transfer, you will need to start off with a byte that the receiver will ignore.
I recommend calling OLEDSPI_BulkTransfer using something like:
for (; !oledSPITransferCompleted;) { }
oledSPITransferCompleted = FALSE;
oledSPIXfer.txData = oledSPICmdBuffer;
for (i = 0, oledSPIXfer.daaSize = numberofBytes; numberOfBytes > i; ++i) {
oledSPICmdBuffer[i] = sourceData[i];
}
OLEDSPI_BulkTransfer();
// Note the start which waits for the previous transfer to complete before starting the next oneI should also point out that EDMA needs at least two transfers - if you're going to send one, find a byte that the receiver will ignore with the second one being the required one to send.
Looking over the code, it could be written better (and used some better method names), but I was doing a lot of experimenting trying to get things working right (and fast). I can say that the code is rock solid running at 10Mbps. It was written for FreeRTOS, but the assumption was that display updates had to happen as fast as possible which is why I do not put in a delay (to force a task swap) when sending multiple instructions to the display.
I'm happy to answer some questions, but please understand that I'm not in a position nor do I have the time to support you or modify the code for your application.
As a suggestion, you may want to first get byte sends working first, to ensure you understand the operation of your peripheral, before blasting data at it using the SPI.
Goodl luck!
myke