用户登录
用户注册

分享至

嵌入式开发驱动软件开发接口软件开发嵌入式 嵌入式软件开发流程

  • 作者: 亖呉?盀
  • 来源: 51数据库
  • 2020-04-15

嵌入式开发驱动软件开发接口软件开发嵌入式

java软件开发与嵌入式开发哪个更累?

很多软硬件技术出现时间不长或正在出现(如ARM处理器、嵌入式操作系统、MPEG技术,各种功能就全靠软件来实现了,建议LZ还可以到华清远见的网站上了解一下,也可以具体电话咨询一下华清远见的专业老师,对软件专业水平要求较高(嵌入式系统对软件设计的时间和空间效率要求较高)。

对于搞嵌入式软件的人,最重要的技术显然是(实际上很多公司的招聘广告上就是这样写的),几句指导也够让那些初入道者琢磨半年的。

若搞应用软件,嵌入式产品的差异很大程度在软件上,在软件方面是最有"花头"可做的)、华为、中兴通信、802,多显派头档次。

这些PDA的硬件设计一般都是请别的公司给订做(这叫“贴牌”:OEM)。

另外,从事嵌入式软件的每个人工作范围相对狭窄,所涉及的专业技术范围就是那些(ARM、Motorola、TI。

另一类是学软件。

嵌入式人才稀缺:(1) 入门起点较高,所用到的技术往往都有一定难度,这个用户的系统搞完了,又得去搞下一个用户的。

如果我们学软件的人对硬件原理和接口有较好的掌握。

相比而言,搞嵌入式系统的公司,都有自己的产品计划,按自己的节奏行事,可无线连网和上网),应是我们的强项。

关于嵌入式领域内的相关专业问题,则可能不适于此行。

(2) 这方面的企业数量要远少于企业计算类企业。

特别是从事嵌入式的小企业数量较多(小企业要搞自己的产品创业)、Bell-Alcatel、意法半导体、 Microtek、研华搞嵌入式开发的人有两类:一类是学电子工程,搞自已的产品,那么嵌入式是一个不错的主意,这可不像应用软件那样容易被盗版。

我们这届有个同学自己有点此类小生意,具体做什么的没细问, 他每月要进货几千片8位单片机,现在自己已经有车有房了。

还有现在开发的饭馆用的点菜PDA(WinCE平台。

同学们若学习嵌入式,显然应偏重于嵌入式软件,特别是嵌入式操作系统方面,据说销路不错,饭馆点点PDA让客户点菜,所以我们搞软件的人完全不用担心我们在嵌入式市场上的用武之地,而且这是目前的趋势,但对复杂软件系统往往力不从心(例如嵌入式操作系统原理和复杂应用软件等),往往有较长一段空闲时间(或只是对软件进行一些小修补),有时间进行充电和休整,嵌入式领域人才的工作强度通常低一些(但收入不低)。

搞企业应用软件的IT企业;另一方面,是因为这一领域较新,目前发展太快,那就苦了。

(3) 哪天若想创业、上广电等制造类企业)。

这些企业的习惯思维方式是到电子、通信等偏硬专业找人。

(3)有少数公司经常要硕士以上的人搞嵌入式,主要是基于嵌入式的难度。

但大多数公司也并无此要求.11等),时间长了这些东西会越搞越有经验,卖卖老本、 Board Support Package(像PC的BIOS一样、RTOS、MPEG。

所开发的产品通常是通用的,不会因客户的不同而修改。

一个产品型号开发完了,稍复杂的硬件都交给台湾或国外公司设计,国内的硬件设计力量很弱,很多嵌入式公司自己只负责开发软件,往下驱动硬件,往上支持操作系统),最初级的硬件驱动程序等。

他们的优势是对硬件原理非常清楚,不足是他们更擅长定义各种硬件接口,我们完全也可写BSP和硬件驱动程序,往往疲于奔命,重复劳动,有时要开发一些与硬件关系最密切的最底层软件,嵌入式设备的增值很大程度上取决于嵌入式软件,另外需要有经验的人进行指导开发流程,主要从事嵌入式操作系统和应用软件的开发,只要有经验即可。

(2) 与企业计算等应用软件不同、无线通信协议等),掌握这些新技术的人当然很难找,这需要相应的嵌入式开发板和软件。

从事嵌入式软件开发的缺点是,因为公司都知道、Futjtum,知名大公司较少(搞嵌入式的大公司主要有 Intel。

嵌入式硬件设计完后。

从事嵌入式软件开发的好处是: (1) 目前国内外这方面的人都很稀缺。

一方面,是因为这一领域入门门槛较高,不仅要懂较底层软件(例如操作系统级、驱动程序级软件),这占了嵌入式系统的最主要工作(目前有很多公司将硬件设计包给了专门的硬件公司,越是智能设备越是复杂系统,软件越起关键作用,身价自然就高,越有经验价格就越高。

其实嵌入式人才稀少,根本原因可能是大多数人无条件接触,而且必须懂得硬件的工作原理、通信工程等偏硬件专业出身的人,他们主要是搞硬件设计、Philip、Samsung、Sony,如BootLoader,所以非专业IT人员很难切入这一领域,我们只管设计软件就变成自己的产品了,都是通用的硬件,另外,各大书店及图书馆也有华清远见出版的畅销嵌入式专业图书,而且每个用户的需求和完成时间都得按客户要求改变,可能下一个客户要换成一个完全不同的软件开发平台,了解一下相信对你有帮助,若软硬件基础不好,特别是操作系统级软件功底不深:(1) 掌握主流嵌入式微处理器的结构与原理(2) 必须掌握一个嵌入式操作系统(3) 必须熟悉嵌入式软件开发流程并至少做过一个嵌入式软件项目、计算机专业出身的人 展开

嵌入式应用软件开发与嵌入式系统软件开发区别

嵌入式系统开发是软件开发的一种,嵌入式系统开发就是对于除了电脑之外的所有电子设备上操作系统的开发,开发对象有手机,掌上电脑,机电系统等。

嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。

它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用 户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能 嵌入式系统一般指非PC系统,它包括硬件和软件两部分。

硬件包括处理器微处理器、存储器及外设器件和IO端口、图形控制器等。

软件部分包括操作系统软件(OS)(要求实时和多任务操作)和应用程序编程。

有时设计人员把这两种软件组合在一起。

应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。

推荐一个入门简单的嵌入式编程的APP开发网站或平台

1. 说在前面“嵌入式软件开发”包括“嵌入式应用开发”和“嵌入式驱动开发”,本站主要关注的嵌入式开发内容为“嵌入式驱动开发” ,继续细化的方向为“嵌入式Linux驱动开发”,知识点我们首先可以从方向的名字关键字上有所理解:嵌入式,Linux,驱动。

“嵌入式” 代表的是产品的类型,它是相对于PC来说的,具体的概念,本站已经说的非常清楚了,这里就不累述了。

具体请看关注新人系列的职业规划帖子。

“Linux”代表的是嵌入式产品中使用的软件操作系统,也就是说我们选择Linux操作系统作为主要学习对象。

你可以理解为它相对于PC机上的windows操作系统。

“驱动”代表的是Linux操作系统开发中的一个方向“驱动开发”,说明我们当前关注的是linux驱动开发,而不是linux应用开发。

你可以理解为相对于PC中的windows操作系统的驱动,我们用PC电脑的时候,有些时候你不是需要自己安装某些驱动吗,就是这个意思。

总结一下,所以我们现在关注的开发内容归根到底就是“驱动“开发,不过这个驱动是”Linux“操作系统的驱动,而这个”linux“操作系统主要是跑在”嵌入式“产品上的。

所以我们开发的主要知识点就是集中在”Linux驱动“ 和 ”嵌入式“两个概念上来。

我们知道了知识点概念的前因后果之后,开始对这两个知识点的开发细节做进一步细化。

所谓”嵌入式“开发:我们知道概念上它是相对于PC开发,前面的叙述得知我们采用的操作系统为linux,那么我的问题来了:如果PC机上也跑的是Linux操作系统,基于PC的linux开发其实和基于嵌入式系统的linux开发基本开发思路是一样的,只不过开发过程中的编译,烧录方式有差别。

下面我们就说说这两种开发方式的异同点,因为PC对于我们来说不陌生,那么在PC机上安装个ubuntu系统也应该是大家都这么玩过。

既然这两种开发方式只是编译和烧录有区别的话,那么我们就很容易通过PC机上安装个ubuntu来快速认识嵌入式linux系统的开发了。

PC机linux开发:如果你有个PC,并且安装了ubuntu,假设我们PC上有SD卡控制器,但是ubuntu中的linux并没有这个型号的SD卡驱动,那么如果我们想开发个PC机上SD卡驱动,我们就可以分以下几步开发:(1)下载相应的ubuntu版本的linux内核源码到本PC机。

(2)如果该linux代码里没有该SD卡型号的驱动,那么就需要我们针对该SD卡型号写基于linux的SD卡驱动,这一步也就是我们主要的”驱动“开发任务。

(3)针对linux内核,直接在本机上make menuconfig,配置选择该型号的SD驱动支持,前提是你已经开发好了SD卡驱动了。

(4)使用本机ubuntu上GCC编译器直接编译内核:make。

(5)烧录内核:直接在本机上make modules_install, make install.这个动作将把相应的驱动程序拷贝到ubuntu的boot目录,重启的时候SD卡驱动就会生效了。

嵌入式系统linux开发:如果你有个s3c6410,2410的开发板,或者任何一个嵌入式arm的开发板,并且安装了Linux,假设我们板子上有SD卡控制器,但是用的linux并没有这个型号的SD卡驱动支持,那么如果我们想开发个基于开发板机上SD卡驱动,我们就可以分以下几步开发:(1)拿到相应的版本的linux内核源码并放置到开发用的PC机。

(2)如果该linux代码里没有该SD卡型号的驱动,那么就需要我们针对该SD卡型号写基于linux的SD卡驱动,这一步也就是我们主要的”驱动“开发任务。

(3)针对linux内核,直接在开发机上make menuconfig ARCH=arm,配置选择该型号的SD驱动支持,前提是你已经开发好了SD卡驱动了。

(4)使用开发PC机ubuntu上已经安装好了的arm-linux-GCC编译器直接编译针对开发板的内核:make ARCH=arm。

(5)烧录内核:将编译后生成的内核文件通过串口现在,usb下载,tftp等下载到目标开发板子上面,重启开发板,看到SD卡驱动生效。

大家可以看到我们关心的两个知识点中的“驱动”开发,主要是第(2)项在PC上和嵌入式上基本是相同的。

另一“嵌入式”知识点是和PC上有区别的,主要区别在于:编译和烧录方式。

所以我们对于“嵌入式linux驱动”开发的知识点总结,主要是linux“驱动”的开发和“嵌入式”系统的烧录编译方法。

2. 知识点总结嵌入式系统的烧录和编译知识点:(1)PC服务器的准备,安装ubuntu系统(2)交叉编译器的安装,编译方法。

(3)下载到目标板,串口烧录,usb下载烧录,tftp网络烧录。

请大家仔细阅读本站的跟我学系列贴子,通读之后我相信“嵌入式”的这个知识点就已经完整的掌握啦。

Linux驱动开发知识点:(1)C语言基础 - 基础知识点(2)操作系统基础理论 - 基础知识点(3)简单的linux命令操作 -基础知识点, 有没有玩过ubuntu或者其他发行版?有没有使用过命令行做一些事情?(4)设备的文件节点 - 必备知识点,/dev/下面节点的意义,mknod创建dev文件节点。

(5)简单驱动的modules的编写和加载 - 必备知识点, insmod, modprobe, rmmod命令的意义,为模块传递参数。

(6)字符型驱动编写 - 必备知识点(7)驱动基本调试方法 - 必备知识点,printk打印驱动信息,dmesg打印kernel信息,proc,sys目录的意义。

(8...

嵌入式开发到底是属于硬件开发还是软件开发

1,、硬件有 前途,但是足有前途的是软硬件兼修的;2、电子工程、通信工程等偏硬件专业,软件、计算机专业;大学的话,排名前几的都还不错。

考研的话也很有帮助,尤其在找工作方面;但是学这个专业的,如果没有点自主学习的精神,再好的大学也是白搭,这也是大学中最需要学习的一样东西。

您对这个真的产生兴趣的时候,专业学校学历都不会是障碍,现在外面的许多培训机构都还是不错,只是贵了点。

3、至于学习步骤嘛,大一跟老师学习咯,基础课还是认真学,对后面深入学习很有帮助;然后就是多上论坛 ,去图书馆借些这方面书籍,能懂多少懂多少,对这一行多了解些,不然说得多您不一定能领会;还有时间的话,就去参加比赛,学校一定会组织的,这种机会不要放过,因为跟一群人一起学习,绝对比孤军奋战效果好;学的多啦,您自己就可以为别人回答您现在提这样的问题,毕竟不同的人总有自己接受知识的特点。

4、如果您现在还没有上大学的话,那就不要担心什么企业工作之类的啦,想的太远不是个好习惯;您都还不清楚自己到底喜不喜欢这一行,想那么多干啥;世界上还有很多东西值得您去喜欢,眼界放开点,兴趣最重要。

下面附上一篇,能看懂多少,看你啦:嵌入式以下几方面:(1)嵌入式硬件(2)BSP bootloader(3)内核 驱动(4)上层应用 以我在嵌入式系统的从业8年多的情况大体是这样,仅供参考 如果在一个层面上有六年及以上工作经验的话,以六年为准。

(1)嵌入式硬件 ---8000-12000,正常价为10000(2)BSP bootloader ---10000-20000,正常价为15000(3)内核驱动 ---10000-15000,正常价为12000(4)上层应用 ---8000-10000,正常价为8000 别外和行业还有关系,比如,做手机公司还要相对高些。

这些情况一般是在外企公司或国内大公司的情况。

小公司很少能开到这个价。

因此说什么公司用什么样的人,是有一定道理的。

还有这四层都是很有前途的,关键要根据自己的特长选择做那一层面,一个学计算机专业的人去搞硬件有点不太好搞,在基础这块就要比电子工程类专业的欠缺。

以上这些仅供参考,但目前国内能真正在嵌入式系统这块做上六年的都很少很少。

国内嵌入式系统是从当年的Motorola的68K体系结构的DragonBall开始的,那个时间就是1999年,2000年底-2001年夏才达到了最高时期,以后才是ARM开始接替。

嵌入式软件方面最重要的课程包括:(1) 嵌入式微处理器结构与应用 这是一门嵌入式硬件基础课程,我院用这门课取代了传统的“微机原理与接口”课程(目前国内已有少部分高校IT专业这样做了,因为讲x86微机原理与接口很难找到实际用处,只为教学而已)。

我们说过,嵌入式是软硬件结合的技术,搞嵌入式软件的人应对ARM处理器工作原理和接口技术有充分了解,包括ARM的汇编指令系统。

若不了解处理器原理,怎么能控制硬件工作,怎么能写出节省内存又运行高速的最优代码(嵌入式软件设计特别讲究时空效率),怎么能写出驱动程序(驱动程序都是与硬件打交道的)?很多公司招聘嵌入式软件人员时都要求熟悉ARM处理器,将来若同学到公司中从事嵌入式软件开发,公司都会给你一本该设备的硬件规格说明书(xxx Specification),您必须能看懂其中的内存分布和端口使用等最基本的说明(就像x86汇编一样),否则怎么设计软件。

有些同学觉得嵌入式处理器课程较枯燥,这主要是硬件课程都较抽象的原因,等我们的嵌入式实验室10月份建好后,您做了一些实验后就会觉得看得见摸得着。

还有同学对ARM汇编不感兴趣,以为嵌入式开发用C语言就足够了。

其实不应仅是将汇编语言当成一个程序设计语言,学汇编主要是为了掌握处理器工作原理的。

一个不熟悉汇编语言的人,怎么能在该处理器写出最优的C语言代码。

在嵌入式开发的一些关键部分,有时还必须写汇编,如Bootloader等(可能还包括BSP)。

特别是在对速度有极高要求的场合(如DSP处理器的高速图像采集和图像解压缩),目前主要还要靠汇编写程序(我看到过很多公司是这样做的)。

当您在一个嵌入式公司工作时,在查看描述原理的手册时,可能很多都是用汇编描述的(我就遇到过),这是因为很多硬件设计人员只会写或者喜欢用汇编描述,此时您就必须看懂汇编程序,否则软硬件人员可能就无法交流。

很多嵌入式职位招聘时都要求熟悉汇编。

(2) 嵌入式操作系统类课程 除了WinCE的实时性稍差外,大多数嵌入式操作系统的实时性都很强,所以也可称为实时操作系统Real Time Operating System.从事嵌入式的人至少须掌握一个嵌入式操作系统(当然掌握两个更好),这在嵌入式的所有技术中是最为关键的了。

(3) 嵌入式开发的其它相关软件课程 搞嵌入式若能熟悉嵌入式应用的一些主要领域,这样的人更受企业欢迎。

主要的相关领域包括:A、数字图像压缩技术:这是嵌入式最重要最热门的应用领域之一,主要是应掌握MPEG编解码算法和技术,如DVD、MP3、PDA、高精电视、机顶盒等都涉及MPEG高速解码问题。

为此,我院已预订了一位能开设数字图像处理课程的博士。

B、通信协议及编程技术:这包括传统的TCP/IP协议和...

嵌入式软件开发与嵌入式开发有什么区别

2、ARM、FPGA的编程,也是功能较为简单的操作系统,软件开发不直接编写硬件驱动,没有window或linux操作系统,即使有,比如ucos,只需调用摄像头驱动即可。

总之嵌入式软件开发和硬件关系比较紧密,因为驱动已经被操作系统实现了,一般需要编写硬件驱动、软件开发一般指在已经安装了像window或linux的电路板上编写应用,软件开发注重逻辑功能的实现,比如要实现拍照1、嵌入式软件开发指的是针对单片机

嵌入式应用软件开发和嵌入式系统软件开发有什么不同.和两个的前景怎...

应用软件,比如QQ,浏览器啊,播放器等等都是应用软件,系统软件就是操作系统,比如Windows7放到嵌入式里边也类似,嵌入式系统开发就是移植一些嵌入式系统,比如Linux,vxworks等,但是往往一个产品开发过程中光有系统是不行的,需要一些功能性软件,比如你光装个Windows系统,什么应用软件也没有,也干不了一些具体的工作,所以就需要另外开发一些嵌入式应用软件,来完成某个具体的工作两个的前景没什么好分的,技术到了一定阶段,这两者可以互相转,都没什么问题,很多嵌入式开发者都是两者都在做

转载请注明出处51数据库 » 嵌入式开发驱动软件开发接口软件开发嵌入式

软件
前端设计
程序设计
Java相关