摘要: 1、回顾字符设备驱动程序: 字符设备驱动编写的一般步骤: 1)主设备号 2)构造file_operations结构体体 .open = xxxx .read = xxxxx 3)register_chrdev() 4)入口 5)出口 2、内核中是如何写字符设备驱动程序的呢? 内核中为lcd提供了一个 阅读全文
posted @ 2019-08-18 14:16 一代枭雄 阅读(286) 评论(0) 推荐(0)
摘要: 在前面的博客中,使用的像素格式都是16bpp,24bpp(24bpp实际实际上就是32bpp)?如果想使用8bpp时,就需要使用调色板。 在以前的博客中,曾经说过,在framebuffer中如果每个像素用8bpp表示,这8bpp怎么转换成lcd需要的16bpp的数据,需要引入一个调色板。 2的8次方 阅读全文
posted @ 2019-08-18 14:15 一代枭雄 阅读(957) 评论(0) 推荐(0)
摘要: 在上篇博客中,实现了画点操作,然后在画点的基础上实现了画线、画圆的操作。实际上显示文字也是在画点的基础上实现的。 文字是由点组成的,那么这些点阵是在哪里获得的呢? 随便打开一个内核文件,搜索font,会出来很多文件。在此,选择font_8*16.c。 字符A就显示出来了,这就是文字的显示原理。 首先 阅读全文
posted @ 2019-08-18 13:33 一代枭雄 阅读(1135) 评论(0) 推荐(0)
摘要: 上篇博客中进行了lcd的简单测试,这篇博客将进行更加复杂的测试——画点、画线、画圆。画线和画圆是在画点的基础上实现的,因此本篇博客重点实现画点操作。 先抛出这样的一个问题,已知: (x,y)的坐标; bpp; xres; yres; 那么,如何在framebuffer中获得像素的地址呢? (x,y) 阅读全文
posted @ 2019-08-18 09:27 一代枭雄 阅读(1742) 评论(0) 推荐(0)
摘要: 首先,需要编写一个led_test.c的文件,依据代码框架,在led_test.c中我们能够看到的只是led.c。我们是看不到led_controller.c的。比如说,在led_test.c中,需要使用led_controller.c中的函数,需要在led.c中对led_controller.c中 阅读全文
posted @ 2019-08-18 08:20 一代枭雄 阅读(612) 评论(0) 推荐(0)