查看: 3044|回复: 0

[分享] 在 Android Auto P9.0.0_GA2.1.0 BSP 上添加新的共享内存区域

[复制链接]
  • TA的每日心情
    开心
    2025-7-11 08:53
  • 签到天数: 301 天

    连续签到: 2 天

    [LV.8]以坛为家I

    3868

    主题

    7472

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    39232
    最后登录
    2025-7-18
    发表于 2020-5-12 10:20:24 | 显示全部楼层 |阅读模式
    在 Android Auto P9.0.0_GA2.1.0 BSP 上添加新的共享内存区域


    在新一代的 iMX8QM 和 iMX8QXP BSP 中,它实现了硬件分区以划分资源和内存区域。默认的 Android Auto BSP 给出了 M4 和 A 内核之间共享内存的示例,这被用于 RPMSG。


    这是一个为具有 Android Auto P9.0.0_GA2.1.0 BSP 的 iMX8QXP MEK 板添加一个新的共享内存的示例,可以被 M4,Uboot 和 Linux 内核所访问。新的共享内存区域从 0xF6000000 到0xFDFFFFFF,总计 128MB,它也覆盖 RPMSG 区域。RPMSG 共享内存移至 0xF6000000〜0xF6BFFFFF,总计 12MB。


    vendor_nxp_fsl-proprietary_uboot-firmware.patch
    用于主板文件的 SCFW 补丁程序,用于将旧的共享存储区(0x90000000〜0x90BFFFFF)更改为新的共享存储区(0xF6000000〜0xFDFFFFFF)。将此补丁程序应用于 android_build / vendor/ nxp / fsl-proprietary / uboot-firmware / imx8q_car / board-imx8qxp.c,打完补丁后,将此文 件 复 制 到 SCFW 移 植 工 具 包 中 , 并 构 建 一 个 新 的 SCFW 映 像 , 将 其 放入“android_build/vendor/nxp/fsl-proprietary/uboot-firmware/imx8q_car/mx8qx-scfw-tcm.bin”中。
    vendor_nxp-opensource_uboot-imx.patch
    这是用于映射共享内存区域的 Uboot 补丁,如果 Uboot 不需要访问这些内存,则不需要此补丁。
    vendor_nxp-opensource_kernel_imx.patch
    这是映射共享内存区域的内核补丁。


    注意:不应更改 VPU 保留的内存地址,否则会影响 VPU 的功能。因此,新的保留内存区域已移至 0xF600000〜0xFDFFFFFF。


    vendor_nxp_mcu-sdk-auto_SDK_MEK-MIMX8QX.patch
    RPMSG 地址的 M4 补丁将其从 0x90000000 更改为 0xF6000000。


    注意:
    1.在此示例中,我们将两个共享内存区域放在一起,这样就不会拆分 Linux 中使用的内存区域。进行此修改的另一个原因是 SCFW 中的内存区域计数限制。
    2.由于 RPMSG 共享内存已从 0x90000000 移至 0xF6000000,使用共享内存的 M4 代码也应更改。
    2019-07-29 的更新:
    当在 Uboot 中使用“ #define PHYS_SDRAM_2_SIZE 0x0”时,它将创建一个 0 大小的内存区域,这将影响 Uboot 共享内存补丁。可以通过添加“ uboot_imx8_cpu.patch”避免这种问题。


    点击查看完整版



    qiandao qiandao
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-21 07:35 , Processed in 0.074826 second(s), 19 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表