什么是嵌入式软件开发特点?嵌入式软件开发特点哪...

嵌入式系统开发的模式与流程
嵌入式系统开发的模式与流程
作者:luogongqiang 来源:luogongqiang的blog
1 嵌入式系统的结构
1.1 嵌入式系统的硬件架构
如图5-1所示,为嵌入式系统硬件模型结构,此系统主要由微处理器MPU、外围电路,以及外设组成,微处理器为ARM嵌入式处理芯片,如ARM7TMDI系列及ARM9系列微处理器,MPU为整个嵌入式系统硬件的核心,决定了整个系统功能和应用领域。外围电路根据微处理器不同而略有不同,主要由电源管理模型、时钟模块、闪存FIASH、随机存储器RAM,以及只读存储器ROM组成。这些设备是一个微处理器正常工作所必须的设备。外部设备将根据需要而各不相同,如通用通信接口USB、RS-232、RJ-45等,输入输出设备,如键盘、LCD等。外部设备将根据需要定制。
嵌入式处理系统主要包括嵌入式微处理器、存储设备、模拟电路及电源电路、通信接口,以及外设电路。
1.2嵌入式系统的软件结构
嵌入式系统与传统的单片机在软件方面最大的不同就是可以移植操作系统,从而使软件设计层次化,传统的单片机在软件设计时将应用程序与系统、驱动等全部混在一起编译,系统的可扩展性,可维护性不高,上升到操作系统后,这一切变得很简单可行。
嵌入式操作系统在软件上呈现明显的层次化,从与硬件相关的BSP到实时操作系统内核RTOS,到上层文件系统、GUI界面,以及用户层的应用软件。各部分可以清晰地划分开来,如图5-2所示。当然,在某些时候这种划分也不完全符合应用要求。需要程序设计人员根据特定的需要来设计自己的软件。
板级支持包(Board Support Packet)主要用来完成底层硬件相关的信息,如驱动程序,加载实时操作系统等功能;
实时操作系统层主要就是常见的嵌入式操作系统,设计者根据自己特定的需要来设计移植自己的操作系统,即添加删除部分组件,添加相应的硬件驱动程序,为上层应用提供系统调用;
文件系统、GUI,以及系统管理主要应对需要,即如果需要文件系统及图形界面支持才需要设计,主要是为了应用程序员开发应用程序提供更多更便捷更丰富的API接口;
应用软件层即用户设计的针对特定应用的应用软件,在开发该应用软件时,可以用到底层提供的大量函数。
采用分层结构的软件设计使系统清晰明了,各个部分设计工作分工明确,从而避免整个系统过分庞大。
2 嵌入式开发的模式及流程
2.1 嵌入式系统开发模式
嵌入式系统开发分为软件开发部分和硬件开发部分。嵌入式系统在开发过程一般都采用如图5-3所示的“宿主机/目标板”开发模式,即利用宿主机(PC机)上丰富的软硬件资源及良好的开发环境和调试工具来开发目标板上的软件,然后通过交叉编译环境生成目标代码和可执行文件,通过串口/USB/以太网等方式下载到目标板上,利用交叉调试器在监控程序运行,实时分析,最后,将程序下载固化到目标机上,完成整个开发过程。
在软件设计上,如图5-4所示为结合ARM硬件环境及ADS软件开发环境所设计的嵌入式系统开发流程图。整个开发过程基本包括以下几个步骤。
(1)源代码编写:编写源C/C++及汇编程序;
(2)程序编译:通过专用编译器编译程序;
(3)软件仿真调试:在SDK中仿真软件运行情况;
(4)程序下载:通过JTAG、USB、UART方式下载到目标板上;
(5)软硬件测试、调试:通过JTAG等方式联合调试程序;
(6)下载固化:程序无误,下载到产品上生产。
2.2嵌入式系统开发流程
当前,嵌入式开发已经逐步规范化,在遵循一般工程开发流程的基础上,嵌入式开发有其自身的一些特点,如图5-5所示为嵌入式系统开发的一般流程。主要包括系统需求分析(要求有严格规范的技术要求)、体系结构设计、软硬件及机械系统设计、系统集成、系统测试,最终得到最终产品。
(1)系统需求分析。确定设计任务和设计目标,并提炼出设计规格说明书,作为正式设计指导和验收的标准。系统的需求一般分功能性需求和非功能性需求两方面。功能性需求是系统的基本功能,如输入输出信号、操作方式等;非功能需求包括系统性能、成本、功耗、体积、重量等因素。
(2)体系结构设计。描述系统如何实现所述的功能和非功能需求,包括对硬件、软件和执行装置的功能划分,以及系统的软件、硬件选型等。一个好的体系结构是设计成功与否的关键。
(3)硬件/软件协同设计。基于体系结构,对系统的软件、硬件进行详细设计。为了缩短产品开发周期,设计往往是并行的。嵌入式系统设计的工作大部分都集中在软件设计上,采用面向对象技术、软件组件技术、模块化设计是现代软件工程经常采用的方法。
(4)系统集成。把系统的软件、硬件和执行装置集成在一起,进行调试,发现并改进单元设计过程中的错误。
(5)系统测试。对设计好的系统进行测试,看其是否满足规格说明书中给定的功能要求。
嵌入式系统开发模式最大特点是软件、硬件综合开发。这是因为嵌入式产品是软硬件的结合体,软件针对硬件开发、固化、不可修改。
如果在一个嵌入式系统中使用Linux技术开发,根据应用需求的不同有不同的配置开发方法,但是,一般情况下都需要经过如下的过程。
(1)建立开发环境,操作系统一般使用Redhat Linux,选择定制安装或全部安装,通过网络下载相应的GCC交叉编译器进行安装(比如,arm-1inux-gcc、arnl-uclibc-gcc),或者安装产品厂家提供的相关交叉编译器;
(2)配置开发主机,配置MINICOM,一般的参数为波特率115200 Baud/s,数据位8位,停止位为1,9,无奇偶校验,软件硬件流控设为无。在Windows下的超级终端的配置也是这样。MINICOM软件的作用是作为调试嵌入式开发板的信息输出的监视器和键盘输入的工具。配置网络主要是配置NFS网络文件系统,需要关闭防火墙,简化嵌入式网络调试环境设置过程。
(3)建立引导装载程序BOOTLOADER,从网络上下载一些公开源代码的BOOTLOADER,如U.BOOT、BLOB、VIVI、LILO、ARM-BOOT、RED-BOOT等,根据具体芯片进行移植修改。有些芯片没有内置引导装载程序,比如,三星的ARV17、ARM9系列芯片,这样就需要编写开发板上FLASH的烧写程序,读者可以在网上下载相应的烧写程序,也有Linux下的公开源代码的J-FLASH程序。如果不能烧写自己的开发板,就需要根据自己的具体电路进行源代码修改。这是让系统可以正常运行的第一步。如果用户购买了厂家的仿真器比较容易烧写FLASH,虽然无法了解其中的核心技术,但对于需要迅速开发自己的应用的人来说可以极大提高开发速度。
(4)下载已经移植好的Linux操作系统,如MCLiunx、ARM-Linux、PPC-Linux等,如果有专门针对所使用的CPU移植好的Linux操作系统那是再好不过,下载后再添加特定硬件的驱动程序,然后进行调试修改,对于带MMU的CPU可以使用模块方式调试驱动,而对于MCLiunx这样的系统只能编译内核进行调试。
(5)建立根文件系统,可以从http://www.busy.box.net下载使用BUSYBOX软件进行功能裁减,产生一个最基本的根文件系统,再根据自己的应用需要添加其他的程序。由于默认的启动脚本一般都不会符合应用的需要,所以就要修改根文件系统中的启动脚本,它的存放位置位于/etc目录下,包括:/etc/init.d/rc.S、/etc/profile、/etc/.profile等,自动挂装文件系统的配置文件/etc/fstab,具体情况会随系统不同而不同。根文件系统在嵌入式系统中一般设为只读,需要使用mkcramfs
genromfs等工具产生烧写映像文件。
(6)建立应用程序的FLASH磁盘分区,一般使用JFFS2或YAFFS文件系统,这需要在内核中提供这些文件系统的驱动,有的系统使用一个线性FLASH(NOR型)512KB~32MB,有的系统使用非线性FLASH(NAND型)8MB~512MB,有的两个同时使用,需要根据应用规划FLASH的分区方案。
(7)开发应用程序,可以放入根文件系统中,也可以放入YAFFS、JFFS2文件系统中,有的应用不使用根文件系统,直接将应用程序和内核设计在一起,这有点类似于μC/OS-II的方式。
(8)烧写内核、根文件系统和应用程序,发布产品。
火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。真心真意诚实请教,软件开发和嵌入式哪个方向更好!!!
& && && &首先声明一下,本人本科是电子信息工程专业,学的一般。现在考研考上了软件工程专业。里面有软件开发、软件设计、嵌入式系统开发(偏软件)等。本人现在比较纠结软件开发和嵌入式系统开发两个方向哪个更好一些。请了解的同学给点建议。本人比较纠结的原因:1、软件开发相对嵌入式好学一些,软件开发的岗位也较多,就业相对容易。但是学的人多竞争也大。2、嵌入式开发,门槛高,目前岗位少些,不过据说这方面特别热门,需求量很大,未来很吃香。可是都是在百度搜索看到的,感觉有很多广告的嫌疑。本人能力一般吧。现在真是陷入了纠结当中。不知道该选择哪个。还有嵌入式就业具体有哪些大公司可以进啊?我知道软件开发的话可以进好多大的互联网公司的。13应届刚考上的,真心纠结。特此请教,请勿拍砖,谢谢。
width:100%">
精彩评论33
先自己顶一下,希望各位多多指教哈。
width:100%">
嵌入式应该将来就业很不错
这个以后得发展趋势不错。跟未来将要发展的物联网关系也很大。我也想学这个,如果以后就业好的话,那这个应该是一个不错的选择吧。但也想进微软、腾讯这样的大得互联网公司,也有选软件开发的意向。哎,最难得就是选&
width:100%">
不太懂& && && && && && && &
width:100%">
LZ,现在都什么时代了,还在纠结软件和什么嵌入式啊。而且,你本科学的是电子信息工程,难道你不知道最有价值的课程是数字信号处理、模拟电路、高频电路等核心课程吗?什么软件和嵌入式是最没有技术含量的,基本和数学不沾边。对于软件和嵌入式,外加西电电院本科生的学习能力,工作1年上手~熟练,2年熟练~掌握,3年掌握~精通。
老外就喜欢创造一些新概念或者时髦名词,那都是忽悠外行人的,比如:
1、嵌入式,其本质就是单片机或者复杂CPU编程,另外需要掌握1~2操作系统的接口使用以及操作系统基本原理等;
2、云计算,其本质就是分布式计算的一种拓展;
......to be continued
但是,作为一名西电的学生,应该算是内行人了,怎么还能被这些时髦的名词忽悠呢?
呜呼哀哉!
首先感谢你的分析,也挺有道理的。已经考研了,感觉学历高一点不一定没什么好处,但也不会有什么坏处,毕竟以后干什么不确定,比如进了很多事业部门提干啊会有学历要求的。研究生学历是未来趋势。本科的东西,哎,说&
惊喜券 +100&
width:100%">
另外,现在互联网火,为什么?
平地起高楼啊,开发成本极低!仅需要写字间,打印机,复印机,PC机,以及若干台服务器就可以开始了!
但是,大部分码农或者码畜仅仅是频于应付一门又一门”新“的语言,类似于快餐式的技术,非常肤浅。
除非你做的软件是一个项目中的核心工程,
举一个非常简单的例子:
如果你做的是cadence EDA工具中的布局布线算法,或者是EDA图形生成算法,那么恭喜你,你选择的方向前景一片光明;
如果你做的仅仅是cadence EDA工具中的用户界面,不好意思,这是最没有技术含量的部分,对于一个科技实力雄厚的公司基本上都不屑于做这种东西,一般都会外包出去,因为用户界面的含金量极低!当然,如果你想举一些例子反对我,比如苹果用户界面的芸芸。。。。那么只能告诉你,我所说的是极大部分情况是如此,而你的例子仅仅是个案。
呵呵,分析得挺在理的。
但是,每个人的定位不同,现在西电培养的大部分人还是适合去做技工做码农,毕竟西电技工的脑袋想不到去做算法做物理,也不屑去做算法做物理。另外,一个公司要有做算法做物理的人,同时也要&
马甲兄分析的有理啊
说的非常好
惊喜券 +100&
width:100%">
学纯软件,学JAVA 学数据库吧,已经工作的人这么告诉你。
纯软件好像都要学吧这两个。&
width:100%">
自己擅长哪方面,自己对哪个感兴趣就选哪个了
嗯,对。可是对两方面都稍微了解那么点都了解的不多,,谈不上对哪个感兴趣对哪个不感兴趣。&
坚强的人只能拯救自己,伟大的人才能拯救他人。
--------《肖申克的救赎》
这个世界上没有哪一样东西是必须属于你的。
---------《人间正道是沧桑》
学然后知不足,教然后知困。知不足,然后能自反也。知困,然后能自强也。
-------------《大学》
width:100%">
majia117 发表于
另外,现在互联网火,为什么?
平地起高楼啊,开发成本极低!仅需要写字间,打印机,复印机,PC机,以及若 ...
呵呵,分析得挺在理的。
但是,每个人的定位不同,现在西电培养的大部分人还是适合去做技工做码农,毕竟西电技工的脑袋想不到去做算法做物理,也不屑去做算法做物理。另外,一个公司要有做算法做物理的人,同时也要有这种做码农的技工。目前来看,西电大部分技工都喜欢后者,呵呵
人世间最痛苦的事莫过于在最宝贵的时间去了一个疯狂扩招、培养技工的技校!
width:100%">
majia117 发表于
LZ,现在都什么时代了,还在纠结软件和什么嵌入式啊。而且,你本科学的是电子信息工程,难道你不知道最有价 ...
首先感谢你的分析,也挺有道理的。已经考研了,感觉学历高一点不一定没什么好处,但也不会有什么坏处,毕竟以后干什么不确定,比如进了很多事业部门提干啊会有学历要求的。研究生学历是未来趋势。本科的东西,哎,说实话学的不算多好。学软件开发以后可以进百度、腾讯、淘宝、eyba等互联网公司,就业和薪资还算蛮不错的哦。现在都已经录取了也想上,关键是学哪个了,软件开发还是嵌入式。楼主对咱电子信息的支持我还是要赞一下的。
width:100%">
标榜你的星座,你的个性!
1. 2. 3. 4. 5. 6. 7. 8.
好网社区APP:随时随地上好网!
广告也精彩
&&All Rights Reserved.
Copyright &copy
Powered by专访唐攀:经验之谈 学习嵌入式开发起步指南
发表于 14:40|
摘要:社区之星记者第四次的采访是CSDN博客专家唐攀,唐攀是华清远见高级研发工程师和高级讲师,他认为要想深入学习嵌入式,要先学好汇编和体系结构,对操作系统要了解透、中断处理、内存管理和内核结构体等等都能熟练掌握,另外再加上代码的阅读能力。
对于嵌入式工程师应该会哪些技术,唐攀认为技术只是工具,最主要的还是编程思想
唐攀,华清远见高级研发工程师和高级讲师,从事Android底层及系统移植相关研发工作,担当企业在职员工培训、企业内训及大学生职业培训。有多年知名外企嵌入式方向软件研发经历,拥有丰富的项目经验,与杨铸共著《深入浅出嵌入式底层软件开发》一书。2009年转行到培训与研发结合的教育行业,并从那时开始进行Android应用开发及底层移植等工作。
兴趣+坚持=一门新技术
CSDN:根据介绍,你以前是在日企从事汽车嵌入式开发,是什么缘故促使你转向Android移动开发?在自主学习的过程中有没有遇到什么困难?你是如何克服的?
唐攀:其实从07年Steve Jobs发布iPhone手机开始,我们已经从信息时代进入了移动互联网时代,这是个更细化的新时代,在地铁公交上,几乎每个人都在对着移动智能设备进行&交互&。当Android在08年出现,大陆的程序员基本上09年才开始接触 Android,我之所以转向Android移动开发,主要是因为Android是基于Linux操作系统,而我之前又是做Linux应用与驱动工作,所以一定的&交集&让我快速转型。当然,刚开始对Android很陌生,后来买了部G1手机才开始慢慢感受到它的优势,比如开源、程序间平等、UI漂亮和可玩性强等。
刚开始学习Android还是2009年,那个时候网上并没有现在这么多的资料,所以都是直接从官方网站上看在线SDK。有问题也是Google去解决,并且一般做底层的都是和C或C++接触比较多,所以Java语言这儿可能也会有一点突破,不过还好,学会C的人,学其它语言都不难。在学习Android应用时没有很大的困难,就是:兴趣+坚持,而到了后面可能问题就比较多,各种服务的使用,自定义控件或样式等。
后来我又转到Android底层,这主要是因为开源是Android最大的优势,也比较适合国情。在底层最大的困难就是环境搭建和调试经验,基本上每个问题上都会卡上一段时间,一旦解决了,这些就会是自己的经验,一般快捷有效的解决方法都是借助google和自己的跟读代码。
CSDN:是什么原因让你从技术人员成为一名教学工作者,有特别的故事和我们分享吗?
唐攀:这得归结于机会和个人选择共同作用的结果,08年金融危机,外企处境不妙,而教育培训机构却独树一帜。当时一朋友介绍到一培训机构里研发嵌入式开发板上对应的教学案例与项目,后来偶尔也能替讲师上课,再后来教学总监觉得效果不错。在教学案例与项目研发结束后,总监就让我转到教学上&&做教育,这是个良心产业,当讲师也相对比较体面一些,收入和做研发差不多,但是一般不会加班,因此有工作、有兴趣和有生活,也就喜欢上这个行业。
CSDN:你从事Android底层教学工作,对于如何更好、更深入地学习Android技术肯定有独到的见解,可以与我们分享下这一块经验吗?
唐攀:独到的见解倒谈不上,倒是有一些对初学者的建议,Android是一个大杂烩,牵扯的东西非常多,比如Java、C、C++、设计模型、Linux和驱动等等,总之太多了。如果你是做嵌入式底层,比如做过驱动,做过Linux应用程序开发,那你学Android底层相对比较轻松一些,如果你是做上层的,那你要突破的点太多了。我觉得学习Android底层,应站在应用程序角度考虑接口,站在接口角度考虑框架, 站在框架角度考虑硬件抽象与数据处理,以Linux操作为基础,以编程语言为武器,以设计模型为战略,以read source code 为具体动作,坚持下来就行。
CSDN:你和杨铸共同编写了《深入浅出嵌入式底层软件开发》一书,在这本书中,你都做了哪些贡献?在出书的过程中有什么难忘的回忆吗?
唐攀:杨铸老师就是前面提到的朋友兼总监,他先提出来要写一本书,他负责高级驱动那部分,但又想将ARM体系结构加入到书中,由于我一直做这块工作,所以书前面的ARM体系结构及裸驱这块是我写的,杨老师负责后面的部分。至于出书的回忆太多了,我记得无数个夜晚我同时对着三块板子调试书籍里提到的案例(因为我自己改的一个小操作系统要运行在三块常见的开发板上,降低读者学习成本),用了一整天时间画一张中断流程总图,书籍中ARM部分,每一幅图都是我自己亲手PS,反正总共写了300多页,用了半年时间。不过这些付出还是值得的,通过网上书店的评价来看,读者还是比较认可这本书。
如何学习嵌入式开发
CSDN:可以说说当初你为什么选择嵌入式开发?你认为学习嵌入式开发如何开始和深入?
唐攀:选择嵌入式开发是兴趣使然,这得归功于我父亲的影响,他当兵是学无线电,复员后工作之余帮邻居修电视及收音机等。受此影响我也对这些特别感兴趣,大学就直接选择学计算机,毕业了找工作也是底层相关,不过当时叫单片机&&,可以说兴趣主导了我的方向,每当我看到电子产品时,我就特别有感觉。
如何开始和深入学习嵌入式开发,这个还是要和专业相关,并且有兴趣,因为嵌入式有时真的挺枯燥,简单的问题可能卡上几天。深入的话,就是个人追求的问题,我是喜欢打破沙锅问到底的人,嵌入式这块如果你想深入的话,汇编和体系结构要学好,然后是操作系统要了解透、中断处理、内存管理和内核结构体等等都能达到掌握程度,另外再加上代码的阅读能力就差不多了。
CSDN:你认为要成为一名优秀的嵌入式工程师应该会哪些技术,具备哪些职业素养?
唐攀:技术无止境,几年前J2ME还很火,可现在已是Android和ios天下,再过两年可能就是HTML5,这些都不好说。其实技术只是工具,最主要的还是编程思想和一个人对新方向的嗅觉能力,编程思想这块就是开发经验的积累,多调几个错误、多写代码、多看别人的代码和多实现自己的想法,然后就是多关注国内外类似CSDN的一些IT资讯门户。谈到职业素养,其实就是一句话:北京的IT圈子很小,抬头不见低头见,不在一时之得失,做好每一件事,写好每一行代码。
CSDN:请简单介绍下哪些是常用的嵌入式系统?在这些系统中,如何选择适合自己的系统?
唐攀:常用的嵌入式系统主要还是按功能分:实时和非实时,单任务与多任务,常见的有vxworks、linux、winCE和ucosII等。选嵌入式系统得根据硬件芯片和系统功能来决定,如果实时性要求高的,那么就是vxworks和ucosII,如果用于处理多任务,并且要UI表现好点,那么就是linux+QT或Android与winCE。
CSDN:硬件开发平台有FPGA,ARM,DSP,AVR等等,哪个更好,能简单分析下吗?初学者如果要学习ARM开发板,该如何去选购?
唐攀:其实不能说硬件开发平台哪个更好,只能说哪个更适合你哪个更有前途,说白了,就是赚的多还不累的。其实这几个平台都有自己的特点,FPGA基本上是纯硬件,搞IC的,DSP主要是逻辑处理控制,ARM平台现在应用比较多一些,基本上就是针对ARM的芯片进行编程和外设控制,AVR是比较偏小型化的单片机开发和设计,应用广泛且比较简单。如果你是硬件专业的,就做FPGA或ARM、AVR的外设电路设计,如果做软件的,就DSP、ARM和AVR的编程等。如果初学者要学习ARM开发板,我觉得还是2440的比较不错,一是便宜资源多,二是方便调试。有很学生就想花大价钱,买最好的板,其实没有用,买了学习用不上也是浪费,不如自己花500多块买个2440,一点一点的学习,学习成本最低且效率最好。最好去淘宝上找一个2440开发板,那里不仅多,关键不贵包邮,还送东西。
CSDN:有人说嵌入式开发不一定要会ARM汇编指令集,你怎么看的?还有人说会Windows CE的都是牛人,不过也有人讲Windows CE没前景,就业范围太窄,你是怎么看待这个问题的?
唐攀:没写过汇编程序的C语言的程序员,不是优秀的程序员。为什么这么说?汇编并不是一门语言,而是背后的体系结构,了解体系结构后,能大大增加你的计算机理解力,能写出高效的C代码,就好像C语言是武器,而体系结构是剑法,有了宝剑,没有剑法,不能达到最高的杀伤力。WinCE我没有太多的经验,现在WinCE是有点落伍了,主流都是WindowsPhone了,不过目前WindowsPhone市场需求还没有激发出来,再过上一年应该差不多了,大家可以关注下,个人比较看好它。
CSDN:抛开自身因素,当前嵌入式开发学习往哪个方向发展比较好?另外在未来移动物联网和云计算将大行其道,你觉得嵌入式开发都有哪些发展机遇?
唐攀:现在来说,嵌入式开发最好和现在的物联网、智能家居和云计算结合起来,物联网有传感器外设,有控制单元,云计算要与端结合,这些过程都需要嵌入式,我们平时工作中要多关注新理念和新机遇。
CSDN很多内容值得我们去学习
CSDN:你是什么时候接触到CSDN,它对你工作和学习起到哪些帮助或影响?对CSDN有什么建议,对其未来有什么期待?
唐攀:很早就接触CSDN,这主要还是在开发过程中遇到问题,百度一看都是CSDN的文章,心想差不多有救了,因为CSDN是专业做IT的技术库,其中有很多经典的文章和内容值得我们去学习和扩展。对CSDN的建议就是多分享些世界新技术,多报道一些国内外的新点子,同时希望CSDN能多在大学生中举办些开发创新活动,提高国人的创新能力,争取出些Facebook这样的人才,让中国的IT人成长更快,质量更高。
若想获悉唐攀更多动态,请关注:
唐攀CSDN博客: & 唐攀CSDN ID:& 唐攀个人微博:
本文为CSDN原创,未经允许不得转载。如需转载请联系。
推荐阅读相关主题:
CSDN官方微信
扫描二维码,向CSDN吐槽
微信号:CSDNnews
相关热门文章嵌入式软件工程师有哪些必备技能?
按投票排序
谢邀。目前我还还不是嵌入式软件工程师,只能简单说一两句:1、C语言是基础,大学上完C语言课程后,可以看一些经典的C语言书目,如:;2、能看懂芯片DataSheet,能从DataSheet中查出自己想知道的信息,比如知道一款MCU有几个引脚,有几个定时器,有没有ADC或PWM功能。3、如果想学ARM,建议从51入门,然后用STM32过渡,最后ARM,如果想从51就跳到ARM,我想说,就算是天才也要一步步来的。4、嵌入式软件这个领域太大了,我接触到嵌入式操作系统就有两种:Linux和μcosii、还有一个我没接触过的Wince,选择一个方向就好。5、目前我所理解的嵌入式软件工程师,就是专门给MCU写程序、改程序、烧程序的人,所以不就是硬件开发中的软件方向嘛?如果有烧程序这一步骤,那还是属于硬件开发。我意思就是说,别被「嵌入式软件工程师」这个好听的名字忽悠了,本质上所做的事都是一样的。(答偏了)如有不同看法,欢迎讨论。
详见我刚写好的教程中的:-嵌入式软件期间会涉及哪些内容和-嵌入式软件开发需要学习哪些知识
已有帐号?
无法登录?
社交帐号登录做了几年的嵌入式软件开发女工程师,现在对销售和市场比较感性趣,大家给点意见是转行呢还是不转行呢??? - STM32/STM8技术论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
做了几年的嵌入式软件开发女工程师,现在对销售和市场比较感性趣,大家给点意见是转行呢还是不转行呢???
11:37:46  
已经做了4年多的嵌入式软件开发,而且是名女工程师,从大学毕业后就一直呆在现在的公司的。现在的公司还是处于创业型的公司,之前一直觉在一个创业型公司会学到很多东西,经过几年下来也真的学到了许多,不单单是嵌入式软件方面还有其他方面的,都积累了很多宝贵的经验。
刚刚进入社会的时候,觉得做一名嵌入式软件工程师会是自己一辈子的职业。经过这4年的不断学习,这对于嵌入式方面的经验也积累了很多。但随着知识与经验的积累,对嵌入式软件开发的热情却不像最初的时候那么强烈了。不知为什么,现在对销售与市场方面的兴趣是越来越强了。
怎么办好呢?是转行呢?还是继续做嵌入式软件开发呢??
如果转行的话,现在的公司处于创业型,在销售与市场方面给予不了太大的帮助,还需要重新找一个合适的公司,但是对销售与市场有不太了解,不知道冒冒失失的转行的话会存在哪些风险?
如果不转行的话,在现在的公司继续做嵌入式软件开发又没有太大的兴趣,怎么办好呢????
13:52:23  
可以转行哦,有技术背景的的确会很有帮助对市场和销售
15:12:48  
本帖最后由 marrylilili 于
15:36 编辑
可以转行哦,有技术背景的的确会很有帮助对市场和销售
主要是要如何开始着手是个问题,因为身边没有像我这样情况的,没有头绪,很困惑。最主要的是从毕业后一直待在创业型公司中,对于其他公司的了解非常的少,也不知道合不合适?
21:32:13  
找好方向。最好是自己熟悉的那个行业。觉得这个行业不说爆发起码能稳定一段时间。工业的东西一般时段都比较长。现在是工业4.0时代。有的是机会。有兴趣可以加为好友聊聊。
09:33:51  
找好方向。最好是自己熟悉的那个行业。觉得这个行业不说爆发起码能稳定一段时间。工业的东西一般时段都比较长。现在是工业4.0时代。有的是机会。有兴趣可以加为好友聊聊。
好啊,说实话,身边可交流的人太少了
15:08:48  
技术型销售,现在很火的!可以尝试一下,如果转行后感觉不好的话可以再去做技术,反正有技术在,不拍找不到工作!
18:45:16  
对啊,不行的话再回来做技术
15:40:02  
那可未必。适应了销售这门事,回来做技术未必有这份安静的心了。
15:40:45  
好啊,说实话,身边可交流的人太少了
加个微信& &
19:09:42  
& & call me maybe
09:20:30  
刚毕业不久,可是在这家公司工作差不多半年了。本来奔着做单片机软件的,现在慢慢变成了偏向硬件,觉得跟自己的职业发展方向偏离了。这家公司本来做外贸的,现在开始搞研发,虽说能学到比较多自己不太懂的硬件知识,可是还是想做单片机软件,而且老板拖油瓶,做研发三分钟热度,买个仪器物料什么的拖拖拖,经理也不是研发方向的,什么都省省省,搞个新产品要改模具却想着用旧模具。现在刚毕业重新找份工作也不容易,不知道怎么办。
16:56:53  
转行要谨慎,很多时候只是从围城看外边,我有几个同事转行去市场后觉得还是做研发好,但是也有做得很成功的,关键看自己是不是下定决心往前冲了
等待验证会员
00:22:57  
下载下来看看,学习学习
助理工程师
16:18:28  
转行要谨慎,很多时候只是从围城看外边,我有几个同事转行去市场后觉得还是做研发好,但是也有做得很成功的,关键看自己是不是下定决心往前冲了
Powered by}

我要回帖

更多关于 嵌入式软件开发特点 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信