REGION模块调试

Version 1.2


1. cat

  • 调试信息

    # cat /proc/mi_modules/mi_rgn0
    

  • 调试信息分析

    记录当前RGN的使用状况以及device属性可以动态地获取到这些信息,方便调试和测试

  • 参数说明

    参数 描述
    Region capability Region handle 创建region的最大数量为1024个,句柄取值为[0~1023]
    channel 最大通道数量为64个,通道取值为[0~63]
    Osd attach 每个输出端口每个通道能绑定的Osd数量上限为128个
    Cover attach 每个输出端口每个通道能绑定的Cover数量上限为4个
    Overlay Supported Format Osd支持的颜色格式:
    0: ARGB1555,宽度按2个像素对齐
    1: ARGB4444,宽度按2个像素对齐
    2: I2,宽度按4个像素对齐
    3: I4,宽度按2个像素对齐
    4:I8
    5:RGB565
    6:ARGB8888
    Osd support Width : Osd宽取值范围为1 ~ 4096
    Height :Osd高取值范围为1~ 4096
    Color key value:系统默认的colorkey的值,除了index的格式,不管osd的format是多少,只要内存中的值是此就表示colorkey
    X pos overlap: 支持多个osd在x方向上重叠。
    Overlap:osd是否支持重叠
    HW mode:Osd的frontbuff数量,目前设置为8
    Cover support Width :Osd宽取值范围为1 ~ 8192
    Height :Osd高取值范围为1~ 8192
    Overlap:Cover是否支持重叠
    Region attr Handle 句柄
    Type 类型,Osd或是Cover
    Width
    Height
    Stride 宽补齐
    Format 颜色格式[0-6],ARGB1555,ARGB4444,I2,I4,I8,RGB565,ARGB8888
    VirAddr Canvas的虚拟地址
    PhyAddr Canvas的物理地址

    参数 描述
    Channel port Info Frontbuffer info Index Frontbuffer索引
    bShow 是否显示
    OffsetX X偏移
    OffsetY Y偏移
    Width
    Height
    Stride 宽补齐
    Format 颜色格式
    VirAddr 虚拟地址
    PhyAddr 物理地址
    AlphaMode Alpha模式,指Pixel alpha还是constant alpha
    AlphaVal 如果是constant alpha,alpha的值
    BgAlpha 如果是pixle alpha,argb1555的背景alpha
    FgAlpha 如果是pixle alpha,argb1555的前景alpha
    BufCnt 通道上front buffer的个数
    OsdCnt 通道上一个front buffer由多少个back buffer拼接而成
    Attach info Handle 绑定Region句柄
    Type 绑定Region类型
    bShow 是否显示
    Layer 绑定Cover的层级
    Color 绑定Cover的颜色值
    Width
    Height
    Stride 宽补齐
    PositionX X偏移
    PositionY Y偏移
    Format 绑定Osd的颜色格式
    VirAddr 虚拟地址
    PhyAddr 物理地址
    AlphaVal 如果是constant alpha,alpha的值
    BgAlpha 如果是pixle alpha,argb1555的背景alpha
    FgAlpha 如果是pixle alpha,argb1555的前景alpha

    参数 描述
    Buffer info kmalloc Region模块内部申请内存字节数。
    mma alloc Region模块通过Sys模块申请内存字节数。

2. echo

功能 Dump指定Region的buffer
命令 echo dumpRgnBuf [Handle] [Path] > /proc/mi_modules/mi_rgn/mi_rgn0
参数说明 [Handle] region句柄
[Path] 保存dump数据的路径。保存内容为region的canvas内容
举例 echo dumpRgnBuf 0 /mnt > /proc/mi_modules/mi_rgn0 在/mnt 下产生文件 Rgn0_canvasInfo_fmt0_64X48 表示dump句柄为0,颜色格式为ARGB1555,Stride为64,高为48的region的canvas数据 文件格式为Rgn[Handle]canvasInfo_fmt[Format][Stride]X[Height] [Handle]: region句柄。 [Format]:颜色格式,ARGB1555为0,ARGB4444为1,I2为2,I4为3。 [Stride]:宽补齐 [Height]:高
功能 Dump指定channel和port的frontbuffer
命令 echo dumpFrontBuf [ModId] [DevId] [ChnID] [PortID] [Path] > /proc/mi_modules/mi_rgn/mi_rgn0
参数说明 [ModId] 模块号,参考mi_common_datatype.h中的模块定义枚举值
[DevId] 模块的设备号
[ChnID] 通道号 [0 ~ 63]
[PortID] 端口号 [0~3]
[Path] 保存dump数据的路径。会根据当前实际使用的frontbuffer数量生成0 ~ 2个文件
举例 echo dumpFrontBuf 34 1 0 0 /mnt > /proc/mi_modules/mi_rgn/mi_rgn0
在/mnt下产生 Mod34_Dev1_Chn0_Port0_frontbuf0_fmt0_64X48, 表示dump通道为0,输出端口为34号端口,索引为0的frontbuffer的数据,颜色格式为ARGB1555,Stride为64,高为48
文件格式
Mod[ModId]Dev[DevId]_Chn[Channel]_Port[Port]_frontbuf
[Index]_fmt[Format]
[Stride]X[Height]
[ModId] 输出模块号。
[DevId] 输出模块的设备号
[Channel] 通道号。
[Port] 输出端口。
[Index] frontbuffer索引号。
[Format] 颜色格式,ARGB1555为0,ARGB4444为1,I2为2,I4为3。
[Stride] 宽补齐
[Height] 高
功能 获取region能力级信息
命令 echo getcap > /proc/mi_modules/mi_rgn/mi_rgn0
参数说明
举例
功能 获取已创建region信息
命令 echo dumprgn > /proc/mi_modules/mi_rgn/mi_rgn0
参数说明
举例
功能 获取channel和port的信息
命令 echo dumpchport > /proc/mi_modules/mi_rgn/mi_rgn0
参数说明
举例
功能 获取内存使用信息
命令 echo bufcnt > /proc/mi_modules/mi_rgn/mi_rgn0
参数说明
举例
功能 开关某个gwin
命令 echo setDispOnOff [ModId] [DevId] [ChnID] [PortID] [Idx] [OnOff] > /proc/mi_modules/mi_rgn/mi_rgn0
参数说明 [ModId] 模块号,参考mi_common_datatype.h中的模块定义枚举值。
[DevId] 模块的设备号
[ChnID] 通道号 [0 ~ 63]
[PortID] 端口号 [0~3]
[Idx] 当前通道上osd显示gwin的序号。
[OnOff] 是否开关,0表示关、1表示开。
举例 echo setDispOnOff 34 1 0 0 0 0 > /proc/mi_modules/mi_rgn/mi_rgn0
功能 强制更新osd的back buffer
命令 echo forceUpdate [handle] > /proc/mi_modules/mi_rgn/mi_rgn0
参数说明 [handle] Osd hander。
举例 echo forceUpdate 0 > /proc/mi_modules/mi_rgn/mi_rgn0
功能 设置显示front buffer的个数
命令 echo setFbListMaxCnt [ModId] [DevId] [ChnID] [PortID] [SetByUsr] [Cnt] > /proc/mi_modules/mi_rgn/mi_rgn0
参数说明 [ModId] 模块号,参考mi_common_datatype.h中的模块定义枚举值。
[DevId] 模块的设备号
[ChnID] 通道号 [0 ~ 63]
[PortID] 端口号 [0~3]
[SetByUsr] 是否通过手动设置,1:是,0:否,系统默认是0;
[Cnt] 若是手动设置,则front buffer用于显示的个数,此设定设置完后会在Frontbuffer info的BufCnt中查看到
举例 echo setFbListMaxCnt 34 1 0 0 1 3 > /proc/mi_modules/mi_rgn/mi_rgn0