基于linux5.15.5的IMX 参考手册 ---20
Posted chocolate2018
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于linux5.15.5的IMX 参考手册 ---20相关的知识,希望对你有一定的参考价值。
基于linux5.15.5的IMX 参考手册 — 20
10.2.3 MMDC
10.2.3.1测试名称
•mmdc2
10.2.3.1.1位置
/ unit_test / MMDC /
10.2.3.1.2功能
MMDC分析实用程序。
10.2.3.1.3配置
以下参数允许自定义mmcd2测试:
•导出MMDC_SLEEPTIME -定义分析持续时间(默认为500ms)
•导出MMDC_LOOPCOUNT -定义分析次数(默认为1,-1表示无限循环)
•导出MMDC_CUST_MADPCR1 -定制madpcr1
10.2.3.1.4用例和预期输出
预期的输出将打印分析结果
./mmdc2 [ARM:DSP1:DSP2:GPU2D:GPU2D1:GPU2D2:GPU3D:GPU3D2:GPUVG:VPU:M4:PXP:USB:SUM]
10.2.4 SATA
10.2.4.1测试名称
•autorun-ata.sh
10.2.4.1.1位置
/ unit_test / SATA /
10.2.4.1.2功能
这个测试将数据写入与i.MX板上的SATA连接器相连的SATA驱动器。然后读取数据并与写入的数据进行比较。
10.2.4.1.3配置
需要的模块:pata_fsl.ko。硬件要求:SATA硬盘。只有i.MX 6 Quad和QuadPlus支持SATA。
10.2.4.1.4用例和预期输出
./autorun-ata.sh
Expected output
Test should return “HDD test passes” if successful.
10.3连接
10.3.1 ECSPI (Enhanced可配置串行外设接口)
10.3.1.1测试名称
•mxc_spi_test1.out
10.3.1.1.1位置
/unit_test / ECSPI /
10.3.1.1.2功能
该测试将最后一个参数的字节发送到特定的SPI设备。对于每个字小于8(包括8)的位,最大传输字节为4096字节;对于每个字介于9到16之间的位,最大传输字节为2048字节;对于每个字大于17(包括17)的位,最大传输字节为1024字节。
SPI将从用户接收到的数据写入Tx FIFO,并等待Rx FIFO中的数据。一旦数据在Rx FIFO中准备好,它就被读取并发送给用户。
10.3.1.1.3配置
对于i.MX 6QuadPlus/Quad/Dual自动板,这需要ecspi设备树。默认设备树禁用此功能。
10.3.1.1.4用例和预期输出
./mxc_spi_test1.out -D 0 -s 1000000 -b 8 E6E0
./mxc_spi_test1.out -D 1 -s 1000000 -b 8 -H -O -C E6E0E6E00001E6E00000
Usage:
./mxc_spi_test1.out [-D spi_no] [-s speed] [-b bits_per_word] [-H] [-O] [-C] $lt;value>
<spi_no> - CSPI Module number in [0, 1, 2]
<speed> - Max transfer speed
<bits_per_word> - bits per word
-H - Phase 1 operation of clock
-O - Active low polarity of clock
-C - Active high for chip select
<value> - Actual values to be sent
10.3.2 ETM
10.3.2.1测试名称
•etm
10.3.2.1.1位置
/unit_test /ETM/
10.3.2.1.2功能
嵌入式跟踪Macrocell, ETM是一个可选的调试组件,它支持程序执行的重构。ETM被设计为只支持指令跟踪的高速、低功耗调试工具。这确保了最小化区域,减少了门的数量。
10.3.2.1.3配置
10.3.2.1.4用例和预期输出
# ./etm -h
Usage: ./etm [options]
Options:
--etm-3.3 ETM v3.3 trace data
--etm-3.4-alt-branch ETM v3.4 trace data with alternative branch encoding
--pft-1.1 PFT v1.1 trace data
--cycle-accurate Cycle-accurate tracing was enabled (Default 1)
--contextid-bytes Number of Context ID bytes (Default 4)
--formatter Enable Formatter Unpacking
--sourceid-match Enable Source ID from formatter. Also enables formatter
--print-long-waits Highlight long waits
--print-input Print input data
--print-config Print configuration data
--help Print usage information
10.3.3 Inter-IC (I2C)
10.3.3.1测试名称
•mxc_i2c_slave_test.out
10.3.3.1.1位置
/unit_test /I2C/
10.3.3.1.2功能
10.3.3.1.3配置
没有
10.3.3.1.4用例和预期输出
10.3.4 IIM
10.3.4.1测试名称
•mxc_iim_test.out
10.3.4.1.1位置
/unit_test /IIM_Driver/
10.3.4.1.2功能
该测试可以从bank读取iim值或将值融合到bank
10.3.4.1.3配置
没有
10.3.4.1.4用例和预期输出
对于读取和融合测试,输入值都应该是十六进制格式的。
Below is the usage for the read case.
./mxc_iim_test read -d <bank_addr>
<bank_addr> - bank address in fuse map file.
read - Indicate that this is a read operation.
Example:
./mxc_iim_test.out read -d 0xc30
Below is the usage for the fuse case.
./mxc_iim_test fuse -d <bank_addr> -v <value>
<bank_addr> - bank address in fuse map file.
<value> - Value to be writen to a bank.
fuse - Indicate that this is a write operation.
Example:
./mxc_iim_test.out fuse 0xc30 -v 0x40
10.3.5键盘
10.3.5.1测试名称
•autorun-keypad.sh
•mxc_keyb_test.sh
10.3.5.1.1位置
/unit_tests/Keyboard/
10.3.5.1.2功能
通过USB测试键盘输入。
10.3.5.1.3配置
将键盘连接到USB OTG端口。
10.3.5.1.4用例和预期输出
./autorun-keypad.sh
Outputs:
Print “PASS” status
./mxc_keyb_test.sh
Output:
An event will occur when a key is pressed
10.3.6低功耗通用异步收发器(LPUART)
10.3.6.1测试名称
•autorun-mxc_uart.sh
•mxc_uart_stress_test.out
•mxc_uart_test.out
•mxc_uart_xmit_test.out
10.3.6.1.1位置
/unit_test/UART/
10.3.6.1.2功能
这些测试使用底层UART驱动程序,该驱动程序负责向核心UART驱动程序提供UART端口信息和一组控制功能等信息。
10.3.6.1.3配置
没有
10.3.6.1.4用例和预期输出
./autorun-mxc_uart.sh
./mxc_uart_stress_test.out /dev/ttymxc#
./mxc_uart_test.out /dev/ttymxc#
./mxc_uart_xmit_test.out /dev/ttymxc#
10.3.7 USB
10.3.7.1测试名称
•autorun-usb-gadget.sh
•autorun-usb-host.sh
10.3.7.1.1位置
/unit_test/USB/
10.3.7.1.2功能
这个测试练习了通用串行总线(USB)驱动程序,它实现了到CHIPIDEA USB-HS OTG控制器的标准Linux驱动程序接口。USB提供了一个通用链接,可以跨广泛的pc到外围设备互连使用。它支持即插即用,端口扩展,以及使用相同类型端口的任何新的USB外设。
10.3.7.1.3配置
模块要求:
• /lib/modules/
(
k
e
r
n
e
l
v
e
r
s
i
o
n
)
/
k
e
r
n
e
l
/
d
r
i
v
e
r
s
/
u
s
b
/
g
a
d
g
e
t
/
g
e
t
h
e
r
.
k
o
•
/
l
i
b
/
m
o
d
u
l
e
s
/
(kernel_version)/kernel/drivers/usb/gadget/g_ether.ko • /lib/modules/
(kernelversion)/kernel/drivers/usb/gadget/gether.ko•/lib/modules/(kernel_version)/kernel/drivers/usb/gadget/arcotg_udc.ko
• /lib/modules/$(kernel_version)/kernel/drivers/usb/host/ehci-hcd.ko
10.3.7.1.4用例和预期输出
./autorun-usb-gadget.sh
or
./autorun-usb-host.sh
10.4图形
10.4.1 GPU (Graphics Processing Unit)
10.4.1.1测试名称
•gpu.sh
•gpuinfo.sh
10.4.1.1.1位置
/unit_test/GPU
10.4.1.1.2功能
GPU功能测试
•tutorial3:测试OpenGL ES 1.1的基本功能
•tutorial4_es20:测试OpenGL ES 2.0的基本功能
•tiger:测试OpenVG 1.1基本功能
•tvui:测试Raster 2D和LibVivanteDK API
10.4.1.1.3配置
为了使gpu.sh和gpuinfo.sh正常工作,在目标板的defconfig文件中添加以下行:
•CONFIG_MXC_GPU_VIV = y
硬件要求:LVDS显示面板和i.MX SoC与GPU
10.4.1.1.4用例和预期输出
./gpu.sh
-预期输出是帧在屏幕上正确绘制
•tutorial3:一个纹理在屏幕中间旋转的立方体
•tutorial4_es20:在一个大球体中绘制一个玻璃球(环境映射)。玻璃球具有反射和折射效应。
• tiger:在屏幕上旋转的老虎。
•tvui:绘制几个电影剪辑和一个电视控制面板。
示例输出如下:
# ./gpu.sh
---- Running < gpu.sh > test ----
/unit_tests/GPU /unit_tests/GPU
Rendered 100 frames in 624 milliseconds: 160.26 fps
id=43, a,b,g,r=0,8,8,8, d,s=16,0, AA=0,openvgbit=71
frames:100 -- fps:58.997051
press ESC to escape...
./gpu.sh: line 28: cd: /opt/viv_samples/hal/: No such file or directory
/unit_tests/GPU
---- Test < gpu.sh > ended ----
./gpuinfo.sh
—控制台打印GPU信息。
# ./gpuinfo.sh
---- Running < gpuinfo.sh > test ----
GPU Info
gpu : 0
model : 2000
revision : 5108
product : 0
eco : 0
gpu : 8
model : 320
revision : 5007
product : 0
eco : 0
gpu : 9
model : 355
revision : 1215
product : 0
eco : 0
VIDEO MEMORY:
gcvPOOL_SYSTEM:
Free : 134217728 B
Used : 0 B
Total : 134217728 B
gcvPOOL_CONTIGUOUS:
Used : 0 B
gcvPOOL_VIRTUAL:
Used : 0 B
NON PAGED MEMORY:
Used : 0 B
Paged memory Info
lowMem: 0 bytes
highMem: 0 bytes
CMA memory info
cma: 138485760 bytes
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Idle percentage:0.000.000.000.000.000.00%
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
---- Test < gpuinfo.sh > ended ----
10.5视频
10.5.1显示
10.5.1.1测试名称
•autorun-fb.sh
•mxc_tve_test.sh
•mxc_fb_test.out
•mxc_epdc_fb_test.out
•mxc_epdc_v2_fb_test.out
•mxc_spdc_fb_test.out
•mxc_fb_vsync_test.out
10.5.1.1.1位置
/unit_tests/Display/
10.5.1.1.2功能
显示目录下的测试测试i.MX系列板可用的一些显示选项。一些可测试的设备包括LVDS、HDMI和EPDC面板。特别是’mxc_fb_test.out’测试以下功能:
•基本fb操作
•设置背景/前景为16 bpp fb
•全局alpha混合
•颜色键测试
•帧缓冲平移
•伽马测试
此外,EPDC测试的’mxc_epdc_fb_test.out’ 和’mxc_epdc_v2_fb_test.out’测试以下功能:
•基本更新
•轮转更新
•灰度帧缓冲区更新
•自动波形选择更新
•平移更新
•覆盖更新
•自动更新
•动画模式更新
•快速更新
•部分更新到完全更新转换
•测试像素移动效果
•色彩地图更新
•碰撞测试模式
•压力测试
•RGB565, Y8 framebuffer格式
•0、90、180、270度帧缓冲区旋转
•帧缓冲平移
•使用备用framebuffer
•自动波形模式选择
•自动更新模式
•强制单色更新功能和动画模式更新
•支持使用灰度彩色地图
•快照、队列、队列和合并更新方案
•EPDC碰撞测试模式
10.5.1.1.3配置
为了运行一些测试,需要更改目标板的defconfig文件。这些更改将添加以下测试所依赖的功能。
对于autorun-fb.sh, ‘mxc_fb_test.out’ 和’mxc_fb_vsync_test.out’在目标板的defconfig文件中添加以下内容:
CONFIG_FB=y
CONFIG_FB_MXC=y
CONFIG_FB_MXC_EDID=y
CONFIG_FB_MXC_SYNC_PANEL=y
CONFIG_FB_MXC_LDB=y
CONFIG_FB_MXC_HDMI=y
'mxc_epdc_fb_test.out' 和'mxc_epdc_v2_fb_test.out'在目标板的defconfig文件中添加以下内容:
CONFIG_FB=y
CONFIG_FB_MXC=y
CONFIG_FB_MXC_EINK_PANEL=y
CONFIG_MFD_MAX17135=y
CONFIG_REGULATOR_MAX17135=y
CONFIG_MXC_PXP=y
CONFIG_DMA_ENGINE=y
10.5.1.1.4用例和预期输出
# ./autorun-fb.sh
预期输出为:
---- Running < autorun-fb.sh > test ----
Checking for devnode: /dev/fb0
autorun-fb.sh: PASS devnode found: /dev/fb0
FB Blank test
Screen should be off
FB Color test
Setting FB to 16-bpp
Setting FB to 24-bpp
Setting FB to 32-bpp
FB panning test
autorun-fb.sh: Exiting PASS
Exiting PASS.
# ./mxc_tve_test.sh
预期输出为:
---- Running < mxc_tve_test.sh > test ----
Setting TV to NTSC mode
/unit_tests/Display/mxc_tve_test.sh: line 9: echo: write error: Invalid argument
/unit_tests/Display/mxc_tve_test.sh: line 11: /unit_tests/mxc_v4l2_output.out: No such
file or directory
Blank the display
Unblank the display
Setting TV to PAL mode
/unit_tests/Display/mxc_tve_test.sh: line 22: echo: write error: Invalid argument
/unit_tests/Display/mxc_tve_test.sh: line 23: /unit_tests/mxc_v4l2_output.out: No such
file or directory
Blank the display
Unblank the display
# ./mxc_fb_test.out
预期输出如下所示。测试应该通过,没有任何失败消息,面板上的显示应该是正确的。
对于每个测试,应该在屏幕上反映一个更新序列。对于几乎所有测试,在调试控制台中打印出来的文本描述了应该在屏幕上观察到的图像。对于i.MX6Quad, fb0和fb1用于测试,fb0是背景帧缓冲区,fb1是前景覆盖帧缓冲区。
Opened fb: /dev/fb0 (DISP4 BG - DI1)
DISP4 BG - DI1: screen info: 1024x768 (virtual: 1024x1536) @ 32-bpp
Opened fb: /dev/fb1 (DISP4 FG)
DISP4 FG: screen info: 240x320 (virtual: 240x960) @ 16-bpp
@DISP4 BG - DI1: Set colorspace to 16-bpp
@DISP4 FG: Set colorspace to 16-bpp
Prepared DISP4 BG - DI1 (black) and DISP4 FG (white). Verify the screen and press any
key to continue!
@DISP4 BG - DI1: Succesfully changed screen to 1024x768 (virtual: 1024x768) @16-bpp
@DISP4 FG: Succesfully changed screen to 240x320 (virtual: 240x320) @16-bpp
Testing global alpha blending...
Fill the FG in black (screen is 240x320 @ 16-bpp)
Fill the BG in white (screen is 1024x768 @ 16-bpp)
Alpha is 0, FG is opaque
Alpha is 255, BG is opaque
Color key enabled
Color key disabled
Global alpha disabled
Pan test start.
@DISP4 FG: Set the colorspace to 16-bpp
Pan test done.
@DISP4 BG - DI1: Set colorspace to 16-bpp
Pan test start.
@DISP4 BG - DI1: Set the colorspace to 16-bpp
Pan test done.
Gamma test start.
Gamma 0.800000
Gamma 1.000000
Gamma 1.500000
Gamma 2.200000
Gamma 2.400000
Gamma test end.
Test bpp start
@DISP4 BG - DI1: Set colorspace to 32-bpp
@DISP4 BG - DI1: Fill the screen in red
@DISP4 BG - DI1: Set colorspace to 24-bpp
@DISP4 BG - DI1: Fill the screen in blue
@DISP4 BG - DI1: Set colorspace to 16-bpp
@DISP4 BG - DI1: Fill the screen in green
Test bpp end
# ./mxc_epdc_fb_test.out [-h] [-a] [-n]
EPDC framebuffer driver test program.
Usage: mxc_epdc_fb_test [-h] [-a] [-p delay] [-u s/q/m] [-n <expression>]
-h Print this message
-a Enabled animation waveforms for fast updates (tests 8-9)
-p Provide a power down delay (in ms) for the EPDC driver
0 - Immediate (default)
-1 - Never
<ms> - After <ms> milliseconds
-u Select an update scheme
s - Snapshot update scheme
q - Queue update scheme
m - Queue and merge update scheme (default)
-n Execute the tests specified in expression
Expression is a set of comma-separated numeric ranges
If not specified, all tests except Stress are run
Example:
./mxc_epdc_fb_test.out -n 1-3,5,7
EPDC tests:
1 - Basic Updates
2 - Rotation Updates
3 - Grayscale Framebuffer Updates
4 - Auto-waveform Selection Updates
5 - Panning Updates
6 - Overlay Updates
7 - Auto-Updates
8 - Animation Mode Updates
9 - Fast Updates
10 - Partial to Full Update Transitions
11 - Test Pixel Shifting Effect
12 - Colormap Updates
13 - Collision Test Mode
14 - Stress Test
15 - Dithering Y8->Y1 Test
16 - Dithering Y8->Y4 Test
17 - Hardware Dithering Test
18 - Advanced Algorithm Test
完整的测试集应该在没有任何失败消息的情况下通过。对于每个测试,应该在屏幕上反映一个更新序列。对于几乎所有测试,在调试控制台中打印出来的文本描述了应该在屏幕上观察到的图像。
mxc_epdc_v2_fb_test.out:完整的测试集应该在没有任何失败消息的情况下通过。对于每个测试,应该在屏幕上反映一个更新序列。对于几乎所有测试,在调试控制台中打印出来的文本描述了应该在屏幕上观察到的图像。
# ./mxc_spdc_fb_test.out
---- Running < ./mxc_spdc_fb_test.out > test ----
Unable to open /dev/fb5
# ./mxc_fb_vsync_test.out
Usage:
/unit_tests/Display# ./mxc_fb_vsync_test.out <fb #> <count>
<fb #> the framebuffer number
<count> the frames to be rendered
Example:
/unit_tests/Display# echo 0 > /sys/class/graphics/fb0/blank
/unit_tests/Display# ./mxc_fb_vsync_test.out 0 100
当< count >参数使用100时,预期输出如下所示
total time for 100 frames = 1655674 us = 60 fps
以上是关于基于linux5.15.5的IMX 参考手册 ---20的主要内容,如果未能解决你的问题,请参考以下文章