摘要: 通过framebuffer绘制屏幕上的每一个像素点: 1.打开framebuffer设备; 2.通过ioctl取得fixed screen information;(ioctl(fd, FBIOGET_FSCREENINFO, &finfo)) 3.通过ioctl取得variable screen 阅读全文
posted @ 2019-08-15 16:53 yang_xs 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 帧缓冲设备对应的设备文件为/dev/fb* 通过/dev/fb,应用程序的操作主要有这几种: 1. 读/写(read/write)/dev/fb:相当于读/写屏幕缓冲区。 2. 映射(map)操作:由于Linux工作在保护模式,每个应用程序都有自己的虚拟地址空间,在应用程序中是不能直接访问物理缓冲区 阅读全文
posted @ 2019-08-15 16:47 yang_xs 阅读(1728) 评论(0) 推荐(1) 编辑
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2019-08-14 10:36 yang_xs 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 读、写、执行 sudo chmod 777 /dev/mem 读写运行权限赋予文件所有者,把读和运行的权限赋予群组用户,把读的权限赋予其他用户 754 阅读全文
posted @ 2019-07-18 19:03 yang_xs 阅读(125) 评论(0) 推荐(0) 编辑
摘要: Ctrl+Alt+F1 进入图形界面命令行 Ctrl+Alt+F7 进入命令行界面 Ctrl+L 清屏 阅读全文
posted @ 2019-07-18 17:31 yang_xs 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 内存对齐只是指数据存储在内存时的起始地址是否是某个值的整数倍。如果只是放在内存中,是否对齐本身并没有什么问题。问题是读取、写入的时候。访问一个不对齐的数据(unaligned memory access)可能会导致程序运行效率慢,结果出错,甚至是程序当掉。 比如有些平台每次读都是从偶地址开始,如果一 阅读全文
posted @ 2019-06-12 18:07 yang_xs 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 在PCIE配置空间里,0x10开始后面有6个32位的BAR寄存器,BAR寄存器中存储的数据是表示PCIE设备在PCIE地址空间中的基地址。 BAR寄存器存储的总线地址,应用程序是不能直接利用的,应用程序首先要做的就是读出BAR寄存器的值,然后用mmap函数建立应用程序内存空间和总线地址空间的映射关系 阅读全文
posted @ 2019-06-11 23:55 yang_xs 阅读(778) 评论(0) 推荐(0) 编辑
摘要: 变量,函数,类,结构体的重复定义不仅会发生在源程序编译的时候,在目标程序链接的时候同样也有可能发生 c/c++编译的基本单元是.c或.cpp文件,各个基本单元的编译是相互独立的,#ifndef等条件编译只能保证在一个基本单元(单独的.c或.cpp文件)中头文件不会被重复编译,但是无法保证两个或者更多 阅读全文
posted @ 2019-06-11 19:31 yang_xs 阅读(241) 评论(0) 推荐(0) 编辑