Skip to main content
Associate III
May 24, 2024
Solved

Unknown type "noos_queue_t" in the mx_wifi driver for B-U585-IOT02A Discovery board

  • May 24, 2024
  • 3 replies
  • 2226 views

Hi,

I'm willing to use the MXCHIP EMW3080B wireless module on the B-U585I-IOT02A in a project with TrustZone enabled. As there is no tutorial for that, I copied files from the Nx_Network_Basics example.

Unfortunately I get the following error when building the Non-Secure project: unknown type name 'noos_queue_t'

SedCore_0-1716551269756.png

Your help will be much appreciated, thanks!

@Benjamin BARATTE @STea 

Best answer by SedCore

Hi @STea ,

I finally found the solution for using the Nx_Basics with TrustZone enabled.

GPDMA channels used for SPI communication with the MXCHIP wi-fi module should be enabled as priviledged. It is not the case with the Nx_Basics example, which is set up without TrustZone.

SedCore_0-1719587045752.png

Thanks for your kind support!

3 replies

Andrew Neil
Super User
May 24, 2024

@SedCore wrote:

I copied files from the Nx_Network_Basics example.


Seems that you omitted to copy the file which defines this type!

You need to go back to the original, and find where it was defined.

 

Or, perhaps, the definition is there, but is disabled by a #if due to some configuration

In that case, do a text search for  "noos_queue_t" through all the source files (both .c and .h) to find where the definition is, and then see what configuration you need to add/change.

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
ST Employee
May 25, 2024

Hello @SedCore ,

It seems to be that you are missing some .h files which could be forgotten or not been copied manually my recommendation is to start your project based on the ioc files config provided in the NX_Network_Basics with the Trustzone activated and the BSP and middleware component assigned to the correct world (secure /non secure) because some of the include files could be referenced in the drivers folder of the repository containing the example and not copied in the project itself so instead of copying you should set the same paths found in that project to get reed of these problems.
Here are the paths that should be set

STea_0-1716646401092.png

BR

SedCoreAuthor
Associate III
May 25, 2024

my recommendation is to start your project based on the ioc files config provided in the NX_Network_Basics with the Trustzone activated

@STea NX_Network_Basics is by default a project with TrustZone disabled. How to convert it into a project with TrustZone enabled?

BR.

ST Employee
May 26, 2024

Hello @SedCore ,

you cannot convert it to a project with Trustzone enabled you can instead begin a new project with TZ enabled then try to mimic the same configuration found in the other project with the added component of peripherals and middleware assignment to the secure or the non-secure world.

BR

SedCoreAuthorBest answer
Associate III
June 28, 2024

Hi @STea ,

I finally found the solution for using the Nx_Basics with TrustZone enabled.

GPDMA channels used for SPI communication with the MXCHIP wi-fi module should be enabled as priviledged. It is not the case with the Nx_Basics example, which is set up without TrustZone.

SedCore_0-1719587045752.png

Thanks for your kind support!

ST Employee
June 28, 2024

Hello @SedCore ,

glad to hear that you found a solution for this. I 'll try to prepare a small FAQ summarizing the problem and your solution. this is mentioned in general in AN5347 in section 11.2 Using non-secure peripherals.

Regards