cancel
Showing results for 
Search instead for 
Did you mean: 

USB noise appears with -O0 optimization

Brice_38FR
Associate III

Hi,

I'm trying to certified a product and we just fail the ETSI EMC. It appears that the USB lines are the cause of this failure.

As we tried to track down the main source of this issue it appears that between 2 differents firmware the noise level was very different !!

The only difference between these firmware are the optimization level (-O0 for noise and -O3 for less noisy)

My product is running on a STMF446 @168 MHz with FreeRTOS.

It's a usb device (VPC profile)

The product has been tested extensively with the 2 different optimization without any reset or strange bug.

For me it seems unreal, because usually the problem appears the other way !

After startup, the OS is started and the product is waiting for USB command (OS is always in the idle task)

If I don't start the os (so waiting in the main while loop), there is no noise

It seems that the noise is somewhat linked to the OS but I cannot see why

I don't have any more idea to find the root cause so any idea is welcome !

ps: pcb design are lacking USB filter so they will be added but I want to find why the fwm optimization can have an impact on such behaviour

1 ACCEPTED SOLUTION

Accepted Solutions
Brice_38FR
Associate III

Ok, so test house show now difference between 2 firmware ....

so my personnal measurement setup must have been incorrect. (and I still don't know what this noise was )

NB: USB filter solve the problem 😅

View solution in original post

2 REPLIES 2
Brice_38FR
Associate III

I tried to use a more urgent priority for the USB interrupt (so USB will not be interrupt by the os tick) but it doesn't change the problem -_-'

Brice_38FR
Associate III

Ok, so test house show now difference between 2 firmware ....

so my personnal measurement setup must have been incorrect. (and I still don't know what this noise was )

NB: USB filter solve the problem 😅