嵌入式学习的正确步骤,嵌入式 嵌入式学习路线

上传人:206****923 文档编号:41633689 上传时间:2018-05-30 格式:DOCX 页数:7 大小:23.18KB
返回 下载 相关 举报
嵌入式学习的正确步骤,嵌入式 嵌入式学习路线_第1页
第1页 / 共7页
嵌入式学习的正确步骤,嵌入式 嵌入式学习路线_第2页
第2页 / 共7页
嵌入式学习的正确步骤,嵌入式 嵌入式学习路线_第3页
第3页 / 共7页
嵌入式学习的正确步骤,嵌入式 嵌入式学习路线_第4页
第4页 / 共7页
嵌入式学习的正确步骤,嵌入式 嵌入式学习路线_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《嵌入式学习的正确步骤,嵌入式 嵌入式学习路线》由会员分享,可在线阅读,更多相关《嵌入式学习的正确步骤,嵌入式 嵌入式学习路线(7页珍藏版)》请在金锄头文库上搜索。

1、 达内教育达内教育中国中国 IT 培训领导品牌培训领导品牌嵌入式学习的正确步骤嵌入式学习的正确步骤,嵌入式嵌入式 嵌入式学习路线嵌入式学习路线嵌入式门槛虽然较高,但也跟其他事物一样,并不是牢不可破。只要我们 用心去对待,冬雪终将化去,春风定会吹来。具体步骤如下:1、C 语言第二版 谭浩强 ; C 程序设计语言第二版 徐宝文译 机 械工业出版社你能区分开指针数组和数组指针吗?你知道函数指针吗?你能区分开定义一个变量时系统给它分配的空间与用 malloc()函数给一个 变量分配的空间有什么不一样吗?2、数据结构C 语言版 黄国愉、叶乃青编 清华大学出版社你能合上书本,用 C 语言实现书中的单链表、

2、双链表数据结构吗?3、实用 C+程序设计第二板 中国电力出版社 Steve_Oualline 著此阶段主要是学习其面向对象的编程思想,加深对 C 语言和数据结构的理 解。4、学习单片机,最好能找个前辈带一带。你能用 51 单片机做出一样实际的东西吗?即使它再简单!要注意加深对中断的理解。5、学习 ARM 单片机。(1)、细读ARM 微控制器基础与实战周立工编写(注:即使你不用书中 的开发板)(2)、细读相关芯片的原版英文文档。如:arm920TE.pdf S3C2410_ 达内教育达内教育中国中国 IT 培训领导品牌培训领导品牌6、学习 uCOS!操作系统。(1)、细读嵌入式实时操作系统 uC

3、/OS-!第二版 召贝贝译你能把 uCOS!移植到自己的平台上吗?(2)、能编写在 uCOS!操作系统环境下运行的针对具体硬件的驱动程序7、熟悉 Linux 环境,学习 Linux 环境编程,学习交叉编程(1)、细读linux 命令大全.pdf(2)、细读GNU Make 使用手册(中译版).pdf(3)、学习创建交叉编程环境.8、学习 Linux 操作系统。(1)、UNIX 环境高级编程(2)、可以到一些好的网站下载一些比较好的书籍(3)、细读linux 内核完全注释(4)、细读understanding the linux kernel 2(5)、利用源代码阅读利器工具“Source In

4、sight“进行真正的 linux 内核原 码刨析(6)、最后进行内核移植,并能编写在 linux 操作系统环境下运行的针对具 体硬件的驱动程序9、学习 Linux 设备驱动编写。可参考Linux 设备驱动程序10、复习 C+,学习用 QT 进行图形界面编程(1)、细读QT 编程宝典(2)、学会通过查看 QT 电子文档进行 QT GUI 实地编程 达内教育达内教育中国中国 IT 培训领导品牌培训领导品牌(3)、学习交叉编程.(其实就是把命令 qmake 变为 tmake)11、当然,你也可学习一下 PCB 的制作和设计一个自己的 CPU(即软壳)在嵌入式软件方面最重要的课程包括:(1) 嵌入式

5、微处理器结构与应用:这是一门嵌入式硬件基础课程,我们说过,嵌入式是软硬件结合的技术, 搞嵌入式软件的人应对 ARM 处理器工作原理和接口技术有充分了解,包括 ARM 的汇编指令系统。若不了解处理器原理,怎么能控制硬件工作,怎么能写出节 省内存又运行高速的最优代码(嵌入式软件设计特别讲究时空效率),怎么能写 出驱动程序(驱动程序都是与硬件打交道的)?很多公司招聘嵌入式软件人员时都 要求熟悉 ARM 处理器,将来若同学到公司中从事嵌入式软件开发,公司都会给 你一本该设备的硬件规格说明书 (xxx Specification),你必须能看懂其中的 内存分布和端口使用等最基本的说明(就像 x86 汇编

6、一样),否则怎么设计软件。 有些同学觉得嵌入式处理 器课程较枯燥,这主要是硬件课程都较抽象的原因。 还有同学对 ARM 汇编不感兴趣,以为嵌入式开发用 C 语言就足够了。其实不应 仅是将汇编语言当成一个程序设计语言,学汇编主要是为了掌握处理器工作原 理的。一个不熟悉汇编语言的人,怎么能在该处理器写出最优的 C 语言代码。 在嵌入式开发的一些关键部分,有时还必须写汇编,如 Bootloader 等(可能还 包括 BSP)。特别是在对速度有极高要求的场合(如 DSP 处理器的高速图像采集 和图像解压缩),目前还会用到汇编写程序的,尽管用到的机会相对 C 要小得多。 当你在一个嵌入式公司工作时,在查

7、看描述原理的手册时,可能很多都是用汇 编描述的,这是因为很多硬件设计人员只会写或者喜欢用汇编描述,此时你就 必须看懂汇编程序,否则软硬件人员可能就无法交流。很多嵌入式职位招聘时 都要求熟悉汇编。小知识 目前嵌入式处理器常见的有 ARM、PowerPC、MIPS、Motorola 68K、ColdFire (冷火)等,但 ARM 占据了绝对主流(有资料说手机中几乎 90%都 是 ARM 处理器)。ARM 是一个只卖知识产权的公司,目前获得购买了 ARM CPU 核 授权许可的大公司很多,包括 Intel、Samsung、Amstel、Motorola、Philip 等, 他们都在 ARM CPU

8、 核的基础上进行了一些外围扩展,形成自己的处理器(如 Samsung S3C2410,Motorola i.MXL9328 等处理器都是采用 ARM 9 内核,指令 一级是相同的)。而众多中小公司又购买了这些处理器,设计了各种各样的开发 板,如华恒等国内很多著名嵌入式公司都生产基于 SamsungS3C2410 的开发板, 达内教育达内教育中国中国 IT 培训领导品牌培训领导品牌供最终用户使用或供教学实验。在 ARM 这个食物链上,ARM 公司是大鱼, Intel、Samsung 等公司是小鱼,而华恒等则是虾米,最终用户(我们这些要采 购嵌入式开发板的)则是喂虾米的。Intel 早期生产的是低

9、端 ARM(Strong ARM, 相当于 ARM 7),现在转向主要生产高端 ARM(即 Intel Xscale 处理器,属于 ARMv5 家族,主要用在高端 PDA 上,如 HP 和 DELL 生产的 PDA 都采用 Intel Xscale,价格较高)。目前应用最多的是 ARM 7 和 ARM 9 两类处理器。 ARM 7 较便宜,可跑 uclinux(是一个不支持高级内存管理功能的嵌入式 Linux 系统统)、 Vxworks、uc/os II 等实时操作系统,但因处理器不带内存管理单元 MMU(无内 存分页和地址映射机制,所以不能使用虚拟内存),所以不能跑 Windows CE,

10、另外通用 Linux 中的某些内存管理功能也不能用在 ARM 7 上。ARM 9 大都是一 个带 MMU 功能的高端处理器,可跑 WinCE 或通用 Linux 的大多数功能。ARM7 和 ARM9 的区别是在与体系结构上,前者是冯?诺伊曼结 构,后者是哈佛结构 指令和数据总线是分开的。以上是我的一点了解,可能有不对的地方。我们学 院有十几套 ARM 7 开发系统(采用 Samsung S3C44b0x 开发板,主要用于嵌入式 处理器结构、实时操作系统等课程实验用),ARM 9 的系统好象也已经到了(采 用的芯片我不知道也没去问),还有以前的十几套 MPC860 开发板(听说价格都很 贵,很容

11、易损坏),同学应爱护使用和珍惜这样 的实验机会。(2) 嵌入式操作系统类课程除了 WinCE 的实时性稍差外,大多数嵌入式操作系统的实时性都很强,所以 也可称为实时操作系统 Real Time Operating System.从事嵌入式的人至少须 掌握一个嵌入式操作系统,这在嵌入式的所有技术中是最为关键的了。目前最重 要的 RTOS 主要包括:第一类、传统的经典 RTOS:最主要的便是 Vxworks 操作系统,以及其 Tornado 开发平台。Vxworks 因出现稍早,实时性很强(据说可在 1ms 内响应外 部事件请求),并且内核可极微(据说最小可 8K),可靠性较高等,所以在北美, V

12、xworks 占据了嵌入式系统的多半 疆山。特别是在通信设备等实时性要求较高 的系统中,几乎非 Vxworks 莫属。Vxworks 的很多概念和技术都和 Linux 很类 似,主要是 C 语言开发。像 Bell- alcatel、Lucent、华为等通信企业在开发 产品时,Vxworks 用得很多。但 Vxworks 因价格很高,所以一些小公司或小产 品中往往用不 起。目前很多公司都在往嵌入式 Linux 转(听说华为目前正在这 样转)。但无论如何,Vxworks 在一段长时间内仍是不可动摇的。与 Vxworks 类 似 的稍有名的实时操作系统还有 pSOS、QNX、Nucleus 等 RT

13、OS。 达内教育达内教育中国中国 IT 培训领导品牌培训领导品牌第二类、嵌入式 Linux 操作系统:Linux 的前途除作为服务器操作系统外, 最成功的便是在嵌入式领域的应用,原因当然是免费、开源、支持软件多、呼 拥者众,这样嵌入式产品成本会低。Linux 本身不是一个为嵌入式设计的操作 系统,不是微内核的,并且实时性不强。目前应用在嵌入式领域的 Linux 系统主要有两种:一种是专为嵌入式设计的已被裁减过的 Linux 系统,最常用的是 uClinux(不带 MMU 功能),目前占较大应用份额,可在 ARM7 上跑;另一种是跑在 ARM 9 上的,一般是将 Linux2.4.18 内核移植

14、在其上,可使用更多的 Linux 功 能(当然 uClinux 更可跑在 ARM 9 上)。很多人预测,嵌入式 Linux 预计将占嵌 入式操作系统的 50%以上份额,非常重要。缺点是熟悉 Linux 的人太少,开发 难度稍大。另外,目前我们 能发现很多教材和很多大学都以 ucOS/II 为教学用 实时操作系统,这主要是由于 ucOS/II 较简单,且开源,非常适合入门者学习 实时操作系统原理,但 由于 ucOS/II 功能有限,实用用得较少。况且熟悉了 Linux 开发,不仅在嵌入式领域有用,对开发 Linux 应用软件,对加深操作系 统的认识也有帮 助,可谓一举多得。据我所知,目前 Int

15、el、Philip 都在大搞 ARM+LINUX 的嵌入式开发,Fujitum 则是在自己的处理器上大搞 Linux 开发。 目前在嵌入式 Linux 领域,以下几个方面的人特别难找,一是能将 Linux 移植 到某个新型号的开发版上;二是能写 Linux 驱动程序的人;三是熟悉 Linux 内核 裁减和优化的人。不过 LINUX 有一个硬伤,就是没有 WINDOWS 那样的友好方便 美观的交互界面,不然微软帝国早就守不住了。第三类、 Windows CE 嵌入式操作系统:Microsoft 也看准了嵌入式的巨大 市场,MS 永远是最厉害的,WinCE 出来只有几年时间,但目前已占据了很大市

16、场份额,特别是在 PDA、手机、显示仪表等界面要求较高或者要求快速开发的 场合,WinCE 目前已很流行(据说有一家卖工控机的公司板子卖得太好,以至来 不及为客户裁减 WinCE)。WinCE 目前主要为 4.2 版(.NET),开发平台主要为 WinCE Platform Builder,有时也用 EVC 环境开发一些较上层的应用,由于 WinCE 开发都是大家熟悉的 VC+环境,所以我院学过 Windows 程序设计课程的 同 学都不会有多大难度,这也是 WinCE 容易被人们接受的原因,开发环境方便 快速,微软的强大技术支持,WinCE 开发难度远低于嵌入式 Linux。对于急于完 成,不想拿嵌入式 Linux 冒险的开发场合,WinCE 是最合适了(找嵌入式 Linux 的人可没那么好找的),毕竟公司不能像学生学习那样试试看

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号