Hello Team,
I am integrating Voice Intelligent Technology (VIT) into a custom board using an RW610 MCU. The model loads and all initialization APIs succeed, but VIT_Process() returns VIT_INVALID_DEVICE (11)
Could you confirm whether the VIT library below supports my RW610 silicon, or whether a different library release is required?
Item Configuration
| MCU | NXP RW610 on a custom board |
| Audio codec | MAX98089 |
| IDE | MCUXpresso IDE - 24.12.0 |
| RTOS | FreeRTOS |
| Debug output | Semihosted printf |
| VIT package | release/24.12.00/CortexM33-RW61X |
| Library | libVIT_CM33_RW61X_v04_11_00.a |
| Library version reported at runtime | 0x00040b00 — v4.11.0 |
| VIT API version | 0x00030400 |
| Model version reported at runtime | 0x00040b00 — v4.11.0 |
| Configured device | VIT_RW610, numeric value 9 |
| Operating mode | VIT_WAKEWORD_ENABLE |
Library source:
https://github.com/nxp-mcuxpresso/VIT/tree/release/24.12.00/CortexM33-RW61X
Model generation:
I generated a replacement English model using NXP’s online model-generation tool with these settings:
I selected RW612 because I did not see an RW610 option in the portal.
The generated VIT_Model_en.h declares v4.11.0. Only wake-word recognition is currently enabled in the application.
The VIT initialization sequence is:
1. VIT_GetLibInfo()
2. VIT_SetModel()
3. VIT_GetModelInfo()
4. VIT_GetMemoryTable()
5. Assign aligned, statically allocated memory regions.
6. VIT_GetInstanceHandle()
7. VIT_ResetInstance()
8. VIT_SetControlParameters()
9. VIT_GetStatusParameters()
10. Start microphone capture and call VIT_Process().
All listed initialization calls succeed. Processing then returns error 11.
Runtime Log:
[VIT INFO] button request: ENTER EXCLUSIVE VIT / START
[VIT INFO] exclusive mode: application tasks paused, speaker stopped; initializing VIT
[VIT INFO] init: English model, wake-word-only; heap=37904
[VIT INFO] GetLibInfo OK
[VIT INFO] library release=0x00040b00 API=0x00030400 features=0xe channels=1 requestedDevice=9
[VIT INFO] SetModel OK
[VIT INFO] GetModelInfo OK
[VIT INFO] VIT: available wake word: HEY NURSE
[VIT INFO] GetMemoryTable OK
[VIT INFO] memory region 0 needs=135934 reserved=144460 bytes
[VIT INFO] memory region 1 needs=135894 reserved=157324 bytes
[VIT INFO] memory region 2 needs=8854 reserved=17644 bytes
[VIT INFO] memory region 3 needs=47079 reserved=49934 bytes
[VIT INFO] GetInstanceHandle OK
[VIT INFO] ResetInstance OK
[VIT INFO] SetControlParameters OK
[VIT INFO] GetStatusParameters OK
[VIT INFO] instance: library=0x00040b00 model=0x00040b00 selectedDevice=9 features=0x4
[VIT INFO] ResetInstance OK
[VIT INFO] VIT: listening, PCM48k stereo channel 0 -> PCM16k mono
[VIT ERROR] Process failed: code=11 (INVALID_DEVICE); RED LED = VIT fault
[VIT ERROR] RW61x identity: addr=0x45001114 raw=0x00007102 masked=0x00007100 libraryExpected=0x00007000
[VIT INFO] VIT: stopped
Device-check observation
Inspection of the linked library’s device-validation code indicates that, for device ID 9, it reads address 0x45001114, clears the lowest eight bits, and compares the result with 0x00007000.
Does libVIT_CM33_RW61X_v04_11_00.a support RW610 devices that return 0x00007102 at address 0x45001114?
Is the comparison against 0x00007000 a known compatibility limitation or issue in this release?
Which VIT library release and matching API headers should I use for this RW610?
Is a model generated with the portal’s RW612 selection supported on RW610, or is a separate RW610 model-generation option required?
Please advise on the supported library/model combination and any further diagnostics needed.
Thank you.