我有一个Keil uVision项目,我想广泛地进行基准测试。代码当前正在模拟器模式下运行。为了可视化结果,我们只需将字符存储在内存区域中,并将所述区域显示为ASCII。
这种方法非常适合使用Cortex-M系统滴答获得时序。但是,我不知道ram使用代码:
有没有办法获得这些价值?我知道构建系统报告的最大堆栈大小。
有没有办法限制uVision模拟器中可用的ram数量?
由于
答案 0 :(得分:0)
有一个相当明显的解决方案:只计算内存窗口中的内存。首先找到为堆和堆栈分配的内存区域(通常可以在启动程序集文件中找到)。然后浏览调试器中的内存窗口,看看内存没有改变的地方。
Keil通常用0初始化内存,因此可以很容易地看到堆栈边界。 可以按以下方式计算总堆栈使用量
$TOTAL = $TOP - $BOTTOM
如果无法看到边界,首先用模式(see here)初始化内存可能是有意义的。