Open nvitya opened 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
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