2019-01-10 11:48 PM
I am using NUCLEO-L4R5ZI.
I already know about datasheet and application note.
I generated code using by CubeMX. And I use peripheral LPUART and OCTOSPI.
Nucleo board is connected to FPGA board.
FPGA board don`t have flash memory(micron or macronix). But I made code micron mode.
I made code for access my register which is placed in FPGA. And my code is running well.
However I have problem about 1 byte writing.
Q1. In data region, I understood that setting "sCommand.NbData = 1;" means 1 byte
processing.
But, one more Octo SPI clock occurs in data region.
This clock signal is same when setting "sCommand.NbData = 2;".
If NbData is 2,3,4,5 or more, clock signal is working well.
In my project, I don`t need one more clock and it incur fail result even if Data is zero.
Why does one more clock occur when setting "sCommand.NbData = 1" ?
Q2. I made another code for writing 1byte. setting the Data is none and I used alternate
region. It looks like working well.
But, if octopo-spi is controlled after the printf (LPUART) function, a malfunction occurs.
Address and Data exist in data line. but it`s not placed in SPI clock rising edge.
If not use printf function before octo-spi control, Address and Data is placed in rising
edge.
I don`t know why printf (LPUART) function affects octo-spi.
Please, explain me about this situation.
Q3. When writing many bytes, the data is delayed by 10us every 4 bytes.
Is there a way to transfer without delay?
Please reply to my question.