Hi david_binet,
The memory attributes of TCM_L address region is hardwired as non-cacheable. This means M core skips cache controller when accessing TCM_L or even TCM_U whenever these regions are configured.
Both of the Code cache and System cache are implemented as below:
You would see there are two ways for each cache with the total size of 16KB for each cache part.
So I suggest to fill 16KB address continuous data for other memory instead of TCM, for example OCRAM or DDR.
And in theory this will fully fill the cache line with dirty tags if you don't do a cache clean.
Hope it helps.
Life is not easy!