芯片解密MCU驱动GEC6818程序开发记录
芯片解密GEC6818开发平台上可以显示JPG格式的图片
一. 芯片解密:显示RGB颜色LCD液晶屏幕中 --> 例如: 填充紫色到LCD上。
1. 分析技术点
1)了解LCD液晶屏幕组成架构?
2)在嵌入式平台如何处理LCD屏幕?
3)如何在工程访问LCD液晶屏?
4)如何写入数据到LCD屏幕中?数据是什么?该如何表示颜色?
二. 研究LCD液晶屏幕参数
1. 什么是分辨率?GEC6818平台LCD屏幕分辨率是多少?
分辨率指的是设备总像素点数是多少,例如:电视机1080*720 -> 一共有1080*720这么多个像素点
GEC6818平台分辨率->800*480
2. 什么是像素点?
像素,就是图像元素,指的是由RGB颜色组成一个点。
3. 究竟每个像素点如何组成?
像素点占多少个字节数? --> 通过在GEC6818平台输入命令知道
[root@GEC6818 /]#cat /sys/class/graphics/fb0/bits_per_pixel
32
---> 1个像素点 --> 32位
已知:1个字节 = 8位
---> 1个像素点 --> 4个字节
结论: 每一个像素点 --> 透明度,红色,绿色,蓝色
三. 在嵌入式平台如何处理LCD屏幕?
原理:在linux下,一切都是文件。 --->在linux下,LCD液晶屏是被看作是一个文件。
LCD液晶屏幕对应的文件名是什么?
--->规律:嵌入式平台硬件设备文件名存放dev目录 dev->device
1. 切换到/dev目录下
[root@GEC6818 /]#cd /dev/
[root@GEC6818 /dev]#
2. 查看当前目录下所有的文件名是什么?
[root@GEC6818 /dev]#ls
fb0 --> 就是LCD液晶屏幕的文件名
四. 如何在工程访问/关闭LCD液晶屏? --> 新的函数:open
1. 在Ubuntu中,输入命令查看open函数用法
gec@ubuntu:~$ man 2 open --> 结束查询->按‘q’
头文件是什么?
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
函数原型是什么?
int open(const char *pathname, int flags);
参数填什么?
pathname:需要打开的文件的路径名 -> 文件在哪里?
flags:操作文件的权限
O_RDONLY --> read only -> 只读
O_WRONLY --> write only -> 只写
O_RDWR --> read write -> 可读可写

芯片解密