给一个大二学生关于嵌入式开发来信的回复,大家看看如何

gturing 2011-09-07 11:31:07
您好,初次跟您对话,也不知道怎么称呼,我就以哥们称呼吧!
我现在是一名大二的学生,大连交大软件学院的。因为是双专业,我们学校学制是5年,而我的专业是“测控技术+软件”,我们上学期软件分方向了,我选择的是嵌入式。后来我了解到做嵌入式会要求到一些电路,模电,数电方面的知识,而我们测控的基础课正是这些知识,同时我对嵌入式又有些兴趣,所以我想毕业后往这方面发展。
我曾经问过我们的COA老师关于嵌入式的一些东西,但是不是很彻底。
所以我想请教你一些以下的问题:
1.为了专业的发展我现在应该做些什么
2.除了课本之外(《嵌入式系统软件教程》)我还应该看些什么方面的书,最好能具体说出书名
3.我是不是应该自己搞点小“工程”比如做些小东西什么的

您再给我介绍些这方面的前景和经验好吗?或者应该避免的弯路。

在这里我非常谢谢您了!!!!

-----------------------------------------------------
你好,因为很少使用QQ邮箱,近期才看到你的邮件,不好意思。


嵌入式开发其实不是一门专业,只是电子和计算机工程的一个方向而已,国外大学的EECS(电气工程和计算机科学)系一般也是只有一两门关于嵌入式开发的课程。这就意味着,嵌入式开发要学的课程跟软件工程,电子工程的课程有很大的重叠。

大学学习主要是打好基础,一般国外大学EECS系无论哪个方向,基本有以下几个方面的专业基础要求
1. 编程基础
2.数模电路基础
3.信号与系统
4.计算机系统组成
5.编译原理
6.数据结构与算法
7.计算机网络

当你具备以上专业基础,才能够进行嵌入式开发的课程学习,嵌入式开发又分为软件开发和硬件开发两个方向。


硬件开发主要集中在:以下电路的开发,传感器电路,用户交互电路(如键盘,LCD驱动电路),执行器驱动电路(如电机驱动电路、电磁阀等等),网络电路(如以太网、CAN等等),接口电路(如usb,串口,I2C,RS-485等等),电源电路等等。另外近年由于FPGA的高速发展,用FPGA实现特殊功能的数字电路成为了嵌入式硬件开发的又一基本要求。熟悉使用一种以上的EDA工具进行原理图设计和PCB设计是基本的要求。


软件开发:主要有别于PC分时系统的软件开发的特征就是实时性,实时性意味着当某一事件发生时,系统必须在规定时间内作出响应,要不在某些系统有危险性(当然MP3不会爆炸,火箭就很难说了)。主要要求有,熟悉一种以上体系结构(51、AVR、ARM),能使用该体系的汇编语言进行编程。另外嵌入式软件开发基于MCU性能,又分无操作系统(俗称“裸跑”)和基于操作系统两种方式,“裸跑”往往存在单片机系统,软件规模不大,任务输入、输出直接读写I/O寄存器,多任务可以实现一个任务调度器。较复杂的多任务系统就需要在基于实时操作系统平台上面开发了,涉及操作系统就意味着输入、输出需要经过驱动程序,熟悉一种实时操作系统和能在开发驱动程序和任务程序是基本的要求了。语言方面,熟悉使用C/C++是嵌入式软件开发的基本要求。


具体问题答复:
1.为了专业的发展我现在应该做些什么
答:学好基础知识,多动手实践,学好英语。
2.除了课本之外(《嵌入式系统软件教程》)我还应该看些什么方面的书,最好能具体说出书名
答:
推荐几个国外大学的嵌入课程,可以参考一下
http://users.ece.utexas.edu/~valvano/
《Embedded Microcomputer Systems: Real Time Interfacing》作者的网站有图书简介和课程;
http://people.ece.cornell.edu/land/courses/ece4760/
科内尔大学的MCU设计课程,项目比较有创意,非常值得参考;
http://chess.eecs.berkeley.edu/eecs149/index.html
伯克利大学的嵌入式课程,介绍比较形式化的开发模式;
图书方面:
入门
1. Embedded Microcomputer Systems:Real Time Interfacing [嵌入式微计算机系统:实时接口技术]
2. Programming.Microcontrollers.in.C
3. Patterns for Time-Triggered Embedded Systems
4. Embedded C [Michael.J.Pon]
5. The 8051 Microcontroller and Embedded Systems Using Assembly and C
6. Embedded C Programming and the Atmel AVR
7. Computers as Components -Principles of Embedded Computing System Design
进阶
8. The Art of Designing Embedded Systems
9.Programming Embedded Systems With C and Gnu Development Tools 2nd.Edition
10. An Embedded Software Primer
11. Embedded System Design -A Unified Hardware Software Approach
12.Embedded Systems Design - An Introduction to Processes, Tools and Techniques
13. Embedded Systems - Architecture, Programming And Design
实时操作系统
1. Realtime Operating Systems - Concepts & Implementation of Microkernels for Embedded System
2.Real-Time Concepts for Embedded Systems
3. MicroC OS II: The Real Time Kernel
4. Real-Time Systems Development
硬件开发
1.Analog Interfacing to Embedded Microprocessor Systems
2. Designing Embedded Hardware
3. Embedded Hardware (Newnes Know It All)
网络
1.Principles of Embedded Networked Systems Design
2. Embedded Ethernet And Internet Complete Designing And Programming Small Devices For Networking
3.Implementing 802.11 with Microcontrollers, Wireless Networking for Embedded Systems Designers
4. Multiplexed Networks for Embedded Systems
5. The Linux TCP/IP Stack: Networking for Embedded Systems
Linux

1. Embedded Linux Primer - A Practical Real-World Approach
2.Linux For Embedded And Real-Time Applications
3.Embedded Linux System Design and Development
4. Embedded Linux - Hardware,Software,And Interfacing
5.Pro.Linux.Embedded.Systems
6.Building Embedded Linux Systems



3.我是不是应该自己搞点小“工程”比如做些小东西什么的

答:嵌入式开发课程本身就要求一个课程项目,所以说自己或合作完成一个项目是基本要求,最好是有创意点,别人没有做过的。
...全文
488 5 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
xiaolin654321 2012-04-18
你最好是要把C语言,linux学好有精力的话可以买ARM开发板自己学习一下,这三块对于将来做嵌入式是很重要的。这里有一个学习资料分享一下希望对你有帮助。http://learn.akae.cn/media/index.html
回复
dragon_cheng 2012-04-17
那嵌入式是偏软还是偏硬更有钱途呢?
求教。。。。。。
回复
人生300年 2011-11-21
z这么复杂 估计去参加个培训都不能学会,找工作怎办 唉
回复
woshizhaoheihei 2011-11-21
说的很好啊
回复
LixueDaddy 2011-10-07
我是电子工程专业的,将来向嵌入式开发和集成电路发展中,受益匪浅。
回复
cdsnfresh 2011-09-22
解惑了,谢谢
回复
SailorXing 2011-09-08
路漫漫其修远兮!
回复
soho 2011-09-08
谢谢 很是受用
回复
相关推荐
发帖
非技术区
创建于2007-09-28

1056

社区成员

硬件/嵌入开发 非技术区
申请成为版主
帖子事件
创建了帖子
2011-09-07 11:31
社区公告
暂无公告