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
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.