| build-arm-Release | ||
| extern/qlibquammapi | ||
| include | ||
| lvgl | ||
| src | ||
| 02_fixed.gif | ||
| build.sh | ||
| CMakeLists.txt | ||
| deploy.sh | ||
| logo.argb | ||
| logo.png | ||
| lv_conf.h | ||
| README.md | ||
| toolchain-arm.cmake | ||
FB 旋转测试程序
功能说明
这是一个专门用于测试 Framebuffer 旋转功能的简化程序,不包含视频播放功能。
测试内容
- Framebuffer 旋转配置 - 测试 90° 旋转是否正确应用
- 图形显示 - 测试旋转后的图形是否正确显示
- 方向验证 - 通过彩色方块和文字标签验证旋转方向
测试图案说明
程序会显示以下测试图案:
-
四个角的彩色方块:
- 左上角:红色 (RED)
- 右上角:绿色 (GREEN)
- 左下角:蓝色 (BLUE)
- 右下角:黄色 (YELLOW)
-
方向指示文字:
- TOP(顶部)
- BOTTOM(底部)
- LEFT(左侧)
- RIGHT(右侧)
-
中心文字:ROTATION TEST
-
旋转角度信息:显示当前旋转角度
-
十字参考线:水平和垂直中心线
编译方法
cd /home/hyx/4.5/4.5_demo
chmod +x build.sh
./build.sh
运行方法
1. 准备配置文件
在设备上创建 /data/config/param.ini:
show_hor = 1
参数说明:
0= 0° (竖屏,无旋转)1= 90° (横屏,顺时针旋转)2= 180° (倒置)3= 270° (逆时针旋转)
2. 上传并运行
# 上传到设备
scp build-arm-Release/rotation_test root@10.10.12.107:/data/
# 在设备上运行
chmod +x /data/rotation_test
/data/rotation_test
预期结果
如果 show_hor = 1 (90° 旋转)
物理屏幕应该显示:
- 红色方块 在物理屏幕的 左上角
- 绿色方块 在物理屏幕的 左下角
- 蓝色方块 在物理屏幕的 右上角
- 黄色方块 在物理屏幕的 右下角
- "TOP" 文字指向物理屏幕的 左侧
- "BOTTOM" 文字指向物理屏幕的 右侧
Framebuffer 信息验证
程序启动时会打印:
Setting FB rotation: 1 (0=0°, 1=90°, 2=180°, 3=270°)
Resolution: 480x856
Virtual: 480x1712
FB actual: 480x856, smem_len=..., line_length=1920
运行后可以通过以下命令验证:
fbset -fb /dev/fb0
cat /sys/class/graphics/fb0/virtual_size
应该显示:
- geometry: 480 856 480 1712 32
- virtual_size: 480,1712
退出程序
按 Ctrl+C 退出程序
调试信息
程序会输出详细的调试信息,包括:
- 旋转配置读取
- Framebuffer 初始化
- 显示设备创建
- 测试图案创建
文件结构
4.5_demo/
├── CMakeLists.txt # CMake 配置
├── toolchain-arm.cmake # 交叉编译工具链
├── lv_conf.h # LVGL 配置
├── build.sh # 编译脚本
├── README.md # 说明文档
├── include/
│ ├── rotation_test.h # 主头文件
│ └── display/
│ └── fbdev.h # Framebuffer 接口
└── src/
├── main.c # 主程序
├── rotation_test.c # 显示初始化
└── display/
└── fbdev_10xd.c # Framebuffer 驱动
故障排查
1. 编译失败
- 检查交叉编译工具链是否正确安装
- 检查
/opt/qua/qm10xd_linux路径是否存在
2. 运行时黑屏
- 检查
/data/config/param.ini是否存在 - 检查 framebuffer 设备
/dev/fb0是否可访问 - 查看程序输出的调试信息
3. 旋转方向不对
- 修改
param.ini中的show_hor值 - 或修改
src/rotation_test.c中的g_screen_rotation默认值
与原程序的区别
相比 0212 目录的完整程序:
- ✅ 保留了 FB 旋转功能
- ✅ 保留了图形显示功能
- ❌ 移除了视频播放功能
- ❌ 移除了网络下载功能
- ❌ 移除了播放列表功能
- ✅ 添加了详细的测试图案
- ✅ 添加了清晰的调试输出