# FB 旋转测试程序 ## 功能说明 这是一个专门用于测试 Framebuffer 旋转功能的简化程序,不包含视频播放功能。 ## 测试内容 1. **Framebuffer 旋转配置** - 测试 90° 旋转是否正确应用 2. **图形显示** - 测试旋转后的图形是否正确显示 3. **方向验证** - 通过彩色方块和文字标签验证旋转方向 ## 测试图案说明 程序会显示以下测试图案: - **四个角的彩色方块**: - 左上角:红色 (RED) - 右上角:绿色 (GREEN) - 左下角:蓝色 (BLUE) - 右下角:黄色 (YELLOW) - **方向指示文字**: - TOP(顶部) - BOTTOM(底部) - LEFT(左侧) - RIGHT(右侧) - **中心文字**:ROTATION TEST - **旋转角度信息**:显示当前旋转角度 - **十字参考线**:水平和垂直中心线 ## 编译方法 ```bash cd /home/hyx/4.5/4.5_demo chmod +x build.sh ./build.sh ``` ## 运行方法 ### 1. 准备配置文件 在设备上创建 `/data/config/param.ini`: ```ini show_hor = 1 ``` 参数说明: - `0` = 0° (竖屏,无旋转) - `1` = 90° (横屏,顺时针旋转) - `2` = 180° (倒置) - `3` = 270° (逆时针旋转) ### 2. 上传并运行 ```bash # 上传到设备 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 ``` 运行后可以通过以下命令验证: ```bash 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 旋转功能 - ✅ 保留了图形显示功能 - ❌ 移除了视频播放功能 - ❌ 移除了网络下载功能 - ❌ 移除了播放列表功能 - ✅ 添加了详细的测试图案 - ✅ 添加了清晰的调试输出