关于嵌入式的问题。谢谢!!!

大家好,我是一个非计算机专业的学生,但是对计算机比较感兴趣,我现在自学了很多和软件相关的东西,比如说微机原理与接口技术、汇编语言、C语言等东西,我对软件又有很强的好奇感,... 大家好,我是一个非计算机专业的学生,但是对计算机比较感
兴趣,我现在自学了很多和软件相关的东西,比如说微机原理
与接口技术、汇编语言、C语言等东西,我对软件又有很强的
好奇感,我想问以下一些问题:
1做嵌入式开发需要搭建什么样的平台?需要哪些硬件和软件?
2我想学习嵌入式,请大家推荐一条学习线路,按由浅入深的
顺序,谢谢!
展开
 我来答
天天天蓝322
2010-04-13 · TA获得超过578个赞
知道小有建树答主
回答量:318
采纳率:0%
帮助的人:267万
展开全部
嵌入式方向目前是一个非常有前景的行业,如果是希望向嵌入式软件方向发展的话,目前最常见的是嵌入式Linux方向,关注这个方向,我认为大概分3个阶段:
1、嵌入式linux上层应用,包括QT的GUI开发
2、嵌入式linux系统开发
3、嵌入式linux驱动开发

嵌入式目前主要面向的几个操作系统是,LINUX,WINCE、VxWorks等等
Linux是开源免费的,而且其源代码是开放的,更加适合我们学习嵌入式。
所以你可以尝试以下路线:
(1) C语言是所有编程语言中的强者,单片机、DSP、类似ARM的种种芯片的编程都可以用C语言搞定),因此必须非常熟练的掌握。
推荐书籍:《The C Programming Language》 这本经典的教材是老外写的,也有中译版本。
(2) 操作系统原理,是必需的,如果你是计算机专业毕业那也就无所谓了,如果是非计算机专业的就必须找一本比较浅显的计算机原理书籍看一看,把啥叫“进程”“线程”“系统调度”等等基本问题搞清楚。
(3)Linux操作系统就是用C语言编写的,所以你也应该先学习下Linux方面的编程,只有你会应用了,才能近一步去了解其内核的精髓。
推荐书籍:《UNIX环境高级编程》(第2版)
(4) 了解ARM的架构,原理,以及其汇编指令,我们在嵌入式开发中,一般很少去写汇编,但是最起码的要求是能够看懂arm汇编。
(5) 系统移植的时候,就需要你从最下层的bootloader开始,然后内核移植,文件系统移植等。而移植这部分对硬件的依赖是非常大的,其配置步骤也相对复杂,也没有太多详细资料。
(6) 驱动开发
linux驱动程序设计既是个极富有挑战性的领域,又是一个博大精深的内容。
linux驱动程序设计本质是属于linux内核编程范畴的,因而是对linux内核和内核编程是有要求的。在学习前你要想了解linux内核的组成,因为每一部分要详细研究的话足够可以扩展成一本厚书。

以上只不过是大概的框架,在实际的开发中还会涉及很多东西,比如:交叉编译、makefile、shell脚本等等,所以说学习嵌入式的周期较长,门槛较高,自学的话更是需要较强的学习能力和专业功底。只要能坚持下来一定会取得成功!

你可以到华清远见网站上了解更多嵌入式的相关资料。
祝你早日学有所成!
长辉视听科技有限公司
2024-10-28 广告
无纸化会议系统,是广州长辉视听科技有限公司推出的高效会议解决方案。该系统采用先进的电子触控技术,实现会议资料电子化、会议过程无纸化,极大提升了会议效率与环保水平。通过大屏幕显示与智能终端交互,参会者可轻松浏览、标注、分享会议资料,促进信息快... 点击进入详情页
本回答由长辉视听科技有限公司提供
匿名用户
2010-04-12
展开全部
嵌入式就多了,单片机,ARM,dsp,fpga等等。学什么就买相应的开发板,现在学的最多的是arm+linux或者arm+wince。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
麻婆洞府
2010-04-13
知道答主
回答量:10
采纳率:0%
帮助的人:0
展开全部
这是一个初学者常问的问题,也是初学者问嵌入式该如何入门的根源。我感觉有两个方面,偏硬和偏软.我不认为嵌入式开发软件占绝对比重,相反,软硬件都懂,才是嵌入式高手所应该追求的,也是高手的必由之路。

硬件道路:
第一步:
pcb设计,一般为开发板的电路裁减和扩充,由开发板原理图为基础,画出PCB和封装库,设计自己的电路。
第二步:
SOPC技术,一般为FPGA,CPLD开发,利用VHDL等硬件描述语言做专用芯片开发,写出自己的逻辑电路,基于ALTER或XILINUX的FPGA做开发。
第三步:
SOC设计,分前端,后端实现,这是硬件设计的核心技术:芯片设计.能做到这步,已经不属于平凡的技术人员。

软件道路:
第一步:bootloader的编写,修改, 通过这步熟悉ARM硬件结构,学习ARM汇编语言,阅读ARM的芯片手册,感觉就是像操作51单片机一样操作ARM芯片.这一步最好的两个参考资料就是:芯片手册和bootloader源代码。
第二步:系统移植, 驱动开发, 我只做过linux方向,所以也推荐学习嵌入式linux系统,作为标准体系,他开源而且可以获得大量学习资料.操作系统是整个计算机科学的核心,熟悉 kernel实属不易,kernel, 驱动开发的学习,没有什么捷径,只有多读代码,多写代码,熟悉系统API.. understanding linux kernel , linux device driver 都是不可多得的好书,值得一看。
第三步:应用程序的编写,各种GUI的移植,qt , minigui都被大量采用,两种思想都类似,熟悉一种就可以。

软件道路中,驱动系统应该是最深入的部分,不是短时间可以掌握的,需要有勇气和耐心。嵌入式开发,软硬结合,因为硬件条件比PC差很多,所以肯定会遇见不少问题,因此实践的勇气更加重要.有问题就解决问题,无数次的实验,也许是解决问题的必由之路。呵呵,若感兴趣想进一步了解的话,只有去东方赛富得网上咨询或实地考察了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
黑旋世界
2010-04-14
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
个人觉得 麻婆洞府说的很全面。。。支持一下,呵呵
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式