嵌入式新手入门开发板选型指南
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章: 前言
近年来,嵌入式人才可谓炙手可热。随着这个行业的不断升温,越来越多的人加入到嵌入式开发的行列中,而学习嵌入式的队伍也在日渐扩大。
对于新手来说,如何迅速上手,进入嵌入式这一领域,是大家共同关注的问题。目前,各种嵌入式的学习资料,培训班层出不穷。新手在面对令人眼花缭乱的众多选择时,普遍感觉到无所适从。作者本人数年前初学嵌入式的时候对这一点也有深刻的体会。作者决定撰写这一部新手指南,完全是源于对自己工作了多年的嵌入式行业的热爱。希望通过整理的一些资料和数年的从业经验,让新人们在迈进嵌入式领域的时候,走得顺畅一些,少绕一些不必要的弯路。文中观点仅代表个人观点。
虽然本文是嵌入式新手指南,但新中更有新中手,本文不可能通俗到只要认识汉字就能一读即懂的程度。一些必要的知识还是需要具备的。读者至少需要具有基本的编程语言知识,C或者C++或者汇编或者其他….只要学过一门,并且试着写过一小段程序,同时对硬件系统有一些基本的知识。如果对基本的编程的思想没有一个了解的话,上手就比较困难了,建议先去补习一下。
学习嵌入式,大概分为以下几步:硬件平台选择,开发环境建立,应用程序编写,驱动程序编写;而对于嵌入式项目的开发,一般有以下几个步骤:硬件开发,交叉编译环境的建立,内核的移植,文件系统的建立,驱动程序的编写,应用程序的开发。
因此对于一个新手来说,第一件事就是拥有一块自己的开发板,然后先在开发板上学习嵌入式环境的建立以及应用程序的编写,接着学习编写驱动程序。作者也将按照这一顺序来撰写新手指南。
硬件平台是整个嵌入式学习的基础。光靠看看资料,自己不动手编程的学习是不可能有什么效果的。所以选择一款嵌入式开发平台,是必须的第一步。有了一套嵌入式开发平台以后,一边看资料,一边动手,进步就非常快。同时选择硬件平台的过程,也有利于大家加深对硬件系统的了解。
嵌入式开发环境的构建是在有了硬件平台之后的又一项重要的基础工作。包括上位机操作系统的安装和配置,编译器的安装和一些其他软件的安装。然后要将启动程序,内核和文件系统编译以后烧写到目标板上。在完成了这些准备工作之后,我们就能够真正进入到后面的开发学习阶段了。
学习应用程序:其实应用程序的复杂程度不比内核低,项目开发周期大多耗在应用程序的编写上。应用程序也是一个系统,比如大家都熟知的qtopia,要玩懂它的话还是要花上很多时间的。
对于想要深入研究嵌入式的朋友,学习驱动程序也是必不可少的一个环节。学习驱动程序和内核源码,现在市面上已经有很多好书了,其中LDD算是一部最完美的杰作。如果你熟悉单片机系统的开发,要想学会驱动程序的开发是很简单的。开发驱动之前先看别人写的书,理解了驱动的基本模型之后,再看内核文档里面对设备模型的概述(大家别怕英语啊,呵呵),如果理解了驱动编写的接口,再把其中某个模型拿出来通读,之后就可以自己动手编写了,这样的学习过程对于一个新手来说进步是最大的。驱动程序掌握后,内核中的很多知识自然就懂了,那时候你可能就具备了一定的开发能力了。
对于移植,可以借鉴开发板的开发方法来做。相信熟悉了内核的你肯定能很
好地理解。
经过以上几个阶段的工作之后,基本上算大功告成,又一个嵌入式工程师诞生了。理论上来说,完成了这几个部分学习的人,已经完全有能力参与嵌入式项目的研发工作。接下来需要的就是通过实战的磨练来积累经验。
在我们业内,很多资深的开发人员都有这样的感觉。嵌入式真是一个有着无穷魅力的领域。它提供我们的,不仅是开发的平台,更是创造的平台。通过这个平台,我们不仅一直创造技术,产品,财富。我们更是创造生活!
第2章:硬件平台的选择
硬件平台在嵌入式的学习中是必不可少的。但是对于对嵌入式知之甚少的新人来说,开发板的选择并不是一件容易的事情。
作者个人认为,作为初学者首先应该关注的开发板的技术支持。因为初学者在学习的过程中会不断遇到各种各样的问题。一个问题无法及时解决很有可能会导致整体进度的延误。而且有时候有的问题对于新手来说确实是死活都搞不定的。这种时候,技术支持就体现出关键性作用了。问题回答的及时性和技术人员解决问题的能力都是大家考量的重要标准。
其次应该关注的是,源代码支持以及使用手册的完整性。软件比如有没有提供ADS编译环境,编译器的完整性,内核的版本,串口调试软件等。而使用手册的完整程度也非常重要。跟着好的资料学习,就好像有人手把手教一样。这也对新手的学习进度有着重大影响。
再接下来应该关注的是,开发板的硬件资源和质量。主要需要关注的几个点是,用的什么处理器,NAND FLASH, NOR FLASH和SDRAM大小,接口(串口,摄像头接口,SD卡,USB,以太网,IDE等等)的齐全程度,供电电压,布局和走线的合理性。此外,有没有核心板也是非常重要的一点,因为有了核心板,可以方便的根据自己的项目要求或者功能需求进行硬件的设计。
当然,价格也是关键因素之一。因此在考虑产品和服务以外,性价比也是大家需要考察的一个重点。此外,大多数人购买开发板的同时,也会同时购买液晶屏(触摸屏),方便图形交互界面的开发。所以在考察开发板之外,也应该关注该产品有没有开发板与屏幕的优惠套装,以及所配屏幕的质量。
根据以上思路,作者将市面上最热门的3款来自不同公司的主流ARM9开发板作出了一个较为详细的评测,方便初学者自己判断,并且学习到评价开发板好坏的一般法则。
这次评测的三块开发板分别是:天嵌公司的TQ2440开发板,友善之臂的MINI2440开发板,和立宇泰公司的开发板SYS2440-B开发套件。
图1:立宇泰SYS2440-B开发板
图2:天嵌TQ2440开发板
图3:友善之臂mini2440 开发板
下面开始我们的对比评测。
一.技术支持:
从这三块开发板所属公司的知名度来看,立宇泰的知名度最高,然后是天嵌和友善之臂。其中,立宇泰和天嵌在从事开发板的研发和销售业务以外,为客户定制各种嵌入式产品解决方案也是其业务中重要的一块。大量的开发项目使得这两家公司的技术团队在嵌入式应用方面有着较为丰富的经验,工程师解决问题的能力也会比较强,用户在遇到问题的时候得到的支持也会较为有力。而友善之臂公司主要的业务是开发板的销售,技术支持上可能会存在一定的差距。
为了对三家公司的技术支持有更为直观的了解,作者以电话和网络方式,就这三块开发板的购买和技术事宜分别向各厂商进行了咨询。结果如下:立宇泰的产品主要由杭州公司直接销售。作者咨询产品情况的时候,感觉客服态度较好。当作者向技术人员咨询普通技术问题时,能够得到较为完善的解答。当作者询问比较复杂的技术问题时,技术人员无法解答,但把电话转接到他们的技术负责人那里,得到了完善的解答。(令作者十分惊讶的是,技术负责人竟然是个MM…)
天嵌的产品在广州和上海两地都设有销售和技术支持中心。作者咨询产品情况的时候,感觉客服态度较好。当作者向技术人员咨询普通技术问题和较为复杂的技术问题时,都得到了较为完善的解答。当作者提出要求想看看清楚GPS模块与开发板的连接口时,技术人员竟然专门去拍了接口和运行导航软件的照片发过来,令作者大为感动。
友善之臂的产品在全国有很多家经销商,而总公司负责华南地区销售。但从其网站上的经销商列表来看,很多经销商都是个人卖家,总体感觉比较混乱。当作者咨询产品情况的时候,客服态度较好。当作者向技术人员咨询普通技术问题时,客服无法解答,让作者咨询总公司。总公司技术人员可以解答普通问题,但作者询问到比较复杂的技术问题时,技术人员无法回答,说是过几天给回复。但一直没有给回复。
技术支持情况
立宇泰天嵌友善之臂
公司知名度★★★★★★★★★★
技术团队经验★★★★★★★★★★
销售渠道★★★★★★★★★★★★
客服态度★★★★★★★★★★★★★★★
解答普通技术问题★★★★★★★★★★★★★★
解答复杂技术问题★★★★☆★★★★★☆
技术支持综合评价★★★★☆★★★★☆★★★