milkv-duo / duo-arduino

GNU Lesser General Public License v2.1
15 stars 8 forks source link

CPU Runs Very slow without I-Cache #9

Open nvitya opened 6 months ago

nvitya commented 6 months ago

Hi,

I've just recently discovered that, despite the CPU runs at 594 MHz (not 700...) it is very slow, performs like a 16 MHz CPU. This is because the I-Cache is not enabled and the code runs from the internal DDR RAM.

I've found the way how the I-Cache and the D-Cache can be enabled in the XuanTie-C906 User Manual, see Chapter 16.3.1. = "cache enabling example". https://occ-intl-prod.oss-ap-southeast-1.aliyuncs.com/resource/XuanTie-OpenC906-UserManual.pdf

Warning, with the enabled I-Cache and D-Cache some synchronization might be required, especially when using DMA.

I think at least the I-Cache should be enabled by default in the Arduino framework.

br. nvitya