嵌入式系统开发概述:
1、什么嵌入式技术?操作系统~>嵌入式操作系统:管理资源,解耦软硬件;
2、嵌入式开发方向:嵌入式上层应用开发、嵌入式底层系统软件开发,嵌入式系统工程师
3、 嵌入式学习路线: (嵌入式操作系统、开发工具、系统应用开发(&GUI) ,系统移植、驱动,内核)
4、所具备的知识体系: C语言、单片机、嵌入式操作系统(汇编、C++)
编程语言: C、C++.汇编、python
操作系统:非实时性(Linux) 实时性(ucosii)
硬件基础: 51 + stm32 + arm64
开发工具: git/github. makefile编写、 gdb调试器、shell
5.嵌入式操作系统(可移植的操作系统)种类: Vxworks. Linux. ucossii6、嵌入式CPU选择(CPU体系结构有哪些? ) x86 arm 。
Linux操作系统
1、简介:
Linux是一套免费使用和自由传播的类Unix操作系统内核,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统内核。伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。使用者不仅可以直观地获取该操作系统的实现机制,而且可以根据自身的需要来修改完善Linux,使其最大化地适应用户的需要。
Linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。在很多企业网络中,为了追求速度和安全,Linux不仅仅是被网络运维人员当作服务器使用,Linux既可以当作服务器,又可以当作网络防火墙是Linux的 一大亮点。
Linux 具有开放源码、没有版权、技术社区用户多等特点 ,开放源码使得用户可以自由裁剪,灵活性高,功能强大,成本低。尤其系统中内嵌网络协议栈 ,经过适当的配置就可实现路由器的功能。这些特点使得Linux成为开发路由交换设备的理想开发平台。
2、主要特性:
(1)基本思想
Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。
(2)完全免费
Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。
(3)完全兼容POSIX1.0标准
这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。
(3)多用户、多任务
Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。
(4)良好的界面
Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。
(5)支持多种平台
Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。
3、优点:
1)Linux由众多微内核组成,其源代码完全开源;
2)Linux继承了Unix的特性,具有非常强大的网络功能,其支持所有的因特网协议,包括TCP/IPv4、 TCP/IPv6和链路层拓扑程序等,且可以利用Unix的网络特性开发出新的协议栈;
3)Linux系统工具链完整,简单操作就可以配置出合适的开发环境,可以简化开发过程,减少开发中仿真工具的障碍,使系统具有较强的移植性;
4、Linux命令:
用户管理的命令:
su (切换root) ;
sudo (换取更高级的权限);
文件操作的命令:Is;
adduser:添加用户;
desuler:删除用户;
passwd:修改密码。
Linux一点哲学: 一切皆为文件。
Linux文件的分类:普通文件(以-开头) ,目录文件(以d开头) 、设备文件(以c字符/b块设备开头)、链接文件(以l开头)。
Linux特殊文件:管道文件(以p开头) 、堆栈文件(以f开头) .共享文件(以s开头)。
文件操作命令:
Linux文件的操作权限: r可读,w可写, x可执行
权限描述: 3组(当前用户、 当前用户组、其他用户)
修改文件权限: chmod
根目录/:所有文件的父目录(所有文件都保存在该目录下)
目录操作命令:
cd用于切换当前目录,cd …返回上一个目录。
bin:放的是普通用户(系统)的命令;
sbin:放的是管理员的命令;
dev:放的是系统中所有的设备文件;
etc:存放的是系统中所有的配置文件;
root:root用户的工作目录;
home:存放的是普通用户的工作目录;
usr:存放的是系统中安装的软件(库文件、头文件) ;
cd . 代表当前目录;
cd ~代表的是当前用户的工作目录;
cp:拷贝文件;
mv:剪切文件。
其他目录的作用:
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)文件,诸如日志或数据库等代表变量文件。在这个目录下可以找到内容可能增长的文件。
嵌入式技术学习总结二
最新推荐文章于 2024-01-14 21:52:29 发布