fb直接渲染

2023-10-26

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <getopt.h>
#include <fcntl.h>
#include <unistd.h>
#include <errno.h>
#include <malloc.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/time.h>
#include <sys/mman.h>
#include <sys/ioctl.h>
#include <asm/types.h>
#include <linux/videodev2.h>

#include <linux/fb.h>


static void main(struct fb_var_screeninfo *vinfo)

{
    int fbfd = 0;
    unsigned long screensize = 0;

    // Open the file for reading and writing
    fbfd = open("/dev/fb0", O_RDWR);
    if (!fbfd) {
        printf("Error: cannot open framebuffer device.\n");
        exit(1);
    }
    printf("The framebuffer device was opened successfully.\n");

    // Get variable screen information
    if (ioctl(fbfd, FBIOGET_VSCREENINFO, vinfo)) {
        printf("Error reading variable information.\n");
        exit(1);
    }

    printf("%dx%d, %dbpp\n", vinfo->xres, vinfo->yres, vinfo->bits_per_pixel);
//    if (vinfo.bits_per_pixel != 16) {
//        printf("Error: not supported bits_per_pixel, it only supports 16 bit color\n");
//        exit(1);
//    }

    // Figure out the size of the screen in bytes
    screensize = vinfo->xres * vinfo->yres * 4;
    printf("screensize %d\n", screensize);
    // Map the device to memory
    fbp = (char *)mmap(0, screensize, PROT_READ | PROT_WRITE, MAP_SHARED,
        fbfd, 0);
    if ((int)fbp == -1) {
        printf("Error: failed to map framebuffer device to memory.\n");
        exit(4);
    }
    printf("The framebuffer device was mapped to memory successfully.\n");

}


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

fb直接渲染 的相关文章

随机推荐

  • 理解广度优先遍历(持续更新)

    文章的目录如下方便翻阅 广度优先搜索 BFS 如何实现广度优先搜索 简单的描述广度优先搜索的大致过程 下面结合例题理解广度优先搜索 广度优先遍历在树中的应用 广度优先遍历在数组中的应用 last 广度优先搜索 BFS 如何理解广度优先搜索
  • 传统图像处理算法总结

    1 图像滤波 目的 保证图像细节特征的条件下抑制图像噪声 1 1 线性滤波 1 11 方框滤波 原图像与内核的系数加权求和 方框滤波的核 normalize true 时 方框滤波就变成了均值滤波 也就是说 均值滤波是方框滤波归一化 nor
  • 【Java】【排序算法】【冒泡排序】(代码示例)

    文章目录 冒泡排序概念 冒泡排序的实现步骤如下 以下是冒泡排序的Java实现代码 总结 冒泡排序概念 冒泡排序 Bubble Sort 是一种简单的排序算法 它重复地遍历待排序的列表 每次比较相邻的两个元素 并交换它们的位置 直到整个列表排
  • Docker 如何保存对容器的修改

    1 docker ps 查看正在运行的容器 2 docker exec it d81abcfd2e3b bash 进入正在运行的容器内 3 进入容器后 就可以修改镜像了 比如修改镜像中已经部署的代码或者安装新的软件或包等 修改完成之后 ex
  • 【Hibernate】Hibernate.cfg.xml配置文件详解

    Hibernate配置文件主要用于配置数据库连接和Hibernate运行时所需的各种属性 这个配置文件应该位于应用程序或Web程序的类文件夹 classes中 Hibernate配置文件支持两种形式 一种是xml格式的配置文件 另一种是Ja
  • linux下安装Tkinter及python升级

    1 首先安装Tkinter模块 yum y install tkinter 在python下运行import Tkinter发现正确 但是使用的是默认版的python2 4 3 5 再次运行import Tkinter后报错 Type he
  • java中的输入输出

    java与C语言和C 不同 java的输入输出比较复杂 下面我将来介绍一下java的输入输出 输出 java中有三种方法进行输出 class Main public static void main String args System o
  • iview table使用自定义按钮取消某个选中的单项

    实现效果 选中选项后然后弹出选中的选项框 点击删除按钮删除某一个选项 table中的选中状态也随之变化 ivew坑 给data设置 checked其实对table上的checkBox并没有作用 用js给data数据设置该属性并没有作用 具体
  • 标准的遗传算法求函数最大值

    最近看了下遗传算法 刚看了一点 就觉得手痒 非要把程序编制出来看看效果 我现在总认为那些理论再高深 无法用计算机实现就是空话 呵呵 下面是我调试了好久的代码 无赖没有学过数据结构 算法 程序写的很差 单效果还是出来了 高兴 和大家共同分享下
  • ipmitool工具的安装遇到的问题

    1 从https gitee com mirrors ipmitool git下载ipmitool源码 https gitee com mirrors ipmitool git 因为官网的下载速度比较慢 推荐使用gitee下载 2 进行编译
  • python练习题之

    本文来源于公众号 csdn2299 喜欢可以关注公众号 程序员学府 安装Tornado 省事点可以直接用grequests库 下面用的是tornado的异步client 异步用到了tornado 根据官方文档的例子修改得到一个简单的异步爬虫
  • android 打砖块教程,少儿编程教程:设计打砖块游戏。

    凤县微课堂 你我共成长 愿以此小小的平台 助你成就更好的自己 第二百零七期 少儿编程教程 第5讲 设计打砖块游戏 创建一个小球的角色 在运动选项中选择 碰到边缘就反弹 当角色运动到窗口的边缘 就会反弹运动 在控制选项中选择重复执行 并在运动
  • 五线谱音名和组别对照表_五线谱简谱对照表

    五线谱与钢琴对照表 五线谱与钢琴对照表 一 以下图示五条线 就是五线谱 分一 二 三 四 五条线 二 五条线中间的空白处为间 共有四间 三 放在五线谱开头 分别为高音谱号和低音谱号 四 五线谱 简谱音阶对照示意图 五 简谱唱法与五线谱的音名
  • 网页搜索指定网站内容site

    查询资料时指定查询某一个网站使用 site 参数site空格 指定网站域名 搜索内容 例如 site csdn php
  • 华为OD机试 - 两数之和绝对值最小(Java)

    题目描述 给定一个从小到大的有序整数序列 存在正整数和负整数 数组 nums 请你在该数组中找出两个数 其和的绝对值 nums x nums y 为最小值 并返回这个绝对值 每种输入只会对应一个答案 但是 数组中同一个元素不能使用两遍 输入
  • Dropout层到底在干些什么(Pytorch实现)

    Dropout 一 基本概念 二 Dropout工作原理 1 Dropout工作流程 2 Dropout如何缓解过拟合 3 Dropout实际实现 三 Pytorch实现 1 实际实现方式 训练模式下 2 调用方式 3 参数解析 4 实例
  • 使用单片机的串口蓝牙通信写的接收SBUF里的数据,并进行发送执行命令,显示在数码管上,波特率9600

    include
  • 目标跟踪2020

    cvpr2022 23 TCTrack Temporal Contexts for Aerial Tracking 空中跟踪的时间上下文 paper code 模型87M cvpr2020大盘点 CVPR 2020 论文大盘点 目标跟踪篇
  • 计算机组成原理知识点梳理(一)

    注 所学教材为 计算机组成原理 第二版 唐朔飞 编著 本次梳理涵盖内容为 第一章 计算机系统概论 1 1 计算机系统简介 1 2 计算机的基本组成 参考内容以及图片来源为书本和csdn博文 第一章 计算机系统概论 1 1 计算机系统简介 计
  • fb直接渲染

    include