Build command is:

cmake -S . -B output -G"Unix Makefiles" -DTFM_PLATFORM=cypress/psoc64 -DTFM_TOOLCHAIN_FILE=toolchain_GNUARM.cmake -DTEST_NS_MULTI_CORE=ON -DTFM_ISOLATION_LEVEL=1

 

The result is a hang at this point:

> Executing 'MULTI_CLIENT_CALL_HEAVY_TEST'

  Description: 'Multiple outstanding NS PSA client calls heavyweight test'

Totally 5 threads for test start

Each thread run 0x20 rounds tests

 

Some experimentation shows that:

It happens with both gcc and armclang (unable to test IAR).

It doesn’t always happen, but does seem to hang more often than it succeeds.

It doesn’t happen with TFM_ISOLATION_LEVEL=2.

 

It looks like this test was passing consistently before 5e68b11764673ee32bae0de8ecf3cde45cc55ea1, so I guess this is another scheduling issue. There’s not a lot of code that differs with TFM_LVL, so I wonder if there’s a race condition that is always present but just doesn’t happen to get hit at TFM_LVL=2…?

 

BTW, being able to build just the one test is extremely useful!

 

Chris Brand

 

Cypress Semiconductor (Canada), Inc.

Sr Prin Software Engr

CSCA CSS ICW SW PSW 1

Office: +1 778 234 0515

Chris.Brand@infineon.com