




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
物联网网关操作系统,中智讯(武汉)科技有限公司,Linux操作系统概述Linux常用软件工具嵌入式Linux系统开发网关镜像更新与使用Linux程序开发与编译Linux基础应用实验,嵌入式与操作系统,为什么需要操作系统?早期的8位/16位系统中大多没有操作系统;进入32位时代:系统中的软件越来越复杂,完全驾驭的能力不够;维护成本太高、系统升级困难。使用嵌入式操作系统:稳定性好、性能高、功能完善,遵循标准,便于移植、升级嵌入式操作系统的特点:提供内核管理多任务管理外围资源管理要更稳定可裁剪、可配置实时性需求针对应用的优化与功能增强,常见的嵌入式操作系统,uC/OS-II操作系统(类似的有Contiki、freeRTOS):简单高效、免费、支持64个任务、支持多种CPU、无设备驱动程序、缺乏足够的应用模块;Linux操作系统:类似UNIX;免费;源代码开放;符合POSIX标准;支持TCP/IP;支持绝大多数32位和64位CPU;抢先式多任务处理;内存保护;虚拟内存等;WinCE/WindowsPhone/Windows10IoT操作系统:Microsoft出品、需购买许可、支持多线程、有优先级、虚拟内存、提供类似PC机的操作系统界面;VxWorks操作系统:收费价格昂贵;通常只提供二进制码内核;支持多种CPU;完整的开发工具和测试工具;完备的设备驱动和应用模块;支持POSIX标准;性能好,功能齐全;Andriod操作系统:Google与开放手机联盟合作开发的基于Linux平台的开源手机操作系统;MacOSX操作系统;KeilRTX;,Linux操作系统,1969年,Bell实验室,发明UNIX;1991年,芬兰LinusTorvalds,设计了Linux。最初设计为桌面系统,现广泛应用于服务器。Linux的特点:支持多种体系结构,支持大量外设,网络功能完善开放源代码,软件资源丰富,内核稳定而高效,大小及功能均可定制。满足嵌入式操作系统的要求,目前在嵌入式领域高速发展,催生了一些嵌入式Linux,如uClinux、RTLinux,知识延伸:GNU、自由软件,常见Linux发行版,Ubuntu:目前最流行的Linux发行版,每半年发行一个新版本,安装简单,操作界面友好RedHat9.0:老牌Linux发行版,早期嵌入式开发常用环境,驱动支持比较老,安装复杂Fedora:RedHat后续社区版本,测试新功能,更新较快Centos:社区企业操作系统,基于RedHat商业版的源码编译而成,免费,嵌入式操作系统应用场景,嵌入式Linux系统组成,一个基于linux的完整的嵌入式系统由三个部分组成:系统引导程序、linux操作系统内核和文件系统。系统引导程序通常称作BootLoader,平台上执行的第一段代码,常见的有uboot、vivi、blob、redboot等。Kernel即又Linux内核源码进行定制裁剪交叉编译生成,一般比较小。文件系统主要存储用户应用程序,同时包括系统配置文件、系统程序和必需的驱动程序,根据用户所加入应用程序的大小,文件系统所占空间也存在比较大的差异。采用分区存放。,Linux内核结构示意图,嵌入式Linux开发模型,嵌入式Linux开发在宿主机上进行:,标准Linux,虚拟机+标准Linux,Linux模拟环境,Linux环境下GNU工具(编译、链接),安装环境,安装工具,在虚拟机安装嵌入式Linux操作系统,1.系统CPU要支持虚拟化2.在BIOS中开启VT-x或者AMD-V3.电脑系统建议Win764位以上,内存4G及以上,安装说明,Linux操作系统概述Linux常用软件工具嵌入式Linux系统开发网关镜像更新与使用Linux程序开发与编译Linux基础应用实验,熟悉Linux环境下基本操作,通过VirtualBox安装完ZEmbeOS,需要先了解开发中常用的一些工具及部分软件的配置:任务栏文件浏览器常用软件:终端、文本编辑器中文输入法,网络设置(虚拟机),设置虚拟机网络:,选择桥接网卡,界面名称选择本地的网卡设备,网络设置(ubuntu),网络设置:右键单击Ubuntu任务栏的网络状态图标,选择“编辑连接”;弹出网络连接界面,在“有线”选项卡内选择“编辑”按钮开始设置网络IP等参数;点击应用,保存网络设置退出。,设置静态IP地址,网络设置(ubuntu),网络设置:在Ubuntu中单击菜单应用程序-附件-终端打开终端,在终端命令行输入命令可以查看到网卡的信息。,ubuntuubuntu-laptop:$ifconfigeth1Linkencap:以太网硬件地址08:00:27:b4:0c:9cinet地址:05广播:55掩码:inet6地址:fe80:a00:27ff:feb4:c9c/64Scope:LinkUPBROADCASTRUNNINGMULTICASTMTU:1500跃点数:1接收数据包:557错误:0丢弃:0过载:0帧数:0发送数据包:254错误:0丢弃:0过载:0载波:0碰撞:0发送队列长度:1000接收字节:57350(57.3KB)发送字节:38186(38.1KB)loLinkencap:本地环回inet地址:掩码:inet6地址:1/128Scope:HostUPLOOPBACKRUNNINGMTU:16436跃点数:1接收数据包:120错误:0丢弃:0过载:0帧数:0发送数据包:120错误:0丢弃:0过载:0载波:0碰撞:0发送队列长度:0接收字节:10012(10.0KB)发送字节:10012(10.0KB),网络设置-视频,$sudomount-tvboxsfshare/opt/share/共享文件夹映射$sudoumount/opt/share/共享文件夹释放,虚拟机文件共享,在windows下面共享虚拟机下的内容,把Linux下的内容可以在windows下直接访问,在终端上面使用如下的命令进行操作:,文件共享不支持中文名称文件,特殊说明,虚拟机文件共享-视频,Linux常用命令,Linux的系统管理主要在控制终端下进行,通过使用命令行的方式进行管理;Linux的命令(也包括文件名等等)对大小写是敏感的;help提供内部命令的帮助;擅用Tab键;参考资料:Linux常用命令大全.CHM。,终端命令的使用,查询当前目录文件列表:ls,ls/显示/.下的所有文件和目录;ls-l给出文件或者文件夹的详细信息;ls-a显示所有文件,包括隐藏文件;例如:$ls-lmnt“查看mnt目录的详细内容”总用量0drwxrwxrwx1rootroot02012-06-0509:32share,建立一个目录:mkdir,$mkdirpackage“创建package文件夹”,删除文件/目录:rm,rm-optionstarget-f即使原档案属性设为唯读,亦直接删除,无需逐一确认。-r将目录及以下之档案亦逐一删除。$rm-rfmnt“删除mnt文件夹下所有内容”,终端命令的使用,访问权限:chmod,chmod-cfvRabcfile-c:若该档案权限确实已经更改,才显示其更改动作-f:若该档案权限无法被更改也不要显示错误讯息-v:显示权限变更的详细资料-R:对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)其中a,b,c各为一个数字,分别表示User、Group、及Other的权限,r=4,w=2,x=1:若要rwx属性则4+2+1=7;若要rw-属性则4+2=6;若要r-x属性则4+1=5。例如:$chmod777package”修改package的权限为所有用户可读、可写、可执行”,进入文件夹:cd,$cdpackage”进入package所在目录”,终端命令的使用,压缩解压:tar,tar-optionsfile-Cdir将file文件解压缩/将dir目录压缩成file-c压缩文件-f指定压缩/解压缩文件-v显示压缩/解压缩过程-z压缩/解压缩.tgz格式文件-j压缩/解压缩.tar.bz2格式文件-C指定解压缩路径例如:$tarxvzfkernel.tar.gz“解压缩.tar.gz文件包”,加载/卸载一个硬件设备:mount/umount,$mount-tvfat/dev/ub/a/part1/media“将part1挂载在/media下”$umount/media“卸载/media文件夹”,终端命令的使用,网络命令:ifconfig,ifconfig网络设备参数如:$ifconfigeth00“配置eth0的ip地址”$ifconfigeth10netmask“配置eth1的ip地址”,网络命令:ping,$ping“测试本机和是否能够连接通”,网络文件传输命令:tftp,tftp-g05-r服务端文件l本地文件$tftp-g05-rhello-l./hello“将服务器tftp目录下的hello文件下载到本地”,Linux操作系统概述Linux常用软件工具嵌入式Linux系统开发网关镜像更新与使用Linux程序开发与编译Linux基础应用实验,嵌入式Linux系统组成,一个基于linux的完整的嵌入式系统由三个部分组成:系统引导程序、linux操作系统内核和文件系统。,Android文件系统,QT文件系统,基本文件系统,嵌入式Linux开发步骤,一般嵌入式系统开发包含以下步骤:准备Linux宿主机环境,安装必备的嵌入式开发工具及软件依赖包部署交叉编译环境,设置工作路径BootLoader移植:裁剪、驱动、调试Linux内核移植:裁剪、调试最小文件系统制作Linux驱动开发:针对外设进行驱动移植、调试Linux应用程序开发:针对无图形的系统,开发必要的应用Linux图形系统移植及程序开发:QT、Android硬件Hal层驱动开发(Android)打包发布集成的系统镜像,培训Linux实验源码介绍,应用程序,应用编译器,内核编译器,Linux源码,uboot源码,uImage,ubootpak.bin,rootfs.img,通过busybox工具包制作,s5p4418-linux.tgz,Linux操作系统概述Linux常用软件工具嵌入式Linux系统开发网关镜像更新与使用Linux程序开发与编译Linux基础应用实验,培训实验平台系统镜像,Uboot镜像,内核镜像,内核+基础文件系统集合镜像,内核+Linux最小文件系统镜像,Android文件系统镜像,培训平台刷机工具(Android),Uboot镜像,内核+基础文件系统集合镜像,Android文件系统镜像,培训平台刷机工具(Linux),Uboot镜像,内核+Linux最小文件系统镜像,Android系统刷机视频,按住VOL-按键不放,再同时按一下复位按键,直到LCD进入到刷机状态,松开VOL-按键,Linux系统刷机视频,按住VOL-按键不放,再同时按一下复位按键,直到LCD进入到刷机状态,松开VOL-按键,Linux操作系统概述Linux常用软件工具嵌入式Linux系统开发网关镜像更新与使用Linux程序开发与编译Linux基础应用实验,Linux程序开发,Linux下常规应用程序开发没有可视化的编程IDE环境,一般通过文本编辑器进行代码的编写和修改程序通过在终端调用GCC编译器进行程序的编译工程较大的源码,需要通过Makefile文件进行管理,描述源程序之间的依赖关系,并实现自动化的编译工作Bash脚本是Linux下常用的批命令处理文件,往往也用于命令的批量化执行一般开源的源码都集成Makefile工程管理文件及ReadMe文件,指引如何进行开发,GCC&Makefile,GCC原名为GNUC语言编译器,是一套由GNU开发的编程语言编译器。它是一套以GPL及LGPL许可证所发行的自由软件,也是GNU计划的关键部分,亦是自由的类Unix及苹果电脑MacOSX操作系统的标准编译器,Linux下默认的编译器就是GCC。Makefile文件来描述源程序之间的相互关系并自动维护编译工作,用户只需要对已经完成的Makefile执行make命令就可以实现其对源代码的编译;Makefile文件需要按照某种语法进行编写,文件中需要说明如何编译各个源文件并连接生成可执行文件,并要求定义源文你的是之间的依赖关系。,GCC编译流程,GCC的使用,gcc最基本的用法是gccoptionsfilenames,$gcc-ohellohello.c#编译hello.c程序源码$./hello#执行编译生成的hello文件,Makefile的编写,Makefile文件是Linux下面用于解释make命令工具的工程管理文件,它使得Linux下面众多开源项目能够进行“自动化编译”;当在源码工程中执行make命令,系统将会自动根据工程内的Makefile文件来进行源码的编译;Makefile文件的核心规则如下:,target:prerequisitesCommand#target也就是一个目标文件,可以是ObjectFile,也可以是执行文件,还可以是一个标签(Label)。#prerequisites就
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 极地科考船涂料项目可行性研究报告
- 防汛应急培训基本知识课件
- DB65T 4083.4-2017 双语教育资源库 第4部分:功能要求
- 大数据分析市场分析与应用
- 膳食纤维改性-洞察及研究
- 广告合同(期刊上刊登)(样式一)5篇
- 名阳补充协议3篇
- 捐建餐厅协议书7篇
- 建设工程借款合同模板常用版4篇
- 部队夏天安全知识培训课件
- 混凝土搅拌运输施工方案
- 肠镜检查前肠道准备
- 光伏电站组件清洗方案计划
- T-CFA 030501-2020 铸造企业生产能力核算方法
- 当代中国外交(外交学院)知到智慧树章节测试课后答案2024年秋外交学院
- 护理工作中的冲突与管理
- 北京地区建筑地基基础勘察设计准则
- 《社区调查报告》课件
- 2025-2025学年外研版七年级英语上册教学计划
- 《胸腔穿刺术》课件
- 《人才选用育留》课件
评论
0/150
提交评论