__HIGH_CODE是告诉编译器这个代码执行频率高吗?要放到特殊位置


#ifndef __HIGH_CODE

#define __HIGH_CODE   __attribute__((section(".highcode")))

#endif


/* Load highcode code  section from flash to RAM */

2:

    la a0, _highcode_lma

    la a1, _highcode_vma_start

    la a2, _highcode_vma_end

    bgeu a1, a2, 2f


是放到内存里面运行吗

加highcode是放在RAM中工作,运行速度会快一些。

没有速率要求的代码不需要加highcode修饰。


highcode 和 普通位置的代码执行效率差别多大

在80M的速度 普通位置的代码 实际上能达到多少速度 相当于 stm32-72M主频下的多少


highcode修饰下的速度和主频一致,普通位置在flash中运行,运行速度在20MHz左右。


减少32K的ram数据空间为代价啊 80M 到 20M


只有登录才能回复,可以选择微信账号登录