嵌入式linux与嵌入式系统设计

发布 2022-10-21 05:38:28 阅读 1406

ustc bbs embedded斑竹d_j主讲。

感谢hongtao_chen以及networking斑竹jun_zxjun的大量幕后工作!!

感谢james_zhang以及网络中心提供聚会的场地和大力支持!!!

欢迎访问我的主页。

聚会详情如下:

名称:“嵌入式系统设计以及嵌入式linux展望”

时间: 本周星期天(2k.5.28)晚上7:30

地点:东区网络中心三楼会议室(如有变动,将在本版通知,请密切关注)

形式:先是短时报告,每个20分钟左右,每个报告结束后有10分钟左右的听众提问。

报告都结束之后,大家自由扎堆聊天。

短时报告的内容:

报告一:“uclinux硬件设计体验”--xinhua_rong

报告二:“ipv6与linux”--luster_witty

报告三:“嵌入式gui以及微型浏览器的预研及现场演示”--cool_bird及sky_yin

报告四:“linux体系结构分析”(主要介绍devices driver以及memory management)--老铁

报告五:“嵌入式linux与嵌入式系统设计”--d_j

1、 后pc时代的嵌入式系统是什么?--**展示。

2、 嵌入式系统的构成:

3、 商用嵌入式操作系统以及嵌入式微处理器。

分类介绍。商用嵌入式操作系统:

1) psos+ &vxworks--中兴通讯、华为、迪科(从wince转向psos+)等公司使用(注意)

2) windowsce---不用说了,microsoft的,pocketpc,展示**:微软的pocketpc设备_xbox_来自e3展会(注意)

3) chorus---被sun公司收购了,机顶盒应用;jini技术。

4) lynxos---unix全兼容,全面转向embedded linux---blue cat linux

5) ose---欧洲。

6) vrtx---以前的系统,已经有些落后。

7) qnx---对于非商用开发者可免费获得,8) os-9---多**,消费电子。

9) embedded linux---正在兴起(注意)

10) ucos、rtems---免费,开放源**后者为美**方使用。(注意)

内核抢先”的特点,没有原子操作,或者内核的抢先点比较紧密。

结构:app-- psos+ -bsp --hardware

psos+ 小于20k

psoselect 1.8k

一个psos+有什么?

基本系统:probe+ 静态debug工具。

prepc+ ansi c库。

pna+ 网络协议包,各层协议之间“0”拷贝,tcp/ip报文发送中通过指针来实现。

phile+ 支持msdos,cdrom,nfs以及自定义格式。

pmont+ 动态的调试工具,观察现在的任务的运行状况。

扩展模块:open : unix v. 的stream

router: ospf,rip2,snmpv2

调试手段:软件monitor,类似8031/51的方式。

**器:cpu**器(x86), bdm调试器(mot)

嵌入式微处理器:

流水线深、多是实时不好的原因。

1) x86体系:amd4xx,intel 386ex,ali386---最小的web server,standford univ.

2) arm体系:intel strong arm,机顶盒应用,intel号称转向网络处理器的开发。

3) 68k/powerpc体系:motorola公司,嵌入式微处理器的老大,类似intel公司在desktop pc上的地位;路由器,交换机,商务通等手持设备。

4) etc.日本公司的arm core处理器。

4、 open hardware运动以及open software运动。

uclinux以及strongarm都有公开的硬件电路图。展示**:

5、 嵌入式linux技术的关键。

1)对linux的裁减达到小型化的目的,并移植应用程序;

2)对不同嵌入式微处理器的linux内核**移植(uclinux,xinhua_rong),驱动程序的研究(老铁);

3)图形接口gui以及微型浏览器的研究。cool_bird & sky_yin

16位总线。

外设。图2 嵌入式linux硬件平台框图。

嵌入式linux可以应用于嵌入式网络通讯设备、个人数字助理(pda)、工业控制设备等场合,下面给出的应用实例可以将普通打印机转换为网络打印服务器,其实现的硬件成本仅需几百元,同时具有良好的系统功能扩充性,例如可以控制打印的权限、使用时间、打印张数,甚至能自动收e-mail并打印输出,其硬件平台的框图如图2所示。在图2中,我们选用amd公司的elan 4xxx系列是专注于嵌入式工业应用的mcu,该mcu属于x86体系结构,兼容一般桌面pc的linux i386版本。这样,我们可以直接使用x86体系的编译器对linux核心源**直接进行编译及裁剪。

表一:专用嵌入式实时操作系统 vs 嵌入式linux操作系统。

表二:开发路由器---vxworks专用操作系统 vs 嵌入式linux操作系统。

1 如何选用合适的linux版本。

用户可以获得多种配置及体系不同的linux版本,另外,还有一些把linux移植到非x86体系的cpu(包括powerpc、risc、68k以及许多别的微控制器)上的版本。因此,我们如何选择linux的发行版本,也是一个重要的问题。

linux的版本主要有四大类:

(1)标准的linux版本。

(2)小型化的嵌入式版本(small foot-print“embedded”version)。

(3)具有实时扩展功能的linux版本。

4) linux特殊应用版本。例如有许多针对不同的如“瘦服务器”或“防火墙”应用的小型化、实时特性增强的版本。

3 linux的小型化。

对于嵌入式linux的主要挑战是把系统资源的需求减少,以适应于诸如内存、固态电子盘容量、处理器速度、以及节能的限制。嵌入式操作系统需要从一个芯片级盘片或者闪存式电子盘启动,或者启动并运行于没有显示及键盘的环境中,或从一个远程的设备上通过以太网连接来加载应用程序。现在已经有一些可参考的小型linux的**,其中又发展出大量的linux配置及发行版本用来满足特别的需求,诸如路由器、防火墙、internet以及网络应用,网络服务器、网关等等。

我们可以有选择地生成我们需要的嵌入式linux,从一个标准发行版中开始裁减不需要的模块。甚至,我们可以从别人配置过的版本开始开发,因为他人的嵌入式版本也开放源**的,最突出的优点是在他人的工作的基础上建立自己的系统,这在linux开发群体中不仅是合法的,而且是受到鼓励的和支持的。

由于linux作为开放源**的自由软件,使我们可以根据应用系统设计的具体需要对linux内核源**进行修改、裁剪、增加以及重新编译。系统实现步骤为:

(1) 重新编译linux内核(kernel),去掉内核中不需要的模块,诸如pcmcia之类的外设支持模块等。

2) 编写boot loader,制作boot rom用于加载嵌入式linux内核到内存中。

3) 重新设计以太网驱动程序以及串/并口驱动程序。

4) 设计嵌入式linux应用程序,管理打印服务的应用。

5) 嵌入式linux系统执行流程如图1所示。

图 1 系统执行流程图。

4 实时linux

许多嵌入式系统要求能**、可限定响应时间地响应外界事件,此类实时系统包括工厂自动控制、数据采集、控制系统、音频及**应用、多数电脑化产品及设备。通用的可接受的“实时”概念的定义是:来自外界的事件必须在可**的、相对短的时间段内得到响应。

尽管linux不是一个是真正的实时操作系统(linux内核不提供对事件优先级及抢占特性的支持),但它已经有几个增加的选择可以给基于linux的系统提供实时特性。

其中,最常用的办法是双内核相结合,把一个通用操作系统作为一个任务运行在一个实时内核上。通用操作系统提供磁盘读写、网络及通讯、串/并口读写、系统初始化、内存管理等等功能,而实时内核则处理实时事件的响应。双内核策略充分兼容标准的linux,而又采用一种不干扰原linux的方式来增加了实时功能。

实时是一个相对的概念,并非绝对的表述。哪些场合需要实时特性呢?早期的嵌入式系统运行在4/8位的、10mhz以下的主频的cpu以及几kb的内存当中。

一个实时系统必须在一个可接受的、可**的时间间隔之中处理外界任。务。尽管cpu的运行速度一直在提高,但是现实世界中的事件发生的速率是不变的。

因此,实时特性变得易于满足。现在,实时特性变得不那么重要了,更受重视的是功能的成熟以及如何缩短产品的上市时间。过去是看重基于cpu速度的执行效率问题,而现在及未来则更看重如何适应以internet为中心的通讯协议的问题。

5 嵌入式linux的应用趋势。

5.1 软件化的趋势。

操作系统应用可接受的结果是:软实时。在许多系统中,我们能保证应用程序能满足实时的要求而不必要使用特定的实时操作系统。

当要求的响应时间是在毫秒级别而非微秒级别的时候,这是可行的。一个小型化配置的linux和一个合理的较高速的cpu(486 133 mhz或者更高),不需要特别的实时模块也能满足我们的要求。如果软实时能满足你的要求,那么你可以选用一个叫“linux-srt”的外加linux模块(srt是soft real-time的缩写)。

《嵌入式系统与开发》构建嵌入式Linux系统 实验报告

嵌入式qt编程设计 实验报告。学生姓名。学号。专业班级。指导教师。完成时间。实验4 嵌入式qt编程及使用。一。实验目的。理解qt信号和插槽机制,掌握利用qt creator进行图形软件设计的基本步骤,并掌握将编译好的可执行程序加载到嵌入式开发板并运行的方法。掌握qt应用程序操纵底层硬件设备的基本步骤...

嵌入式系统与开发》构建嵌入式Linux系统 实验报告

第三步,编译sqlite,命令为 make 编译过程中使用的编译器为 arm linux gcc 第四步,安装sqlit,命令为 make install 安装完成后到 opt sqlite 文件夹下去查看相关文件,可以看到该文件夹下有 bin include lib 和share文件夹,其中可执行...

嵌入式Linux技术漫谈嵌入式系统工业自动化控制

嵌入式linux技术漫谈 嵌入式系统 工业自动化控制。今天,linux 正广泛应用于各种嵌入式设备的开发中,如数字电视 机顶盒 dvr 器 xdsl 有线 pon调制解调器 家用路由器和网关。它尤其适合具有先进网络功能 大量设备驱动程序和免版税运行时间的数字家庭和家庭网络。除了嵌入式设备,linux...