前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux系统驱动之编写使用多buffer的应用程序

Linux系统驱动之编写使用多buffer的应用程序

作者头像
韦东山
发布2021-12-08 10:37:13
5750
发布2021-12-08 10:37:13
举报
文章被收录于专栏:韦东山嵌入式

资料下载

coding无法使用浏览器打开,必须用git工具下载:

代码语言:javascript
复制
git clone https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git

视频观看

百问网驱动大全

编写使用多buffer的应用程序

  • 本节视频编写好的程序,在GIT仓库里
    • IMX6ULL\source\03_LCD\14_use_multi_framebuffer
    • STM32MP157\source\A7\03_LCD\14_use_multi_framebuffer
  • 参考程序:应用基础课程里使用Framebuffer的精简程序
    • IMX6ULL\source\03_LCD\14_use_multi_framebuffer\reference\07_framebuffer
    • STM32MP157\source\A7\03_LCD\14_use_multi_framebuffer\reference\07_framebuffer
  • 参考程序:使用多buffer的APP,在GIT仓库里
    • IMX6ULL\source\03_LCD\13_multi_framebuffer_example\testcamera
    • STM32MP157\source\A7\03_LCD\13_multi_framebuffer_example\testcamera

1. 编写一个支持单buffer、多buffer的APP

循环显示整屏幕的红、绿、蓝、黑、白。

2. 编译程序

2.1 设置工具链
2.2 编译

设置好工具链后,把14_use_multi_framebuffer上传到Ubuntu,在该目录下执行make即可

3. 上机测试

3.1 恢复内核使用自带的LCD驱动
  • 恢复驱动程序:修改drivers/video/fbdev/Makefile,恢复内核自带的mxsfb.c,如下:
代码语言:javascript
复制
obj-$(CONFIG_FB_MXS)             += mxsfb.o
#obj-$(CONFIG_FB_MXS)             += lcd_drv.o
3.2 禁止开发板自带的GUI程序

在开发板上执行以下命令:

代码语言:javascript
复制
[root@100ask:~]# mv /etc/init.d/S99myirhmi2 /etc/
[root@100ask:~]# reboot
3.3 把测试程序放到板子上、执行

以下命令在开发板中执行。

4. LCD自动黑屏

为了省电,LCD在10分钟左右会自动黑屏。 如果你正在运行multi_framebuffer_test程序,可能会有如下提示(以IMX6ULL为例):

代码语言:javascript
复制
[  961.147548] mxsfb 21c8000.lcdif: can't wait for VSYNC when fb is blank

这表示:当屏幕为blank(黑屏)时,无法等待VSYNC。

我们可以禁止LCD自动黑屏,执行以下命令即可:

代码语言:javascript
复制
#close lcd sleep
echo -e "\033[9;0]" > /dev/tty1
echo -e "\033[?25l"  > /dev/tty1
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/08/25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 资料下载
  • 视频观看
  • 编写使用多buffer的应用程序
    • 1. 编写一个支持单buffer、多buffer的APP
      • 2. 编译程序
        • 2.1 设置工具链
        • 2.2 编译
      • 3. 上机测试
        • 3.1 恢复内核使用自带的LCD驱动
        • 3.2 禁止开发板自带的GUI程序
        • 3.3 把测试程序放到板子上、执行
      • 4. LCD自动黑屏
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档