IOS教程之嵌进式人才网的开展偏向仓酷云
iPhoneSDK安装,然后最基本的是你要熟悉C语言,再来你得学习开发iPhone所使用的Objective-C语言,接著是Cocoa。如果你是Mac平台开发的入门用户 嵌进式体系无疑是以后最抢手最有开展出路的IT使用范畴之一。嵌进式体系用在一些特定公用设备上,一般这些设备的硬件资本(如处置器、存储器等)十分有限,而且对本钱很敏感,偶然对及时呼应请求很初等。出格是跟着消耗家电的智能化,嵌进式更显主要。像我们寻常罕见到的手机、PDA、电子字典、可视德律风、VCD/DVD/MP3Player、数字相机(DC)、数字摄像机(DV)、U-Disk、机顶盒(SetTopBox)、高清电视(HDTV)、游戏机、智能玩具、互换机、路由器、数控设备或仪表、汽车电子、家电把持体系、医疗仪器、航天航空设备等等都是典范的嵌进式体系。嵌进式体系是软硬分离的工具,弄嵌进式开辟的人有两类。
一类是学电子工程、通讯工程等偏硬件专业出生的人,他们次要是弄硬件计划,偶然要开辟一些与硬件干系最亲切的最底层软件,如BootLoader、BoardSupportPackage(像PC的BIOS一样,往下驱动硬件,往上撑持操纵体系),最后级的硬件驱动程序等。他们的上风是对硬件道理十分分明,不敷是他们更善于界说各类硬件接口,但对庞大软件体系常常力所能及(比方嵌进式操纵体系道理和庞大使用软件等)。
另外一类是学软件、盘算机专业出生的人,次要处置嵌进式操纵体系和使用软件的开辟。假如我们学软件的人对硬件道理和接口有较好的把握,我们完整也可写BSP和硬件驱动程序。嵌进式硬件计划完后,各类功效就端赖软件来完成了,嵌进式设备的增值很年夜水平上取决于嵌进式软件,这占了嵌进式体系的最次要事情(今朝有良多公司将硬件计划包给了专门的硬件公司,稍庞大的硬件都交给台湾或外洋公司计划,国际的硬件计划力气很弱,良多嵌进式公司本人只卖力开辟软件,由于公司都晓得,嵌进式产物的差别很年夜水平在软件上,在软件方面是最有“花头“可做的),以是我们弄软件的人完整不必忧虑我们在嵌进式市场上的用武之地,越是智能设备越是庞大体系,软件越起关头感化,并且这是今朝的趋向。
处置嵌进式软件开辟的优点是:
(1)今朝国际外这方面的人都很稀缺。一方面,是由于这一范畴进门门坎较高,不但要懂较底层软件(比方操纵体系级、驱动程序级软件),对软件专业程度请求较高(嵌进式体系对软件计划的工夫和空间效力请求较高),并且必需明白硬件的事情道理,以是非专业IT职员很难切进这一范畴;另外一方面,是由于这一范畴较新,今朝开展太快,良多软硬件手艺呈现工夫不长或正在呈现(如ARM处置器、嵌进式操纵体系、MPEG手艺、无线通讯协定等),把握这些新手艺的人固然很找。嵌进式人才网稀缺,身价天然就高,越有履历代价就越高。实在嵌进式人才网希少,基本缘故原由多是年夜多半人无前提打仗,这必要响应的嵌进式开辟板和软件,别的必要有履历的人举行引导开辟流程。
(2)与企业盘算等使用软件分歧,嵌进式范畴人才网的事情强度一般低一些(但支出不低)。弄企业使用软件的IT企业,这个用户的体系弄完了,又得往弄下一个用户的,并且每一个用户的需乞降完成工夫都得按客户请求改动,常常疲于奔命,反复休息。比拟而言,弄嵌进式体系的公司,都有本人的产物企图,按本人的节拍行事。所开辟的产物一般是通用的,不会因客户的分歧而修正。一个产物型号开辟完了,常常有较长一段余暇工夫(或只是对软件举行一些小修补),偶然间举行充电和休整。别的,处置嵌进式软件的每一个野生作局限绝对局促,所触及的专业手艺局限就是那些(ARM、RTOS、MPEG、802.11等),工夫长了这些工具会越弄越有履历,卖卖成本,几句引导也够让那些初进道者揣摩半年的。若弄使用软件,大概下一个客户要换成一个完整分歧的软件开辟平台,那就苦了。
(3)哪天若想创业,弄自已的产物,那末嵌进式是一个不错的主张,这可不像使用软件那样简单被盗版。土木学院有一个叫启明星的公司开辟出一个好象叫“工程e”的掌上PDA(南校区门口有告白),施工手艺职员用该PDA可就地举行土木概预算和别的土木盘算,听说销路特好。我熟悉的某年夜学先生,他开辟的饭店用的点菜PDA(WinCE平台,可无线连网和上彀),据他说销路不错,饭店点点PDA让客户点菜,多显气派层次。我记得00级2+2班昔时有一组同砚在学Windows程序计划课程时用VC++计划了一个功效很强的点菜体系做为课程项目,事先真想倡议他们将这个软件做成PDA,估量会有些销路(上海火车站南广场的Macdonald便利用很大度的PDA给用户点食物,像摸像样的)。这些PDA的硬件计划一样平常都是请别的公司给订做(这叫“贴牌”:OEM),都是通用的硬件,我们尽管计划软件就酿成本人的产物了。
处置嵌进式软件开辟的弱点是:
(1)进门出发点较高,所用到的手艺常常都有必定难度,若软硬件基本欠好,出格是操纵体系级软件功底不深,则大概不适于此行。
(2)这方面的企业数目要远少于企业盘算类企业。出格是处置嵌进式的小企业数目较多(小企业要弄本人的产物创业),出名至公司较少(弄嵌进式的至公司次要有Intel、Motorola、TI、Philip、Samsung、Sony、Futjtum、Bell-Alcatel、意法半导体、Microtek、研华、华为、复兴通讯、上广电等打造类企业)。这些企业的习气头脑体例是到电子、通讯等偏硬专业找人。因为我院之前卒业生以企业盘算为主,以是我院与这些企业接洽绝对较少。我院正主动勉力,今朝已与个中部分公司创建了接洽,争夺从此能有我院同砚到这些企业中练习或失业。
(3)有多数公司常常要硕士以上的人弄嵌进式,次要是基于嵌进式的难度。但年夜多半公司也并没有此请求,只需有履历便可。我院同砚若进修嵌进式,明显应侧重于嵌进式软件,出格是嵌进式操纵体系方面,应是我们的刚强。关于弄嵌进式软件的人,最主要的手艺明显是(实践上良多公司的雇用告白上就是如许写的):
(1)把握支流嵌进式微处置器的布局与道理
(2)必需把握一个嵌进式操纵体系
(3)必需熟习嵌进式软件开辟流程并最少做过一个嵌进式软件项目。
嵌进式软件方面最主要的课程包含:
(1)嵌进式微处置器布局与使用:这是一门嵌进式硬件基本课程,我院用这门课代替了传统的“微机道理与接口”课程(今朝国际已有少部分高校IT专业如许做了,因为讲x86微机道理与接口很难找到实践用途,只为教授教养罢了)。我们说过,嵌进式是软硬件分离的手艺,弄嵌进式软件的人应对ARM处置器事情道理和接口手艺有充实懂得,包含ARM的汇编指令体系。若不懂得处置器道理,怎样能把持硬件事情,怎样能写出节俭内存又运转高速的最优代码(嵌进式软件计划出格考究时空效力),怎样能写出驱动程序(驱动程序都是与硬件打交道的)?良多公司雇用嵌进式软件职员时都请求熟习ARM处置器,未来若同砚到公司中处置嵌进式软件开发,公司城市给你一本该设备的硬件规格仿单(xxxSpecification),您必需能看懂个中的内存散布和端口利用等最基础的申明(就像x86汇编一样),不然怎样计划软件。有些同砚以为嵌进式处置器课程较单调,这次要是硬件课程都较笼统的缘故原由,等我们的嵌进式实行室10月份建好后,您做了一些实行后就会以为看得见摸得着。另有同砚对ARM汇编不感乐趣,觉得嵌进式开辟用C言语就充足了。实在不该仅是将汇编言语当做一个程序计划言语,学汇编次要是为了把握处置器事情道理的。一个不熟习汇编言语的人,怎样能在该处置器写出最优的C言语代码。在嵌进式开辟的一些关头部
分,偶然还必需写汇编,如Bootloader等(大概还包含BSP)。出格是在对速率有极高请求的场所(如DSP处置器的高速图象收罗和图象解紧缩),今朝次要还要靠汇编写程序(我看到过良多公司是如许做的)。当您在一个嵌进式公司事情时,在检察形貌道理的手册时,大概良多都是用汇编形貌的(我就碰到过),这是由于良多硬件计划职员只会写大概喜好用汇编形貌,此时您就必需看懂汇编程序,不然软硬件职员大概就没法交换。良多嵌进式职位雇用时都请求熟习汇编。
(2)嵌进式操纵体系类课程
除WinCE的及时性稍差外,年夜多半嵌进式操纵体系的及时性都很强,以是也可称为及时操纵体系RealTimeOperatingSystem.处置嵌进式的人最少须把握一个嵌进式操纵体系(固然把握两个更好),这在嵌进式的一切手艺中是最为关头的了。今朝最主要的RTOS次要包括:
第一类、传统的典范RTOS:最次要的即是Vxworks操纵体系,和其Tornado开辟平台。Vxworks因呈现稍早,及时性很强(听说可在1ms内呼应内部事务哀求),而且内核可极微(听说最小可8K),牢靠性较初等,以是在北美,Vxworks占有了嵌进式体系的多数疆山。出格是在通讯设备等及时性请求较高的体系中,几近非Vxworks莫属。Vxworks的良多观点和手艺都和Linux很相似,次要是C言语开辟。像Bell-alcatel、Lucent、华为等通讯企业在开辟产物时,Vxworks用得良多。但Vxworks因代价很高,以是一些小公司或小产物中常常用不起。今朝良多公司都在往嵌进式Linux转(传闻华为今朝正在如许转)。但不管怎样,Vxworks在一段长工夫内还是见异思迁的。与Vxworks相似的稍着名的及时操纵体系另有pSOS、QNX、Nucleus等RTOS。
第二类、嵌进式Linux操纵体系:Linux的出路除作为服务器操纵体系外,最乐成的即是在嵌进式范畴的使用,缘故原由固然是收费、开源、撑持软件多、呼拥者众,如许嵌进式产物本钱会低。Linux自己不是一个为嵌进式计划的操纵体系,不是微内核的,而且及时性不强。今朝使用在嵌进式范畴的Linux体系主要有两类:一类是专为嵌进式计划的已被扩充过的Linux体系,最经常使用的是uClinux(不带MMU功效),今朝占较年夜使用份额,可在ARM7上跑;另一类是跑在ARM9上的,通常为将Linux2.4.18内核移植在其上,可以使用更多的Linux功效(固然uClinux更可跑在ARM9上)。良多人展望,嵌进式Linux估计将占嵌进式操纵体系的50%以上份额,十分主要。弱点是熟习Linux的人太少,开辟难度稍年夜。别的,今朝我们能发明良多课本和良多年夜学都以ucOS/II为教授教养用及时操纵体系,这次要是因为ucOS/II较复杂,且开源,十分合适进门者进修及时操纵体系道理,但因为ucOS/II功效无限,有用用得较少,以是我院不将其作为教授教养重点,要进修就应学间接有用的,好比uClinux就很有用。何况熟习了Linux开辟,不但在嵌进式范畴有效,对开辟Linux使用软件,对加深操纵体系的熟悉也有匡助,可谓一举多得。据我所知,今朝Intel、Philip都在年夜弄ARM+LINUX的嵌进式开辟,Fujitum则是在本人的处置器上年夜弄Linux开辟。
今朝在嵌进式Linux范畴,以下几个方面的人出格难找,
一是能将Linux移植到某个新型号的开辟版上;
二是能写Linux驱动程序的人;三是熟习Linux内核扩充和优化的人。我院在该嵌进式Linux方面的课程系列是:本科生操纵体系?课,然后是Linux程序计划选修课,最初是嵌进式Linux体系选修课。我院在Linux方脸孔前已有较强力气,魏先生和张先生熟习Linux开辟,金先生和唐先生熟习Linux体系办理。
第三类、WindowsCE嵌进式操纵体系:Microsoft也看准了嵌进式的伟大市场,MS永久是最凶猛的,WinCE出来只要几年工夫,但今朝已占有了很年夜市场份额,出格是在PDA、手机、显现仪表等界面请求较高大概请求疾速开辟的场所,WinCE今朝已很盛行(听说有一家卖工控机的公司板子卖得太好,以致来不及为客户裁减WinCE)。WinCE今朝次要为4.2版(.NET),开辟平台次要为WinCEPlatformBuilder,偶然也用EVC情况开辟一些较下层的使用,因为WinCE开辟都是人人熟习的VC++情况,以是我院学过Windows程序计划课程的同学都不会有多浩劫度,这也是WinCE简单被人们承受的缘故原由,开辟情况便利疾速,微软的壮大手艺撑持,WinCE开辟难度远低于嵌进式Linux。关于急于完成,不想拿嵌进式Linux冒险的开辟场所,WinCE是最符合了(找嵌进式Linux的人可没那末好找的),究竟公司不克不及像先生进修那样碰运气,保证开辟乐成更主要。依据分歧的偏重点,WinCE另有两个特别版本,一个是MSPocketPC操纵体系公用于PDA上(掌上电脑),另外一个是MSSmartPhone操纵体系用于智妙手机上(带PDA功效的手机),二者也都属于WinCE平台。在PDA和手机市场上,除WinCE外,出名的PDA嵌进式操纵体系另有PalmOS(因呈现很早,很着名)、Symbian等,但在WinCE的微弱打击下,Palm和Symbian往日还能有多长?我院多是天下高校中独一一家开设专门的“WindowsCE嵌进式操纵体系“课程的黉舍,这次要是基于以下缘故原由:我院自己后面便有Windows程序计划课程,同砚学过VC++后再学WinCE,十分便利自然,经由过程进修WinCE一样也可懂得嵌进式软件的一样平常开辟历程,对Linux有害怕心思的同砚也很符合。很明显,嵌进式Linux永久不成能替换WinCE,并且未来谁占份额年夜还很难讲,究竟良多人更乐意承受MS的平台,就像列国当局都在鼎力推LINUX已好长工夫,但您能看到几个在PC机上真正利用LINUX的用户?据我察看,今朝在嵌进式平台上,LINUX是叫得最响,但仍是WinCE实践用得更多.嵌进式LINUX大概更多地是一些有久远产品企图的公司,为下降本钱而举行久远思索;
二是微软亚洲研讨院对我院WinCE课程的撑持企图,我们也很但愿未来我院能有同砚经由过程微软的口试往练习。WinCE和多媒体(如MPEG手艺)是微软亚洲工程院今朝做得较多的项目范畴之一,他们很必要精晓WinCE的人。总结关于嵌进式操纵体系类课程,若您以为本人功底较深且能研究下往,则可往学嵌进式Linux;若您以为本人VC++功底较好且想短平快地学嵌进式开辟,则我院的WinCE课程是最好的选择。
(3)嵌进式开辟的别的相干软件课程
弄嵌进式若能熟习嵌进式使用的一些次要范畴,如许的人更受企业接待。次要的相干范畴包含:
A、数字图象紧缩手艺:这是嵌进式最主要最抢手的使用范畴之一,次要是应把握MPEG编解码算法和手艺,如DVD、MP3、PDA、高精电视、机顶盒等都触及MPEG高速解码成绩。为此,我院已预订了一名能开设数字图象处置课程的博士。
B、通讯协定及编程手艺:这包含传统的TCP/IP协定和抢手的无线通讯协定。起首,年夜多半嵌进式设备都要连进局域网或Internet,以是起首应把握TCP/IP协定及其编程,这是需主要把握的基础手艺;其次,无线通讯是今朝的年夜趋向,以是把握无线通讯协定及编程也是是很主要的。无结通讯协定包含无线局域网通讯协定802.11系列,Bluetooth,和挪动通讯(如GPRS、GSM、CDMA等)。
C、收集与信息平安手艺:如加密手艺,数字证书CA等。我院有这方面的选修课。
D、DSP手艺:DSP是DigitalSignalProcess数字旌旗灯号处置的意义,DSP处置器经由过程硬件完成数字旌旗灯号处置算法,如高速数据收罗、紧缩、解紧缩、通讯等。数字旌旗灯号处置是电子、通讯等硬件专业的课程,关于弄软件的人若能懂得一下最好。今朝DSP人才网较缺。假如有旌旗灯号与体系、数字旌旗灯号处置等课程基本,关于进修MPEG编解码道理会有很年夜帮助。
(4)嵌进式开辟的相干硬件基本
关于软件工程专业的先生,处置嵌进式软件开辟,像数字电路、盘算机构成道理、嵌进式微处置器布局等硬件课程是较主要的。别的,汇编言语、C/C++、数据布局和算法、出格是操纵体系等软件基本课也是非常主要的。我们的次要目地是能看懂硬件事情道理,但重点应是在嵌进式软件,出格操纵体系级软件,那将是我们的上风。我们的研讨生里有些是学电子、通讯类专业过去的,有较好的摹拟电路和单片机基本,学嵌进式十分符合。嵌进式自己就是从单片机开展过去的,只是单片机不带OS,而如今良多嵌进式使用愈来愈庞大,以致不能不引进嵌进式操纵体系。别的,为寻求更高速的旌旗灯号处置速率,如今在一些速率请求较高的场所,有很多公司是将一些DSP算法,如MPEG紧缩解紧缩算法等用硬件来完成,这就触及到HDL数字电路计划手艺及其FPGA/IP核完成手艺,这方面的人今朝市场上也很缺。
题外话
别的,能写驱动程序的人今朝长短常紧缺的(驱动程序也可回于嵌进式范围),包含桌面Windows中的DDK开辟情况和WDM驱动程序。公司时时刻刻都要推出新产物,每个新产物出来了,要能被操纵体系所利用,是必需写驱动程序的。写驱动程序就必需把握操纵体系(如Windows或Linux)的外部事情道理,还触及到大批硬件常识,难度较年夜,以是这方面的人很难找。想成为妙手的同砚,也可从驱动程序方面取得冲破。我可说一下本人的履历,三年前我曾长久地在一家公司写过WinCE驱动程序(恰是由于晓得这方面的人紧缺,以是才要做这方面的事),只管那之前从未做过驱动程序,招聘谁人职位时恰是看准了公司是很难雇用到这方面的人,既然都找不到人,驱动还得有人做,这恰是大概无机会切进这一范畴的年夜好时机。口试时年夜讲本人写过量少万行汇编程序,对盘算机事情原理怎样分明,简历中又写着我曾浏览完两本关于WindowsDriverModel的两本英文原版书,写过几个小型的驱动程序实习程序(实在基本没写过,我们的同砚未来万万不要像我如许,早练就些过硬工夫,就不至于沉溺到我这等境地,就不必像我那样往“棍骗”公司了,我这是一个典范的不和课本),竟然统统都PASS(固然最主要的是口试和口试成绩还说得已往),这只能申明这一范畴找人的坚苦水平。必要再往开辟新一版驱动,当时有快要一个月工夫余暇着在等WinCE.NETBeta版推出,筹办将驱动程序晋级到CE.NET上,如今在软件学院事情全日忙,无穷吊唁那段安闲光阴。
很偶合,比来自己偶然中再次体味到了嵌进式的诱人的地方。上周我那用了3年的手机终究不克不及WORK了。此次更新,除请求有手机罕见功效外,最好有MP3功效(如今良多英语听力都有MP3文件),最好有英汉辞书,最好还能读WORD文档。最初选了个满意以上前提的最廉价的手机DOPOD515(斩了我2.2K,但想一想这也算本人对嵌进式奇迹的撑持,如许便也想开了),算得上最高档的智妙手机了。返来一查,手机的about显现,本手机Processor是ARM,其OS是MSSmartphone(即WinCE.NET4.2),这么偶合,几乎可做为进修嵌进式课程的产物案例了(等我们的WinCE课程开得有条有理后,但愿能从微软研讨院弄些Smartphone来开辟开辟)。有OS的手机公然了得,金山词霸、WORD、EXCEL、REGEDIT等竟然都有smartphone版的,PC上的MP3、DOC等竟然在download时都可被主动转换成smartphone格局,真是爽。
完整可用WindowsCE本人开辟一些必要的程序download到本人的手机上。如今市情发卖PDA智妙手机火爆,MS老是财路滔滔。但我已发明国产的ARM+LINUX手机呈现在市情上,代价只1.2K。
在GOOGLE网上能搜刮太多的关于嵌进式体系的会商了,有良多有履历者谈本人的体味,投进到个中的论坛中,你会亲身感应嵌进式进修的高潮。
要末走ARM+WinCE,要末走ARM+LINUX,要末走ARM+VXWORKS。每一个弄嵌进式的人都可选一条路,条条亨衢通罗马!
很少去思考,没有去多问几个为什么。这是学习的大忌,我认识到了自己学习方法上的错误。孔子说,学而不思则罔,思而不学则殆。一点也没错,学和思是要结合的,这样才能进步。现在回想一下,我学到了什么?自己也无言以对了。 边吃零食边看Stanford的视频教程 众多研发人员积极参与到iOS平台的开发中来也就不足为奇了。 最后在做项目的时候一定要认真对待,毕竟这个直接和你的就业挂钩,这也是锻炼你实际操作的能力。 好处就是运行速度会变快,ios6针对系统的优化进一步加强了,很多网友测试ios6,第一感觉就是速度快,而且ios69会有一些新功能,新浪微博,facetime支持3G网等等。。弊端就是,现在的ios6只能算是正式版本的第一个版本,bug很多,不少人刷完ios6都出现了很多毛病,开不开机,缺少图标等等。。最好现在不要升级,等官网放出下一个版本的时候,再选择升级。。。 特别是在校的学生,都存在一个小小的尴尬——虽然学习iOS开发的热情高涨,但由于没有多余的银子购买昂贵的Mac电脑而踟蹰不前。其实,针对初学者,如果想进入iOS开发的天地 培训的时候很痛苦,每天要待12个小时,上午讲课,下午和晚自习解决作业,看文档,学习的时候感觉就是资料太少,而且看着资料也不明所以,非常痛苦, 重要的是,放眼全球也的确找不到第二个如苹果iOS平台这样健壮、完整、先进而且为开发者带来真实收益的开发平台来。 最后在做项目的时候一定要认真对待,毕竟这个直接和你的就业挂钩,这也是锻炼你实际操作的能力。 到大三时,学院与我去培训的机构成立了实习基地,并让我们寒假去实习了一段时间,感觉还不错,于是在大四的时候去培训了 要学会通过各种方法将面前的事情变成自己感兴趣的,那专研起来就不会是无聊和折磨了。 同很多iOS开发者一样,我也是通过培训进入到iOS开发这个行业,开始没有打算培训,只准备自己学习一些计算机编程相关的知识,毕业时找一份编程相关工作(本人是信息与计算科学这个专业,是数学系)。 iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。 看完这个你就可以有多种选择来踏入做应用的阶段 培训时可以选择安卓,iOS,Java,因为实习的时候我选了安卓,当时实习时间只有三周,学的晕头转向,而java我也没学过,iOS的基础是C语言,这个大学里还是学过的,于是选择了iOS。 每个行业都一样,想要一天学有所成是不可能的,一定要做好努力的准备,做ios不是简单的学会oc语言。不怕多走弯路,就怕不肯动手。 这个办法就是在WindowsXP或Win7的电脑上,使用vmware虚拟机来搭建一个真实的Mac OS X环境。 培训时可以选择安卓,iOS,Java,因为实习的时候我选了安卓,当时实习时间只有三周,学的晕头转向,而java我也没学过,iOS的基础是C语言,这个大学里还是学过的,于是选择了iOS。 才在自己的Windows电脑上安装配置成功了一个完美的Mac OS X Lion(10.7.4)系统,而且下载了Xcode4.5的最新版本。虽然不能实机调试,但是作为iOS开发学习已经非常完美了。 边吃零食边看Stanford的视频教程
页:
[1]