Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

    【FAQ】全志R128芯片 如何在FreeRTOS中调整系统运行在hspsram上?

    A Series
    r128 hspsram faq 技术支持
    1
    1
    1111
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • q1215200171
      budbool LV 9 last edited by

      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。

      5f1823767d20434988d61c1c68ac4f4b.jfif 547899AF-0E5F-40c6-BDE6-2B0E7EB4C494.png

      找到该项,然后取消选中,编译r128_pro_m33方案即可。

      二、将m33和c906设置成在hspsram运行

      首先选择m33的方案

      source envsetup.sh
      lunch_rtos r128s2_pro_m33
      

      接着运行mrtos_menuconfig修改启动地址,所需要修改的配置如下图所示:

      22e90024b44c4dd6bbffd9d66b3465c0.jfif

      9F16D163-A399-407f-B1DE-E651D2515635.png

      79af6c102fee48ccb4c22b32b89ca94a.jfif

      lspsram地址空间为0x8000000~0x87fffff,hspsram地址空间为0xc000000~0xc7fffff。

      这里将所需要的修改的核的地址,将8改成c即可。如修改m33的起始地址,将0x08004000,修改成0x0c004000即可,如下图。

      e40c8db7daca4c788c7280c4c484b18a.jfif

      修改完成后,重新编译m33方案。

      三、如果需要修改c906的起始地址为hspsram,还需要重新配置c906方案

      首先选择c906的方案

      source envsetup.sh
      lunch_rtos r128s2_pro_c906
      

      接着运行mrtos_menuconfig修改c906启动地址,修改方式如下图:

      1b88866674b94f3fac86624835a24cdf.jfif 4563037fbdba46e699d8f5a1a9624aee.jfif

      然后保存配置,重新编译c906方案。

      四、最后修改配置文件

      首先,确认自己方案使用的image_header文件,运行一次打包的命令pack,从打包的log中能看出方案所选的文件,如下图:

      c7bd750bbada48b0accd848d9ff234cc.jfif

      然后通过命令

      cconfigs
      

      即可跳转到image_header的路径下:${root_dir}/board/r128s2/pro/configs

      d0ec291a76604f808c1b8ad690a781ca.jfif

      如果需要修改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"},
               {}
      
      1 Reply Last reply Reply Quote Share 0
      • 1 / 1
      • First post
        Last post

      Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

      行为准则 | 用户协议 | 隐私权政策