2270833_en-US

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

2270833_en-US

2270833_en-US

How to Update eIQ Projects with the Latest eIQ Neutron SDK Libraries

eIQ Neutron SDK is a new software package that includes the Neutron Converter tool and eIQ Neutron libraries to run Neutron converted neural network models on devices that have an eIQ Neutron NPU like MCX Ni.MX RT700, or i.MX95

Previously the Neutron Converter tool was part of eIQ Toolkit. However going forward, new versions of the Neutron Converter tool will be released as part of the eIQ Neutron SDK. This change will allow for more frequent updates to provide better performance and additional operator support.

MCUXpresso SDK and Linux BSP use Neutron libraries as part of the eIQ examples included in those software releases. However to use the latest Neutron Converter, an eIQ project will need to be updated to use the latest Neutron software libraries. This post walks through where to place the updated Neutron libraries and header files. 


If the version of the Neutron Converter tool that was used to convert a model does not match the Neutron libraries used by the eIQ project, then during inference you will see the following error(s) printed on the serial terminal and may get incorrect results:

Microcode version mismatch

Or

Internal Neutron NPU driver error 281b in model prepare

Or

Incompatible Neutron NPU microcode and driver versions

The version of the Neutron Converter tool that was used to convert a model can be found by either viewing the converted model in Netron or by looking at the generated header file:

 

header.png

netron.png


Here is a table showing where you can find the matching version of the Neutron Converter tool for the default Neutron libraries found in different versions of MCUXpresso SDK:

MCUXpresso SDK

Default Neutron Library Version in MCUXpresso SDK

Default Compatible Neutron Converter Can Be Found In

24.12

1.2.0+0x6f710a6d

eIQ Toolkit 1.17

25.03

1.2.0+0X1b86b19d

eIQ Toolkit 1.17

25.06

2.0.2

eIQ Toolkit 1.17

25.09

2.1.3

eIQ Toolkit 1.17

25.12

2.2.2

eIQ Neutron SDK 2.2.2

26.03

3.0.0

eIQ Neutron SDK 3.0.0

Manually Update SDK Libraries To Use Latest Version


eIQ Neutron SDK 3.1.2


It is highly recommend to always use the latest Neutron Converter tool and to update the libraries in your eIQ project to match the latest Neutron Converter tool. The libraries can be updated by overwriting the original files. You may wish to make a backup first though as the default eIQ examples in that SDK will use models that were converted to match those original Neutron libraries.

The Neutron file structure in eIQ Neutron SDK and MCUXpresso SDK are now the same so that the entire Neutron folder can be overwritten directly. 


Updating Neutron Libraries in MCUXpresso SDK 25.12 and later:

File

Source Directory in eIQ Neutron SDK

Target Directory in MCUXpresso SDK

libNeutronDriver.a

target\imxrt700\

rt700\cm33\

\middleware\eiq\neutron\rt700\cm33\

libNeutronFirmware.a

target\imxrt700\

rt700\cm33\

\middleware\eiq\neutron\rt700\cm33\

NeutronDriver.h

target\imxrt700\

driver\include\

\middleware\eiq\neutron\driver\include\

NeutronErrors.h

target\imxrt700\

common\include\

\middleware\eiq\neutron\common\include\


Note: The target\imxrt700\driver\include\NeutronEnvConfig.h and the libraries in target\imxrt700\cmodel are used by the ExecuTorch inference engine and so are not needed for TFLM eIQ projects. 

Note: In MCUXpresso SDK 26.03 there are two sets of Neutron libraries in imported projects. It's the files in the /middleware/eiq folder that need to be updated. 

anthony_huereca_0-1776090421844.png

Updating Neutron Libraries in MCUXpresso SDK 25.09 or before:

File

Source Directory in eIQ Neutron SDK

Target Directory in MCUXpresso SDK

libNeutronDriver.a

target\imxrt700\

rt700\cm33\

\middleware\eiq\tensorflow-lite\third_party\neutron\rt700\

libNeutronFirmware.a

target\imxrt700\

rt700\cm33\

\middleware\eiq\tensorflow-lite\third_party\neutron\rt700\

NeutronDriver.h

target\imxrt700\

driver\include\

\middleware\eiq\tensorflow-lite\third_party\neutron\driver\include\

NeutronErrors.h

target\imxrt700\

common\include\

\middleware\eiq\tensorflow-lite\third_party\neutron\common\include\


Updating Neutron Libraries for MCUXpresso SDK 2.16 or before:

Replace the entire middleware\eiq directory from MCUXpresso SDK 26.03 into your project, and then the Neutron libraries can be updated per the instructions above. In these older MCUXpresso SDK releases there were additional eIQ changes beyond just the four files above, so the easiest method to update those older projects is just to replace the entire eIQ middleware directory. 




Updating Neutron Libraries for i.MX devices:

To update the neutron runtime on a target device, upload the files to their designated directories, as follows:


File

Target Directory

NeutronFirmware.elf

/lib/firmware

libNeutronDriver.so

/lib/

libneutron_delegate.so

/lib/


タグ(1)
評価なし
バージョン履歴
最終更新日:
昨日
更新者: