测试刷新240x240 项目,测试发现读取FLASH和计算开销比较大,如果不放在RAM中执行,差不多要150ms.刷新一次。
如果放在RAM中执行,大概需要100ms.速度瞬间提升1/3。代码方面如果有些地方不需要inline.即使设置为inline也没有用,或者强制force inline.或者改成宏。
测试发现单片机在高速刷新 LCD和读取SPI FLASH时候,整个过程耗电会加大。如果供电不足,会看见闪烁。加外部电源就正常了。
RAMCODE,在scater文件中,配置,例如 *.o(RAMCODE) ,在需要把代码标准为SRAM中运行试试,加入
#pragma arm section code = "RAMCODE"
// user code
#pragma arm section code
设置成功与否在map文件看看 这部分的.o是不是在RAM地址范围,可以debug看代码位置,这部分代码其实上上电的过程中,从FLASH中复制到SRAM中的。