介绍 最近在移植声码算法时,在Keil中需要自定义栈顶位置,或者自定义Heap内存区域实现RAM效率最大化,提高软件执行效率。放在RAM执行比放在Flash少很大的延迟,并且我还是使用的H7 要是能放在DTCM,速度有更多提升。 如何实现自定义位置呢?通过分析实验发现其实很简单,设置启动文件中的 __initial_sp和__heap_base 位置即可。但是在Map中是看不到定义的STACK,因此建议单独定义一块内存来这样使用,不然会出现变量跟STACK和HEAP打架的情况。 最后效果: