IMXRT1176 Firmware upgrade using SPI/I2C

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMXRT1176 Firmware upgrade using SPI/I2C

1,436 Views
Ganesh_Pawar
Contributor III

Hello NXP Team,

                 I am writing this for an input from the team related to firmware upgrade/loading.

I am using an custom designed IMXRT1176 MCU board with QSPI flash with SDK Version v2_15_100 and also the IMXRT1176_EVKB board.

I have tried flashing the board using Segger J-Link, USB interface .I am exploring to flash/ update the firmware using SPI/I2C interface I don't find any method to upgrade with these methods.

Can you reply whether is there any possibility to upgrade the firmware using SPI/I2C interface ??                 

Thanks and Regards,

Ganesh Pawar

Tags (1)
0 Kudos
Reply
10 Replies

831 Views
akshatha12
Contributor I

Hi @Gavin_Jia ,

I am also working on same page. I have created python environment using Termux application in android to install SPSDK.

Following cmds i have used :

python3 -m venv venv
source venv/bin/activate
python -m pip install --upgrade pip
pip install spsdk
spsdk --help

While installing its dependencies, it fails with following error message 

ERROR: Could not build wheels for cmsis-pack-manager, which is required to install pyproject.toml-based projects

Could you please assist me?

 

Regards,

Akshatha 

 
0 Kudos
Reply

801 Views
akshatha12
Contributor I
Hi Gavin,
I hope this email finds you well. I wanted to follow up regarding my previous question about encountering an issue while installing SPSDK in a Python environment via Termux on Android. The installation fails when building wheels for cmsis-pack-manager, and I’d greatly appreciate any guidance or suggestions to resolve this.

This is critical for my project timeline, so if there’s any additional information I can provide or alternative steps to try, please let me know. Thank you for your time and support—I’m happy to provide further details if needed.

Best regards,
Akshatha
0 Kudos
Reply

772 Views
Gavin_Jia
NXP TechSupport
NXP TechSupport

Hi,

Due to long time without update, our internal system can no longer track this original post. Could you please resubmit one? Or through NXP portal? Thanks for your understanding!

Best regards,
Gavin

0 Kudos
Reply

1,415 Views
Gavin_Jia
NXP TechSupport
NXP TechSupport

Hi @Ganesh_Pawar ,

Thanks for your interest in NXP MIMXRT series!

If your goal is to program a new image through SPI/I2C, then you can write in serial download mode, it supports UART/I2 C/SPI.

If your goal is local OTA through SPI/I2C, you may need to consider designing a secondary bootloader yourself. Please refer to this AN: https://www.nxp.com/docs/en/application-note/AN12604.pdf and AN12604SW in this page.

In addition, NXP provides an engineering of SBL/SFW, which provides a variety of ways of OTA: 

1. Local OTA: UART\USB\U-disk

2. Remote OTA: AWS\Alibaba Cloud

Furthermore, reference may also be made to an example of OTA in SDK.

Best regards,
Gavin

0 Kudos
Reply

1,401 Views
Ganesh_Pawar
Contributor III

Hi @Gavin_Jia

Thanks for replying regarding the firmware upgrade.

I am interested in flashing a new image through SPI/I2C .

I have flashed it using UART using secure provisioning tool by selecting the Communication interface as UART in the serial download mode. But i don't find any communication interface selection as SPI/I2C . 

So can you guide me if there is any tool or am I missing any procedure here for flashing the New image using SPI/I2C

Thanks and regards

Ganesh Pawar 

Tags (1)
0 Kudos
Reply

1,398 Views
Gavin_Jia
NXP TechSupport
NXP TechSupport

Hi @Ganesh_Pawar ,

Sorry for the inaccurate part of my previous reply, and after confirmation by experts, I would like to clarify it again with you.

The following operations require blhost or spdhost to support, ( the underlying layer of the host computer secure providing tool you are using is also one of the two tools called )

1. RT three-digit Serial ISP mode can support I2C/SPI download firmware to flash. 
2. RT10xx/1170 only supports UART/USB ISP.
3. The new RT1180 is expanded to support UART/USB/SPI ISP.

If you are interested in the detailed underlying usage of this tool, you can learn this document at https://spsdk.readthedocs.io/en/stable/apps/blhost.html

Back to your question, the most appropriate way should be to develop a secondary bootloader to load and update firmware.

Best regards,
Gavin

0 Kudos
Reply

1,392 Views
Ganesh_Pawar
Contributor III

Hi @Gavin_Jia 

Thanks for the accurate Reply Much appreciated..!!!

I have finalized to flash the new image through Uart only for RT1176 MCU.

I am planning it this way:

With the help of the secure provisioning tool i am going to build the bootable image , I want to integrate the firmware update feature through android application .

Ganesh_Pawar_0-1742288642023.png

Will this method of running the blhost through Uart supports through Android application and in linux systems.

If you could guide me through some supporting documents it would be of great help.

Thanks and regards

Ganesh pawar

 

 

 

Tags (1)
0 Kudos
Reply

1,372 Views
Gavin_Jia
NXP TechSupport
NXP TechSupport

Hi @Ganesh_Pawar ,

This can be done, please refer to this document:

https://spsdk.readthedocs.io/en/stable/examples/blhost/blhost.html

https://spsdk.readthedocs.io/en/stable/examples/sdp/mimxrt1050_read_memory.html


It provides an example of calling blhost/spdhost using a JupyterNotebook. Hope it helps!

 

Best regards,
Gavin

 

0 Kudos
Reply

1,364 Views
Ganesh_Pawar
Contributor III

Hi @Gavin_Jia 

Thanks for reply...

The information was much helpful, 

As per the document the blhost is supported in both Windows and Linux environment.

Will this same package(blhost) is supported in Android environment as well ??

If not, could you share some inputs on this..

Thanks and regards

Ganesh Pawar

Tags (1)
0 Kudos
Reply

1,342 Views
Gavin_Jia
NXP TechSupport
NXP TechSupport

Hi @Ganesh_Pawar ,

Thanks for your input!

Although an example of using blhost/sdphost in an Android environment is not directly provided, in theory, as long as the python environment is supported, support can be obtained by installing spsdk and then calling the api.

Best regards,
Gavin

0 Kudos
Reply