首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【分享】 在Vivado里关闭R5/GPU,降低Xilinx MPSoC的功耗

【分享】 在Vivado里关闭R5/GPU,降低Xilinx MPSoC的功耗

作者头像
hankfu
发布2020-07-17 09:39:45
发布2020-07-17 09:39:45
1.6K0
举报
文章被收录于专栏:hankhank

1. Vivado里关闭R5/A53/GPU

有些应用中,需要降低Xilinx MPSoC的功耗。缺省设置中,R5/GPU都被使能。如果需要省电,可以在Vivado里关闭R5/GPU。步骤如下:

  1. 选中 MPSoC IP,在右键菜单中选择Block Properties.
  2. 在窗口Block Properties中,选择Properties.
  1. 在窗口中,展开 “Config”.
  2. 在搜索框中输入 “Power”, 出现PSU_RPU_POWER_ON等选项。如果值是1,表示被使能;如果值是0,表示被关闭。如果要关闭,点击最左边的编辑图标,输入0。

编辑前Power选项

编辑后Power选项

在Vivado里编辑完成后,执行“Generate Output Products”, 在导出Hardware的HDF/XSA文件。

2. JTAG检查R5/A53状态

在SDK/Vitis里创建FSBL和Standalone程序,启动后,在XSCT命令后窗口下,检查R5/A53状态,可以看到设置为0的R5/A53的状态是No Power。

代码语言:javascript
复制
xsct% connect
tcfchan#2
xsct% target
  1  PS TAP
     2  PMU
     3  PL
  4  PSU
     5  RPU (Reset)
        6  Cortex-R5 #0 (No Power)
        7  Cortex-R5 #1 (No Power)
     8  APU
        9  Cortex-A53 #0 (Running)
       10  Cortex-A53 #1 (Power On Reset)
       11  Cortex-A53 #2 (No Power)
       12  Cortex-A53 #3 (No Power)

3. 代码 代码在psu_init.c里的函数psu_peripherals_powerdwn_data( )里。

代码语言:javascript
复制
/*
 POWER DOWN REQUEST INTERRUPT ENABLE
/
/
 
 Register : REQ_PWRDWN_INT_EN @ 0XFFD80218
 
 Power-down Request Interrupt Enable for Dual_R5
 
 PSU_PMU_GLOBAL_REQ_PWRDWN_INT_EN_RPU 1
 
 Power-down Request Interrupt Enable for GPU PP0
 
 PSU_PMU_GLOBAL_REQ_PWRDWN_INT_EN_PP0 1
 
 Power-down Request Interrupt Enable for GPU PP1
 
 PSU_PMU_GLOBAL_REQ_PWRDWN_INT_EN_PP1 1
 
 Power-down Request Interrupt Enable for ACPU2
 
 PSU_PMU_GLOBAL_REQ_PWRDWN_INT_EN_ACPU2 1
 
 Power-down Request Interrupt Enable for ACPU3
 
 PSU_PMU_GLOBAL_REQ_PWRDWN_INT_EN_ACPU3 1
 
 Power-down Request Interrupt Enable Register. Writing a 1 to this locati
 
 on will unmask the Interrupt.
 
 (OFFSET, MASK, VALUE) (0XFFD80218, 0x0000043CU ,0x0000043CU)
/
PSU_Mask_Write(PMU_GLOBAL_REQ_PWRDWN_INT_EN_OFFSET,
0x0000043CU, 0x0000043CU);
/##################################################################### */
 
/*
 POWER DOWN TRIGGER
/
/
 
 Register : REQ_PWRDWN_TRIG @ 0XFFD80220
 
 Power-down Request Trigger for Dual_R5
 
 PSU_PMU_GLOBAL_REQ_PWRDWN_TRIG_RPU 1
 
 Power-down Request Trigger for GPU PP0
 
 PSU_PMU_GLOBAL_REQ_PWRDWN_TRIG_PP0 1
 
 Power-down Request Trigger for GPU PP1
 
 PSU_PMU_GLOBAL_REQ_PWRDWN_TRIG_PP1 1
 
 Power-down Request Trigger for ACPU2
 
 PSU_PMU_GLOBAL_REQ_PWRDWN_TRIG_ACPU2 1
 
 Power-down Request Trigger for ACPU3
 
 PSU_PMU_GLOBAL_REQ_PWRDWN_TRIG_ACPU3 1
 
 Power-down Request Trigger Register. Writing a 1 to this location will t
 
 rigger a power-down request to the PMU.
 
 (OFFSET, MASK, VALUE) (0XFFD80220, 0x0000043CU ,0x0000043CU)
/
PSU_Mask_Write(PMU_GLOBAL_REQ_PWRDWN_TRIG_OFFSET,
0x0000043CU, 0x0000043CU);
/##################################################################### */
 
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-05-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. Vivado里关闭R5/A53/GPU
  • 2. JTAG检查R5/A53状态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档