linux操作系统的移植及应用

合集下载

PetaLinux操作系统特点和结构及其移植方法

PetaLinux操作系统特点和结构及其移植方法

PetaLinux 操作系统特点和结构及其移植方法
随着性能的逐渐提高以及成本的不断降低,FPGA 在嵌入式领域的应用日益广泛。

本文介绍了PetaLinux 操作系统的特点和目录结构,并分析了基于MLD 的BSP 自动生成技术,最后总结了PetaLinux 操作系统移植的具体方法。

这对设计基于MicroBlaze 处理器的嵌入式系统具有重要指导意义。

FPGA 生产商Xilinx 公司提供了全面的嵌入式处理器解决方案,包括PowerPC、MicroBlaze 和PicoBlaze 三款RISC 结构的处理器核。

其中,MicroBlaze 是32 位嵌入式软核处理器解决方案,支持CoreConnect 总线的标准外设集合,具有兼容性、可配置性以及重复利用性,能够根据成本和性能
要求提供高性价比的处理性能。

支持MicroBlaze 处理器的嵌入式操作系统很多,比如uc/osII、BuleCat ME Linux、RTA MB、ThreadX、PetaLinux 等等。

本文介绍了PetaLogix 公司发布的PetaLinux 操作系统,并分析了Xilinx 公司所使用BSP 自动生成技
术。

最后总结出PetaLinux 操作系统在MicroBlaze 平台上的移植方法和步
骤。

Linux课程介绍-第五章(1)

Linux课程介绍-第五章(1)

2.进程系统堆栈 每个进程都有一个系统堆栈,用来保存中断现场信息和进 程进入内核模式后执行子程序(函数)嵌套调用的返回现 场信息。 每个进程的系统堆栈和task_struct数据结构之间存在 紧密联系,因而二者物理存储空间也连在一起 系统堆栈的大小静态确定,用户堆栈可在运行时动态扩展
5.2.3 对进程的操作 1.进程的创建 各个进程构成了树形的进程族系 内核在引导并完成了基本的初始化以后,就有 了系统的第一个进程(即初始化进程,实际上 是内核线程)。除此之外,所有其他的进程和 内核线程都由这个原始进程或其子孙进程所创 建。 除初始化进程外,其他进程都是用系统调用 fork( )和clone( )创建的。 fork( )是全部复制 ,而clone( ) 有选择地 复制
●进程控制系统用于进程管理、进程同步、进程通 信、进程调度和内存管理等。 ●内存管理控制内存分配与回收。
●文件系统管理文件、分配文件空间、管理空闲空 间、控制对文件的访问并为用户检索数据。 ●Linux系统支持三种类型的硬件设备:字符设备、 块设备和网络设备。 ●核心底层的硬件控制负责处理中断以及与机器通 信。
• 内核所在的地址空间称作内核空间 • 其他应用程序称为外部管理程序,大部分是对外围设 备进行管理和界面操作,外部管理程序和用户进程所 占据的地址空间成为外部空间
Linux内核概述
Unix内核用C语言写成 单一内核:所有的操作系统功能均被封装 在内核中,与外部程序处于不同的地址空 间。外部程序智能通过功能调用来访问内 核 微内核:内核只提供最基本、最核心的一 部分操作,如创建和删除任务、中断管理、 进程管理、存储器管理、进程间通信等, 而其他功能如文件系统、网络协议栈则在 内核外操作。
3.进程的终止

01Linux操作系统简介

01Linux操作系统简介

第二节 操作系统概述:常见操作系统介绍
1)UNIX
起源:AT&T(Ken Thmopson、Dennis Ritchie、 J.F.Ossanna和R.Morris)为了玩游戏,在一台 废弃的DEC PDP-7的小型机上首先开发了一套简 化的MULTICS操作系统,简称为UNIX 。
版本:作为商业化软件,它有各种版本 两派的商业产品有: BSD——SUN SunOS、DEC Ultrix、SGI IRIX、UCB 4.4BSD; SVR3——HP UP-UX、SCO/MS SCO Xenix、SCO SCO UNIX、IBM AIX、Unisys Unisys UNIX等; SVR4——USL(AT&T的子公司) System V、Novell UnixWare、Cray UNICOS、Dell Dell UNIX SVR4等; SV+BSD——SUN Solaris、Apple A/UX等。 1990 Windows NT推出,两派合作。
2、内核版本和发行版本
1)Linux的内核版本严格控制在由Linus领导的开源 (Opening source code)社区的手里 内核的版本:X.YY.ZZ X:主版本号,表示这个版本是第几次重大修订的版本。 YY:次版本号,表示在在主板本下的第几次修订, 奇数表示不稳定版本,偶数表示稳定版本。 ZZ: 修订版本号,是在在X.YY版本下的第几次小的修 订版本。 例如当前最新的版本是2.6.14
2) 发行版本


发行版本,指的是由软件发行公司,把一定 的Linux内核版本、应用程序和相应的系统管 理软件和安装程序,组装成一个发行套件。 发行版本号码,由发行商自己决定,一般与内 核版本的数字不一样。

Linux操作系统分析课件6

Linux操作系统分析课件6
Linux Operating Systems Analysis 5

返回值



xlanchen@2007.9.29
系统调用程序及服务例程

当用户态进程调用一个系统调用时,CPU切换 到内核态并开始执行一个内核函数。

在Linux中是通过执行int $0x80这条汇编语言来执 行系统调用的,这条汇编指令产生向量为128的编 程异常

传参: 内核实现了很多不同的系统调用,进程必须传 递一个名为系统调用号的参数来指明需要调用 的系统调用,eax寄存器就用作这个目的
Linux Operating Systems Analysis 6
xlanchen@2007.9.29

所有的系统调用返回一个整数值。这里的返回 值与封装例程返回值的约定是不同的。
7

系统调用处理程序也其他异常处理程序的结构 类似,执行下列操作



在进程的内核态堆栈中保存大多数寄存器的内容 (即保存恢复进程到用户态执行所需要的上下文) 调用名为系统调用服务例程的相应的C函数来处理 系统调用 通过ret_from_sys_call()从系统调用返回
xlanchen@2007.9.29
用户态堆栈 内核态C函数 内核态堆栈
用户态C函数
xlanchen@2007.9.29
Linux Operating Systems Analysis
14

在int $0x80汇编指令之前,系统调用的参数被写入 CPU的寄存器。然后,在进入内核态调用系统调用 服务例程之前,内核再把存放在CPU寄存器中的参 数拷贝到内核态堆栈中。因为毕竟服务例程是C函 数,它还是要到堆栈中去寻找参数的

Linux操作系统的应用现状与推广策略

Linux操作系统的应用现状与推广策略
应 用软件 。 面推进 L x应用软件产业的发展 。 全 mu
关键词 : m x L u ;发展 ;应 用;人才培养
O 引言 Lnx i 是一个以 h c系列 C U为硬件平台 , u lI t P 适用于个人
P C的完整 3 位 多用户多任务操作系统 。19 年 , 2 9 1 芬兰赫尔辛 基大学的年轻人 Lns i 从小型 U I u NX系统出发 ,研制 了一个迷
L u 操作 系统来说 , ix n 它本质上依然属于软件应用的基础平台。 操作 系统时有了更多的选择 。目前 , 、 本 、 、 中国 日 韩国 德国与 巴 L u 是一个真正的多用户、 ix n 多任务操作系统 , 它具有良好 西等众多国家正积极推动政府机构使用 Lnx i 平台。 u 的兼容性 、 强大的可移植性 、 高度的稳定性 、 漂亮的用户界面 , 开源软件包括系统软件 、 应用程序以及编程工具等, 其所有 有世 界公认最好的语言编译器 , 有更高效的开发环境 。 i x Ln 软 u
软件的源代码都是公开的 、 开放的。但其体系结构、 软件模块配 件本身脱胎于 U I NX,其软件产品的应用与效率 ,都普遍优于 置 / 包装等工程化、 产品化技术是不公开的。Lnx i 开发技术还 u wno s 台下的软 件 ,特 别在 网络 应用 环 境 中更是 如 此 。 包括服务技术。整个 Lnx i w 平 d i 开发技术由开源软件技术、 u 工程化技 Lu i x的核心具有 Wi o s n n w 无法比拟的稳定性和高效率, d 在不 术和服 务技术 组成。在全部开发技术 中, 公开的和不公开 的部分 使用 X Wi n  ̄w的情况下 , 它占用系统资源较少, 可以使一台 均拥有核心技术, 在不公开的部分中自 然拥有自 主知识产权。 le 46 n l 8 摇身变为高效工作站。 t 近年来 Lnx j 在服务器领域的 u

Linux应用程序移植到VxWorks的方法研究

Linux应用程序移植到VxWorks的方法研究

技术应用TECHNOLOGY AND MARKETV—28,No.2,2720 Linux应用程序移植到VxWor/s的方法研究侯波,黄众,覃事东(中车株洲电力机车有限公司,湖南 株洲612602)摘要:介绍了linux应用程序移植到VxWor/s操作系统的方法。

并通过具体的SFTP客户端移植,说明了此方法可行。

关键词:VxWor/s;SFTP;程序移植ResearcC on Applicction mipretion from Linux ta VxWorkpHOU Bo,HUANG Zhong,QIN SSidong(CRRC Zhiizh—Locomotive Co..Lth..Zhiizhon412002,Chma)Abstroci:This ar/me intropuccs thc method oO porting Linux anpUca/ods to thc VxWor/s operating system。

And thc miaration oO syeciVc SFTP clieni shows that this method is feasidle.Key worOt:VxWor/s;SFTP;Program miara/oddol:12.3060/j.imn.1906-8554.0021.02.0370引言程序移植是很早就被提岀的概念,其目的是将程序转移到不同的环境下运行。

采用程序移植的方法,可以极大降低开发成本和周期。

对平台的差异性分析是进行跨平台移植的前提,然后通过操作系统函数替代、模块再设计技术等方案来实现程序的跨平台移植。

由于VxWxks与Linux构架的巨大差异,导致移植过程中存在很多困难,对于VxWorks与Linux之间的差异以及VxWorks程序移植到Linux,在国内外已经有很多研究。

但将Linux程序移植到VxWorks的研究比较少。

本文将SFTP协议客户端代码移植到VxWorks作为实际案例,讲述移植应用程序的方法。

第12章 Linux操作系统概述


完善的内置网络是Linux的一大特点。Linux在通信和网络功能方面优于其他操作系统。
7可靠的系统安全
Linux采取了许多安全技术措施,包括对读、写进行权限控制、带保护的子系统、审计跟踪、
核心授权等,这为网络多用户环境中的用户提供了必要的安全保障。
8良好的可移植性
可移植性是指将操作系统从一个平台转移到另一个平台使它仍然能按其自身的方式运行的能
表1.5 /proc 文件系统中的文件和目录
/proc/1 /proc/cpuinfo /proc/devices /proc/dma /proc/ /proc/interrupts /proc/ioports /proc/kcore
该目录中包含进程号为 1 的进程信息。每个进程在 /proc 目录下有 一个以自己的进程号为名称的目录。 有关 CPU 名称、型号、性能和类型的信息。
spool
3. Linux文件结构
1.1.2 Linux 的组成
名称 root
角色
root 文件系统中的内容包括:引导系统的必备文件,文件系统的挂装信息以及系统修复工 具和备份工具等。
/usr /var
/usr 文件系统中包含通常操作中不需要进行修改的命令程序文件、程序库、手册和其他文 档等。
/var 文件系统中包含经常变化的文件,例如打印机、邮件、新闻等的假脱机目录、日志文 件、格式化后的手册页以及临时文件等。
/vmlinuz
表1.2 root 文件系统中的文件和目录 文件。系统的标准引导映像,通常以压缩形式出现。
/bin
包含引导过程必需的命令,也可由普通用户使用。
/sbin /etc
和 /bin 类似,尽管其中的命令可由普通用户使用,但由于这些命令属于系统级命令,因 此无特殊需求不使用其中的命令。

Linux基础及应用课件全套电子课件完整版ppt整本书电子教案最全教学教程整套课件


Linux支持多种文件系统。下面是最重要的 几个:
1.minix 2.xia 3.ext2 4.ext3 5 . ext4 6.nfs 7.sysv
2022/1/10
Linux基础及应用
第2章 Linux基础命令
2.1 系统基本操作
1.系统登录 (1)root用户:超级用户账号,使用这个账号
可以在系统中做任何事情。
3.树型目录结构
Linux 系 统 通 过 目 录 将 系 统 中 所 有 的 文件分级、分层组织在一起,形成了 Linux文件系统的树型层次结构。以根目 录为起点,所有其他的目录都由根目录 派生而来。一个典型的Linux系统的树型 目录结构 :
4.工作目录、用户主目录与路径
从逻辑上讲,用户在登录到Linux系 统中之后,每时每刻都处在某个目录之 中,此目录被称作工作目录或当前目录 (Working Directory)。
• Linux的分区规定: (1)设备管理
Linux把各种IDE设备分配了一个由 hd前缀组成的文件;而对于各种SCSI 设备,则分配了一个由sd前缀组成的文 件。例如,第一个IDE设备,Linux就定 义为hda;第二个IDE设备就定义为hdb; 下面以此类推。而SCSI、SATA、USB 设备就应该是sda、sdb、sdc等。
说明 音频文件 GIF图像文件 Flash动画文件 HTML文件 XML文件 位图文件 图像文件 PDF文档的电子映像,代表Portable Document Format(可移植文档格式) 图像文件PNG(Portable Network Graphic,可移植网络图形) PostScript文件,为打印而格式化过的文件 纯ASCII文本文件 音频文件 图像文件

Linux系统简介PPT教学课件

– 1977年UNIX成为产品;同期开始被移植到各种类型 的机器上,并产生了许多变种版本。如移植到VAX机 上形成32位的UNIX V7。
2020/12/10
4
Linux的起源:UNIX
• 80年代——Unix的丰富发展时期
– 1982年Bell实验室推出UNIX System III。
– 一个重要的分支是BSD版(Berkeley UNIX)。由加 利福尼亚大学伯利克分校开发。它在UNIX中增加 了很多显著的特征,如TCP/TP网络、UFS文件系统, 并改进了内存管理代码,采用页。
– Xienx开发部门独立出来成立了SCO公司,并基于AT&T System VR3.2开发了 SCO Unix,其最新的版本为增强了图 形接口的SCO OpenServer 5.0.4。
– AT&T将Unix系统实验室卖给了Novell公司,它们的Unix被更名为UnixWare。 但是Novell又逢经营问题,不得不将UnixWare再次卖给SCO。
– 1971年 UNIX移植到PDP-11上,第一次得到实用。此 时的系统全部用汇编语言写成;
– 1973年Ritchie用C语言重写UNIX核心,系统变得极为 便于理解、修改和移植;
– 1976年的UNIX V6是第一个在Bell实验室以外可以使 用并公开发表的版本,美国各大学及研究机构热烈推 崇及使用。
– 硬件平台:Intel PC工作站和服务器
• SUN公司的SunOS与Solaris:
– SUN公司在4.2BSD UNIX基础上加进系统V形成SunOS,后来由SunSoft继续开
发,形成SYSTEM V基础上的Solaris。
– 硬件平台:Sun Sparc、Intel PC工作站和服务器

嵌入式操作系统ucos与linux比较

ucos2与linux的比较随着嵌入式计算机技术的迅猛发展,嵌入式操作系统的应用领域逐步扩大,嵌入式计算机已经深入到人类日常生活和生产的各个角落。

这次通过阅读相关资料,进一步加深了对嵌入式操作系统的了解,以下着重对ucos2和linux进行比较,谈谈对嵌入式操作系统的理解。

首先linux和ucos都是免费使用,源代码公开的操作系统,可供用户自由进行裁剪,添加,移植。

Linux是分时多任务多用户操作系统,ucos是实时多任务操作系统。

两者都可运行于多种平台,适应性好,linux不仅可以运行于32位机,也可运行于64位机,单核,多核也同样适用。

uCOS 2已经移植到近40多种处理器体系上,涵盖了从8位到64位各种CPU(包括DSP)。

内核Ucos内核包括操作系统初始化、操作系统运行、中断进出的前导、时钟节拍、任务调度、事件处理等多部分,能够维持系统基本工作的部分都在这里。

而linux内核包括进程管理,内存管理,设备管理,网络管理四部分。

Ucos没有提供输入输出管理,文件系统,网络等服务。

这些功能可由用户自行添加实现。

Ucos内核支持抢占,即在进行内核服务函数时,允许被中断服务中断,并且中断结束后可以重新进行任务调度。

Linux是非抢占式内核,实时性差。

当进程运行在用户态时,可以被优先级更高的进程抢占,但当他进入核心态时,优先级再高也不能抢占它。

实时性实时任务分为软实时和硬实时,硬实时对响应时间要求较高,且时间不被满足时会导致致命的错误,软实时随对响应时间有要求,但不是强制,不会给系统造成致命错误。

Ucos是一个基于优先级调度的抢占式的实时内核,不仅内核支持抢占,同时支持任务的抢占式调度,优先级低的任务可以被高优先级任务抢占,也可被中断服务抢占。

这就保证了系统可以尽可能快的对外部事件做出响应。

通用Linux主要考虑调度的公平性和吞吐量等指标,尽管系统可以通过把实时事件赋予高优先级的方法来实时响应实时事件,但效果有限,对于响应时间要求比较高的硬实时任务,无法满足要求。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
配置超级终端: 启动PC上超级终端软件并设置超级终端为115200 波特率,无校 验, 1 位停止位,无数据流控制。
运行linux: 复位EduKit4 2410开发板,通过超级终端观察linux的启动运 行。
主要内容
嵌入式操作系统 linux概述 建立开发环境 编译运行linux linux移植 系统引导程序Boot Loader linux的文件系统 linux内核程序 linux应用程序开发
配置linux内核
▪ linux提供三个不同的命令进行 linux的配置,效果完全一样。
make menuconfig make config make xconfig
一般我们选择make xconfig,它提供一个图形界面,比较直观。
内核配置选项
内核编译以前首先应该对内核进行配置,裁剪不必要的内容,在 完全实现硬件功能的前提下尽量节约空间。
程序和必需的驱动程序,根据用户所加入应用程序的大小,文件 系统所占空间也存在比较大的差异。 ▪ 采用分区存放
linux内核结构
Linux内核与大部分UNIX内核一样是单内核体系结构的,即它是 由几个逻辑功能上不同的部分组合而成的大程序。
▪ 单内核结构可以动态加载和卸载模块(module),能够根据需 要定制内核映像的尺寸;
▪ 选择安装项目。点击在安装项目左边的“default”,可以调整该 项目的安装设置。开发Linux必须选择全部安装以下项目:
Admin --- 包括启动服务cygrunsrv等工具,NFS启动必备 Archive --- 压缩解压工具集 Base --- 基本的Linux工具集 Devel --- 开发工具集,包括gcc、make等开发工具 Libs --- 函数库 Net --- 网络工具集 Shells --- 常用Shell工具集 Utils --- 包括bzip2等实用工具集
linux的移植
处理器结构层次移植 芯片层次移植 目标板板级移植
处理器结构层次移植(1)
处理器结构的源文件在kernel/arch目录下;
包含所有已支持的处理器,以子目录形式提供,如arm、armnommu、 m68k、mips64等;
linux使用的是arm;
处理器结构文件目录主要由以下这些子目录组成:
交叉编译链接工具介绍(二)
➢ 实用工具集 :
arm-linux-addr2line arm-linux-ar arm-linux-nm arm-linux-objcopy arm-linux-objdump arm-linux-ranlib arm-linux-readelf
交叉编译链接工具介绍(三)
类似UNIX;免费;源代码开放;符合POSIX标准;支持TCP/IP;支持绝大多数32位和64位 CPU;抢先式多任务处理;内存保护;虚拟内存等。
……
主要内容
嵌入式操作系统 linux概述
建立开发环境 linux内核配置与编译 linux移植 系统引导程序Boot Loader linux的文件系统 linux内核程序 linux应用程序开发
- 系统中的软件越来越复杂,完全驾奴的能力不够 - 维护成本太高、系统升级困难
▪ 使用嵌入式操作系统 - 稳定性好、性能高、功能完善 - 遵循标准,便于移植、升级
嵌入式操作系统的特点
▪ 提供内核管理 ▪ 多任务管理 ▪ 外围资源管理 ▪ 要更稳定 ▪ 可裁剪、可配置 ▪ 实时性需求 ▪ 针对应用的优化与功能增强
cd /tmp tar -P -xvjf cross-armtools-linux-edukit2410.tar.bz2 source armtools-linux/cross-install.sh
▪ 软件自动将工具链安装到/usr/arm-linux目录。
主要内容
嵌入式操作系统 linux概述 建立开发环境 linux内核配置与编译 linux移植 系统引导程序Boot Loader linux的文件系统 linux内核程序调试 linux应用程序开发
安装linux源代码
linux官方网站linux源代码最新版本的下载地址为: 源代码包名称为linux-2.4.18-rmk7-pxa1-mz5.tar.bz2 。
解压linux源代码包,执行命令: cd /usr/local/src/ tar -xvjf linux-2.4.18-rmk7-pxa1-mz5.tar.bz2
from Local Directory“,选择“下一步”,如图所示。
Cygwin的安装和设置(二)
▪ 选择Cygwin的安装目录。选择DOS文本文件类型(DOS与UNIX 文本类型的区别在于前者的换行为ASCLL的0x0D和0x0A组合, 后者是0x0D)。选择“下一步”,如图所示。
NTFS
Cygwin的安装和设置(三)
▪ 具有很大灵活性,不需要重新编译内核且引导就能检验新的内核 组件,方便用户构筑自己的个人内核。
Linux内核由5个主要的子系统组成,分别为:进程调度 (SCHED)、内存管理(MM)、虚拟文件系统(Virtul )、网 络接口(NET)和进程间通信(IPC)。
内核结构示意图
linux文件目录结构
Linux操作系统
▪ 1969年,Bell实验室,发明UNIX ▪ 1991年,芬兰Linus Torvalds,
设计了Linux
▪ 最初设计为桌面系统,现广泛应用于服务器。 ▪ Linux的特点:支持多种体系结构,支持大量外设,网络功能完善
开放源代码,软件资源丰富,内核稳定而高效,大小及功能均可 定制。
的内核映像文件
运行linux
通过编译最终在arch/arm/boot目录下生成1个文件: zImage ——linux 内核2.4.x的压缩方式可执行映像文件。
烧写映像文件: 通过Flash烧写工具,分别将Bootloader(启动)、zImage以及 root.cramfs三个映像文件固化到Flash中。
linux应用特征
✓ 广泛的处理器结构和硬件平台支持 ✓ 程序代码的质量与可靠度高 ✓ 提供广泛的通信协议和软件标准支持 ✓ 丰富的应用软件和广泛的社群支持 ✓ 低廉的成本 ✓ 开源软件 ✓ 可靠的系统安全
linux设计特征
▪ linux的内存管理 ▪ linux的多进程处理 ▪ linux针对实时性的解决方案 ▪ 执行程序的格式 ▪ 文件系统 ▪ 标准C函数库
销售额最大,价格昂贵;通常只提供二进制码内核;支持多种CPU;完整的开发工具和测试 工具;完备的设备驱动和应用模块;支持POSIX标准;性能好,功能齐全。
▪ WinCE操作系统
Microsoft出品、需购买许可、支持多线程、有优先级、虚拟内存、提供类似PC机的操作系统 界面等。
▪ Linux操作系统
▪ 满足嵌入式操作系统的要求,目前在嵌入式领域高速发展,催生 了一些嵌入式Linux,如uClinux、RTLinux……
Linux内核版本号约定
▪ x.y.zz - x:主版本号 - y:次版本号,奇数=开发版,偶数=稳定版 - zz:子版本号,当前版本的修订次数
例如:2.4.18表示对核心2.4版本的第18次修订, 该版本为可以使用的稳定版本。
linux操作系统的移植及应用
主要内容
嵌入式操作系统 linux概述 建立开发环境 linux内核配置与编译 linux移植 系统引导程序Boot Loader linux的文件系统 linux内核程序 linux应用程序开发
操作系统概述
为什么需要操作系统 ▪ 早期的8位/16位系统中大多没有操作系统 ▪ 进入32位时代
编译linux内核
▪ cd /usr/local/src/kernel ▪ make dep --搜索linux编译输出与源代码之
间的依赖关系,并以此生成依赖文件 ▪ make clean --清除以前构造内核时生成的
所有目标文件、模块文件和临时文件。 ▪ make zImage --编译Linux内核,生成压缩
典型的嵌入式操作系统
▪ uC/OS-II操作系统
简单高效、免费、支持64个任务、支持多种CPU、无设备驱动程序、缺乏足够的应用模块。
▪ eCOS操作系统
免费使用、支持多种CPU、 使用GNU工具链开发、有完备的设备驱动程序和应用模块、支持 POSIX标准、需要较多的系统资源。
▪ VxWorks嵌入式实时操作系统
▪ 中断处理上下文、内存映射的维护、任务上下文和初始化过程等, 这部分代码都在kernel/arch/目录下;
▪ 处理器结构的头文件在kernel/include目录下; ▪ 设备驱动文件通常是在kernel/drivers目录下; ▪ 分区类型和网络相关的部分则分别在kernel/fs和kernel/net目录下; 对一个新型的处理器结构,在移植中可参照其他的处理器结构,
交叉编译链接工具介绍(一)
➢ 编译、汇编、链接工具 : arm-linux-g++、arm-linux-c++ —— C++编译器。 arm-linux-c++filt —— C++语言支持函数重载,可以使用相同 的函数名称和不同的函数参数,连接器使用本工具来过滤 C++和 Java 符号,防止重载函数冲突。 arm-linux-gcc —— 编译器。 arm-linux-as —— 汇编器。 arm-linux-ld —— 连接器。 arm-linux-protoize、arm-linux-unprotoize —— gcc的可选 部分,protoize在程序中增加函数原型,转换程序符合标准C规范。 Unprotoize则清除所找到的的函数原型的参数。
Cygwin对于学习掌握Linux操作环境,或者进行某些特殊的开发 工作,尤其是使用GNU工具集在Windows上进行嵌入式系统开发, 非常有用。
相关文档
最新文档