【FAQ】全志R128芯片 如何在FreeRTOS中调整系统运行在hspsram上?
-
1.主题
FreeRTOS_R128_调整系统运行在hspsram上
2.问题背景
硬件:R128
软件:FreeRTOS背景:R128的m33和c906两个核运行的系统都是默认运行在lspsram上的(低速psram,默认频率为192MHz),hspsram默认是分给dsp核使用的。如果方案不使用dsp,那么hspsram就可以留给m33或者是c906进行使用了。这里将讲述如何将hspsram的地址空间分配给m33或者c906使用。(hspsram的默认工作频率为800MHz)
3.解决办法
一、讲述如何取消启动dsp
首先,选择好m33的方案,因为dsp是由m33来启动的。这里以r128 pro方案来作为演示。
source envsetup.sh lunch_rtos r128s2_pro_m33
然后运行mrtos_menuconfig来取消选中启动dsp。
找到该项,然后取消选中,编译r128_pro_m33方案即可。
二、将m33和c906设置成在hspsram运行
首先选择m33的方案
source envsetup.sh lunch_rtos r128s2_pro_m33
接着运行mrtos_menuconfig修改启动地址,所需要修改的配置如下图所示:
lspsram地址空间为0x8000000~0x87fffff,hspsram地址空间为0xc000000~0xc7fffff。
这里将所需要的修改的核的地址,将8改成c即可。如修改m33的起始地址,将0x08004000,修改成0x0c004000即可,如下图。
修改完成后,重新编译m33方案。
三、如果需要修改c906的起始地址为hspsram,还需要重新配置c906方案
首先选择c906的方案
source envsetup.sh lunch_rtos r128s2_pro_c906
接着运行mrtos_menuconfig修改c906启动地址,修改方式如下图:
然后保存配置,重新编译c906方案。
四、最后修改配置文件
首先,确认自己方案使用的image_header文件,运行一次打包的命令pack,从打包的log中能看出方案所选的文件,如下图:
然后通过命令
cconfigs
即可跳转到image_header的路径下:${root_dir}/board/r128s2/pro/configs
如果需要修改m33的地址,则只修改m33的即可,c906同理。如果取消启动dsp,则直接注销掉dsp的配置代码。
最后,修改m33和c906在hspsram运行,并且取消运行dsp的image_header文件修改可如下所示:
diff --git a/r128s2/pro/configs/image_header_xip.cfg b/r128s2/pro/configs/image_header_xip.cfg index 5c83ac1..fc87d06 100755 --- a/r128s2/pro/configs/image_header_xip.cfg +++ b/r128s2/pro/configs/image_header_xip.cfg @@ -30,9 +30,9 @@ {"id": "0xa5e05a00", "bin": "boot0_spinor.fex", "attr": "0x01", "sram_offs": "0x40b0000", "ep": "0x40b0080"}, {"id": "0xa5e05a00", "bin": "boot0_sdcard.fex", "attr": "0x01", "sram_offs": "0x40b0000", "ep": "0x40b0080"}, {"id": "0xa5e15a01", "bin": "freertos-gz.fex", "attr": "0x01"}, - {"id": "0xa5e05a01", "bin": "rtos_arm.fex", "attr": "0x01", "sram_offs": "0x8004000", "ep": "0x8004000"}, - {"id": "0xa5e05a01", "bin": "rtos_riscv.fex", "attr": "0x01", "sram_offs": "0x8200000", "ep": "0x8200000"}, - {"id": "0xa5e05a01", "bin": "rtos_dsp.fex", "attr": "0x01", "sram_offs": "0xc000000", "ep": "0xc000660"}, + {"id": "0xa5e05a01", "bin": "rtos_arm.fex", "attr": "0x01", "sram_offs": "0xc004000", "ep": "0xc004000"}, + {"id": "0xa5e05a01", "bin": "rtos_riscv.fex", "attr": "0x01", "sram_offs": "0xc200000", "ep": "0xc200000"}, + // {"id": "0xa5e05a01", "bin": "rtos_dsp.fex", "attr": "0x01", "sram_offs": "0xc000000", "ep": "0xc000660"}, {"id": "0xa5e05a01", "bin": "etf.fex", "attr": "0x01", "sram_offs": "0x4000000", "ep": "0x4000000"}, {"id": "0xa5e05a01", "bin": "rtos_xip_rv.fex", "attr": "0x02"}, {}
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号