不建议在CORTEX-M3中,把程序复制到RAM中运行,原因有二:<br />1)安全问题.<br />2)速度问题. Cortex-M3的FLASH同时使用指令总线(INTRUCTION BUS)和数据总线(DATA BUS), 每条指令都可在同一时钟下使用这两条总线. 而RAM使用系统总线(SYSTEM BUS), 它和指令总线,数据总线不能在同一时钟内使用的.任何品牌的CORTEX-M3都如此,这是ARM公司规定的.<br /> 例如: LDR R0 [0X20000180], 如果在FLASH中,由于LUMINARY的FLASH是单周期的, 只需要一个时钟就完成; 如果在RAM中,首先用系统总线读指令,然后用数据总线读0X200000180中的数据, 要2个时钟. <br /> 所以FLASH中的指令比RAM的指令快得多! <br /><br />(zlgarm_zsg)
|