[转载] 给未来的电子工程师
时间:2007-06-03 来源:windguy
在以前的公司,安装过电路设计软件,也用电烙铁和万用表等工具,但是因为自己不是搞电子的,所以没有入门,一直以来也只是看其他同事画电路图,使用电子元器件,做印制电路板,烧写芯片。所以自己对电子这一行不懂啊。但是现在做嵌入式设计。要把软件运行在那个硬件平台上,而且要建立在一个自己想要完成一些功能的平台,如果是从市面上选择,不容易啊,要么价格很贵,要么不满足要求。所以只好自己开始了。
前段时间看了PROTEL99SE的教程,懂了不少了。至少知道自己怎么去画电路原理图了,然后从原理图制作PCB了。
所以当我想到用面模板搭简单的电路实验的时候,找到了这篇文章,也就放到这儿。作为学习和参考吧!
[转载] 给未来的电子工程师
zz from http://forum.eetchina.com/FORUM_POST_1200019576_0.HTM
看这篇帖子的,我想都是电子爱好者或电类专业学生。不知道大家都处于什么一个阶段
,这篇帖子是写给入门者的,要解决一个问题:初学者应重点掌握什么电子知识,大学
阶段如何学习?
先说点貌似题外的东西——3个谬论。
谬论一:高中老师常对我们说,大家现在好好学,考上了大学就轻松了,爱怎么玩怎么
玩。这真是狗屁。别的专业我不好说,电气、电子、电力、通信、自动化等电类专业,
想要轻松那是不可能地(当然你是天才就另说),专业课上讲的东西对决大多数人来说
那是云里雾里,从来都是一知半解,需要你课下花大量时间精力来消化。有些东西甚至
需要你若干年后在工作中遇着时才回过味:“哦,原来以前学的那东西是干这使的。”
你要能想得起,并知道怎么回头去补,就算是上学时专业课学得较扎实了。
谬论二:填志愿时经常有人对我们说:专业不重要,学校最重要,进了个好学校想学什
么再学。这亦是狗屁。进了学校,本专业的课程就可能会压得你喘不过气来,还有多少
人有时间和毅力选修第二专业?而所学专业几乎就是决定了你今后一生的职业生涯。而
学校,说实话本科阶段从老师那学到的东西各校间差别不是很大。课上讲的大同小异,
课下也不会有什么好老师给你单独指导和点拨(若能遇着,那是你的幸运)。越牛的学
校的越牛的老师就越忙,不要指望他们会在教学上花多少心思,更不要指望他们对你另
眼相看。反倒是一些普通院校的小老师们可能跟学生走得更近,辅导更多些,虽然他们
可能水平一般,但对于你大学的学习来说还是足够的。综上所述,我觉得对于一个电子
爱好者来说,成为一名普通重点大学的电子系学生比成为北大的哲学系学生更重要。当
然看帖的应该大多数都是学电的,那恭喜你,这个专业不错的,虽不是什么“朝阳产业
”,但绝对是个“常青行业”。
谬论三:上了大学,可能又有不少人对你说,在大学专业不重要,关键的是学好计算机
和英语,这样就不愁找不到好工作了。这也是屁话。你要明确一点:你将来不是纯靠英
语吃饭的,也不是做编程、搞软件开发或动画创作的。我是想说:若果你性格偏内向沉
稳、肯钻研、爱好电子行业,将来想从事电子设计和研发工作,那你一定要学好专业课
。当然英语也很重要,但以后工作中用得多的是你的专业英语,即能读懂英语技术文档
,而不是跟别人比你口语多正宗多流利。至于计算机,那就是一工具,不要花太多时间
去学photoshop、3dmax、Flash、网页制作等流行软件,这些在你今后的工作中用不着,
也会牵扯你大量时间精力。好钢用在刀刃上,多进进实验室多搭搭电路吧。当然,电类
学生对电脑也有特殊要求,那就是用熟Protel、Multisim,学好汇编语言、C语言、选学
PLD相关软件。任务也是很重的。
以上说了3个谬论,下面言归正传吧。那么进了大学,读了电类专业,这4年你该学些什
么呢?
1. 大一大二(打基础)
首先要了解:电类专业可分为强电和弱电两个方向,具体为电力工程及其自动化(电力
系统、工厂供变电等)专业属强电,电气工程及其自动化以强电为主弱电为辅,电子、
通信、自动化专业以弱电为主。其他更进一步的细分要进入研究生阶段才划分。但无论
强电还是弱电,基础都是一样的。
首先高数是要学好的,以后的信号处理、电磁场、电力系统、DSP等不同方向的专业课都
用得着。
专业基础课最重要的就是电路分析、模拟电路、数字电路。这3门课一定要学好。这3门
课一般都是大一下学期到大三上学期开设,对大多数对电子知识还了解不多的同学来说
,通常是学得一知半解,迷迷糊糊。所以,最好是在开课之前或是开课的同时读一两本
通俗浅显的综合介绍电子知识的书籍,对书中的知识你不需要都懂,能有个大致感觉就
行。对这这种入门读物的选择很重要,难了看不懂可能兴趣就此丧失或备受打击,反而
事与愿违。在此推荐一本《电子设计丛零开始》(杨欣编著,清华大学出版社出版),
该书比较系统全面地介绍了电子设计与制作的基础知识,模电、数电、单片机、Multis
im电路仿真软件等都有涉及,一册在手基本知识就差不多了,关键是浅显易懂,有一定
趣味性。另外科学出版社引进出版的一套小开本(32开)电子系列图书也不错,是日本
人写的,科学出版社翻译出版,插图较多,也较浅显,不过这一系列分册较多,内容分
得较细。
除了看书,还要足够重视动手实践。电路、模电、数电这些课程进行的同时都会同时开
设一些试验课,珍惜这个动手机会好好弄一弄,而不要把它当作一个任务应付了事。跟
抄作业一样,拷贝别人的试验结果在高校中也是蔚然成风,特别是几个人一个小组的实
验,那就是个别勤奋好学的在那折腾,其他人毫不用心地等着出结果。我只想说,自己
动手努力得来的成果才是甜美的,那种成就感会让你充实和满足。游手好闲的,到临近
毕业找工作或在单位试用时,心中那种巨大的惶恐会让你悔不当初。这种教训太多了,
多少次我们都是蹉跎了岁月才回过头来追悔莫及。除了实验课好好准备好好做之外,许
多学校都设有开放性实验室,供学生平时课余自觉来弄弄。珍惜这种资源和条件吧,工
作后不会再有谁给你提供这种免费的午餐了。当然有些学校没有这么好的条件,或缺少
器件,那同学们就在电脑上模拟一把试验平台吧,就是学好用好Multisim软件。Multis
im是一种电路仿真软件,笔者上学时叫做EWB,后来随着版本更新,先后更名为Multisi
m2001、Multisim7、Multisim8。这个软件可模拟搭建各种模拟电路和数字电路,并可观
测、分析电路仿真结果。大伙可以把模电、数电中学习的电路在这软件里面模拟一下,
增加感性认识,实验前后也可把试验电路在软件里模拟,看跟实际试验结果有多大差别
。可以说,只要你是学电的,这个小软件就是你上学时必须掌握的,对你的学习助益很
大。另一个必须掌握的软件那就是protel了。上学时,从小学期的综合设计实验到毕业
设计,最后都会要求你用Protel绘出设计的电路原理图和PCB版;工作后,Protel也是你
必须掌握的基本技能,部分同学毕业后一两年内的工作,可能就是单纯地用这软件画板
子。Protel的版本也走过了Protel98、Protel99、Protel99SE、ProtelDXP、Protel200
4的发展道路。Protel99SE、ProtelDXP、Protel2004这三个版本现在用得最多,目前许
多学校教学或公司内工程师使用的都还是Protel99SE,当然若作为新的自学者直接从Pr
otel2004学起似乎好一些。综上所叙,作为最基本的EDA(电子设计自动化)软件,Mul
tisim和Protel是所有电类学生在上学时必须掌握的。其他的如Pspice、Orcad、SYstem
view、MATLAB、QuartusII等等,需根据不同的专业方向选学,或是在进入研究生阶段或
工作后在重点学习使用。那Multisim和Protel好学么?入门应该问题不大,让师兄师姐
指导指导,或是找一两本入门书看一看就OK了。这里推荐一本《电路设计与仿真——基
于Multisim 8与Protel 2004》(也是杨欣编著,清华社出版),作为这两款软件的入门
学习挺不错的,关键是一本书包含了两款软件学习,对穷学生来说比较划算,若是花钱
买两本书分别去学这两个软件,就不值了,因为Multisim的入门不是很难。另用Protel
画PCB电路板学问挺大的,有必要多看一些技术文档或是买一本高级应用类的图书。
2.大三大四(学习专业课,尝试应用)
进入大三,就涉及到专业课的学习了,本文只讨论以应用为主的专业课,其他如《电力
系统分析》、《电机学》、《自控原理》、《信号与处理》、《高电压》、《电磁场》
等等以理论和计算为主的专业课,咱就不多提了。当然这些课对你今后向研究型人才发
展很重要,也都很让人头疼,要有建议也只能说是努力学、好好学,懂多少是到少(不
过别指望全都懂),以后工作或接着深造用得着时再回过头来接着补接着学,那时有工
作经验或接触多了有感性认识,可能学着就容易些了。
那以应用为主的专业课又有哪些呢?不同专业方向有不同的课程,很难面面俱到。这里
先简单罗列一下,有微机原理与接口技术(也称单片机)、开关电源设计、可编程逻辑
器件(PLD)应用、可编程逻辑控制(PLC)应用、变频器应用、通信电路、数字集成电
路分析与设计、DSP、嵌入式等等。可能有同学要问:这么多东西,大学阶段要想都学好
不容易吧?答案是不仅是不容易,而且是不可能。这些技术每一门展开来都是复杂的一
套知识,可以说,你只要精通其中一门,就可以到外边找个不错的工作了。而且在大学
阶段,这些课程也不是都要学的,而是针对不同专业方向选修其中几门(具体选哪几门
,多研究研究你们各自的专业培养方案,多请教老师),学的时候争取能动基本用法即
可,真正的应用和深入是要到工作后的;当然你若很勤奋或有天赋,能熟练掌握某一门
达到开发产品的程度,那毕业后找个好工作就轻而易举了。到这里我们需要再明确一点
:电子领域知识繁多、浩如烟海,所以一般搞硬件的公司都有较多的员工,一个研发项
目是多人细致分工、共同完成的,所以我们经常会听到团队意识这个名词。因为一个人
的能力有限,不可能掌握所有的知识。比如一些人专门负责搞驱动,一些人专门从事逻
辑设计,一些人专门搞高频无线,一些人专门搞测试,一些人专门设计外壳,一些人专
门设计电路板等等。
看到这里可能有的同学头都大了:那说来说去大学阶段到底究竟应该学些什么呢?说实
话写到这里我的头也大了,电子设计涉及方方面面的东西太多了,实在不是一篇文章甚
至一本书能说得清楚的。所以我决定剔除这些生涩的课程名目,大致说一下我所认为的
一个电类学生或是想要成为电子工程师的自学者应该掌握的基本的专业技能。
我认为:除了最初提到的电路分析、模拟电路、数字电路基础知识外,应了解并掌握电
子元器件识别与选用指导、基本仪器仪表的使用、一些常用电路模块的分析与设计、单
片机的应用、PLD的应用、仿真软件的应用、电路板设计与制作、电子测量与电路测试。
电子元器件的识别与使用就不用说了,这是元素级的基础,不过要想掌握好也并不容易
,一些电子系学生毕业了,还认不出二极管、三极管实物、分不清电解电容的正负极等
等,也不是没有的事。还是一句话,多进进实验室,多跑跑电子市场,多看看书。
仪器仪表的使用,大学的实验课中你至少会用过数字万用表,波形发生器、电源、示波
器、小电机、单片机仿真机,至少要把这些东西的接线方法和用法弄懂吧。
常用电路模块也是包罗万相,各种放大电路、比较器、AD转换电路、DA转换电路、微分
电路、积分电路,还有各种数字逻辑单元电路等等,只能说,大致了解吧,并学会怎么
去查资料、查芯片查管脚。最基本的,做实验或课程设计中用到的各种芯片要弄熟。
单片机,这是应该掌握的。时下单片机种类繁多,但各大小企业用得最多的还是51系列
单片机,而且价格便宜、学习资料也最全,故给自学者推荐。当然各学校开课讲的单片
机型号会有所不同,没关系,学好单片机编程,学好了一种,再学别的单片机就容易了
。
PLD(可编程逻辑器件),一种集成电路芯片,提供用户可编程,实现一定的逻辑功能。
对可编程逻辑器件的功能设定(即要它实现什么功能)要有设计者借助开发工具,通过
编写程序来实现,这跟单片机类似。开发工具可学习Altera公司的Quartus II软件(这
是该公司的第4代PLD开发软件,第3代是MAX+PLUS II软件)。编程语言学习硬件描述语
言VHDL或Verilog HDL。
仿真软件最基本的就是前面说的Multisim了,另外还可学MATLAB。其他的试专业情况选
学或是工作后学。电路板设计与制作主要是用Protel软件辅助进行。这在前面已有介绍
,读者应该也比较熟悉。
最后建议同学们积极与各类电子竞赛赛事,参加一场比赛一个项目做下来,电子设计的
一个流程和各环节的基础知识就能串起来了,对知识的融会贯通及今后走向工作岗位都
有莫大裨益。
以上这些东西我说得笼统,深入下去又是一大堆要学的东西。还是那句话,多啃书本、
多实践!清华大学出版社有一套“电子电路循序渐进系列教程”是按照上面我所讲的那
个思路出的,可惜还没出全,现在好像只有《单片机在电子电路设计中的应用》、《电
路设计与制板——Proetl应用教程》、《仿真软件教程——Multisim和MATLAB》、《常
用电路模块分析与设计指导》几本。另外听听你们老师的意见、师兄师姐的意见,问问
他们应读些什么书。当然也不能尽听尽信,翻开一本书我想你先大致看看他讲得是否通
俗,自己琢磨着能看懂几分?我想能有5分懂这本书就值得一看了,示自己现阶段的知识
情况,太浅显的书不用看了,太深的书也不要去看,看得迷迷糊糊还打击自信心丧失了
兴趣。
好了,就此停笔吧。本来是要写个书目推荐,可干瘪瘪的罗列一堆书目有什么意义
?还是写下这些字,让同学们自己去思考去选择去深入吧,希望能对你们有所帮助。
最后一句老生常谈也是我的切肤之痛:大学四年会一晃而过,要学的东西太多太多,不
要虚度光阴。及时当努力,岁月不待人!
--
年轻人所需要的不只是学习书本上的知识,也不只是聆听他人种种的指导,而是要加强
一种敬业精神,对上级的托付,立即采取行动,全心全意去完成任务——“把信带给加
西亚”
转:http://www.eetop.cn/bbs/thread-53387-1-1.html
ARM入门最好的文章------转载一位资身工程师的入门心得
开始学ARM一团雾水,不知道如何入手.这个介绍的比较全面.本人认为aRM入门最好的文章
.抓住51开发ARM
这几个月来我一直都爬在51的问题,自己都有一点笑自己了,用了4个月的时间,来巩固51的原理和程序,还好我自己算是走过来了,自己笨,身边的高才生又看不上51的原理,他们都比较“牛”,说51过时了,你问那个做什么???我比较郁闷!过时吗?我有一点怀疑?
他们不愿意说有他们自己的理由,没有人强求,靠自己好了。
我自己个人的观点:51是一个基础,而且还很重要,这是再我看了ARM之后感觉到的。它可以加速你的ARM学习速度,真得!不相信你试一试好了。
凡是要求一个速度、效率,不要做一些无用功,抓紧身边的每一个一分钟,人是活的,东西(知识、书)是死得,想要做的事情因此就简单了。
2.我在网上看到了一篇很不错的ARM文章,粘贴过来,为了和像我一样在很少有人帮助的情况下,自学ARM 的难兄难弟们。
“ARM怎么入门”。我不是高手,仍然是菜鸟。
但是回想起自己当时的迷茫,特意写了这篇东西,当作给和我一样的兄弟姐妹的帮助吧。问这个问题的人多半不是已经工作的工程师,而是和我一样是学生,所以这篇笔记就把看家当成我一样的菜鸟,高手勿怪。
首先声明:本人还没有找工作,事实上处于研究生刚毕业,还没开始找工作的空闲时间,44B0只是兴趣所在,打发时间。
所有看法完全是自己的感受,不代表任何他人。错了的观点各位帮我纠正。再次补充:很多朋友看了上面的话就问我为什么研究生毕业了还不找工作:)说是打发时 间,其实是因为研究生的时候带了一个项目,申请提前毕业以后项目还有块尾巴,答应导师把项目做完再走:)就这么简单。男人总点负点责,呵呵
以下问题常被问到,我就想到哪说到哪吧。
一 首先说说ARM的发展
可以用一片大好来形容,翻开各个公司的网站,招聘里面嵌入式占据了大半工程师职位。
广义的嵌入式无非几种:传统的什么51、AVR、PIC称做嵌入式微控制器;ARM是嵌入式微处理器;DSP;FPGA。
客观的讲,工作需求量上DSP的需求比ARM要多,而ARM和FPGA差不多。
DSP因为数字处理与通信领域的空前发展而火暴,小到MP3 射象头,大到我们军品里的控制器,应用面很广。
FPGA的兄弟一般做ANSIC(特殊芯片设计,好象是这么翻译的)。而ARM单纯说来并不比一个单片机强多少,但是它的独特就在于不断下降的价格和提升的性能。这完全依靠于ARM公司的战略,厉害!!很佩服他们的战略眼光!!
值得注意的是:在找工作中,企业(著名的,小的不算)对单纯的ARM硬件开发工程师并不比单片机重视,很少有大企业的职位里写“从事过ARM开发优先”。写的多的是什么?“嵌入式LINUX”到这相信大家看出来了吧,需要的是硬件中的软件。
二 ARM是硬件还是软件
很难说,ARM是硬件,LINUX是软件。ARM的硬件多半已经模块化了,像我这样把板子改成这样的就算动的多的了,这同样是ARM公司的战略,再次佩服。
实际中的LINUX的开发工作更多,更耗时。从这方面说ARM应该算是软件了。
在找工作中更是这样,举个例子,联想里和ARM最接近的是“BIOS工程师”是软件,MOTO里接近的是嵌入式LINUX工程师是软件。而其他很多 公司把嵌入式产品开发归为硬件。所以,不要讨论这个,好好玩转自己的板子才是关键。实在不爽你就把自己叫“嵌入式开发工程师”
三 要不要买开发板 买哪家
我的答案是“在你个人的学习方法”,但是如果看家是需要看这骗笔记的水平,个人推荐还是买现成的。
1 买
买板子可以把注意力集中在软件开发上,软件开发(尤其是驱动)可以不必担心自己硬件上的问题,我就是以便调试一边写驱动和程序,每次写驱动前就要先确认硬 件没问题。另外,买板子更省钱和时间,我自己做的板子,原理图PCB花了2周以上!制版又15天,回来以后焊接44B0 160个脚!那叫一个麻烦~~花了多少钱呢?2层板,制版费就300块!当然 我把接口都外引了,还做了个20X18的LCD背板,板子比较大。总体下来 元件+LCD屏+PCB=11XX块!够2410的了。
再有就是买的资料相对来说比较全,但是不要指望有技术支持!都是骗人的,卖你之后就不会理你。
2 做
自己做可以更了解底层硬件,可以按照自己的要求加东西,比如我就加了GPS模块、 GPRS模块 、SD卡模块,扩了个IIC的35个键子的键盘、把LCD接口按照买的LCD改装了,可以用FPC线直接连接。做的很爽的。玩一把吗。
当然,你可以有策略的做,比如像我一样,把RAM和ROM,网络都保持和某现成的板子一样,这样他们的资料你就可以拿过来直接用,给自己留个退路。其他的如SD了 什么的自己做。都达到了~~就是费钱,费时间。
再有就是给做的朋友几点建议:尽量拿到现成的板子,尽量多搜集其他板子的全套资料,一定要拿到一张没问题的原理图。
网上流传的原理图多数是龚俊03年画的,再这里对龚俊表达一下我的敬意!!牛人!
但是那个图有个小BUG,我指的是03版的,后来的没这问题了。8019那地址线和地址有问题。还有人仿照他的PDF图画的SCH,更是漏洞百出!谴责!顺便谴责把龚俊板子偷卖的人。
3 买哪家
个人感觉分3类吧
1)首先是ZLG的,资料非常的全,感觉他是真正想教你怎么开发ARM,而不是像有的公司自己技术都没做好就做个板子出来卖钱。但是最大的不利就是价格太 贵!而且主要是PHILIP的,货源比较麻烦~~可能有人说21XX系列的不贵啊,那是总线不外扩的,只能跑UCOS,不能跑UCLINUX。但是说是 话,21XX系列才是ARM7的价格性能结合点。ARM7最适合做工业控制,ARM普及,销量都是怎么来的?都是ARM7来的,而44B0是典型的商业片 子。但是,这里如果你看中的是为工作做准备,还是选能跑UCLINUX的吧。
但是仍然作为第一个推荐,因为菜鸟时期,合适的资料太重要了!!在这里被ZLG的务实精神感动!你看人家那代码写的。
2)感觉立宇泰的44B0不错
硬件没别的,就是资料比较全的说,不像有些家,原理图直接拿人家的,还错的~~
3)找个最便宜的
好象最便宜的有卖350的吧?也是没别的,就是即省了钱 还省时间搜集资料,至于资料全不全,别计较了~~硬件肯定好使就行吧。
四 要不要有51 AVR等单片机基础
有更好,但没有也无所谓。
两个月以前,我只是看别人做,耳濡目染~~,本科学过单片机,从来没做过。我们这的技术主干做AVR和51,我就跟他们调过C语言程序。你看出来了?我是个不折不扣的菜鸟吧?
但是做这个之前我特意找了ZLG的两本书,看了里面的例子和原理图,这很重要。例程里有汇编有C,都看懂了就OK,不用自己现写
五 开发都需要学习哪些软件
总结起来最主要的有以下几个吧
1 ADS调试用
确切的说是ADS+AXD。ADS里包含AXD。原来都用SDT后来ARM公司停止对SDT支持了,改支持ADS了,还是用ADS吧。
有的人的程序发布的仍然是SDT版本的,但基本都可以找到相应ADS的,新人在这里不要发蒙。ADS是编译器,AXD是调试器。便宜成AXF以后再在ARM的RAM里调试。
2 PLASHPGM
FLASH烧写的软件。AXD在RAM里调试,掉电就没有了,方便程序修改。调试好的程序再下到FLASH里,上电直接运行。
同类的软件还有很多,什么FLUTED了、FLSHP了都是,但FLASHPGM最好,要是有人还问FLASH不支持BIN格式文件的问题就要看我写的PLASHPGM使用了。
3 BANYANT调试代理(不知道名对不,起这么个难记的,我一般都叫它“半羊”因为知道它那几天刚吃了烤羊)
调试代理就是用它帮你使用更简单的JTAG(便宜啊)来实现原本1K才卖的JTAG仿真器的大部分功能。JTAG调试原理看我另一篇笔记。简单的就可以把他理解为你自己做的JTAG的驱动就行了。
调试代理还有很多种,什么H-JTAG了、ARM7了(不知道具体叫什么,就记得可执行文件叫ARM7.EXE)都是,BANYANT比较好。
需要注意的是,没种调试代理安装方法虽然都简单 但都不一样,需要看说明。而且AXD调试之前都要运行。省钱了,就别怕麻烦了。
4 ARM-ELF-TOOLS工具链
里面是UCLINUX开发用的工具比如ARM-ELF-GCC只类的。工具链就是把很多工具打包在一起发布的方便你开发的东西。具体安装方法看我另一篇笔记。
另外如果你开发LINUX就要用ARM-LINUX-TOOLS,不一样,不通用。
5 U-BOOT
大名鼎鼎的BOOTLOADER生成工具,同类的好象还有VIVI(名字很暧昧~~)
生成的BOOTLOADER烧到FLASH里,然后就可以用BOOTLOADER下载 烧写其他了
有了BOOTLOADER才能下UCLINUX。BOOTLOADER就像电脑上的BIOS。当然UCOS的不用这个,用什么我不知道:)
最新版本是1.1.4 具体使用方法看我另一篇笔记吧。
6 UCLINUX包
UCLINUX的源码包,不用多说了吧?建议大家用现成的先体会一下,然后再自己编译,裁剪。因为单独UCLINUX的编辑技术上比较简单,但涉及的方面还是比较广的。
7 VMWARE
老牌的虚拟机软件,在一个机器上虚拟出一个机器装LINUX(PC上用的),省得你来回开关机了。记得装VMWARE-TOOLS,安装方法在我另一篇笔记里。
六 有哪些书推荐
主要推荐ZLG的三本书,有这3本再加网络就不用别的书了,其中主要推荐前2本,3是介绍体系结构的,也不错
1 ARM嵌入式LINUX系统构建与驱动开发,北航版
驱动写的很详细,前期开发介绍也很好
2 ARM 嵌入式系统实验教程(二),北航版
有ZLG2200的原理图,实验程序和注释,了解人家是怎么开发的。
3 ARM嵌入式系统基础教程
最重要的是体系结构,汇编部分介绍,看看吧,增加理论素质。
4 44B0数据手册
写在这里是强调它的重要。
不推荐ZLG早期出的红色皮的ARM什么体系结构~只类的
写的太多,看烦了。
其他的书没了几本,没看见好的,大家有看过的推荐吧。
七 选UCOS?UCLINUX?LINUX?VXWORKS?还是当单片机用
1 搞开发,工程设计,用UCOS,小巧,多进程,简单,体现了ARM7的精髓。
2 LINUX 正根的嵌入式系统,LINUX消费与通信领域用的比较多,但缺点是必须ARM9才能跑,ARM9的板子自己做就不行了,6层板太贵。买开发板1K达底吧。但是还是推荐选ARM9+LINUX
3 UCLINUX 算投机嵌入式系统:)ARM7上可以跑,由有LINUX近亲,学好好可以比较方便的转向LINUX,像我一样的穷鬼用吧,呵呵
4 VXWORKS
学好后可以找到高薪工作,但工作机会本身并不比LINUX好找。
5 当单片机用
不推荐,虽然我景仰的ZLG一直号召这么干。因为对于学习来说多进程的系统设计才是ARM7的玩头,至少你也要整个UCOS啊:)
有朋友问我先学这个当基础不行吗?那当然可以~~但我当时就用了1周搞定,就是我先的ADS在RAM中调试的笔记。后来我清空FLASH用的小段程序还是当时写的LED闪烁程序呢。另外1周里其中还因为自己过于菜,没把OM设置好导致晶阵不阵
哈哈。这个是必须做的,但一带而过。目标放的远一点。
八 学习要用多长时间
我从菜鸟到现在两个多月,中间被打扰数次。仍然搞定了PCB设计与制版,RAM调试,FLASH下载,UBOOT移植和下载UCLINUX(没剪裁,用现成的),LCD驱动。
再次坦诚的说:我确实比较菜,说这些不是让大家羡慕,只是告诉你们“你们应该比这个更好”
我相信良好的态度+合适的方法+及时的总结=成绩
九 ARM都玩什么
就几点
1 硬件设计
2 系统移植
3 驱动开发
4 应用开发
没了。其中推荐把注意力放在后两个上,3有难度,4比较灵活,最重要的是都是找工作的砝码。
十 我用的什么板子
很多人问我这个问题,我特意写过一个的。再说一次吧。
我是自己做的,RAM、ROM、8019等比较麻烦而当时的自己不理解的都按照龚俊的做的。保持其他不便的情况下做了如下改动。
1 加了串口通信的GPS模块、 GPRS模块
一个UART0,一个UART1,当与要用超级终端时用跳线切换。
2 SD卡,和7843触摸屏
同时挂在SPI总线上,因为SPI只能挂一个设备,同时还做了I/O模拟的准备,把两个设备又通过跳线挂在4个IO上。
3 扩了个IIC的35个键子的键盘
用的ZLG的7290,不占用CPU,最大支持64个键子,只上了35个,其他留接口。
4 把LCD接口按照买的LCD改装了,可以用FPC线直接连接。
所以改动虽然多,但真正很移植了,初期调试有关的并没动,就是为了现在不那么菜的时候做准备:)
十一 开发流程
这里是我的开发流程
1 设计原理图(含WIGGLER的JTAG访真器)
2 设计PCB(含WIGGLER的JTAG访真器)
3 制版
4 焊接电压,确定电压没问题
5 焊接44B0+JTAG电路+WIGGLER的JTAG访真器+周边电路,用BANYANT+仿真器连接,BANYANT提示错误,但可以显示44B0编号,好象是0X0F0F0F0F只类的,说明44B0没问题
6 焊接晶体+RAM+ROM+周边电路,用BANYANT+仿真器连接,可以显示正确的44B0了
7 用BANYANT+仿真器连接,开AXD,在命令行窗口操作RAM,看可不可以修改,可以的话(用内存窗口看RAM地址)RAM就没问题
可以用这个命令“setmem 0xc000000,0xffffffff,32”
我的RAM挂在BANK6上 所以地址是0XC000000,你要是改了就也得改。
8 用我写的《自己写了个C工程模板又写了个使用说明 》里的方法调试程序吧,写个简单的,我当时写个LED闪烁的。看好使不。
9 把程序按照《FLASH烧写总结 》里的烧到FLASH里,测试一下
10 按照《UBOOT 移植操作》移植UBOOT
11 按照《UCLINUX下载简单说明》下个UCLINUX
12 看看驱动开发的方法,自己写个驱动看看
13 还有很多事东西着你玩 呵呵
十二 关于JTAG访真器
JTAG访真器现在用的多是简板的,一个244那种,用的没什么不好。
按照并口定义不同分几种,建议选WIFFLER定义的,因为支持的软件多。这个网上多的是,不多说了。
值得提的是有的JTAG访真器原理图上有跳线用来使能复位信号,这个一般不跳上。就是不用复位信号,因为JTAG协议里本身也可以控制44B0复位。
当然,板子上的复位信号跳线也不用跳。
十三 哪个公司的ARM
这个是问题比较简单。
1 ARM7主要就几个公司的
三星,PHILIP,ATMEL的
ATMEL的有比较便宜的AT91SAM7S32 和AT91SAM7S64 专为8位应用产品量身定做,价格很便宜好象《3刀吧。和PHILIP的21XX差不多,资料太少,项目中选还不错。
其他两家上面说了的不多说了吧
2 ARM9
这个玩2410和2440的多吧,现在2440还比较火啊 可以考虑买个了
但是2410就比较便宜了,作为学习来说反到和不错,推荐整一个:)
其实ARM9用的最多的领域应该是消费电子,比如手机PDA,而这上面用的多的应该是INTEL的和TI的吧。
但是INTEL的TI的入门材料少,价格高,自己看情况定吧。