Dear SiFive Community,
According to my understanding, the HiFive1 Rev B board comes with a 16Kb instruction cache (I-cache), but it is not clear to me how it is related to the ITIM.
By having a look at the metal.default.lds
file, it seems that the default configuration reserve 8Kb for the ITIM:
itim (airwx) : ORIGIN = 0x8000000, LENGTH = 0x2000
...
PROVIDE( metal_itim_0_memory_start = 0x8000000 );
PROVIDE( metal_itim_0_memory_end = 0x8000000 + 0x2000 );
Does it mean that using this configuration, I will have an 8Kb I-cache and an 8Kb ITIM?
If so, is it possible to trade the ITIM space to get a 16Kb I-cache?
I simply tried to following modifications to metal.default.lds
itim (airwx) : ORIGIN = 0x8000000, LENGTH = 0x0000
...
PROVIDE( metal_itim_0_memory_start = 0x8000000 + 0x2000);
PROVIDE( metal_itim_0_memory_end = 0x8000000 + 0x2000 );
but I’m not sure this is the right way to do.