#1楼主:1.5 亲自制作实验平台在ARM学习中的意义和可行性 [精华]
文章发表于:2008-06-30 09:03
何以判断一个工程师技术水平的高低?一位国内单片机应用先驱的答案:解决问题的能力。确实,在工程师日渐增多,网络资源如此便利、丰富的今天,不在乎您掌握多少技术,不在乎您会ARM还是Linux,只有能够解决别人都不能解决的问题,您才能真正体现出价值。而解决问题的能力又如何培养?这不仅需要理论,更需要实践(或经验)的积累,需要亲自去设计,去制作、调试,去不断的发现问题,再解决问题的不断积累。
在任21IC BBS ARM版版主的近三年时间里,我见过很多朋友提的问题,以及身边同事们的问题,这些问题都不是很难,主要是没有理解ARM处理器底层的,与硬件相关的知识,没有亲自去经历在一块还不能正常运行的裸板上,让ARM处理器顺利工作,让Flash、SDRAM读写正常,让Bootloader、Linux操作系统正常启动,让Linux正常驱动外设等等的整个调试过程。没有经历过当出现问题后如何去思考、判断、排除的整个实践过程。所以阿南在此真诚的希望买开发板学习的朋友,都能够亲自去学习、去分析这些更底层方面的知识,试着将开发板的整个系统破坏(不要舍不得这个板子,没什么比知识更加值钱的),把它变成没有任何程序的一块裸板,然后亲自去体验这些过程。只有这样您才算是真正的在学习ARM,在掌握ARM,今后才能顺利(无论是官方或开发板商的资源都有存在BUG的可能)的开发出基于ARM的应用产品,否则您只能算是一个C语言的编程者,一个不在乎是ARM,还是单片机或PC机的编程者。
最有效的方法是亲自设计、制作自己理想中的ARM学习平台(学习板)。在亲自分析原理图中的每一个部分,CPU的每一个管脚定义(特别是有些关键管脚),存储器、外设的扩展方法,以及电源、功率的考虑等等之后,也就相当于完全掌握了该ARM处理器的硬件技术。从绘制原理图,绘制PCB,再到焊接、调试的整个过程,您的硬件整体水平(包括解决问题的能力)也都会进一步的提高。而在器件(即使是常用的电容、二极管)的选择、采购上也都有很大的学问,如果不亲自去实践,真得很难想象其中的奥妙。最后当您看着这个自己费劲心血完成的ARM实验系统后,心里也会有无比的自豪和成就感,充满自信。
那么,这整个过程难度有多大?我们能否实现?又需要多少成本?这些应该都是读者会想到的问题,阿南也仔细考虑过这些。首先技术难度,这和每个朋友的基础有关,有些朋友可能本身就是做硬件的,那么原理图、PCB、焊接等自然都不是问题,而有些朋友可能只是做底层软件没有做过硬件的,还有些学生朋友可能在很多方面都是刚接触等等。其实,阿南自从05年8月1日就职现在的公司以来,主要的工作职责也是嵌入式软件部分,硬件等其它方面的经验也都很欠缺,也都是新手,但是阿南有很强的学习欲望,不耻下问,希望自己在各方面都能不断的进步。所以在规划本书内容的时候,就决定亲自为其设计实验平台,这样自己就可以学习、锻炼很多新的知识,还可以将这个过程中的问题、心得记录下来与读者共同分享、交流和提高。阿南可以做到,读者自然也都可以做到,因为现在的网络、通信是如此的方面。其次是制板和器件购买的成本问题,读者可以几个(或几十个)人组织一起参与,平均下来的成本应该也不会太高,如果身边没有太多朋友也可以联系阿南(ccn422@hotmail.com)。最后是焊接、加工问题,现在很多城市都有专门给研发人员焊接样板的加工厂,所以读者如果焊接真的很有困难也可以联系它们,BGA封装的S3C2410A可以找修理手机的师傅帮忙焊接。总之,只要我们勇于去实践,困难总是可以战胜的。