如果是 ARM9/11/Cortex-A平台,基本跑linux,工作就是写驱动、写应用。
如果是Cortex-M平台,基本直接跑(无OS)或跑RTOS,工作跟写单片机程序差不太多。更多
我学的是ARM9,跑linux具体要实现什么功能呢?能具体点吗。
linux只是操作系统平台,其上还要跑具体应用,这个要看设计需求了,比如嵌入式web服务器,各种物联网终端等等。
是不是做工控方面的,做一个上位机,然后就当PLC来做,这样行吗?这样的单位多吗?
怎么做都可以,只要能达到设计目标。
PLC这行已经非常成熟和细分了,随便做做可不行,市场不会接受的,如果有客户的定向需求另当别论。
主要是我对工控方面比较熟,什么变频器,传感器,以前我就是在工厂里干维修的。
以你的意思是用S3C2440当PLC来做是不太多了是吗?
在市场上PLC要有品牌的,才卖得起价,无品牌的多如牛毛,你做的PLC定位在哪?
掌握一款开发板可以吗,比如我学的是S3C2440,我只掌握这款去找工作?
arm9/11/cortex-a都差不太多,linux都是厂家移植好了的(bsp等等都是完善的),拿来就可以直接跑程序了,这方面你能做多少工作?这些都是相对底层的部分。
除了底层就是应用程序部分了,而这部分可以说跟CPU具体什么型号完全无关,程序逻辑是按业务需求而设计的,换一个硬件平台完全通用。
你去跟人说你学的是某某型号的CPU,没有意义,人家还可能认为你只会抱着这款CPU不放,不会举一反三,万一这款CPU停产了你怎么办?
当然了,就学习来说,肯定是要选择一款具体的开发板,但我的意思是你要从这一款开发板学会整个ARM/Linux体系,熟练掌握各种通信协议和设计模式,以后面试的时候,才能做到心里有底,有问有答。
嵌入式软件工程师要做哪些工作?需要懂单片机和arm之类的硬件知识吗?
嵌入式软件工程师这个说实话,现在的工资都不错,搞得好的一两万一个月,再好你自己想像。当然还和个人的领悟能力,学习能力,解决问题的能力,还需要具备吃苦耐劳的精神才可以胜任。当然你如果从事这个行业,如果进了一个比较大的公司他们往往是分工明确(小公司有时候为了缩减成本这些东西都是一个人干了),而且此领域非常的精通。其一大局观的系统框架的设计。其二与硬件紧密结合的驱动层bsp。其三是基于硬件层的操作系统层他里面用统一的函数调用第二点所说的驱动层,为了方便百搭及适合各种硬件设备的移植。其三是与应用及最上层的研发有点像纯软件的编写。 这里面最基本的就是先要打牢基础比如说,以前的汇编,现在的c、c++等等,还要学习操作系统的概念,最起码能够熟练的应用。编写软件脑子要灵活,应用层可能会有算法等一些东西。底层的驱动你得了解硬件的一写基本常识,比如时序、gpio、各种数字硬件fpga,cpld,arm,rom,ram,等等,嘿嘿希望对你有用 ,这里也是我的一知半解还有很多遗落还请见谅。
向大神了解一下嵌入式arm,嵌入式系统设计,嵌入式软件这些各自都是些什么领域,需要那些知识??
这些都是嵌入式行业,嵌入式按职位可以分为嵌入式软件工程师、嵌入式硬件工程师。具体涉及的行业很多,知识也很多,现在主要应用的行业有数字多媒体、医疗、工控、汽车、建筑、电力、通信、手机这些、玩具、电子产品等等,凡是用到智能化、自动化的都可能用到嵌入式技术。什么叫嵌入式,它是把一个CPU嵌入到一个板子上,在上面跑程序,而程序呢,底层就有跟硬件打交道的汇编、寄存器、底层协议,玩得低级别的就是传统的51单片机,不过很经典,单片机发展过来有avr、pic这些,随着人民生活水平提高,处理能力要越快,就出来了arm,再在arm上跑操作系统,现在系统有linux、ucos、windowsce等,反正跟底层打交道的多。。搞嵌入式,基本要求会懂这些,要懂模拟数字电路,会画电路板、做电路板,会用示波器、频谱仪、万用表等工具,还有一点emc知识,搞软件就要懂底层协议,一款处理器的使用,比如arm系列,什么cortex m3 等等,其它还有dsp\fpga等等。还有一些控制总线协议,比如i2c、spi、uart 、can、以太网等等 rs485、rs232通信,什么sd卡、TFT、射频、音视频,有时候你还得会控制算法等等,编程语言主要是c、汇编,会这些基本裸机平台的开发够了,再往上走就是跑系统,进行多任务操作,多线程,并发、信号、邮箱的使用,这些都是操作系统的知识,所以也得懂,不然工资上不去,其中linux工资最高,建议从ucos开始学起,再过来就是数据结构也得懂,如果你还得做上位机,你就得会面向对象语言、c++这些。总之,这行需要会的知识很多,要经常实践才学得会。。。
怎么才能学好嵌入式呢,其实我着重想学ARM,现在公司里面用STM32的较多,想专门学好这种芯片编程和硬件设计
STM32也是arm比较热门的一种,基本上是不带系统的较多,
芯片编程,买一块板子,教程比较详细的,一步一步过一遍,再就是项目了。
好的工程师是项目喂出来的。
不知道硬件设计是指哪方面,PCB,原理图,还是,这个比较杂,
我接触不多,基本是从抄板开始,更换小的部件,慢慢再设计的
学习ARM嵌入式一般需要装什么软件,有什么好的教程吗?
有什么好的教程吗?
首先C语言,这个是毋庸置疑的,不管是做嵌入式软件还是硬件开发的人员,对C语言的掌握这个是必需的,特别是对于以后致力于嵌入式软件开发的人,现在绝大部分都是用C语言,你说不掌握它可以吗?至于如何学习C语言,我想这些基础的知识每个人都有自己的方法,关键要去学习,看书也好,网上找些视频看也好。很多人会问,C语言要学到怎么样,我觉得这没有标准的答案。我想至少你在明白了一些基础的概念后,就该写代码了,动手才是最重要的,当你动手了,遇到问题了,再反过来学习,反过来查查课本,那时的收获就不是你死看书能得到的。
其次,应该对操作系统有所了解,这对你对硬件和软件的理解,绝对有很大的帮助。应该把系统的管理理解一下,比如进程、线程,系统如何来分配资源的,系统如何来管理硬件的,当然,不是看书就能把这些理解透,如果不是一时能理解,没关系,多看看,结合以后的项目经验,会有更好的理解的。
还有应该学习嵌入式系统,如linux或者wince下的编程,这些对以后做应用的编程很有帮助,当然,如果做手机的话,那可以学习MTK、塞班、Android等操作系统,Android是以后发展的趋势,现在很热门,Android也是基于linux系统封装的,所以建议先学习下linux。
还有,应该学习下单片机或者ARM或者MIPS,很多人说我没有单片机的经验,直接学ARM可以吗?我觉得那完全没有问题的,当然如果你学习过单片机,那最好不过了,以后学习ARM就更简单了。
最后如果你把以上的知识都有所了解后,就该去阅读阅读一些优秀的代码,比如结合arm芯片手册学习去学习下UBOOT的源代码,了解下最小的系统开发,那对你整个嵌入式开发的非常有帮助的,可以的话,还可以学习下linux的源代码,当然如果你直接阅读2.6的代码,我想你会很痛苦的,可以先看看linux 代码早期的版本,比如0.12 的代码等等,麻雀虽小,五脏俱全,如果你全看完了,那我想你就是一名很成功的嵌入式工程师。
===================================================
前几天又看到一个专科生写的关于他自己如果学习嵌入式并找到工作,他把自己的学习过程写了出来,我觉得写的非常不错。拿出来和你分享下,
《专科生学嵌入式到找到工作的前前后后》
先做个自我介绍,我07年考上一所很烂专科民办的学校,学的是生物专业,具体的学校名称我就不说出来献丑了。09年我就辍学了,我在那样的学校,一年学费要1万多,但是根本没有人学习,我实在看不到希望,我就退学了。
退学后我也迷茫,大专都没有毕业,我真的不知道我能干什么,我在纠结着我能做什么。所以辍学后我一段时间,我想去找工作,因为我比较沉默寡言,不是很会说话,我不适合去应聘做业务。我想应聘做技术的,可是处处碰壁。
一次偶然的机会,我才听到嵌入式这个行业。那天我去新华书店,在计算机分类那边想找本书学习。后来有个女孩子走过来,问我是不是读计算机的,有没有兴趣学习嵌入式,然后给我介绍了一下嵌入式现在的火热情况,告诉我学嵌入式多么的有前景,给我了一份传单,嵌入式培训的广告。听了她的介绍,我心里痒痒的,确实我很想去学会一门自己的技术,靠自己的双手吃饭。
回家后,我就上网查了下嵌入式,确实是当今比较热门的行业,也是比较好找工作的,工资也是相对比较高。我就下决心想学嵌入式了。于是我去找嵌入式培训的相关信息,说真的,我也很迷茫,我不知道培训是否真的能像他们宣传的那样好,所以我就想了解一段时间再做打算。
后来,我在百度知道看到一篇让我很鼓舞的文章《如何学习嵌入式》,是一个嵌入式高手介绍没有基础的朋友怎么自学入门学嵌入式,文章写的很好,包含了如何学习,该怎么学习。他提到一个方法就是看视频,因为看书实在太枯燥和费解的,很多我们也看不懂。这点我真的很认同,我自己看书往往看不了几页。
我在想,为什么别人都能自学成才,我也可以的!我要相信自己,所以我就想自学,如果实在学不会我再去培训。
主意一定,我就去搜索嵌入式的视频,虽然零星找到一些嵌入式的视频,但是都不系统,我是想找一个能够告诉我该怎么学的视频,一套从入门到精通的视频,一个比较完整的资料,最好能有老师教,不懂可以请教的。
后来我又找到一份很好的视频,是在嵌入式学习网推出的一份视频《从零基础开始学嵌入式》,网址:http://www.embedstudy.com/viewnews-8701
里面的教程还不错,很完整,可以让我从基础的开始学起。300元,不便宜啊,但是我也忍了,毕竟买几本书都要几百了,何况他们还有半年的技术咨询和服务,算值了。
下面介绍下我的学习流程,希望对和我一样完全没有基础的朋友有所帮助。
收到他们寄过来的光盘后,我就开始学习了,由于我没有什么基础,我就从最简单的C语言视频教程学起,话说简单,其实我还是很多不懂的,我只好请教他们,他们还是很热心的,都帮我解决了。C语言我差不多学了一个礼拜,接下来我就学了linux的基本命令,我在他们提供linux虚拟机上都有做练习,敲linux的基本命令,写简单的C语言代码,差不多也就三个礼拜。我每天都在不停的写一些简单的代码,这样一月后我基本掌握了C和linux的基本操作。
接下来我就去学习了人家的视频的培训教程,是整套的,和去参加培训没有多大的区别,这一看就是两个月,学习了ARM的基本原理,学习嵌入式系统的概念,也掌握了嵌入式的环境的一些搭建,对linux也有更深层次的理解了,明白了嵌入式应用到底是怎么做的,但是驱动我只是有一点点的了解,这个相对难一点,我想以后再慢慢啃。
这两个月,除了吃饭睡觉,我几乎都在学习。因为我知道几乎没有基础,比别人差劲,我只能坚持努力着,我不能放弃,我必要要靠自己来养活自己,必须学好这门技术,同时我不懂的就问,这里真的很感谢他们的技术客服对我的任何问题都是耐心的解答,每天都我几乎都有好几个问题问他们,然后我就把不懂的问题总结记下来,这样慢慢积累了一段时间,我发现自己真的有点入门了。
最后的一个月,我就去看关于实践部分的内容,了解嵌入式项目具体的开发流程,需要什么样的知识,我就开始准备这方面的知识,也就是学习这方面的视频,同时他们建议我去找了找一些嵌入式面试的题目,为自己以后找工作做准备。我就到网上找了很多嵌入式的题目,把他们理解的记下来,这样差不多准备了20天左右
我觉得自己差不多入门了,会做一些简单的东西了。我就想去找工作看看,于是我就到51job疯狂的投简历,因为我学历的问题,专科没有毕业,说真的,大公司没有人会要我,所以我投的都是民营的小公司,我希望自己的努力有所回报。没有想过几天过后,就有面试了,但是第一次面试我失败了,虽然我自认为笔试很好,因为我之前做了准备,但是他们的要求比较严格,需要有一年的项目经验,所以我没有被选中。
后来陆续面试了几家公司,终于功夫不负有心人。我终于面试上的,是在闵行的一家民营的企业,公司规模比较小,我的职务是嵌入式linux应用开发,做安防产品的应用的。我想我也比较幸运,经理很看重我的努力,就决定录用我,开的工资是3500一个月,虽然我知道在上海3500只能过温饱的生活,但是我想我足够了。我至少不用每天都要靠父母养,我自己也能养活自己的。我想只要我继续努力,我工资一定会翻倍的。
把本文写出来,希望能让和我一样的没有基础的朋友有信心,其实我们没有必要自卑,我们不比别人笨,只要我们肯努力,我们一样会成功。
最后祝愿所有想学嵌入式的朋友更早的入门!!!
至于上面说的知识如何学习呢?每个人都应该去找自己最好的方法,所谓的最好的方法就是最适合自己的方法。很多人看不进书,那就去看看视频吧。视频也应该要选择,不是随便看看,应该要有所选择,有所挑选。我也是这样一路走过来的,不过我这人比较懒,我看不进书,一看书我就想睡觉,所以这几年我都是看视频过来的,现在也算学有所成,但也不敢说是高手吧。
什么是arm嵌入式系统
具体要了解那些方面,arm上运行的嵌入式系统,例如一些linux,wince,vxworks....,单片机也可以运行嵌入式操作系统如ucosii..,单片机的可用资源较少,而arm就很多的资源可用,arm嵌入式系统一般用在高端的应用电子上,智能控制,如果想多了解一些就去搜索一下,arm只是一种芯片,而嵌入式系统可以移植到很多芯片上,不止arm一个,如mips,dsp;你的问题“什么是arm嵌入式系统”就是在arm芯片上移植的嵌入式系统
arm嵌入式开发环境到底要安装哪些软件?
一般安装了一个软件,会包括编译环境,编码器,优化器等,现在都集成了很多,ARM支持C,汇编,高级的还有vc++ 比如我用的ads1.20 就有那么多。
至于下程序到arm上,需要安装一个软件,我用的是HJTAG,因为我用JTAG仿真,所以我一共安装了2个软件。
但如果跑系统,你还得有头文件,这个与你arm 用的操作系统有关,是代码。
步骤肯定会有,1是你不会机器码,在arm上就是机器码,所以一定会有编译器,但这些是集成的,下载软件是烧程序的,这个和下载器配套。其他的是编写程序相关的,初学者可以不跑系统,直接当单片机用,我至今只玩过ucos ,没玩linux
希望我的回答给你启发。
正在学arm ,想从事嵌入式软件方面的工作,是自学好呢还是报个班呢?请大家给些指导
如果你的自学能力很强,理解也很透切,那也可以自学的.也可以到一些电子论坛里跟高手去讨论,问问题.这样学可以自由些.
跟班的也有跟班的好处.可以问问老师,参加班里的实验.可以现场有问题现场解决.
最后,还是要你根据自己的实际情况去决定的.
转载请注明出处51数据库 » 嵌入式arm软件框架 ARM嵌入式软件工程师是干什么的