arm学习流程

来源:互联网 发布:highcharts 刷新数据 编辑:程序博客网 时间:2024/06/16 17:58

                                                     ARM学习流程

                                                                  资料来源:网络

一:熟悉环境

首先仔细阅读开发板使用手册,依据手册进行环境的搭建和实验。 (所在目录  光盘\TQ2440_CD\TQ2440开发板配套教材集\TQ2440开发板使用手册V2.5_20100611.pdf)

  开发板使用手册里对板子的软硬件进行了概要的介绍,对开发环境的搭建,操作系统影像的烧录,应用程序的烧写仿真等都做了详细的描述。这些都是ARM初学者学习ARM开发的第一步,也是十分重要的一步。所以手册一定要好好阅读,只有对板子了解清楚了,对开发环境熟悉了以后的学习才能顺利进行。

二、              裸奔三部曲

   不管是搞上层还是底层,对硬件的底层控制有一定的了解都是十分有必要的。如果准备往底层、 驱动方面发展,那更是应该深入研究裸奔的程序,因为驱动程序是直接跟硬件打交道的,驱动程序的主要代码是实现硬件控制,然后跟操作系统有个接口就可以了。对于将来想往上层应用发展不想做驱动的用户,对这部分可简要的看一下,了解个大概,不要浪费太多的时间。

三、              操作系统移植

  对于这部分,也是建议大家简单看下,不要过深的研究(实在有兴趣的除外)。操作系统的移植一般只在开发的初级阶段,当你到一个公司的时候,他们的嵌入式操作系统都是移植好的,不需要移植。你最有可能的是修改驱动,或做上层应用,所以嵌入式真正的要学的是驱动和应用程序的编写。多下功夫在驱动或操作系统下的应用程序编写,对将来的工作帮助会更大。

四、              WINCE 还是 LINUX

  很多用户会问,到底选择哪个,其实任何一个都可以的。关键是要学习深入和透彻。WINCE编程,类似VC很方便和快捷,但是不开源,其应用受到一定的限制。linux编程会麻烦一些,整天跟命令打交道。怎么选择看自己的爱好了,VC学的得好的,可以选WICE会比较容易上手。linux 学习难度会大一些,并且总是和命令打交道有的人可能不习惯,但是应用会广些。总之不管选哪种,

只要认真的学习,学好了,都是前途一片光明的

五、              驱动还是上层应用

    驱动靠近底层硬件,喜欢摆弄硬件,对硬件了解多的人建议选择这个,有点枯燥,一天到晚做的工作就是,读数据,拷贝数据,送给应用程序,怪无聊的,不过这方面的应用真的很多,想想吧现在那个公司做产品不是首先从底层开始的。上层应用有趣些,实现的都是“功能”,还能做出漂亮的界面,不过牵涉的知识也多,因为上层应用,需要好多方面才能工作,比如网络,数据库,图像

处理,这种文件,那种文件,这协议,那格式的,有时候搞的头都痛,是比驱动要复杂一些的。不过只要功夫深,铁杵都能磨成针,滴水还能穿石呢,等你学了几年以后,你再回过头来看看,这些东西不算什么,不算什么...

六、              正真的开始

  这里要说的是很重要的一点。也是好多买板子的用户的一个误区,就是以为建了环境,跑了裸奔,弄了几下linux,看了两个应用程序,学习就算结束了。其实大错特错了,这时候,学习才真正刚刚开始

因为前边你的工作其实都是在准备,熟悉板子,建立开发环境,熟悉开发环境等,等这些都弄好了之后,如果你就跑了几个现成写好的程序,一看没问题就OK了,那其实你什么也没有学到。因为正真有用的东西是,你针对一个应用用你所学的知识能找到一个合适的解决办法,将来你工作的时候就是根据企业的需要来想办法解决问题的,到那时候根本没有现在写好的代码的。所以,学到这个阶段是一定要自己动手,做一个真实的应用出来,把嵌入式开发的流程走一遍,从硬件的分析,相关资料的搜索,阅读,程序的组织,调试,修改BUG等等,中间你会遇到很多很多的问题,当你把这些问题都一一解决,真正做好一个应用的时候,你的水平才算真正上了一个台阶。这个时候,你就算入门了,因为你会开发了。 但是你做应用会相当慢,因为中间遇到的很多问题你解决起来会很慢,没有多少经验可以参考,好多知识还不懂或不清楚,这可能会导致你遇到的问题都是新问题,所以有时候解决一个问题都要好久。怎么办呢?答案只有一个,继续做应用,到你做了很多以后,好多东西都明白了,再弄起来就快多了,这时候你就是熟练了,升了一个级别。然后继续做应用…..所以学习的路,很长,大家不要止步。这样说也许大家会觉得很累,总是学习学到什么时候呢,其实不然,很有趣的,因为当你发现你由一个阶段到另一个阶段时候,你那种成就感,一下子觉得自己不再是菜鸟了,心里会充实的多,并且最重要的一点,拿的薪水由一个阶段到另一个阶段跳变的时候也是惊心动魄的,一下子就有可能翻番的 :) 。

你想如果你在学校时候就可以做个应用,那你直接就是上升了一个阶段了,心里的底气也足了,因为面视的人往往会问,我想让做个什么什么应用,你觉得你能做吗,如果你做过一个完整的应用,熟悉流程,你就会信心十足的回答他,你能。这样找工作好找,并且你比别人占得了一个先机,等他们弄了一段时间到你的水平的时候,你就又升级了,感觉又要上一个台阶,薪水也要跟着…..

   这里啰嗦的有点多,主要是想大家学习能深入进去,不要浅尝辄止,只有这样才能真正学到有用的东西,才能使这块开发板买的有价值。

  关于要做点什么应用,建议从简单的开始,比如从控制个灯开始,控制蜂鸣器,控制一些串口应用的器件,比如温度传感器,红外传感器,AD芯片等,然后再到稍微复杂点的,步进电机,射频读卡器,然后再到更复杂的,无线网卡,GPS定位模块等等。。。总之你会发现,每做好一个东西,你自己就会觉得你的水平上升了一大截。

七、              C语言到底有多重要

C语言到底有多重要呢,答案是非常非常的重要。这里我说一下我的亲身经历大家就明白了,我做软件工作这么多年的经历,只要有面视,几乎每次都有C语言的试题给你做。为什么呢?这就是因为企业都知道对于做软件的来说,C语言就是一个基础,基础不行,其他一切都是空谈。就像一个人能干这个,能干那个,但是他路都走不稳,谁会愿意用他呢? 所以建议大家在学校的时候,把C语言的基础一定学扎实。Linux的开发大多是C,或C++,WINCE类似VC  ,对于这些C都是基础,如果C学不好将来再弄这些,你会觉得举步维艰。

八、              总结:

好多用户买了板子不知道从那儿下手,或是不知道学习是怎么一个流程,感到很迷忙,所以我才写了这个文档给大家。都是自己的一点拙见,中间也有可能有说的不对的地方,欢迎大家来批评指正,或是一起共同探讨吧。

 

 

 

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 备孕期间孕酮低怎么办 2个月宝宝不睡觉怎么办 生完小孩肚子还是很大怎么办 生完孩子肚皮疼怎么办 生完孩子有肚腩怎么办 生完宝宝肚子还是很大怎么办 生完孩子小腹大怎么办 生完孩子肚皮松怎么办 生过孩子肚子松怎么办 生完孩子肚皮痒怎么办 生完小孩肚子松弛怎么办 生了孩子肚子大怎么办 嫁到别的省户口怎么办 孕中期假性宫缩怎么办 频繁的假性宫缩怎么办 显卡风扇不转了怎么办 老是想不好的事怎么办 做人工受孕多囊怎么办 子宫内有囊肿该怎么办 子宫长了个囊肿怎么办 怀孕后不想要该怎么办 20多岁雌激素低怎么办 生完小孩后子宫下垂怎么办 取环之前同房了怎么办 做人流后又怀孕怎么办 仓鼠长了个肿瘤怎么办 过敏留下的黑印怎么办 脸上痘痘发炎了怎么办 脸上皮肤红痒怎么办啊 皮肤有一片红痒怎么办 脸过敏期间很干怎么办 怀孕了用了消糜栓怎么办 乳酸杆菌少或无怎么办 怀孕了白带有异味怎么办 怀孕清洁度iv度怎么办 怀孕了下面有异味怎么办 孕妇尿白细胞1是怎么办 药流期间喂奶了怎么办 20多岁卵巢早衰怎么办 3岁儿童肚子胀气怎么办 肚子又胀又痛怎么办