嵌入式技术学习笔记(二)

嵌入式系统开发概述补充

嵌入式学习路线:(嵌入式操做系统、开发工具、系统应用开发(&GUI)、系统移植、驱动、内核)
所具有的知识体系:c语言、单片机、嵌入式操做系统(汇编、c++)
编程语言:C、C++、汇编、python
操做系统:非实时性(Linux) 实时性(ucosii)
硬件基础:51+stm32+arm64
开发工具:git/github、makefile编写、gdb调试器、shell
嵌入式操做系统(可移植的操做系统)种类:Vxworks、Linux、ucossiipython

嵌入式Linux操做系统

学习内容和目标:Linux介绍、使用Linux操做(指令)、Linux开发工具
一、安装Linux开发环境
vm虚拟机:经过软件的方法模拟pc
为何不选择双系统而是安装虚拟机?答:由于嵌入式开发与内核交互,若是发生错误会致使系统崩溃
Linux发行版(发行给用户使用的版本) redhat(centos7 最稳定的) ubuntu(18.04) deepin
二、Linux介绍(POSIX、GPL、GNU)
在吸取了MINIX精华的基础上,Linus于1991年写出了属于本身的Linux操做系统,版本为Linux0.01,是Linux时代开始的标志。
GPL:开源社区
GPL协议:你在开源社区上使用的程序,若是你在源程序上加以修改,你必须把修改后的源程序再放上开源社区上供别人修改使用。
Linux经过GPL协议获得了发张,如今已经发展到Linux5.0版本
unix是一种商业软件,它是由c语言之父丹尼斯里奇开发的
POSIX标准:可移植操做系统接口(跨平台的条件)
GNU计划:gnu is no unix (其中有优秀的工具:gcc、gdb)
三、Linux的使用
Linux和win32的区别
Linux操做系统的定位:用于开发人员 ,开发人员所注重的是开发的效率。
Win32操做系统的定位:用于普通用户,普通用户所注重的操做的简单。linux

使用Linux所追求的目标是脱离鼠标,用命令来完成操做
若是要学习命令能够搜Linux命令大全来学习
Linux命令也叫shell命令,由于输入的Linux命令经过shell命令解析器解析后来与内核交互
四、Linux命令
root:超级用户(具备一切权限)
jsetc:普通用户(受限制)
用户管理命令:su(切换root) sudo(换取更高级的权限)
adduser:添加用户 desuler:删除用户 passwd:修改密码
文件操做命令:ls
Linux有一种哲学叫一切皆是文件。
Linux文件的分类:普通文件(以-开头),目录文件(以d开头),设备文件(以c字符/b块设备开头),连接文件(以l开头)
Linux特殊文件:管道文件(以p开头),堆栈文件(以f开头),共享文件(以s开头)
Linux文件的操做权限:r可读,w可写,x可执行
权限描述分为三组,第一组三个表明当前用户,第二组三个表明当前用户组,第三组三个表明其余用户
修改文件权限:chmod 使用方法 例子chmod u-x hello.c
r的权重为4,w的权重为2,x的权重为1,也能够经过 chmod 655 hello.c来实现修改权限
建立空文件:touch 查看文件内容:cat 删除文件:rm
Linux隐藏文件以.(点)开头
文件编辑:(gedit,vim,gvim)——文本编辑器
优秀的IDE:vscode
编译文件:gcc编译器
./a.out输出编译后内容c++

目录操做命令
cd进入目录 cd …返回上一个目录
mkdir建立一个目录 rm -r 目录名 或者使用rmdir(只能删除空目录)来删除目录
mkdir -p 0303/kk/mm/nn 在相应路径下建立
根目录:全部文件的父目录(全部文件都保存在根目录中)输入cd /来进入根目录
bin:存放系统中的命令
sbin:存放管理员的命令
dev:存放系统中全部设备文件
etc:存放系统中全部配置文件
root:存放root用户的工做目录
home:存放普通用户的工做目录
usr:存放系统中安装的软件(库文件,头文件)git

cd ~回到当前用户的工做目录
绝对路径和相对路径,相对路径只能进入当前目录下,而绝对路径进入你所须要进入的mulu
cd class_c++相对路径 cd /root/class_c++绝对路径
cp拷贝文件 cp -r拷贝目录
mv既有剪切也有重命名的功能github

其余目录的做用
boot:主要存放开机时用到的引导文件,如linux内核文件和开机菜单与开机因此须要的配置文件
lib:存放着系统开机时所需的函数库以及/bin和/sbin目录下的命令会调用的函数库
lib64:存放相对于/lib中支持64位格式的函数库
media:存放可移除的媒体设备,如光盘,DVD等
mnt:mount,临时挂载的设备文件,临时安装目录,系统管理员能够挂载文件系统。是系统管理员临时安装文件的系统安装点
opt:optional,可选的软件包,即第三方软件。咱们能够将除了系统自带软件以外的其余软件安装到这个目录下
proc:特殊的动态目录,用以维护系统信息和状态,包括当前运行中进程 (processes) 信息。包含系统进程的相关信息,是一个虚拟的文件系统,包含有关正在运行的进程的信息,系统资源以文本信息形式存在
run:最近一次开机后所产生的各项信息,如当前的用户和正在运行中的守护进程等
srv:service,存放一些服务启动后所需的数据
sys:system,与/proc相似也是一个虚拟文件系统,存放系统核心与硬件相关信息管理设备文件。不占用硬盘容量
tmp:temporary,存放系统运行过程当中使用的一些临时文件,能够被全部用户访问,系统重启时会清空该目录
var:常常变化的(variable)文件,诸如日志或数据库等表明变量文件。在这个目录下能够找到内容可能增加的文件web

tar zxvf cvzf含义
tar:用于Linux压缩与解压缩
zxvf:z表示用gzip压缩的,解压缩时也用gzip;x表示解压缩;v表示显示全部过程的详细信息;f这个参数是必须的,也必须为最后一个参数,后面只能接档案名
cvzf:c表示创建压缩档案;v表示显示全部过程的详细信息;z表示用gzip进行压缩;f这个参数是必须的,也必须为最后一个参数,后面只能接档案名shell