有没有嵌入式开发的学习路线,越详细越好

有没有嵌入式开发的学习路线,越详细越好,第1张

看方向

如果选择嵌入式硬件开发,就不懂了

软件开发的话,分底层和应用层

我是从事wince驱动开发的(快满一年),

以wince为例,底层就是boot、bsp修改、驱动开发这几部分

学习路线:

1、买个开发板

2、按照开发板上的例子玩玩,ARM汇编稍微能看懂,写点简单的程序跑跑,对汇编有个大概的了解,bootloader等等会多少涉及点汇编的东西

然后就是开发板上的一些驱动玩玩。如果可以拿相似的BSP移植到开发板上就更好了,对BSP就有更多的认识了,学完以上可能可以找到工作,在工作中进一步加深理解

如果是应用的话,wince,我们写应用用的是VS2005,VC++,和PC的开发基本差不多

学完一个 *** 作系统,切换到另一个平台相对而言还是蛮快的,基本都是相通的

我之前的经验是,我买了开发板玩了ADS程序写了小型的程序,就是把LED啊、液晶屏啊、等等驱起来,然后,在linux下玩驱动,写了几个简单的流驱动,去应聘,鬼使神差被招进去玩wince驱动了,感觉差得不是很多,玩了2周就开始上手,2个月之后,底层这块就都扔给我了

以上,仅供参考(至于开发板,如果是消费电子类的,好像三星的S3C系列用的人比较多,开发板也很多,工业类的就不懂了。至于选哪家开发板厂家,百度google一下)

目前的 *** 作系统种类繁多,很难用单一标准统一分类。 根据应用领域来划分,可分为桌面 *** 作系统、服务器 *** 作系统、主机 *** 作系统、嵌入式 *** 作系统; 根据所支持的用户数目,可分为单用户(MSDOS、OS/2)、多用户系统(UNIX、MVS、Windows); 根据源码开放程度,可分为开源 *** 作系统(Linux、Chrome OS)和不开源 *** 作系统(Windows、Mac OS); 根据硬件结构,可分为网络 *** 作系统(Netware、Windows NT、OS/2 warp)、分布式系统(Amoeba)、多媒体系统(Amiga); 根据 *** 作系统的使用环境和对作业处理方式来考虑,可分为批处理系统(MVX、DOS/VSE)、分时系统( Linux、UNIX、XENIX、Mac OS)、实时系统(iEMX、VRTX、RTOS,RT WINDOWS); 根据 *** 作系统的技术复杂程度,可分为简单 *** 作系统、智能 *** 作系统(见智能软件)。所谓的简单 *** 作系统,指的是计算机初期所配置的 *** 作系统,如IBM公司的磁盘 *** 作系统DOS/360和微型计算机的 *** 作系统CP/M等。这类 *** 作系统的功能主要是 *** 作命令的执行,文件服务,支持高级程序设计语言编译程序和控制外部设备等。

详细情况,建议看下百科:http://baike.baidu.com/view/880.htm?fr=ala0_1_1

国外商用嵌入式实时 *** 作系统 VxWORKS 介绍

1 综述

WRS(Wind River System) 公司是国际著名的嵌入式实时 *** 作系统的供应商。其产品 VxWroks 早期运行在 VRTX 、 pSOS 及自身运行较慢的 WIND 内核等实时内核之上,从 5.0 发行起,不再支持别的内核,只运行自己的 WIND 内核(重写的 WIND 内核)。这个系统的基本设计思想是要充分利用 VxWORKS 和 Unix/Windows 的优点,使之与嵌入式软件相互补充达到最优。

Unix 和 Windows 虽然用户界面友好、开发工具丰富,但是由于嵌入式实时系统的时间、空间的局限性,他们不适用于实时应用开发。传统的实时 *** 作系统提供的用于开发的环境资源(非实时组件)又非常贫乏。 VxWORKS 使嵌入式系统开发人员能在嵌入开发环境下更好的使用 Unix/Windows 。

VxWORKS 能够一方面处理紧急的实时事务,另一方面,让主机用于程序开发和非实时的事务。开发者可以根据应用需要恰当地裁减 VxWORKS 。开发时可以包含附加的网络功能加速开发过程,在产品最终版本中,再去掉附加功能,节省系统资源。

WRS 公司还提供最新一代的 IDE---- 主机上的集成开发环境 Tornado, 开发者通过 Tornado 来编辑、编译、连接和存储实时代码,但是实时代码的运行和调试都在 VxWORKS 上进行。最终生成的目标映像可以脱离主机系统和网络,单独运行在 ROM 、磁盘(软 / 硬)或 FLASH 上。主机系统和 VxWORKS 可以在一个混合应用中共同工作:通过网络联接,主机使用 VxWORKS 系统作为实时服务器。

1995 年开发出的 Tornado ,赢得电子设计新闻该年度的“嵌入式开发软件创新奖“( Electronic Design News' “Embedded Development Software Innovation of the Year” award ) [9] 。

2 特点

• 支持多种硬件环境

VxWORKS *** 作系统支持的 CPU 包括: Power PC 、 68K 、 CPU32 、 Space 、 i960 、 x86 、 Mips 等等;同时支持 RISC 、 DSP 技术。

• 微内核结构,任务间切换时间短,中断延迟小,网络流量大。

• 较好的可剪裁能力,可裁减组件超过 80 个,用户通过交叉开发环境方便地进行配置。

• 支持应用程序的动态连接和动态下载,使开发者省去了每次调试都将应用程序与 *** 作系统内核进行连接和下载的步骤,缩短了编辑 / 调试的周期。

• 较好的兼容性:兼容 POSIX1003.1b 标准( Portable Operating System Interface for computer Environments,= Portable Operating System UNIX , IEEE 1003.1 ) 。

• 高可靠性、高可用性、高安全性。

3 组成

VxWORKS 包括进程管理、存储管理、设备管理、文件系统管理、网络协议及系统应用等部分,占用很小的存储空间,支持高度裁减,保证系统能以较高的效率运行。 VxWORKS 体系结构如图 1.5 所示 [9][10][59] 。

VxWORKS 包括以下部分:

• Wind 内核

Wind 内核包括基于优先级的抢占式多任务调度机制、任务间的同步和进程间的通讯机制以及中断处理、看门狗和内存管理机制。不仅提供多种信号量支持任务间同步和互斥的机制,而且提供消息队列、管道、套接字和信号等机制支持进程间通信。

• I/O 系统

VxWORKS 提供了快速灵活的与 ANSI C 兼容的 I/O 系统,包括 UNIX 标准的缓冲 I/O 和 POSIX 标准的异步 I/O 。还包括多个驱动程序(包括网络驱动、管道驱动、 RAM 盘驱动、 SCSI 驱动、磁盘驱动、显示驱动、键盘驱动、并口驱动等)。

• 文件系统

VxWORKS 提供了快速文件系统适合于实时系统应用。它拥有多种支持使用块设备的本地文件系统。这些设备都使用一个标准接口,从而使得文件系统能够灵活地在设备驱动程序上移植。

• 板级支持包 BSP(Board Support Package)

板级支持包对各种板的硬件功能提供了统一的软件接口,它包括硬件初始化、中断的产生和处理、硬件时钟和计时器管理、局域和总线内存地址映射、内存分配等等。每个板级支持包括一个 ROM 启动( Root ROM )或其他启动机制。

• 网络设施与产品

• 虚拟内存与共享内存

VxWORKS 的 VxWMI 为带有 MMU ( Memory Mapping Unit )的目标板提供了虚拟内存机制。 VxMP 提供了共享信号量、消息队列和不同处理器之间的共享内存区域。

• 目标代理( Target Agent )

目标代码遵循 WDB(Wind Debug) 协议,允许目标机与主机上的 Tornado 开发工具相连。如图 1.6 所示,目标代理是以 VxWORKS 的一个任务的形式运行。

Tornado 目标服务器向目标代理发送调试请求。调试请求通常决定目标代理对系统中其他任务的控制和处理。默认状态下,目标服务器与目标代理通过网络进行通信,用户也可以改变通信方式。

VxWORKS *** 作系统自 1996 年进入中国,广泛应用于通信、国防、工业控制、医疗设备等嵌入式实时应用领域。它是研究嵌入式实时 *** 作系统的一个极好对象。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11089263.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-13
下一篇2023-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存