仪器网(yiqi.com)欢迎您!

| 注册
网站首页-资讯-专题- 微头条-话题-产品- 品牌库-搜索-供应商- 展会-招标-采购- 社区-知识-技术-资料库-方案-直播- 视频

问答社区

求有关计算机系嵌入式方向的一切知识

HKSDY江小易 2014-07-26 11:07:01 272  浏览
  • 如题 越具体越好 多谢了

参与评论

全部评论(1条)

  • 长脸先生不带V 2014-07-27 00:00:00
    学习嵌入式,C语言是Z重要的基础知识,但是掌握了它并不代表你的基础已经很好了,嵌入式学习相关的入门基础主要是这些: 一是程序设计的基础,例如:基本的编程语言基础,至少对数据类型、程序的结构及流程控制等Z基本的内容要相当清楚,所以建议恶补一下C语言,推荐谭浩强的C语言程序设计,好好看一下,呵呵!另外有不少同学都问到数据结构的基础,我一直认为数据结构和算法的学习是帮助形成程序设计逻辑思维的很好训练方式,对于程序员的长期专业素养的提高一定有好处,所以建议即使已经在嵌入式行业中工作之后也应该多补充一些相关的知识。许多在学校没有学过数据结构的同学往往认为这部分非常枯燥、难学。而实际上如果你能明白研究计算机存储和数据组织方式的意义,就一定能够充分体会到数据结构的价值和魅力。一旦兴趣有了,一切就会迎刃而解,呵呵! 二是操作系统工作原理,这部分往往是非计算机专业的同学在学校时没有接触过的。而由于嵌入式软件设计相关的多任务环境、模块间的同步与通信协同、驱动设计等往往都需要有对操作系统工作机制的了解和掌握作为基础,因此建议没有系统学习过的同学,找一本相关的操作系统工作原理书籍认真看一下(不用特厚、特专业、特内核的,先以普及知识为主,呵呵!)。 三是基本的硬件基础,由于嵌入式Linux开发往往是ARM+Linux路线,所以为了能够在后续学习过程中很好地掌握主流嵌入式微处理器的结构与原理(例如:ARM9),就需要对硬件工作原理有初步的了解和掌握,建议看一下诸如计算机组成原理、体系结构等相关的专业书籍。 下面的更详细点,在嵌入式软件方面Z重要的课程包括: (1) 嵌入式微处理器结构与应用:这是一门嵌入式硬件基础课程,我们说过,嵌入式是软硬件结合的技术,搞嵌入式软件的人应对ARM处理器工作原理和接口技术有充分了解,包括ARM的汇编指令系统。若不了解处理器原理,怎么能控制硬件工作,怎么能写出节省内存又运行高速的Z优代码(嵌入式软件设计特别讲究时空效率),怎么能写出驱动程序(驱动程序都是与硬件打交道的)?很多公司招聘嵌入式软件人员时都要求熟悉ARM处理器,将来若同学到公司中从事嵌入式软件开发,公司都会给你一本该设备的硬件规格说明书 (xxx Specification),你必须能看懂其中的内存分布和端口使用等Z基本的说明(就像x86汇编一样),否则怎么设计软件。有些同学觉得嵌入式处理器课程较枯燥,这主要是硬件课程都较抽象的原因。还有同学对ARM汇编不感兴趣,以为嵌入式开发用C语言就足够了。其实不应仅是将汇编语言当成一个程序设计语言,学汇编主要是为了掌握处理器工作原理的。一个不熟悉汇编语言的人,怎么能在该处理器写出Z优的C语言代码。在嵌入式开发的一些关键部分,有时还必须写汇编,如Bootloader等(可能还包括BSP)。特别是在对速度有极高要求的场合(如DSP处理器的高速图像采集和图像解压缩),目前还会用到汇编写程序的,尽管用到的机会相对C要小得多。当你在一个嵌入式公司工作时,在查看描述原理的手册时,可能很多都是用汇编描述的,这是因为很多硬件设计人员只会写或者喜欢用汇编描述,此时你就必须看懂汇编程序,否则软硬件人员可能就无法交流。很多嵌入式职位招聘时都要求熟悉汇编。 (2) 嵌入式操作系统类课程 除了WinCE的实时性稍差外,大多数嵌入式操作系统的实时性都很强,所以也可称为实时操作系统Real TimeOperating System。从事嵌入式的人至少须掌握一个嵌入式操作系统(当然掌握两个更好),这在嵌入式的所有技术中是Z为关键的了。 目前Z重要的RTOS主要包括:diyi类、传统的经典RTOS:Z主要的便是Vxworks操作系统,以及其Tornado开发平台。Vxworks因出现稍早,实时性很强(据说可在1ms内响应外部事件请求),并且内核可极微(据说Z小可8K),可靠性较高等,所以在北美,Vxworks占据了嵌入式系统的多半疆山。特别是在通信设备等实时性要求较高的系统中,几乎非Vxworks莫属。Vxworks的很多概念和技术都和Linux很类似,主要是C语言开发。像Bell- alcatel、Lucent、华为等通信企业在开发产品时,Vxworks用得很多。但Vxworks因价格很高,所以一些小公司或小产品中往往用不起。目前很多公司都在往嵌入式Linux转(听说华为目前正在这样转)。但无论如何,Vxworks在一段长时间内仍是不可动摇的。与Vxworks类似的稍有名的实时操作系统还有pSOS、QNX、Nucleus等RTOS。 第二类、嵌入式Linux操作系统:Linux的前途除作为服务器操作系统外,Z成功的便是在嵌入式领域的应用,原因当然是免费、开源、支持软件多、呼拥者众,这样嵌入式产品成本会低。Linux本身不是一个为嵌入式设计的操作系统,不是微内核的,并且实时性不强。 目前应用在嵌入式领域的Linux系统主要有两类:一类是专为嵌入式设计的已被裁减过的Linux系统,Z常用的是uClinux(不带MMU功能),目前占较大应用份额,可在ARM7上跑;另一类是跑在 ARM 9上的,一般是将Linux 2.4.18内核移植在其上,可使用更多的Linux功能(当然uClinux更可跑在ARM 9上)。很多人预测,嵌入式Linux预计将占嵌入式操作系统的50%以上份额,非常重要。缺点是熟悉Linux的人太少,开发难度稍大。另外,目前我们能发现很多教材和很多大学都以ucOS/II为教学用实时操作系统,这主要是由于ucOS/II较简单,且开源,非常适合入门者学习实时操作系统原理,但由于ucOS/II功能有限,实用用得较少。况且熟悉了Linux开发,不仅在嵌入式领域有用,对开发Linux应用软件,对加深操作系统的认识也有帮助,可谓一举多得。据我所知,目前Intel、Philip都在大搞ARM+LINUX的嵌入式开发,Fujitum则是在自己的处理器上大搞Linux 开发。目前在嵌入式Linux领域,以下几个方面的人特别难找,一是能将Linux移植到某个新型号的开发版上;二是能写Linux驱动程序的人; 三是熟悉Linux 内核裁减和优化的人。不过LINUX有一个硬伤,就是没有WINDOWS那样的友好方便美观的交互界面,不然微软帝国早就守不住了。 第三类、 Windows CE嵌入式操作系统:Microsoft也看准了嵌入式的巨大市场,MS永远是Z厉害的,WinCE出来只有几年时间,但目前已占据了很大市场份额,特别是在PDA、手机、显示仪表等界面要求较高或者要求快速开发的场合,WinCE目前已很流行(据说有一家卖工控机的公司板子卖得太好,以至来不及为客户裁减WinCE)。WinCE目前主要为4.2版(.NET),开发平台主要为WinCE Platform Builder,有时也用EVC环境开发一些较上层的应用,由于WinCE开发都是大家熟悉的VC++环境,所以我院学过Windows程序设计课程的同学都不会有多大难度,这也是WinCE容易被人们接受的原因,开发环境方便快速,微软的强大技术支持,WinCE开发难度远低于嵌入式Linux。对于急于完成,不想拿嵌入式Linux冒险的开发场合,WinCE是Z合适了(找嵌入式Linux的人可没那么好找的),毕竟公司不能像学生学习那样试试看,保证开发成功更重要。根据不同的侧ZD ,WinCE还有两个特殊版本,一个是MS PocketPC操作系统专用于PDA上(掌上电脑),另一个是MS SmartPhone操作系统用于智能手机上(带PDA功能的手机),两者也都属于WinCE平台。在PDA和手机市场上,除WinCE外,的PDA 嵌入式操作系统还有Palm OS(因出现很早,很有名)、Symbian等,但在WinCE的强劲冲击下,Palm和Symbian来日还能有多长?同学学过VC++后再学 WinCE,非常方便自然,通过学习WinCE同样也可了解嵌入式软件的一般开发过程,对Linux有惧怕心理的同学也很合适。很显然,嵌入式Linux 永远不可能替代WinCE,而且将来谁占份额大还很难讲,毕竟很多人更愿意接受MS的平台,就像各国政府都在大力推LINUX已好长时间,但你能看到几个在PC机上真正使用LINUX的用户?据我观察,目前在嵌入式平台上,LINUX是叫得Z响,但还是WinCE实际用得更多。嵌入式LINUX可能更多地是一些有长远产品计划的公司,为降低成本而进行长远考虑。WinCE和多媒体(如MPEG技术)是微软亚洲工程院目前做得较多的项目领域之一,现在社会很需要精通WinCE的人。现在有WINCE的智能手机,金山词霸、WORD、EXCEL、REGEDIT等居然都有 smartphone版的,PC上的MP3、DOC等居然在download时都可被自动转换成smartphone格式,很爽的。完全可用 Windows CE自己开发一些需要的程序download到自己的手机上。现在市面销售PDA智能手机火爆,MS总是财源滚滚。 总结关于嵌入式操作系统类课程,若你觉得自己功底较深且能钻研下去,则可去学嵌入式Linux;若你觉得自己VC++功底较好且想短平快地学嵌入式开发,自学WINCE是非常好的选择。 (3) 嵌入式开发的相关领域 搞嵌入式若能熟悉嵌入式应用的一些主要领域,这样的人更受企业欢迎。主要的相关领域包括: A、数字图像压缩技术:这是嵌入式Z重要Z热门的应用领域之一,主要是应掌握MPEG编解码算法和技术,如DVD、MP3、PDA、高精电视、机顶盒等都涉及MPEG高速解码问题。 B、通信协议及编程技术:这包括传统的TCP/IP协议和热门的无线通信协议。首先,大多数嵌入式设备都要连入局域网或Internet,所以首先应掌握 TCP/IP协议及其编程,这是需首要掌握的基本技术;其次,无线通信是目前的大趋势,所以掌握无线通信协议及编程也是是很重要的。无线通信协议包括无线局域网通信协议802.11系列,Bluetooth,以及移动通信(如GPRS、GSM、CDMA等)。 C、网络与信息安全技术:如加密技术、数字证书CA以及各种网络安全设备,包括硬件防火墙、入侵检测IDS、还有防毒墙、IPS等,ZG在这方面还是没有自己优势的,我们陈院长好象正在往这方面发展。 D、 DSP技术:DSP是Digital Signal Process数字信号处理的意思,DSP处理器通过硬件实现数字信号处理算法,如高速数据采集、压缩、解压缩、通信等。数字信号处理是电子、通信等硬件专业的课程,对于搞软件的人若能了解一下Z好。目前DSP人才较缺。如果有信号与系统、数字信号处理等课程基础,对于学习MPEG编解码原理会有很大帮助。 (4)嵌入式开发的相关硬件基础 对于软件工程专业的学生,从事嵌入式软件开发,像数字电路、计算机组成原理、嵌入式微处理器结构等硬件课程是较重要的。另外,汇编语言、C/C++ 数据结构算法、特别是操作系统等软件基础课也是十分重要的。我们的主要目地是能看懂硬件工作原理,但ZD应是在嵌入式软件,特别操作系统级软件,那将是我们的优势。我们的研究生里有些是学电子、通信类专业过来的,有较好的模拟电路和单片机基础,学嵌入式非常合适。 嵌入式本身就是从单片机发展过来的,只是单片机不带OS,而现在很多嵌入式应用越来越复杂,以至不得不引入嵌入式操作系统。另外,为追求更高速的信号处理速度,现在在一些速度要求较高场合,有不少公司是将一些DSP算法,如MPEG压缩解压缩算法等用硬件来实现,这就涉及到HDL数字电路设计技术及其 FPGA/IP核实现技术,这方面的人目前市场上也很缺。 华清远见的嵌入式专业教材比较专业,也很出名,高校图书馆以及外面书店都有卖,你可以去网上搜一下,买本看看,华清远见的网站和技术论坛上面也有很多嵌入式学习资料和视频可以下载,而且更新的速度也很快,学习中遇到困难可以去转转,相信对你会有帮助!

    赞(4)

    回复(0)

    评论

获取验证码
我已经阅读并接受《仪器网服务协议》

热门问答

求有关计算机系嵌入式方向的一切知识
如题 越具体越好 多谢了
2014-07-26 11:07:01 272 1
我想报读计算机系,嵌入式技术,网络技术,软件技术,这3个方向哪个好
 
2012-06-29 15:36:04 329 3
硝化细菌的有关知识?
其结构和生理特征是什么?... 其结构和生理特征是什么? 展开
2009-08-30 05:11:11 405 3
求关于糖尿病的一切资料
我昨天得知我有一位至亲得了糖尿病,我想问下什么是糖尿病?怎么会得糖尿病?糖尿病可以治好吗?吃什么药好?平时要注意些什么?如果血糖将到正常就不会有事了吧?大家有没有ZL糖尿病的经验... 我昨天得知我有一位至亲得了糖尿病,我想问下什么是糖尿病?怎么会得糖尿病?糖尿病可以治好吗?吃什么药好?平时要注意些什么?如果血糖将到正常就不会有事了吧?大家有没有ZL糖尿病的经验,有的话教下我 展开
2007-04-06 10:25:42 395 4
有关计算机科学与技术专业(嵌入式开发方向)的几点提问
一、嵌入式开发是否已经相对成熟,此领域是否仍有发展前景? 二、计算机学科侧ZD在哪里?软硬方向有什么不同的要求? 三、程序设计语言的学习方法是怎样的? 四、考研可以有哪些方向专攻? 五、本学科的就业前景如何以及薪酬水平如何?
2011-11-20 05:47:26 450 4
计算机应用技术(嵌入式方向)介绍
嵌入式方向什么意思
2016-10-14 16:26:29 269 1
求有关改性塑料方面知识的书籍 书名及作者
 
2010-04-06 09:43:54 340 1
嵌入式软件应用方向与计算机应用软件方向
这两个有什么区别?我要填报志愿,但是不明白这两个有什么区别?哪个学完后比较好就业呢?
2009-06-14 14:15:03 311 1
有关酸碱指示剂的知识
急啊!!!... 急啊!!! 展开
2009-07-25 00:10:47 359 3
嵌入式软件开发方向的考研 求教!
本人目前大三 打算考研 本科是计算机科学与技术 并且毕业后从事嵌入式(主要是手机 掌上游戏机)软件的开发 目前比较疑惑的是 是直接考计算机软件工程 方向的研究生呢?还是直接考嵌入式系统开发的研究生? (计算机专业课我学的都可以 平均分都在80左右,嵌入... 本人目前大三 打算考研 本科是计算机科学与技术 并且毕业后从事嵌入式(主要是手机 掌上游戏机)软件的开发 目前比较疑惑的是 是直接考计算机软件工程 方向的研究生呢?还是直接考嵌入式系统开发的研究生? (计算机专业课我学的都可以 平均分都在80左右,嵌入式系统要考电路什么的,除了数字逻辑外其他我完全都没接触过) 希望老鸟们能不吝赐教一下 展开
2011-04-04 13:45:13 347 6
谁能告诉我有关塑料的知识?
如PP为聚丙烯\PE为聚乙烯,其它PPR、PS、ABS、PET、PS分别代表的是什么含义或者是代表什么材质?大聚酯切片水瓶片(IV.=0.8)中的VI代表的是什么意思?
2006-10-22 01:19:38 333 3
有关环保方面的知识
如:环境保护等……
2006-04-10 14:36:21 460 1
与电梯有关的电气自动化知识和机械知识
 
2016-03-14 09:24:03 546 1
计算机科学与技术嵌入式方向
计算机科学与技术嵌入式方向
2017-06-29 14:07:09 334 1
计算机专业的两个方向:嵌入式方向,网络信息与安全方向,哪个比较好
 
2015-11-05 03:51:43 302 2
学习有关手动扭矩仪的知识
Orbis为小量程扭矩测试提供了一种简单测试方案适用于一些小的旋转零件,其整个机身坚固、小巧、轻便、是实验室和生产环境的测试设备。底座内置扭矩传感器,可数字显示。配置的多功能夹可抓住实验产品的底部,现场完成手动扭矩测试。数字显示测试器高采样率可以精确捕捉到扭矩的峰值,对于特殊样品具有较高的精度。
 
  手动扭矩仪的使用方式:
 
  (1)打开扭矩仪电源开关,设置试验模式及统计数量等参数信息。在此以测试瓶盖开启扭矩为例,仪器试验模式选择“开启扭矩”。
 
  (2)将在标准实验室环境下调节好状态的测试样品,放在仪器夹具上,夹紧。
 
  (3)将手放在瓶盖处,拧开瓶盖,此时扭矩仪自动检测出试样瓶盖的开启扭矩值。
 
  (4)按照上述步骤,依次测试剩下的试样。一般检测3个试样。  
  手动扭矩仪的使用注意事项:
 
  1、仪器使用时应注意放置在无任何抖动、稳定的试验平台上,以保证仪器精度。
 
  2、只有仪器需要标定时用户才可转动标定电位器,否则禁止任何调整,以免破坏标定数据。
 
  3、当试验扭矩超过当前仪器较大量程时,将有蜂鸣器连续报警,这时用户应停止加力,以避免传感器造成损伤。
 
  4、仪器在初次试验时,若蜂鸣器发出连续短“嘀”声报警,无法正常使用,传感器可能已造成损伤或零漂太大,请关闭仪器电源,及时致电售后服务人员!
 
  5、禁有液体进入仪器内部。


2022-10-17 13:00:15 123 0
你还知道哪些有关大海的知识?
 
2015-11-07 20:59:22 1189 1
煤矿关于水采的有关知识?
这是除煤矿炮采、综采后的另一种采煤方法,主要适用于急倾斜煤层!
2012-06-19 20:59:30 552 1
计算机三级嵌入式考试涉及什么知识
买教程还是题库好呢?
2015-01-27 21:21:14 367 2
一个计算机专业,嵌入式方向学生的疑惑。
我是一个大二即将大三的大学生,目前专业是计算机科学与技术,方向是嵌入式方向。如同身边很多同学一样,对所谓的嵌入式,还是一个很模糊的概念,而这个方向,到底指向哪里?我很困惑。 大二的暑假,我自己学习了51单片机,然后申请进入了学校的机器人实... 我是一个大二即将大三的大学生,目前专业是计算机科学与技术,方向是嵌入式方向。如同身边很多同学一样,对所谓的嵌入式,还是一个很模糊的概念,而这个方向,到底指向哪里?我很困惑。 大二的暑假,我自己学习了51单片机,然后申请进入了学校的机器人实验室,进去了后,我发现老师的各种安排让我无所适从,首先是让我学习ARM7,学习了一段时间后,没有了结果,然后让我去参加了一次Linux的内核移植的培训,期间还有各种琐碎的事情,一学期下来,我发现,我什么都没有学到。前几天,各地都举办了电子设计大赛,TI杯的。我也参加了,学习了一下MSP430系列的单片机,我发现,做比赛学到的知识要多得多 。 马上开学就大三,所剩下的时间也不多了,我还没有确定好自己的发展方向,我现在也只会点点51,msp430,一点点ARM的知识,现在我不知道该潜心学习什么东西了,有人给我说STM32,有人给我说搞DSP,有人也给我推荐ARM,可是我不知道学了这些之后,到底意味着什么,能否为我两年后的职场生涯打造一个良好的平台么?也有学长告诉我,参加几个比赛,比如盛群杯,比如全国电子设计大赛,还有飞思卡尔,可是,这些比赛能给我什么呢? 我给老师说,我想搞智能家居方向的,或者像Microsoft的Kinect或者Google眼睛这种产品的嵌入式领域的东西,总之一句话,我想做点能改变我们现在生活方式的嵌入式产品。然后老师给我说,不论你走哪个方向,毕业后面临的diyi个问题,就是就业问题。是的,这很现实,我得为这份工作付出,哪家公司会要我,而卧又需要具备什么知识? 我现在又要学些什么? 其实说道这里,我自己都不清楚我到底想说些什么了,因为思绪太乱了,看不清前方,看不清我的职业规划。而时间不多,这一年的时间,我应该怎么去安排,才能有一个我想要的明天? 展开
2012-08-12 02:39:19 439 3

10月突出贡献榜

推荐主页

最新话题