2022年嵌入式学习步骤及方法 .pdf
《2022年嵌入式学习步骤及方法 .pdf》由会员分享,可在线阅读,更多相关《2022年嵌入式学习步骤及方法 .pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 嵌入式学习步骤(有兴趣的同学可加咱们杭电5 班的嵌入式学习群165829111) 嵌入式门槛虽然较高, 但也跟其他事物一样, 并不是牢不可破。 只要我们用心去对待,冬雪终将化去,春风定会吹来。具体步骤如下:1、 C 语言第二版谭浩强 ; C 程序设计语言第二版徐宝文译机械工业出版社你能区分开指针数组和数组指针吗?你知道函数指针吗?你能区分开定义一个变量时系统给它分配的空间与用malloc()函数给一个变量分配的空间有什么不一样吗?2、 数据结构 C 语言版黄国愉、叶乃青编清华大学出版社你能合上书本,用C 语言实现书中的单链表、双链表数据结构吗?3、 实用 C+程序设计第二板中国电力出版社S
2、teve_Oualline著此阶段主要是学习其面向对象的编程思想,加深对C 语言和数据结构的理解。4、学习单片机,最好能找个前辈带一带。你能用 51 单片机做出一样实际的东西吗?即使它再简单!要注意加深对中断的理解。5、学习 ARM 单片机。(1)、细读 ARM 微控制器基础与实战周立工编写(注:即使你不用书中的开发板)(2)、细读相关芯片的原版英文文档。如:arm920TE.pdfS3C2410_1.2.pdf 6、学习 uCOS!操作系统。(1)、细读嵌入式实时操作系统uCOS!第二版召贝贝译你能把 uCOS!移植到自己的平台上吗?(2)、能编写在 uCOS!操作系统环境下运行的针对具体硬
3、件的驱动程序7、熟悉 inux 环境,学习 inux 环境编程,学习交叉编程(1)、细读 linux 命令大全 .pdf(2)、细读 GNU Make 使用手册(中译版) .pdf(3)、学习创建交叉编程环境8、学习 Linux 操作系统。(1)、 UNIX 环境高级编程(2)、细读 “joyfire 笔记 ” ,可在 “ ”网站的好书下载栏目获取(3)、细读 linux 内核完全注释(4)、细读 understanding the linux kernel 2 (5)、利用源代码阅读利器工具Source Insight进行真正的 linux 内核原码刨析(6)、最后进行内核移植,并能编写在l
4、inux 操作系统环境下运行的针对具体名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - 2 硬件的驱动程序9、学习 Linux 设备驱动编写。可参考inux 设备驱动程序10、复习 C+,学习用 QT 进行图形界面编程(1)、细读 QT 编程宝典(2)、学会通过查看QT 电子文档进行 QT GUI 实地编程(3)、学习交叉编程(其实就是把命令qmake变为 tmake)11、当然,你也可学习一下PCB 的制作和设计一个自己的CPU
5、(即软壳)在嵌入式软件方面最重要的课程包括:(1) 嵌入式微处理器结构与应用:这是一门嵌入式硬件基础课程,我们说过,嵌入式是软硬件结合的技术,搞嵌入式软件的人应对ARM 处理器工作原理和接口技术有充分了解,包括ARM的汇编指令系统。 若不了解处理器原理, 怎么能控制硬件工作, 怎么能写出节省内存又运行高速的最优代码(嵌入式软件设计特别讲究时空效率),怎么能写出驱动程序(驱动程序都是与硬件打交道的)?很多公司招聘嵌入式软件人员时都要求熟悉 ARM 处理器,将来若同学到公司中从事嵌入式软件开发,公司都会给你一本该设备的硬件规格说明书(xxx Specification),你必须能看懂其中的内存分布
6、和端口使用等最基本的说明(就像x86 汇编一样),否则怎么设计软件。有些同学觉得嵌入式处理器课程较枯燥,这主要是硬件课程都较抽象的原因。还有同学对 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 等,他们都在
8、ARM CPU 核的基础上进行了一些外围扩展,形成自己的处理器 (如 Samsung S3C2410,Motorola i.MXL9328 等处理器都是采用ARM 9 内核,指令一级是相同的) 。而众多中小公司又购买了这些处理器,设计了各种各样的开发板,如华恒等国内很多著名嵌入式公司都生产基于SamsungS3C2410的开发板,供最终用户使用或供教学实验。 在 ARM 这个食物链上, ARM 公司是大鱼,Intel、 Samsung等公司是小鱼,而华恒等则是虾米, 最终用户(我们这些要采购嵌入式开发板的)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -
9、 - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - - - 3 则是喂虾米的。 Intel 早期生产的是低端ARM(Strong ARM ,相当于 ARM 7), 现在转向主要生产高端ARM( 即 Intel Xscale 处理器 ,属于 ARMv5 家族,主要用在高端 PDA 上,如 HP 和 DELL 生产的 PDA 都采用 Intel Xscale,价格较高 )。目前应用最多的是 ARM 7 和 ARM 9 两类处理器。ARM 7 较便宜,可跑 uclinux(是一个不支持高级内存管理功能的嵌入式Linux 系统统) 、
10、Vxworks、uc/os II 等实时操作系统,但因处理器不带内存管理单元MMU (无内存分页和地址映射机制,所以不能使用虚拟内存) ,所以不能跑 Windows CE,另外通用 Linux 中的某些内存管理功能也不能用在ARM 7 上。ARM 9 大都是一个带 MMU 功能的高端处理器,可跑 WinCE 或通用 Linux 的大多数功能。 ARM7 和 ARM9 的区别是在与体系结构上,前者是冯 诺伊曼结构,后者是哈佛结构 指令和数据总线是分开的。以上是我的一点了解,可能有不对的地方。我们学院有十几套ARM 7 开发系统(采用 Samsung S3C44b0 x开发板,主要用于嵌入式处理器
11、结构、实时操作系统等课程实验用),ARM 9 的系统好象也已经到了(采用的芯片我不知道也没去问) ,还有以前的十几套MPC860 开发板(听说价格都很贵,很容易损坏) ,同学应爱护使用和珍惜这样的实验机会。(2) 嵌入式操作系统类课程除了 WinCE 的实时性稍差外,大多数嵌入式操作系统的实时性都很强,所以也可称为实时操作系统Real Time Operating System.从事嵌入式的人至少须掌握一个嵌入式操作系统 ,这在嵌入式的所有技术中是最为关键的了。目前最重要的 RTOS主要包括:第一类 、传统的经典 RTOS:最主要的便是 Vxworks 操作系统,以及其 Tornado开发平台
12、。 Vxworks 因出现稍早, 实时性很强 (据说可在 1ms内响应外部事件请求) ,并且内核可极微(据说最小可8K) ,可靠性较高等,所以在北美, Vxworks占据了嵌入式系统的多半疆山。特别是在通信设备等实时性要求较高的系统中,几乎非 Vxworks 莫属。Vxworks 的很多概念和技术都和Linux 很类似,主要是 C语言开发。像 Bell- alcatel、Lucent、华为等通信企业在开发产品时,Vxworks 用得很多。但 Vxworks 因价格很高,所以一些小公司或小产品中往往用不起。目前很多公司都在往嵌入式Linux 转(听说华为目前正在这样转) 。但无论如何,Vxwor
13、ks 在一段长时间内仍是不可动摇的。与Vxworks 类似 的稍有名的实时操作系统还有 pSOS、QNX、Nucleus等 RTOS。第二类 、嵌入式 Linux 操作系统: Linux 的前途除作为服务器操作系统外,最成功的便是在嵌入式领域的应用, 原因当然是免费、 开源、支持软件多、 呼拥者众,这样嵌入式产品成本会低。Linux 本身不是一个为嵌入式设计的操作系统,不是微内核的,并且实时性不强。目前应用在嵌入式领域的Linux 系统主要有两种:一种是专为嵌入式设计的已被裁减过的Linux 系统,最常用的是uClinux (不带MMU 功能) ,目前占较大应用份额,可在ARM7 上跑;另一种
14、是跑在ARM 9上的,一般是将Linux2.4.18 内核移植在其上,可使用更多的Linux 功能(当然uClinux 更可跑在 ARM 9 上) 。很多人预测,嵌入式Linux 预计将占嵌入式操作系统的 50%以上份额,非常重要。缺点是熟悉Linux 的人太少,开发难度稍大。另外,目前我们能发现很多教材和很多大学都以ucOS/II 为教学用实时操作系统,这主要是由于ucOS/II 较简单,且开源,非常适合入门者学习实时操作系统原理,但 由于 ucOS/II 功能有限,实用用得较少。况且熟悉了Linux 开发,不仅名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - -
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年嵌入式学习步骤及方法 2022 嵌入式 学习 步骤 方法
限制150内