GPIO Read/Write Latency on Cortex-M7 core on i.MX 8M Nano

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

GPIO Read/Write Latency on Cortex-M7 core on i.MX 8M Nano

ソリューションへジャンプ
1,374件の閲覧回数
CodyGray
Contributor I

I want to use the Cortex-M7 core of an i.MX 8M Nano to control an ADC. The Cortex-M7 will be running "bare metal" (i.e., no operating system), so there are no interrupts or multi-tasking that will affect performance in a non-deterministic way.

My question is, what are the read and write latencies for the GPIO pins on the Cortex-M7 core when running "bare metal" on an i.MX 8M Nano?

I have previously implemented a similar design on the Cortex-M4 core of an i.MX 6SoloX, also in a bare-metal environment. However, I have noticed that the GPIO access times are extremely long. The latency to read or write a GPIO pin is very high. This significantly reduces the throughput and therefore reduces the maximum sampling rate that I can achieve.

On the other side, I have implemented the same design on a TI AM64x Sitara chip, where the PRU core was running "bare-metal" and handling the GPIO reads and writes. The PRU core on the TI chip gives me high-speed, deterministic access to the GPIO pins. The latency is only around 3 cycles.

How does the Cortex-M7 core on the i.MX 8M Nano compare? In order to decide if this CPU will work for my design, I need to know what the latency is. I would prefer to use the i.MX 8M Nano, as it is smaller than the TI Sitara chips, but if it has too high of a latency on GPIO access like the i.MX 6SoloX, then it will not work for me.

I cannot find the GPIO access times or latency documented in the data sheet or reference manual for the i.MX 8M Nano.

ラベル(1)
タグ(2)
0 件の賞賛
返信
1 解決策
1,341件の閲覧回数
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hello,

There is no test data related to M7, but on top of iMX8MM, the maximum GPIO toggling speed in the M4 baremetal program is 3.5Mhz. where the M4 core speed is 400Mhz, the IPG clock is 666666666666 Hz, the AHB clock is 13333333333 Hz, and the AXI clock is 3333333333333 Hz.



Best Regards,
Zhiming

元の投稿で解決策を見る

0 件の賞賛
返信
3 返答(返信)
1,318件の閲覧回数
CodyGray
Contributor I

Thank you for your answer! This is very helpful.

Do you happen to know how this compares to the GPIO toggling timing for the M33 core on the i.MX 93? What about for the M4 on the i.MX 6SoloX? Are they all essentially equivalent?

Is there any equivalent to the "fast" GPIO mode on the i.MX RT series? (The i.MX RT series doesn't work for me because I need a core that can run Linux.)

Thanks,
Cody

0 件の賞賛
返信
1,288件の閲覧回数
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hello,

The GPIO toggling on i.MX93 baremetal is 6.67MHz with RGPIO.


Best Regards,
Zhiming

0 件の賞賛
返信
1,342件の閲覧回数
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hello,

There is no test data related to M7, but on top of iMX8MM, the maximum GPIO toggling speed in the M4 baremetal program is 3.5Mhz. where the M4 core speed is 400Mhz, the IPG clock is 666666666666 Hz, the AHB clock is 13333333333 Hz, and the AXI clock is 3333333333333 Hz.



Best Regards,
Zhiming

0 件の賞賛
返信