先楫半导体HPMicro
直播中

李玉兰

7年用户 1478经验值
私信 关注
[问答]

在0.13.0这个sdk版本中,如何实现在启动时将代码从flash中加载到ILM以提高cache miss时的程序运行速度?

在0.13.0这个sdk版本中,flash_xip工程模板的ILM只用于存放中断向量表,个人感觉这样是比较浪费的,因此我希望启动时将代码从flash中加载到ILM以提高cache miss时的程序运行速度。

在发帖之前,我也做出了一点尝试。为此,我调整了soc/hpm6750/toolchain/gcc/flash_xip.ld这个链接脚本的布局,将.text段放置到ILM当中;也在reset.c文件中编写了将.text段从flash拷贝到ILM的程序,修改过程比较复杂,但是在这一切之后程序并不能运行。我认为这可能与hpm_sdk较为复杂的依赖关系有关,因此希望先辑半导体能够提供一个将代码拷贝到ILM/SRAM运行的工程模板,谢谢



回帖(1)

施敏

2023-5-26 11:21:13
hpm_common.h 定义了

#define ATTR_PLACE_AT(section_name) __attribute__((section(section_name)))
#define       ATTR_RAMFUNC      ATTR_PLACE_AT(".fast")

可以使用 ATTR_RAMFUNC 将代码放到ILM,如
ATTR_RAMFUNC void fast_func() {
    // do sth
}
举报

更多回帖

发帖
×
20
完善资料,
赚取积分