首页 > 其他分享 >嵌入式GEC6818项目——电子相册(一)

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

时间:2023-11-25 10:33:57浏览次数:40  
标签:文件 电子相册 系统 嵌入式 GEC6818 IO Linux 操作 指针

一、背景准备

  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

 

标签:文件,电子相册,系统,嵌入式,GEC6818,IO,Linux,操作,指针
From: https://www.cnblogs.com/thisiscgl/p/17837992.html

相关文章

  • 嵌入式使用quickjs
    零、前言之前搞过在嵌入式中引入Lua作为脚本,以实现动态执行效果。详见(https://www.cnblogs.com/wunaozai/p/14087370.html)但是众所周知原因,其实Lua远远没有JS好,一方面是目前前端的如日中天,加之前端开源的库很多。很多都可以复用。在选型用哪个JS引擎时,参考了网上的资料,......
  • 《安富莱嵌入式周报》第327期:Cortex-A7所有外设单片机玩法LL/HAL库全面上线,分享三款GU
    周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 1、2023Hackaday大赛胸牌开源Vectorscope-main.zip(66.83MB)https://github.com/Hack-a-Day/Vectorscope前段时间分享后,好几个网友咨询这个胸牌有没有开源,搜到了开源地址......
  • 嵌入式和移动设备系统先驱:Windows CE 彻底退役
    导读诞生于1996年的Windows嵌入式操作系统——WindowsCE(WindowsEmbeddedCompact)本月迎来了它的生命周期终点。诞生于1996年的Windows嵌入式操作系统——WindowsCE(WindowsEmbeddedCompact)本月迎来了它的生命周期终点。WindowsCE最初是Window......
  • 痞子衡嵌入式:在IAR开发环境下手动拷贝自定义程序段到RAM中执行的方法
    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是IAR下手动拷贝自定义程序段到RAM中执行的方法。在痞子衡旧文《IAR下RT-Thread工程自定义函数段重定向失效分析》里,我们知道IAR链接器处理自定义程序段重定向是有一些限制的,只要用户重写了底层__low_l......
  • 一键整合,万用万灵,Python3.10项目嵌入式一键整合包的制作(Embed)
    我们知道Python是一门解释型语言,项目运行时需要依赖Python解释器,并且有时候需要安装项目中对应的三方依赖库。对于专业的Python开发者来说,可以直接通过pip命令进行安装即可。但是如果是分发给其他的Windows用户,特别是不熟悉Python的人来说,这样过于繁琐。因此最好的办法是连同Pytho......
  • 嵌入式系统设计教程(第二版)学习总结1
    计算机系统基础知识1.数据表示 对于任何一种进位计数制,都可以多项式展开;1.10进制转2进制:整数部分“除2取余”,小数部分“乘2取整”   2.二进制,十六进制,八进制之间的对应关系: 3.数值型数据表示:无符号数:全部二进制位表示数值,没有符号位有符号数:最高位0表示正数,1表......
  • 嵌入式Linux adbd实现概要梳理(基于STM32MP157D+Buildroot)
    关键词:USBGadget、dwc2、configfs、functionfs、adbd等等。基于STM32MP157D简单记录ADB实现的过程,涉及到USB、Gadget、configfs、functionfs、adbd、ADB协议等等。基于Buildroot2020.02.6编译adbd运行于设备,和PCWindows交互的简要框图:1Linux下USBGadget1.1Linux内核Gad......
  • 嵌入式开发SQLite 快速掌握
    SQLite是什么SQLite又称(RDBMS)它是本地数据库,可以用在手机,嵌入式设备的精简数据库和大名的mysql一样的数据库存,只是可以理解为它是精简版,事务处理、表连接、索引、触发器等都支持,只是在有些操作时考虑宿主机内存,(在某些地方对某多功能没有这么强,比如更新时对字段结构批量操作会不......
  • 《痞子衡嵌入式半月刊》 第 85 期
    痞子衡嵌入式半月刊:第85期这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。本期刊是开源项目(GitHub:JayHeng/pzh-mcu-bi-weekly),欢迎提交issue,投稿或推荐你知道的嵌入式那些事儿。上期回顾:《痞子衡嵌入式半月......
  • java 转 嵌入式 java转嵌入式软件
    java转嵌入式java转嵌入式软件 转载mob64ca14040d222023-10-0718:39:21文章标签java转嵌入式嵌入式移植ARM移植JREjava文章分类Java后端开发阅读数79 前言因公司项目需求,需要在zynq7000平台下运行javaweb程序,所以需要移植java环境。走过的坑:最先的想法......