嵌入式与Linux的一些基础知识
2019-07-12 18:06发布
生成海报
一、嵌入式
嵌入式设备的主要组成部分:
- 微处理器(CPU)
- 存储器:
- RAM(微处理器能直接访问的寄存器,掉电丢失,例如:内存)
- ROM(用来存放大量数据信息,掉电不丢失,例如:硬盘、Flash、SD)
- 通用设备接口和I/O接口:
- 如:A/D、D/A、USB、Ethernet、I2C
嵌入式开发方式:
- 嵌入式裸机开发:不经过任何操作系统直接控制(芯片的所有接口都需要自己去实现,例如:51单片机)
- 带系统的嵌入式开发:通过系统来控制芯片(因为芯片中的接口都由操作系统配置好了,需要什么地方,直接调用就行了,减短了开发周期与开发成本)
二、Linux
Linux操作系统:
- 内核版本:一份管理计算机硬件设备的源代码
- 可在:The Linux Kernel Archives 查看最新版本的内核
-
- 发行版本:在linux内核的基础上,再封装一个GUI界面,方便用户使用
- 如:Ubuntu、CentOS、Debian...... 可以去对应官网下载
GPL协议:(通用性公开许可证)
- 在使用Linux进行开发的时候,开发者就已经默认遵循“GPL协议”
- GPL协议
- GPL 大致就是一个左侧版权(Copyleft,或译为“反版权”、“版权属左”、“版权所无”、“版责”等)的体现。你可以去掉所有原作的版权 信息,只要你保持开源,并且随源代码、二进制版附上 GPL 的许可证就行,让后人可以很明确地得知此软件的授权信息。GPL 精髓就是,只要使软件在完整开源 的情况下,尽可能使使用者得到自由发挥的空间,使软件得到更快更好的发展。
- 开发或维护遵循 GPL 协议开发的软件的公司或个人,可以对使用者收取一定的服务费用。但还是一句老话——必须无偿提供软件的完整源代码,不得将源代码与服务做捆绑或任何变相捆绑销售。
Linux的文件系统:
- “一切皆文件”:Linux中系统中所有的东西都是以文件的形式存在
文件的分类:
- 普通文件 : 可执行文件、普通文本文件(使用ls -l 查看时,最前面显示为 -)
- 目录文件 :用 mkdir 命令创建的目录(使用ls -l 查看时,最前面显示为 d)
- 连接文件 :相当于windows中的快捷方式(使用ls -l 查看时,最前面显示为 l)
- 字符设备文件:驱动文件,驱动与应用的数据交互是以字节流的方式形式交互的设备。(如:鼠标、键盘)(使用ls -l 查看时,最前面显示为 c)
- 块设备文件:驱动文件,驱动与应用的数据交互方式是以块的方式交互(1024,2048,4096个字节的交互)的设备。
- (如:硬盘、U盘)(使用ls -l 查看时,最前面显示为 b)
- 管道文件:用于进程之间的数据交互 (使用ls -l 查看时,最前面显示为 p)
- 网络通信文件:用于网络通信(使用ls -l 查看时,最前面显示为 s)
-
- 注意:在设计驱动的时候考虑到 字符设备文件 与 块设备文件
- 字符设备文件 响应快,但是存储效率低
- 块文件设备 响应慢,存储效率高
如:
Linux中的文件结构(目录结构):“树形结构”
- 所有文件都是从树根开始寻找: / 根目录
- Linux系统中没有盘符的概念,每一个在根目录中的文件夹,都有各自的功能
文件结构:
- / 根目录,所有目录、文件、设备都在 根目录下
- /bin 可执行文件存放目录
- /dev 设备文件的所在目录(驱动文件的工作目录)
- /etc 系统配置文件所在的目录(网络配置文件、文件系统、x系统配置文件、设备配置信息.......)
- /home 家目录,用户拥有最高的权限的目录
- /lib 第三方函数接口,所存放的目录(存放系统动态连接共享库,几乎所有程序都会用到该目录下的库)
- /mnt 挂载目录(存放 挂载储存设备 的目录)
- /boot Linux的内核及引导系统程序所需要的文件目录
- /cdrom 可以将光驱文件系统挂在该目录下
- /lost+found 当系统意外崩溃或者及其意外关机,而产生的一些文件碎片
- /media 有些Linux发行版使用该目录挂载 USB接口的移动硬盘 或者 CD/DVD驱动器等
- /opt 这里主要存放那些可选的程序
- /proc 可以在这个目录下获取系统信息
- /root Linux超级权限用户root的家目录
- /sbin 存放系统管理员的系统管理程序
- /srv 服务启动后的工作目录
- /tmp 临时文件目录,用来存放不同程序执行时产生的临时文件
- /usr/local 主要存放手动安装的软件
- /usr/share 系统共用东西的存放地
- /var 这个目录的内容是经常变动的
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮