Cypress Traveo II Cache Write-through
In general for a real-time observation of the variables these must be written in the data memory and not for example only held in the cache since cache memory is not visible to the debugger. If you want the "cached only" variables to be seen to debugger, use the provided L1 Cache Write-through enable EVE script, which configures the microcontroller to propagate writes of variables cached in the L1 cache also to the memory.
The script sets the FORCEWT bit of the CM7_CACR register. The debugger has no access to the contents of the cache memory, the only way to observe it's contents by debugger is by forcing it to write-through any changes directly from the cache memory to the SRAM locations, which are accessible by debugger.
Example below shows how variables are seen to debugger in the memory:
Without Write-through |
With Write-through |
||
---|---|---|---|
Cache value |
Memory value |
Cache value |
Memory value |
0x00000000 |
0x000000E7 |
0x00000000 |
0x00000000 |
0x00000001 |
0x000000E7 |
0x00000001 |
0x00000001 |
0x00000002 |
0x000000E7 |
0x00000002 |
0x00000002 |
The script is accessible in Hardware / Scripts / Enable CacheWriteThrough. Its execution is called on a explicit request. Do note that its effect is reset if the microcontroller goes through any kind of a reset and the variables being cached only will no longer be visible in the real-time Watch Window.
![]() |