郑州轻工业学院 嵌入式软件 电子相册实训报告
更新时间:2023-10-21 08:30:01 阅读量: 综合文库 文档下载
- 郑州轻工业学院推荐度:
- 相关推荐
nfs服务器的挂载命令
sudo mount -t nfs -o tcp 172.21.2.178:/home/akaedu/ziliao /mnt
ctrl + alt + t 开启新终端的快捷按键
window 下是集成开发环境
linux下:
安装命令
sudo apt-get install vim gcc gdb
编辑器 vim 编写源代码 按i编辑模式 按Esc命令模式 按Esc以后键入: :w 保存文件但不退出 write :wq 保存并且退出 write and quit :q! 强制退出,不保存文件 quit yy 复制一行 移动光标到某一行, 再按下p表示粘贴 3yy 从光标当前行开始,复制总共3行, 按下p表示粘贴 dd 剪切一行 移动光标到某一行, 再按下p表示粘贴 3dd 从光标当前行开始剪切3行, 再移动光标到某行,按下p表示粘贴 u undo,回退当前操作。 8G 定位到第8行 :8 定位到第8行 1G 到文件最开头 GG 到文件结尾 gg=G 自动排版 % 自动匹配相应的花括号 :vsp 文件名 垂直拆分,并排显示2个文件 ctrl+ww 垂直拆分的两个窗口之间切换光标焦点
编译器 gcc 编译源代码,生成可执行文件。 gcc hello.c 生成a.out可执行文件 gcc hello.c -o app 生成app可执行文件 执行 ./app 或者 ./a.out
调试器 gdb 调试错误 gcc hello.c -o app -g gdb app gdb命令:
l 1 从第1行列出程序源码 list (列表) b 6 在第6行上下断点 break(暂停) i b 显示断点信息 info break r 执行程序 run n 单行执行一句 next quit 退出程序的调试 c 从断点处继续执行下去,直到碰到断点,或程序结束 continue
shell命令: echo $PATH 输出 PATH环境变量的值,这些值是目录的路径,linux会自动查找这些路径中的程序,这里面不包含当前路径。 pwd 得到当前路径名称 program working directory 程序当前工作路径
大家区分一个概念:
1.标准C库函数 printf 2.系统调用 mmap 如果想要区分一个函数到底是上一层的C库函数,还是底层的系统调用,或者想查阅函数的帮助信息 执行命令 man 函数名 man 3 printf 这是manpage工具的作用。
manpages会把命令或函数的分类列出来: 1 ==> shell命令 2 ==>系统调用 3 ==>C库函数
第一个模块 图片显示
/dev/fb0 framebuffer 帧缓冲
像素点 屏幕分辨率 1024x768-32bit 1024表示横向有1024列像素点 768表示纵向有768行像素点
32位色 表示颜色总共有2的32次方种颜色(真彩色) 每一个像素点的颜色都保存为4个字节的一个整数。
对于分辨率1024x768-32的一屏图像(一帧),需要有1024x768x32/8个字节大小的缓冲区来保存每一个像素点的颜色数据。
帧缓冲是Linux操作系统的一个图像显示接口,可以方便程序员用很直观简单的方式在屏幕上显示图像,而不用去关心底层的设备驱动怎样去操作显卡硬件设备。
char *p; p+1
unsigned short int * p; p+1
unsigned int * p; p+1
帧缓冲的结构:
上层 应用程序(用户地址空间0G-3G) || \\/ 系统调用(system call) || \\/
中间层 Linux操作系统内核(内核地址空间3G-4G) || \\/ 帧缓冲接口层 || \\/ 显卡驱动 || \\/
底层 显卡硬件设备 (把图像输出到显示器屏幕上)
(x,y) ==> p[y*w+x] (对帧缓冲的操作:让指针p指向这段缓冲区的开头,然后把指针p当成数组去操作 p[y*w+x])
(依据arr[3]#include
<===> *(arr+3) 对数组的操作,实质上是在操作一个指针)
RGB24 [RGB]
0xFF 00 00 红点 0x00FF00 绿点 R G B R G B
RGB32 [xRGB] x表示透明度(x=0表示不透明 x=FF表示透明 x=0~FF之间表示半透明) 0x00FF0000 红点 x R G B
RGB16 [RGB565] R高5位,G中间6位 , B低5位 (常见) 0xf800 红点 0x07E0 绿点 0x001F 蓝点 二进制 1111 1000 0000 0000 0000 0111 1110 0000
RGB16 [RGB1555] 很少用
条件短路:
int a=4; int b=10;
if((a++ > 6) && (a++ < 6)) b = 2;
printf(\
文件i/o:
C库函数fopen权限 \\\\ \\
系统调用open访问权限 含义 O_WRONLY | O_CREAT | 只写,不存在就创建,存在就O_TRUNC 截断大小为0 O_RDONLY O_RDWR 只读 可读,可写,文件流初始位置在文件开头 O_RDONLY | O_WRONLY | 可读,可写,文件不存在就创O_CREAT |O_TRUNC 建,存在就截断为0 O_WRONLY | O_CREAT | 写,追加,文件不存在建立新O_APPEND 文件 O_RDWR | O_CREAT | 读,写,追加,文件不存在创O_APPEND 建 mmap 文件映射(memory map) void *mmap(void *addr,size_t length , int prot , int flags,int fd, off_t offset) 一个参数 addr 是一个地址值,提示操作系统把文件内容映射在该地址上。但是一般由操作系统自由分配,一般传递参数为NULL. 二参数 length 表示映射的内存区域的长度,通常也代表要映射的文件的长度。 三参数 prot 表示映射之后内存应的访问权限,有读,写,执行,不可访问四个权限 四参数 flags ,表示映射的方式: MAP_SHARED 共享内存映射。 映射是进程间共享的,对同一个文件的共享映射,如果一个进程也会看到修改之后的结果。同时对内存映射的修改,会回写到硬盘文件当中。 MAP_PRIVATE 私有映射。映射是进程私有的,不共享。每一个进程的都会对文件有一个副本,只有在进程需要写数据到映射内存中时才会复制自己映射拷贝)
对映射内存的修改不会回写会硬盘,调用mmap后文件内容是否发生改变是无法确定的 。 五参数 fd,需要映射的文件描述符。用open系统调用得到。 六参数 offset,映射文件的起始位置想对于文件的偏移
小问题:main函数的两个参数平时可以忽略不写,但是在我们要处理命令行参数时,需
要写上main函数的参数一个参数(#include
个数,另一个参数char *agrv[],表示命令行参数的具体内容
程序: gcc mycp.c -o mycp 生成一个可执行程序,程序是一个文件,它是静态的,储存在硬盘上
进程: ./mycp 当我们在shell终端上执行命令时,shell终端会帮我们把硬盘数据读取到内存是一个正在执行状态的程序,他是一个动态的过程,位于内存当中,进程可以同时运行多个。
shell 父进程创建子进程参数由父进程shell获取并传递。
计算机当中的零: 数值 0; 字符'0'; 字符串结尾 ‘\\0’; 指针 NULL; void * 类型。
设备文件和普通的文件不一样,设备文件是一种特殊的文件,他不像普通文件,数据是存放在硬盘上的,而而设备文件是没有数据的,读设备文件不会从硬盘上去读任何设备,因为读设备相当于读设备 设备文件: /dev/fb0 代表显卡 /dev/dsp 代表声卡 /dev/input/mice 代表鼠标 /dev/sda 代表硬盘 /dev/sdb1 代表U盘 /dev/hdc 代表光驱·
ioctl函数,是硬件设备的io控制函数,可以向设备发送一些特殊的控制命令,
比如向显卡发送FBIOGET_VSCREENINFO(FB IO GET _ V SCREENINFO)意思是获取显卡
可变的工作参数(GET Variable INFO),
FBIOGET_FSCREENINFO(FB IO GET _ V_SCREENINFO)为显卡固定参数 显卡的可变工作参数:屏幕的分辨率
正在阅读:
梨酒02-18
地下连续墙L型钢筋笼吊装施工工艺05-19
第5章 商务谈判程序与原则06-05
微山岛乡中心小学防火安全演练方案08-10
新型医院污水处理消毒方案11-21
英文经典情书02-18
一年级项链教学设计资料03-08
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 郑州
- 电子相册
- 轻工业
- 嵌入式
- 报告
- 学院
- 软件