嵌入式GEC6818项目——电子相册(一)

发布时间 2023-11-25 10:33:05作者: 执~念

一、背景准备

  1、Linuxx相关命令学习

    ①cd;②pwd;③cp;等shell命令的学习

    ④rm:删除命令(针对文件指针),所以是不可恢复的 (文件不可恢复,一定要慎用,特别是对重要文件)【删库命令】

      对目录操作时,需要添加-r 参数

  2、关于GEC6818

    内核芯片:芯片基本设计蓝图(框架)

    内核(对操作系统):系统基本设计蓝图 

    ARM Cortex-A53(满足ARM芯片开发),Linux(满足Linux应用开发)  

  3、文件传输

    1、串口线传输

      利用串口线232传输文件

      利用串口软件连接开发板(例如mobaxterm等)

                                   相关文章:  如何使用mobaxterm(一) - 执~念 - 博客园 (cnblogs.com)

    1、U盘传(FAT32)

      速度极快,但是不方便,传输大文件

    2、网线传输(tftp)

  4、利用好 man 手册

     章节:

       1.可执行程序或是shell指令

       2、系统函数调用(system calls , Linux核心所提供的函数open.read,write.close)

       3、库函数调用(pthread,printf,strcpy)

       4、特殊档案(通常用于/dev)

       5、档案格式

       6、游戏

       7、杂项(巨集等,如man(7) 、groff(7))

                         8、系统管理者指令

       9、Kernel routines(非标准)     

  5、学习Linux文件IO操作

          Linux系统下一切皆文件

    了解七大文件类型:6(特殊)+1(普通):

    1. 普通文件(-):不属于其他6种文件类型的文件,就是普通文件:(程序、图片、音频、视频......)
    2. 目录文件(d):可以被cd命令所跳转的文件(类似于Windows中的文件夹)
    3. 设备文件(字符文件)(c):硬件在系统
    4. 管道文件(p):用于系统进程中的通信(有名管道通信)
    5. 链接文件(l):将一个文件链接到另一个文件中(Windows中的快捷方式)
    6. 块设备文件(b):用于存储
    7. 套接字文件(s):用于通信    

      注意:共享目录中的文件系统是Windows的文件系统,不符合Linux文件系统的特性;因此Linux中的特殊文件类型在共享目录中会失效。

  6、相关变量的指针

      char*指针、void*指针、int*指针等。。。

  7、对文件操作了解:

      基本操作:open、read、write、close......

二、文件I/O操作:打开文件、操作文件、关闭文件。

1、(系统IO):open、read、write、close

 

 

2、(标准IO):使用时在用户空间创建缓冲区,在合适的时机在通过系统调用访问实际的文件,从而减少了使用系统调用的次数。

  ①缓存方式分三种:行缓冲(\n)、

           全缓冲(缓存区填满内容才会溢出)、

           不缓存(stderr)。

  ②流:当使用标准IO打开一个文件时,就会创建一个FILE结构体描述该文件,我们把这个FILE结构体形象的称为流,标准IO函数都是基于流进行各种操作。

  ③文件指针:指向一个打开文件的指针(硬盘中的文件被拷贝到内存中之后,会以FILE结构体的形态存在,要操作该文件必须使用文件指针)。

  ④FIFE:C语言file类在<stdio.h>中,FIFE类是一个结构体。

                              

  ⑤相关函数:fopen、fclose、

          按行读写:fgetc、fputc、

          按块读写:fread、fwrite、

          perror、

          fseek、ftell、rewind