写作原因:老大让我测试一下 写flash 时间 ,担心因为写flash 时间过长,而且频繁写保存实时数据,在正在写flash时串口中断又接收命令不断更改数据 又受到影响;
方法一:
为了保证在MDK中读取正确的程序运行时间,必须对仿真器的跟踪项进行设置。
以ULink2为例:
(1)在工程的“ Option for Target ..”目标选项界面中,选择标签“Debug”,进行调试设置界面,选择使用“Cortex-M3-ULIK2”作为仿真器,然后点击右侧的“Settings”按键,进入ULINK设置界面。
(2)点击标签“Trace”进入跟踪设置界面,将“Core Clock:”右侧的编辑区输入你的CPU的频率,例如你的实际CPU运行频率为72MHz。
(3)“Core Clock”的值决定MDK以什么频率来计算指令周期,因为“Core Clock”的默认值为10MHz,因此如果不修改这个值的话,MDK计算每条指令的运行时间是按10MHz频率来计算的。只有修改为实际使用的频率值,才能得到正确的指令周期。
(我用的是芯片型号: stm32f100CB 它的系统时钟为24MHZ)