当前位置: 首页 > news >正文

如何做亚马逊备案的网站wordpress调用指定id文章

如何做亚马逊备案的网站,wordpress调用指定id文章,wordpress删除文章数据,餐饮加盟网站建设一、LCD简介 总的分辨率是 yres*xres。 1.1、像素颜色的表示 以下三种方式表示颜色 1.2、如何将颜色数据发送给屏幕 每个屏幕都有一个内存(framebuffer)如下图,内存中每块数据对用屏幕上的一个像素点,设置好LCD后&#xff…

一、LCD简介

总的分辨率是 yres*xres。
在这里插入图片描述

1.1、像素颜色的表示

以下三种方式表示颜色
在这里插入图片描述

1.2、如何将颜色数据发送给屏幕

每个屏幕都有一个内存(framebuffer)如下图,内存中每块数据对用屏幕上的一个像素点,设置好LCD后,只需把颜色数据写入framebuffer即可。
在这里插入图片描述
在这里插入图片描述

二、Framebuffer驱动框架

Framebuffer驱动属于字符设备驱动,我们先说字符设备驱动框架如下图:
在这里插入图片描述

  • 驱动主设备号
  • 构造file_operations结构体,填充open/read/write等成员函数
  • 注册驱动:register_chrdev(major, name, &fops)
  • 入口函数
  • 出口函数

2.1、Framebuffer驱动程序框架

分为上下两层:

  • fbmem.c:承上启下
    • 实现、注册file_operations结构体
    • 把APP的调用向下转发到具体的硬件驱动程序
    • 应用程序调用到open、read等函数时转到xxx_fb.c
  • xxx_fb.c:硬件相关的驱动程序
    • 实现、注册fb_info结构体
    • 实现硬件操作

2.2、编写Framebuffer驱动

核心就是fb_info结构体
在这里插入图片描述

  • 分配fb_info

    • framebuffer_alloc
  • 设置fb_info

    • var
    • fbops
    • 硬件相关操作
  • 注册fb_info

    • register_framebuffer

三、编写LCD驱动框架

参考内核代码

drivers\video\fbdev\s3c2410fb.c

注:工作中LCD驱动我们不用从头写,会改就行。

步骤如下:
1、分配fb_info
2、设置fb_info
要设置哪些内容?根据APP的需求来。
3、注册fb_info

#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/err.h>
#include <linux/errno.h>
#include <linux/string.h>
#include <linux/mm.h>
#include <linux/slab.h>
#include <linux/delay.h>
#include <linux/fb.h>
#include <linux/init.h>
#include <linux/dma-mapping.h>
#include <linux/interrupt.h>
#include <linux/platform_device.h>
#include <linux/clk.h>
#include <linux/cpufreq.h>
#include <linux/io.h>
#include <asm/div64.h>
#include <asm/mach/map.h>
#include <mach/regs-lcd.h>
#include <mach/regs-gpio.h>
#include <mach/fb.h>static struct fb_info *myfb_info;static struct fb_ops myfb_ops = {.owner		= THIS_MODULE,.fb_fillrect	= cfb_fillrect,.fb_copyarea	= cfb_copyarea,.fb_imageblit	= cfb_imageblit,
};/* 1. 入口 */
int __init lcd_drv_init(void)
{dma_addr_t phy_addr;/* 1.1 分配fb_info */myfb_info = framebuffer_alloc(0, NULL);/* 1.2 设置fb_info *//* a. var : LCD分辨率、颜色格式 */myfb_info->var.xres = 1024;			//屏幕x像素点个数myfb_info->var.yres = 600;			//y像素点个数myfb_info->var.bits_per_pixel = 16;  /* rgb565 */myfb_info->var.red.offset = 11;		myfb_info->var.red.length = 5;myfb_info->var.green.offset = 5;myfb_info->var.green.length = 6;myfb_info->var.blue.offset = 0;myfb_info->var.blue.length = 5;/* b. fix */myfb_info->fix.smem_len = myfb_info->var.xres * myfb_info->var.yres * myfb_info->var.bits_per_pixel / 8;	if (myfb_info->var.bits_per_pixel == 24)		//如果采用3个字节为颜色像素需要乘4,myfb_info->fix.smem_len = myfb_info->var.xres * myfb_info->var.yres * 4;/* fb的虚拟地址 */myfb_info->screen_base = dma_alloc_wc(NULL, myfb_info->fix.smem_len, &phy_addr,GFP_KERNEL);myfb_info->fix.smem_start = phy_addr;  /* fb的物理地址 */myfb_info->fix.type = FB_TYPE_PACKED_PIXELS;myfb_info->fix.visual = FB_VISUAL_TRUECOLOR;/* c. fbops */myfb_info->fbops = &myfb_ops;/* 1.3 注册fb_info */register_framebuffer(myfb_info);/* 1.4 硬件操作 */return 0;
}/* 2. 出口 */
static void __exit lcd_drv_exit(void)
{/* 反过来操作 *//* 2.1 反注册fb_info */unregister_framebuffer(myfb_info);/* 2.2 释放fb_info */framebuffer_release(myfb_info);
}module_init(lcd_drv_init);
module_exit(lcd_drv_exit);
MODULE_LICENSE("GPL");
http://www.yayakq.cn/news/498796/

相关文章:

  • 丰南建设局网站跨境电商seo什么意思
  • 怎样建立自己的网站渐江建工水利水电建设有限公司网站
  • 网站开发评分标准免费做海报的网站
  • 晋城网站建设科技有限公司做网站每年都要费用的吗
  • 淘宝客推广网站建设站长之家 seo查询
  • 水果套餐网站建一个电商网站多少钱
  • 怎么做免费的网站推广网站设计摘要 优帮云
  • 网站开发模块的需求分析深圳南山做网站的公司
  • 河南建设厅八大员查询网站英特尔网站开发框架
  • 绍兴企业免费建站音视频网站建设可行性报告
  • 网站建站的方式主要有哪几种网站301多久
  • 架设网站多少钱广东建设信息网三库一
  • 襄樊网站推广网站建设经费预算策划书
  • 网站404页面做晚了PHP做克隆网站
  • 网站优化的主要任务巩义网站建设工程
  • 湖南建设人力资源湖南网站建设wordpress设为中文
  • 深圳市建设厅官方网站打造网站品牌
  • asp.net网站怎么做彭州做网站的公司
  • 郓城网站建设电话网站建设课程简介图片
  • 面试网站开发员wordpress 上传主机
  • 山东高端网站建设徐州建设集团有限公司
  • 做网站的原理seo长沙
  • 在哪可以接企业网站建设的活在广州学编程有名气的培训班
  • 网站降权处理彩票网站开发 合法
  • 哪些网站可以接生意做社团建设制作网站费用会计科目
  • 360网站怎么做ppttheme one wordpress
  • 做360手机网站快速排做gif的网站
  • 电子商务网站开发实训总结建一个大网站需要的时间
  • 资源网站优化排名网站文字转视频软件app
  • 集团网站定制西宁网站建设报价cu君博规范