嵌入式软件开发培训(嵌入式软件开发工程师培训)

软件开发 1412
今天给各位分享嵌入式软件开发培训的知识,其中也会对嵌入式软件开发工程师培训进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、有没有嵌入式开发的学习路线,越详细越好

今天给各位分享嵌入式软件开发培训的知识,其中也会对嵌入式软件开发工程师培训进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

有没有嵌入式开发的学习路线,越详细越好

看方向

如果选择嵌入式硬件开发,就不懂了

软件开发的话,分底层和应用层

我是从事wince驱动开发的(快满一年),

以wince为例,底层就是boot、bsp修改、驱动开发这几部分

学习路线:

1、买个开发板

2、按照开发板上的例子玩玩,ARM汇编稍微能看懂,写点简单的程序跑跑,对汇编有个大概的了解,bootloader等等会多少涉及点汇编的东西

然后就是开发板上的一些驱动玩玩。如果可以拿相似的BSP移植到开发板上就更好了,对BSP就有更多的认识了,学完以上可能可以找到工作,在工作中进一步加深理解

如果是应用的话,wince,我们写应用用的是VS2005,VC++,和PC的开发基本差不多

学完一个操作系统,切换到另一个平台相对而言还是蛮快的,基本都是相通的

我之前的经验是,我买了开发板玩了ADS程序写了小型的程序,就是把LED啊、液晶屏啊、等等驱起来,然后,在linux下玩驱动,写了几个简单的流驱动,去应聘,鬼使神差被招进去玩wince驱动了,感觉差得不是很多,玩了2周就开始上手,2个月之后,底层这块就都扔给我了

以上,仅供参考(至于开发板,如果是消费电子类的,好像三星的S3C系列用的人比较多,开发板也很多,工业类的就不懂了。至于选哪家开发板厂家,百度google一下)

哪里有比较好的嵌入式系统入门教程?怎样进阶?基础是什么?

我不知道楼主家里的经济环境怎么样,如果还不错,那确实可以去培训,反正几个月不工作不至于饿肚子。如果楼主要自食其力的,我建议楼主还是可以自学的,毕竟你放弃工作,还要付一大笔培训的费用,还要4个月的时间没有工作。如果到时没有学好,那代价应该是太大的。

所以,我的经历来和楼主说说吧,我是个大专没有毕业的学生,我原来也想去培训嵌入式,但是我家里出不了那么多钱,于是我只好自学,可是我又不喜欢看书,我一看书我就打瞌睡,不是看书自学的料。

于是,我就一直想找一份视频,一份像武林秘籍的视频,但是我找了很久没有找到。大部分都只是某部分的内容,都不能称心如意。后来在一个嵌入式的群上,有个朋友给我介绍一个从零基础开始学嵌入式的视频,而且他们还提供半年的技术支持,我当时一下子胃口被掉了起来,后来就到他们的网站看了一下,要300圆,好贵啊,但是为了学习,我咬咬牙买了。我把视频地址贴出来和楼主分享。

视频地址:

收到他们寄过来的光盘后,我就开始学习了,由于我没有什么基础,我就从最简单的C语言视频教程学起,话说简单,其实我还是很多不懂的,我只好请教他们,他们还是很热心的,都帮我解决了。C语言我差不多学了一个礼拜,接下来我就学了linux的基本命令,我在他们提供linux虚拟机上都有做练习,敲linux的基本命令,写简单的C语言代码,差不多也就三个礼拜。我每天都在不停的写一些简单的代码,这样一月后我基本掌握了C和linux的基本操作。

接下来我就去学习了人家的视频的培训教程,是整套的,和去参加培训没有多大的区别,这一看就是两个月,学习了ARM的基本原理,学习嵌入式系统的概念,也掌握了嵌入式的环境的一些搭建,对linux也有更深层次的理解了,明白了嵌入式应用到底是怎么做的,但是驱动我只是有一点点的了解,这个相对难一点,我想以后再慢慢啃。

这两个月,除了吃饭睡觉,我几乎都在学习。因为我知道几乎没有基础,比别人差劲,我只能坚持努力着,我不能放弃,我必要要靠自己来养活自己,必须学好这门技术,同时我不懂的就问,这里真的很感谢他们的技术客服对我的任何问题都是耐心的解答,每天都我几乎都有好几个问题问他们,然后我就把不懂的问题总结记下来,这样慢慢积累了一段时间,我发现自己真的有点入门了。

最后的一个月,我就去看关于实践部分的内容,了解嵌入式项目具体的开发流程,需要什么样的知识,我就开始准备这方面的知识,也就是学习这方面的视频,同时他们建议我去找了找一些嵌入式面试的题目,为自己以后找工作做准备。我就到网上找了很多嵌入式的题目,把他们理解的记下来,这样差不多准备了20天左右。

我觉得自己差不多入门了,会做一些简单的东西了。我就想去找工作看看,于是我就到51job疯狂的投简历,因为我学历的问题,专科没有毕业,说真的,大公司没有人会要我,所以我投的都是民营的小公司,我希望自己的努力有所回报。没有想过几天过后,就有面试了,但是第一次面试我失败了,虽然我自认为笔试很好,因为我之前做了准备,但是他们的要求比较严格,需要有一年的项目经验,所以我没有被选中。

后来陆续面试了几家公司,终于功夫不负有心人。我终于面试上的,是在闵行的一家民营的企业,公司规模比较小,我的职务是嵌入式linux应用开发,做安防产品的应用的。我想我也比较幸运,经理很看重我的努力就录用了我,开的工资不高,但是我想我足够了。我至少不用每天都要靠父母养,我自己也能养活自己的。我想只要我继续努力,我工资一定会翻倍的。

最后我也把他们资料里推荐的学习顺序发出来,楼主也是看看大约的学习流程。

第一阶段 环境及基础篇

1.1:先搭建一个简单的linux环境,这对以后学习linux和C编程有很大的帮助。具体操作:

打开光盘16,里面有个开发工具包-安装好的fedora9,里面有个vmware安装包,先安装下vmware虚拟机,建议安装我们提供的版本,以免打不开我们的提供的安装的linux。解压缩Virtual Machines.rar到你的硬盘,用虚拟机打开解压缩的系统即可。

如果你不喜欢fedora 9,那也可以安装我们提供的光盘04的软件视频包-国嵌培训视频1-RedHat企业版安装光盘,自己学习动手装linux也是不错的。如果不懂得安装,可以看光盘04里面的软件视频包-国嵌培训视频1-RedHat企业版安装光盘/课程与视频/第1阶段(Linux系统管理)/第一天(安装与命令)/里面的视频,也可以看看里面的参考资料。

不过还是建议大家直接使用fedora,这样可以省时省事。

1.2:如果还没有基础,建议从最基本的C语言和linux开始学。如果你觉得你的基础还不错,也可以跳过这部分,但是建议还是复习一遍,毕竟基础扎实一点更好。

先学习软件视频包-嵌入式linux软件开发入门培训视频.iso,共有46个视频,介绍嵌入式linux入门需要掌握的基础知识,包括linux的基础知识,shell基础,vi编辑器,包括嵌入式linux的C语言编程,非常详细,非常精辟! 学习完本视频可以掌握C语言和linux,对linux下的C编程有一定的了解。

1.3 这个看完后也可以看看光盘04,这个也是主要linux的安装与linux命令,脚本,Makefile和GCC的材料。

当然,如果你看过的1.2的内容,其实你已经掌握了linux的基本命令,那么1.3 你也当做复习,也可以跳过,这样的速度更快!如果为了速度,就一个原则,学习过的就跳过,但是也要保证自己掌握,这个尺度看个人自己把握。

还有一点就是老师讲课都有带一些实验,记得你也要动手操作,反正环境都有了,操作了才不容易忘记。

第二阶段 linux应用编程强化阶段

2.1 有了上面的基础,接下来就要强化学习下linux下的C编程,毕竟嵌入式的还是需要很强大的C语言能力。可以学习光盘03的软件视频包-linux系统编程培训教程,这个共有22个视频,讲述基于linux系统的编程,里面讲解了很多linux实例代码的分析,非常不错。

2.2 学习下光盘08 这是介绍linux的基本命令和编程,比如 linux的进程管理,make的介绍,进程间的通讯,linux系统调用和io编程等等。

2.3 学习下光盘05/软件视频包-国嵌培训视频2/国嵌视频2_201003.rar,主要看linux的编程部分,关于arm的内容先别看。这个也是主要介绍linux下的编程。(而光盘05/软件视频包-国嵌培训视频2/国嵌视频1_201003.rar在介绍里是没有的,是我们后面附加赠送的,其视频和光盘4差不多。)

还是那句话,你觉得会的内容可以跳过,但是建议你还是多看看。

第三阶段 嵌入式学习阶段

经过了上面的课程,我相信你的C语言和linux编程基础已经很不错了。接下来你就可以进入arm的世界了。

(注意:如果以后选择嵌入式软件方向的同学,如果没有硬件基础的,我建议大家从事嵌入式软件的,更好,软件方向可以不学硬件方向的内容,可以了解下3.1.1的单片机内容。)

3.1硬件方向

3.1.1(可选阶段)这个简单建议你学习下单片机,毕竟单片机还是比较简单,但是如果你想直接进入下一步3.3也未尝不可。如果要学习单片机可以学习硬件视频包-单品机经典培训教程,讲述单片机的基本所有的内容,老师现场写代码,非常棒,可以从一个完全不懂单品机的人到熟悉单品机,到单片机编程,为以后ARM编程打好基础。其内容01-11在光盘12,而12-13因为容量问题放在光盘13里面。

3.1.2 (可选阶段,硬件方向,无基础的同学可先别学)这个阶段适合以后想学习硬件的同学,但是我不建议没有基础的同学去搞硬件,相对入门比较难,如果以后想做嵌入式的软件的同学也可以不急着看硬件的内容。当然了解下更好。可以看看光盘13的硬件视频包-计算机电路基础培训教程.iso,讲述计算机的电路基础,适合初学者入门。

3.1.3(可选阶段,硬件方向)有了3.1.2的基础后,你也可以学习光盘11的硬件视频包-电路分析培训教程

共有30个视频,详细的介绍了电路分析,电路原理。

3.2 软件方向

学习方法:这些内容都是相对比较抽象,如果有什么不懂的,不明白的,一定要先记住概念,等你以后接触多了,遇到相关的知识时,你会豁然开朗的。

3.2.1这时我们进入嵌入式系统的时代了,可以学习下光盘01的软件视频包-嵌入式系统30学时.iso,讲述嵌入式系统概述,还有基本概念,嵌入式微处理器及ARM体系结构,已经嵌入式系统的基本硬件知识,嵌入式实时操作系统的介绍,介绍us,os-II,介绍嵌入式wince,linux等操作系统。

3.3.2 学习光盘09的软件视频包-中嵌视频2的视频内容,了解ARM的基本命令,arm开发环境等等。

3.3.3 学习光盘05中的关于软件视频包-国嵌培训视频2.iso中的ARM部分,ARM概述,mini2440,ARM寄存器,ARM寻址方式,ARM指令1,ARM指令2.

3.2.4 学习下光盘01 软件视频包-嵌入式系统设计培训教程.iso,共有25个视频,讲述嵌入式系统硬件和软件的知识,嵌入式系统的基本知识,讲述嵌入式软件和硬件的协同设计,最后还讲述了U-BOOT程序设计,MP3播放器的设计。

3.2.5学习光盘03的软件视频包-嵌入式系统及应用开发培训视频,共有40个视频,讲述嵌入式系统结构、外设驱动和应用开发调试技术,嵌入式系统开发模式,嵌入式硬件开发,实时/嵌入式系统开发方法,还讲述了嵌入式系统硬件结构,嵌入式处理器,ARM介绍,片内周边电路,外围电路,外设等等。

3.2.6学习光盘11的软件视频包-ARM S3C44B0嵌入式微处理器原理及应用

共有48个视频,主要内容包括:嵌入式系统基础知识、嵌入式交叉编译环境与嵌入式开发环境的搭建、基于Linux的嵌入式软件开发流程、MiniGUI应用程序设计、嵌入式数据库应用、Qt图形界面应用程序开发。《嵌入式系统开发基础——基于ARM微处理器和Linux操作系统》涉及嵌入式系统从底层驱动到顶层应用的各个部分,配合实验操作循序渐进地帮助读者完成各个章节内容的学习,引领初学者顺利进入嵌入式世界

第四阶段 嵌入式高级阶段

上一阶段软件方向我们已经学习了关于arm和嵌入式系统的知识,接下来我们要接触的就是更为深奥的底层驱动和内核相关内容。硬件方向则学习了基本的电路基础,这一阶段则要接触到pcb,cpld fpga的知识了。

4.1 硬件方向(软件方向的同学不用学)

4.1.1 学习光盘13的硬件视频包-PCB设计培训教程Altium Designer共有14个视频,讲述Altium Designed,电子设计基础知识,原理图初步设计,进阶,提高,深入,pcb库的设计,集成库的作用和制作,pcb设计初步,PCB设计提高,PCB深入。

4.1.2 学习光盘11的硬件视频包-CPLD系统设计和VHDL语言培训教程共有10个视频,介绍CPLD系统设计和VHDL的程序设计,包括视频和课件还有相关的资料。

4.2 软件方向

4.2.1 学习光盘02的软件视频包-底层内核和驱动培训视频

共有28个视频,讲述linux内核介绍,内核的源代码结构,如何编译和配置内核,如何开发内核模块,内核的启动流程分析,内核的内存管理,进程内存空间管理,linux2.6内存管理和分配,内核的链表操作,包括一些内核的实验。

驱动部分讲述字符设备驱动程序和字符驱动例子解析,驱动调试技术,并发控制技术,Ioctl的实现,驱动如何访问硬件,中断处理,LED驱动程序设计,等待队列,阻塞,Poll方法实现,时间度量,内核定时器,网络体系架构,网卡驱动设计,触摸屏驱动分析等等。

4.2.2 学习光盘06的软件视频包-国嵌培训视频3.iso

共有20个视频,讲述内核简介,Linux内核源代码,Linux内核配置与编译,内核模块-1,内核模块-2,Linux内存管理,Linux进程与内核地址空间,Linux内核链表,内核定时器,内核进程,进程调度,系统调用,Proc文件系统,异常分析,交叉工具链,嵌入式系统构建,bootloader介绍,Uboot简介,UBoot命令,Uboot移植。

4.2.3 学习光盘07的软件视频包-国嵌培训视频4.iso

共有25个视频,讲述Linux驱动程序介绍,字符设备驱动,简单字符设备驱动实例分析,并发控制,Ioctl设备控制,内核等待队列,阻塞型字符设备驱动, poll设备方法,自动创建设备文件, mmap设备方法,硬件访问, LED驱动程序,总线,设备,驱动, platform驱动,中断处理程序,按键驱动,网卡驱动程序设计, CS8900A网卡驱动程序分析,输入子系统,触摸屏驱动程序, PCI总线, PCI驱动程序设计,串口驱动程序。

4.2.4 学习光盘10的软件视频包-中嵌视频3,这也是将驱动的和内核的。

第五阶段 实践阶段

这个时候你需要做的事,多了解我们的实践的资料,弥补缺少动手能力。你可以看着实践资料的文档代码看,相信你会有质的飞跃。我们的实践资料包括以下的内容:

光盘13

21. 实践开发包-ARM 2410开发板资料.zip

包括用户手册,网上资料,芯片手册,目标代码和支持包,USB驱动程序,原理图,里面还有实验的指导,很好!

22. 实践开发包-ARM FS44B0开发板资料.zip

包括用户手册,ADS120评估板,BOIS和测试程序的源代码,uCLinux代码和编译工具,芯片手册,目标代码和支持包,USB驱动程序,原理图,里面还有实验的指导,很好!

光盘14

26. 实践开发包-ARM 6410开发板资料.rar

这是我们购买了一块7000元的开发板配套的完整资料,包括开发套件源代码压缩包,套件使用手册、CPU及其它各种芯片的datasheet,开发板电路图,仿真器的驱动文件及说明文档等等。

27. 实践开发包-MIPS CPU开发板资料.rar

这是我们购买了一块3000元的开发板配套的完整资料,现在市场上 MIPS的开发板非常少,当然资料更少了。包括整套的文档,软件和硬件所有的资料,包括工具。

28. 实践开发包-USB实践开发包.iso

关于USB的实践开发包,里面有介绍关于U盘和MP3的工具,软件的程序,硬件的原理图,制作的工具,和相关的资料手册。

29. 实践开发包-嵌入式linux网络的远程控制开发包.iso

关于嵌入式linux网络远程控制的实践开发包,里面有详细的一步步图文操作的电子书,软件的程序,硬件的原理图,制作的工具,和相关的工具。

30. 实践开发包-电子相册开发包.iso

关于电子相册的实践开发包,里面有详细的配套说明和实验指导书,软件的程序,硬件的原理图,制作的工具,和相关的工具。配合光盘15的开发工具包-Wince开发平台platform builder5.0

这是platform builder 5.0的安装包,可以基于它开发wince.

31. 行业视频包-MTK手机开发培训.iso

介绍MTK的资料,有10个视频教程,还包括新手如何学习MTK手机开发的资料,MTK开发平台大集合,入门导读,全套资料,MMI的资料等等。

32. 行业视频包-VOIP视频教程

共有12个视频,介绍VOIP网络电话开发,非常不错,这对以后找这方面的工作非常有帮助,是高薪的行业。

第六阶段 深化阶段

相信这个时候的你已经是嵌入式的能手了,但是要变成高手,你还要进一步学习内核和系统。

6.1 学习光盘01的软件视频包-计算机系统结构和汇编培训.iso

共有51个视频,将计算机系统结构和汇编语言程序设计,对于以后进行底层的开发很有帮助。

6.2 学习光盘05的软件视频包-linux内核编程初级班培训教程.rar共有30个视频,都是基于代码分析的,讲述linux内核的基础知识,汇编及保护模式,linux内核体系结构,linux引导程序分析,linux内核代码分析,linux块设备驱动程序分析

6.3 学习光盘11的视频包-linux内核编程高级班培训教程.rar

共有29个视频,详细介绍2.6内核的代码,非常不错,如果想学习内核,值得推荐

转自嵌入式学习网!

我想参加嵌入式培训,但不知道现在嵌入式的那个方向发展比较好?

真正效果好的要算曙海培训了,他们老师的起点很高,是做产品而培训,很多的单位,为了培训而培训,曙海教育是小班,小班好

嵌入式系统开发与软件开发

5月下旬,工业和信息化部、国家发展改革委、财政部联合发布了《关于深化电信体制改革的通告》,就电信体制改革及近期的电信重组做出具体解读。《通告》称,电信行业按“五合三”方案一旦完成重组,将发放3张3G牌照。分析人士认为,电信重组吹响了3G产业的号角,不论重组成功还是失败,此举将会给通信行业带来巨大影响。

通信业是以技术为发展核心的产业,3G是未来技术发展的核心。国家信息产业部公布的信息产业“十一五”期间12项重点项目中,芯片、软件、3G列前三名。随着“三网融合”不断提速,3G网络全面铺开,移动商务和移动增值服务软件开发人员的需求量约在35-50万人左右。业内专家估算,3G正式启动之后嵌入、移动商务、增值业务:通信行业人才需求方向

嵌入、移动商务、增值业务是通信行业人才需求的三大方向。移动通信行业是嵌入式软件最重要的应用领域之一,手机用嵌入式软件几乎占到了整个嵌入式软件应用规模的60%。到了3G时代,手机、数字电视、信息家电、网络电话、汽车电子、医疗电子等都将是嵌入式软件的重要应用领域。嵌入式软件开发是未来几年最热门和最受欢迎的职业之一。具有10年工作经验的高级嵌入式软件工程师年薪在30万元左右。即使是初级的嵌入式软件开发人员,平均月薪也在5000元左右,中高级的嵌入式软件工程师月薪平均已超过万元。

移动通信技术的发展使移动商务兴起,移动软件的设计为软件行业发展找到了新方向。专家预测,在未来,移动商务将成为整个社会商业运行的主要模式。目前我国移动商务软件的需求量正以极高的速度增长。据统计,能源、教育、交通、娱乐、制造、政府、金融、物流等行业都是移动商务的需求大户。由此而带动人才市场对移动商务软件供不应求,移动商务软件开发工程师成了抢手货。

作为电信增值业务中扮演领跑者角色的移动增值业务发展强劲,2007年移动增值业务收入规模为1200亿元。受2008年奥运会的影响,届时中国移动增值市场又会迎来一个新的发展高潮,未来三年中国移动增值市场规模将继续增长,预计到2010年中国移动增值业务市场规模将达到2080亿元。展望中国移动通信业发展,3G网络商用即将拉开帷幕,显然,3G商用将为移动增值业务的发展开辟更广阔的空间。3G网络将不仅能够承载更加丰富的移动增值业务,而且将为手机电视等视讯业务提供更有效的支撑,移动增值业务将步入多元化发展的新阶段。

市场营销是3G人才需求重点

电信运营需要大量人才,关键自己要多学习营销知识,随着3G牌照发放日益临近和3G发展步伐的加快,市场对3G人才的需求不断提高,各大通信设备制造商对3G人才的争夺已进入白热化。某专业招聘网站近日发布的3G相关职位趋势分析认为,目前3G人才的需求集中在研发领域,但未来的热点将会转移至市场营销人员。

业内人士认为,按照目前的人才储备状况,3G将至少出现30-50万的人才缺口,3G高级技术人员的年薪应在15—20万元之间。相关专家分析,目前市场上的3G人才主要有三类:设备开发人员、运营人才和增值服务人才。相对而言,3G人才主要集中在研发领域,企业在这方面的人才储备也较为充分。然而,3G的兴衰最终将由消费者的需求决定,所以营销人员对产业的推动显得非常重要。3G市场营销人员目前非常短缺,未来将成为3G行业人才需求的重点。

求职通信行业,做好六项准备

通信行业是热门行业,需求量很大。行业内分布的职位很多,就业渠道很宽泛。如电子、电信行业的电子工程师、硬件工程师、软件工程师、单片机开发等直接与专业有关的工种之外,还有很多与专业相关的行业都可考虑。因为现在各行各业都离不开电子电路,特别是控制电路。如机械、汽车等行业。但面对当前激烈竞争的形势,也不能高枕无忧,并不是每个学这个专业的人就可以等待从天上掉下个林妹妹,同样需要在学校期间就积累自己的竞争力,企业很看重学校、能力两个方面,专业知识、综合素质、实践能力要求很强。

要做好各种就业准备:

一、定位准备:早日做好职业定位和规划,有目标的去努力,起飞的航道要清晰,这样会让你飞得更快更好。

二、知识准备:在校期间,基本工扎实,电路基础、模拟电路、数字电路这几门专业基础课一定要学好,这是整个电子、电信技术岗位的基本材料,有了这些砖瓦、木料你想盖什么房子都得心应手。

三、动手准备:通过实践,提高自己的实操能力,不但会使用万用表、示波器,还要会熟练使用信号放生仪、综合测试仪、频谱分析仪等实际操作能力,并对测得的信号会分析。

四、能力准备:通过毕业设计阶段的知识汇总,社会实践,提高综合能力。即:综合运用所学知识解决实际问题的能力,强化和提高综合能力与创新能力,增强面向社会的自信心。

五、简历准备:不仅是准备电子简历和纸制简历,而是要在简历上补充实习阶段的经验积累,这样你的简历除了学校,还有一至两三个企业的名字,这可是浓墨重彩的一笔。

六、面试准备:面试前如何全方位的准备、面试中遇到哪种面试官怎么处理,问题、偏题、难题都怎样回答?面试后都要做哪些事情,怎么做?这些都要做的专业得体。

时代在发展,人也要不断进步。随着3G时代的来临,我们的职业脚步将会从“e"时代向“u”时代迈进。科技的进步永远能够不断带来惊喜,随着无所不在的计算技术(ubiquitous computing)及移动通信技术的发展成熟,人们开始考虑用“u”(ubiquitous,意指“无所不在的”)来取代原先的“e”,描述21世纪“无所不在的”信息社会。从“e”到“u”看上去只是一个名词的改动,却蕴含了整个战略框架的深刻转变。时代已经发展到“u”,你的思维不能还停留在“e”。,每年直接增加的就业机会在100万人以上

嵌入式新手入门最佳视频教程

原文链接:网页链接

我是1999年上的大学,物理专业。在大一时,我们班里普遍弥漫着对未来的不安,不知道学习了物理后出去能做什么。你当下的经历、当下的学习,在未来的一天肯定会影响到你。毕业后我们也各自找到了自己的职业:出国深造转行做金融、留校任教做科研、设计芯片、写程序、创办公司等等,这一切都离不开在校时学到的基础技能(数学、IT、电子电路)、受过煅炼的自学能力。

所以,各位正在迷茫的在校生,各位正在尝试转行的程序员,未来一定有你的位置,是好是坏取决于你当下的努力与积累。

我不能预言几年后什么行业会热门,也不能保证你照着本文学习可以发财。我只是一个有十几年经验的程序员,给对编程有兴趣的你,提供一些建议。

1.程序员的三大方向

程序员的方向,一般可以分为3类:专业领域、业务领域、操作系统领域。你了解它们后,按兴趣选择吧。

对于专业领域,我提供不了建议。

业务,也就是应用程序,它跟操作系统并不是截然分开的:

①开发实体产品时,应用程序写得好的人,有时候需要操作系统的知识,比如调度优先级的设置、知道某些函数可能会令进程休眠。

②写应用程序的人进阶为系统工程师时,他需要从上到下都了解,这时候就需要有操作系统领域的知识了,否则,你怎么设计整个系统的方案呢?

③做应用程序的人,需要了解行业的需求,理解业务的逻辑。所以,当领导的人,多是做应用的。一旦钻入了某个行业,很难换行业。

④而操作系统领域,做好了这是通杀各行业:他只负责底层系统,在上面开发什么业务跟他没关系。这行很多是技术宅,行业专家。

⑤操作系统和业务之间并没有一个界线。有操作系统经验,再去做应用,你会对系统知根知底,碰到问题时都有解决思路。有了业务经验,你再了解一下操作系统,很快就可以组成一个团队自立门户,至少做个CTO没问题。

1.1 专业领域

它又可以分为下面2类。

1.1.1 学术研究

比如语音、图像处理、人工智能,这类工作需要你有比较强的理论知识,我倾向于认为这类人是“科学家”,他们钻研多年,很多时候是在做学术研究。

在嵌入式领域,需要把他们的成果用某种算法表达出来,针对某种芯片进行优化,这部分工作也许有专人来做。

1.1.2 工程实现

也有这样一类人,他们懂得这些专业领域的概念,但是没有深入钻研。可以使用各类开源资料实现某个目标,做出产品。比如图像处理,他懂得用opencv里几百个复杂函数来实现头像识别。有时候还可以根据具体芯片来优化这些函数。

“专业领域”不是我的菜,如果你要做这一块,我想最好的入门方法是在学校学习研究生、博士课程。

1.2 业务领域

换句话说,就是应用程序,这又可以分为下面2类。

1.2.1 界面显示

做产品当然需要好的界面,但是,不是说它不重要,是没什么发展后劲。

现在的热门词是Android APP和IOS APP开发。你不要被Android、IOS两个词骗了,它们跟以前的VC、VB是同一路货色,只是、仅仅是一套GUI控件的实现。

希望没有冒犯到你,我有理由。

一个程序需要有GUI界面,但是程序的内在逻辑才是核心。Android、IOS的开发工具给我们简化了GUI的开发,并提供了这些控件的交互机制,封装并提供了一些服务(比如网络传输)。但是程序内部的业务逻辑、对视频图像声音的处理等等,这才是核心。另外别忘了服务器那边的后台程序:怎样更安全地保存数据、保护客户的隐私,怎样处理成千上万上百万的并发访问,等等,这也是核心。

但是,从Android、IOS APP入门入行,这很快!如果你是大四,急于找到一份工作,那么花上1、2个月去学习Android或IOS,应该容易找到工作,毕竟APP的需求永远是最大的,现在这两门技术还算热门。在2011、2012年左右,Android程序员的起薪挺高,然后开始下滑。Android APP的入门基本只要1个月,所以懂的人也越来越多。2013、2014年,IOS开发的工资明显比Android高了,于是各类IOS培训也火曝起来。中华大地向来不缺速成人才,估计再过一阵子IOS工程师也是白菜价了。

会Android、IOS只是基本要求,不信去51job搜搜Android或IOS,职位要求里肯定其他要求。

1.2.2 业务逻辑

举个简单例子,做一个打卡软件,你需要考虑这些东西:

①正常流程是上班下班时都要打卡

②有人忘记了怎么办?作为异常记录在案,推送给管理员

③请假时怎么处理?

④加班怎么处理?

对于更复杂的例子,视频会议系统里,各个模块怎么对接,各类协议怎么兼容,你不深入这个行业,你根本搞不清楚。

应用开发的职位永远是最多的,入门门槛也低。基本上只要你会C语言,面试时表现比较得体,一般公司都会给你机会。因为:

①你进公司后,还需要重新培训你:熟悉它们的业务逻辑。

②你要做的,基本也就是一个个模块,框架都有人给你定好了,你去填代码就可以了。

说点让你高兴的事:软件公司里,做领导的基本都是写应用程序的(当然还有做市场的)。写应用程序的人,对外可以研究市场接待客户,对内可以管理程序员完成开发,不让他做领导让谁做?

如果你的志向是写应用程序,那么我建议你先练好基本功:数据结构、算法是必备,然后凭兴趣选择数据库、网络编程等等进行深入钻研。

最后,选择你看好的、感兴趣的行业深耕个10年吧。做应用开发的人选择了某个行业,后面是很难换行业的,选行很重要!

1.3 操作系统领域

UCOS太简单,VxWorks太贵太专业,Windows不玩嵌入式了,IOS不开源,所以对于操作系统领域我们也只能玩Linux了。

在嵌入式领域Linux一家独大!

Android呢?Android跟QT一样,都是一套GUI系统。只是Google的实力太强了,现在Android无处不在,所以很多时候Linux+Android成了标配。注意,在这里我们关心的是Android的整个系统、里面的机制,而不是学习几个API然后开发界面程序。操作系统领域所包含的内容,简单地说,就是制作出一台装好系统的专用“电脑”,可以分为:

①为产品规划硬件:

按需求、性能、成本选择主芯片,搭配周边外设,交由硬件开发人员设计。

②给单板制作、安装操作系统、编写驱动

③定制维护、升级等系统方案

④还可能要配置、安装Android等GUI系统:

⑤为应用开发人员配置开发环境

⑥从系统角度解决疑难问题

这个领域,通常被称为“底层系统”或是“驱动开发”。

先解决2个常见误区:

①这份工作是写驱动程序吗?

看看上面罗列的6点,应该说,它包含驱动开发,但远远不只有驱动开发。

②我们还需要写驱动吗?不是有原厂吗?或者只需要改改就可以?

经常有人说,芯片原厂都做好驱动了,拿过来改改就可以了。如果,你的硬件跟原厂的公板完全一样,原厂源码毫无BUG,不想优化性能、削减成本,不想做一些有特色的产品,那这话是正确的。

但是在这个不创新就是找死的年代,可能吗?!原因有二:

①即使只是修改代码,能修改的前提是能理解;能理解的最好煅炼方法是从零写出若干驱动程序。

②很多时候,需要你深度定制系统。

以前做联发科手机只需要改改界面就可以出货了,现在山寨厂一批批倒下。大家都使用原厂的方案而不加修改时,最后只能拼成本。

举个例子,深圳有2家做交通摄像头、监控摄像头的厂家,他们曾经找我做过4个项目:

①改进厂家给的SD卡驱动性能,使用DMA。

②换了Flash型号后,系统经常出问题,需要修改驱动BUG。

③触摸屏点击不准,找原因,后来发现是旁路电容导致的。

④裁减成本,把4片DDR换为2片DDR,需要改bootloader对DDR的初始化。

这些项目都很急,搞不定就无法出货,这时候找原厂?除非你是中兴华为等大客户,否则谁理你?

我在中兴公司上班时,写驱动的时间其实是很少的,大部分时间是调试:系统调优,上帮APP工程师、下帮硬件工程师查找问题。我们从厂家、网上得到的源码,很多都是标准的,当然可以直接用。但是在你的产品上也许优化一下更好。比如我们可以把摄像头驱动和DMA驱动揉合起来,让摄像头的数据直接通过DMA发到DSP去。我们可以在软件和硬件之间起桥梁作用,对于实体产品,有可能是软件出问题也可能是硬件出问题,一般是底层系统工程师比较容易找出问题。

当硬件、软件应用出现问题,他们解决不了时,从底层软件角度给他们出主意,给他们提供工具。再比如方案选择:芯片性能能否达标、可用的BSP是否完善等等,这只能由负责整个方案的人来考虑,他必须懂底层。

在操作系统领域,对知识的要求很多:

①懂硬件知识才能看懂电路图

②英文好会看芯片手册

③有编写、移植驱动程序的能力

④对操作系统本身有一定的理解,才能解决各类疑难问题

⑤理解Android内部机制

⑥懂汇编、C语言、C++、JAVA

它绝对是一个大坑,没有兴趣、没有毅力的人慎选。

①这行的入门,绝对需要半年以上,即使全天学习也要半年。

②它的职位,绝对比APP的职位少

③并且你没有1、2年经验,招你到公司后一开始你做的还是APP。

优点就是:

①学好后,行业通杀,想换行就换行;想自己做产品就自己做产品。

②相比做应用程序的人,不会被经常变动的需求搞得天天加班。

③门槛高,当然薪水相对就高。

操作系统领域,我认为适合于这些人:

①硬件工程师想转软件工程师,从底层软件入门会比较好

②单片机工程师,想升级一下。会Linux底层的人肯定会单片机,会单片机的人不一定会Linux。

③时间充足的学生:如果你正读大二大三,那么花上半年学习嵌入式Linux底层多有益处。

④想掌握整个系统的人,比如你正在公司里写APP,但是想升为系统工程师,那么底层不得不学。

⑤想自己创业做实体产品的工程师,你有钱的话什么技术都不用学,但是如果没钱又想做产品,那么Linux底层不得不学。

⑥做Linux APP的人,没错,他们也要学习。

这部分人不需要深入,了解个大概就可以:bootloader是用来启动内核,Linux的文件系统(第1个程序是什么、做什么、各目录干嘛用)、APP跟驱动程序的调用关系、工具链,有这些概念就可以了

本文中,就把操作系统默认为Linux,讲讲怎么学习嵌入式Linux+Android系统。

1.4 嵌入式Linux+Android系统包含哪些内容

嵌入式Linux系统包含哪些东西?不要急,举一个例子你就知道了。

①电脑一开机,那些界面是谁显示的?

是BIOS,它做什么?一些自检,然后从硬盘上读入windows,并启动它。

类似的,这个BIOS对应于嵌入式Linux里的bootloader。这个bootloader要去Flash上读入Linux内核,并启动它。

②启动windows的目的是什么?

当然运行应用程序以便上网、聊天什么的了。

这些上网程序、聊天程序在哪?

在C盘、D盘上。

所以,windows要先识别出C盘、D盘。在Linux下我们称之为根文件系统。

③windows能识别出C盘、D盘,那么肯定有读写硬盘的能力。

这个能力我们称之为驱动程序。当然不仅仅是操作硬盘,还有网卡、USB等等其他硬件。嵌入式Linux能从Flash上读出并执行应用程序,肯定也得有Flash的驱动程序啊,当然也不仅仅是Flash。

简单地说,嵌入式LINUX系统里含有bootloader、内核、驱动程序、根文件系统、应用程序这5大块。而应用程序,我们又可以分为:C/C++、Android。

所以,嵌入式Linux+Android系统包含以下6部分内容:

①bootloader

②Linux内核

③驱动程序

④使用C/C++编写的应用程序

⑤Android系统本身

⑥Android应用程序

Android跟Linux的联系实在太大了,它的应用是如此广泛,学习了Linux之后没有理由停下来不学习Android。在大多数智能设备中,运行的是Linux操作系统;它上面要么安装有Android,要么可以跟Android手机互联。现在,Linux+Android已成标配。

2. 怎么学习嵌入式Linux操作系统

本文假设您是零基础,以实用为主,用最快的时间让你入门;后面也会附上想深入学习时可以参考的资料。

在实际工作中,我们从事的是“操作系统”周边的开发,并不会太深入学习、修改操作系统本身。

①操作系统具有进程管理、存储管理、文件管理和设备管理等功能,这些核心功能非常稳定可靠,基本上不需要我们修改代码。我们只需要针对自己的硬件完善驱动程序

②学习驱动时必定会涉及其他知识,比如存储管理、进程调度。当你深入理解了驱动程序后,也会加深对操作系统其他部分的理解

③Linux内核中大部分代码都是设备驱动程序,可以认为Linux内核由各类驱动构成

但是,要成为该领域的高手,一定要深入理解Linux操作系统本身,要去研读它的源代码。

在忙完工作,闲暇之余,可以看看这些书:

①赵炯的《linux内核完全注释》,这本比较薄,推荐这本。他后来又出了《Linux 内核完全剖析》,太厚了,搞不好看了后面就忘记前面了。

②毛德操、胡希明的《LINUX核心源代码情景分析》,此书分上下册,巨厚无比。当作字典看即可:想深入理解某方面的知识,就去看某章节。

③其他好书还有很多,我没怎么看,没有更多建议

基于快速入门,上手工作的目的,您先不用看上面的书,先按本文学习。

2.1 入门路线图

假设您是零基础,我们规划了如下入门路线图。前面的知识,是后面知识的基础,建议按顺序学习。每一部分,不一定需要学得很深入透彻,下面分章节描述。

2.2 学习驱动程序之前的基础知识

2.2.1 C语言

只要是理工科专业的,似乎都会教C语言。我见过很多C语言考试90、100分的,一上机就傻了,我怀疑他们都没在电脑上写过程序。

理论再好,没有实践不能干活的话,公司招你去干嘛?

反过来,实践出真知,学习C语言,必须练练练、写写写!

当你掌握基本语法后,就可以在电脑上练习一些C语言习题了;

当你写过几个C程序后,就可以进入下一阶段的裸机开发了。

①不需要太深入

作为快速入门,只要你会编写“Hello, world!”,会写冒泡排序,会一些基础的语法操作,暂时就够了。

指针操作是重点,多练习;

不需要去学习过多的数据结构知识,只需要掌握链表操作,其他不用学习,比如:队列、二叉树等等都不用学;不需要去学习任何的函数使用,比如文件操作、多线程编程、网络编程等等;这些知识,在编写Linux应用程序时会用,但是在操作系统特别是驱动学习时,用不着!

永往直前吧,以后碰到不懂的C语言问题,我们再回过头来学习。

在后续的“裸机开发”中,会让你继续练习C语言,那会更实战化。

C语言是在写代码中精进的。

②可以在Visual Studio下学习,也可以在Linux下学习,后者需要掌握一些编译命令,我们暂时没有提供C语言的教程,找一本C语言书,网上找找免费的C语言视频(主要看怎么搭建环境),就可以自学了。

2.2.2 PC Linux基本操作:

对于PC Linux,我们推荐使用Ubuntu,在它上面安装软件非常简便。

我们的工作模式通常是这样:在Windows下阅读、编写代码,然后把代码上传到PC Linux去编译。实际上,Ubuntu的桌面系统已经很好用了,我们拿到各种智能机可以很快上手,相信Ubuntu的桌面系统也可以让你很快上手。为了提高工作效率,我们通常使用命令行来操作Ubuntu。

不用担心,你前期只需要掌握这几条命令就可以了,它们是如此简单,我干脆列出它们:

①cd : Change Directory(改变目录)

cd 目录名          // 进入某个目录cd ..            // cd “两个点”:返回上一级目录cd -             // cd “短横”:返回上一次所在目录

②pwd : Print Work Directory(打印当前目录 显示出当前工作目录的绝对路径)

③mkdir : Make Directory(创建目录)

mkdir abc         // 创建文件夹abc

mkdir -p a/b/c    // 创建文件夹a,再a下创建文件夹b,再在b下创建文件夹c

④rm : Remove(删除目录或文件)

rm  file     // 删除名为file的文件

rm -rf dir   // 删除名为dir的目录

⑤ls : List(列出目录内容)

⑥mount : 挂载

mount -t nfs -o nolock,vers=2 192.168.1.123:/work/nfs_root /mnt

mount -t yaffs /dev/mtdblock3 /mnt

⑦chown : Change owner(改变文件的属主,即拥有者)

chown book:book /work -R  //对/work目录及其下所有内容,属主改为book用户,组改为book

⑧chmod : Change mode(改变权限),下面的例子很简单粗暴

chmod 777 /work -R  // 对/work目录及其下所有内容,权限改为可读、可写、可执行

⑨vi : Linux下最常用的编辑命令,使用稍微复杂,请自己搜索用法。

要练习这些命令,你可以进入Ubuntu桌面系统后,打开终端输入那些命令;或是用SecureCRT、putty等工具远程登录Ubuntu后练习。

2.2.3 硬件知识

我们学习硬件知识的目的在于能看懂原理图,看懂通信协议,看懂芯片手册;不求能设计原理图,更不求能设计电路板。

对于正统的方法,你应该这样学习:

①学习《微机原理》,理解一个计算机的组成及各个部件的交互原理。

②学习《数字电路》,理解各种门电路的原理及使用,还可以掌握一些逻辑运算(与、或等)。

③《模拟电路》?好吧,这个不用学,至少我在工作中基本用不到它,现在全忘光了。

就我个人经验来说,这些课程是有用的,但是:

①原理有用,实战性不强。

比如《微机原理》是基于x86系统,跟ARM板子有很大差别,当然原理相通。

我是在接触嵌入式编程后,才理解了这些课程。

②每本书都那么厚,内容都很多,学习时间过长,自学有难度。

针对这些校园教材的不足,并结合实际开发过程中要用到的知识点,我们推出了《学前班_怎么看原理图》的系列视频:

学前班第1课第1节___怎么看原理图之GPIO和门电路.wmv

学前班第1课第2.1节_怎么看原理图之协议类接口之UART.wmv

学前班第1课第2.2节_怎么看原理图之协议类接口之I2C.wmv

学前班第1课第2.3节_怎么看原理图之协议类接口之SPI.wmv

学前班第1课第2.4节_怎么看原理图之协议类接口之NAND Flash.wmv

学前班第1课第2.5节_怎么看原理图之协议类接口之LCD.wmv

学前班第1课第3节___怎么看原理图之内存类接口.wmv

学前班第1课第4.1节_怎么看原理图之分析S3C2410开发板.wmv

学前班第1课第4.2节_怎么看原理图之分析S3C2440开发板.wmv

学前班第1课第4.3节_怎么看原理图之分析S3C6410开发板.wmv

即使你只具备初中物理课的电路知识,我也希望能通过这些视频,让你可以看懂原理图,理解一些常见的通信协议;如果你想掌握更多的硬件知识,这些视频也可以起个索引作用,让你知道缺乏什么知识。

这些视频所讲到的硬件知识,将在《裸板开发》系列视频中用到,到时可以相互对照着看,加深理解。

2.2.4 要不要专门学习Windows下的单片机开发

很多学校都开通了单片机的课程,很多人都是从51单片机、AVR单片机,现在比较新的STM32单片机开始接触嵌入式领域,并且使用Windows下的开发软件,比如keil、MDK等。

问题来了,要不要专门学习Windows下的单片机开发?

①如果这是你们专业的必修课,那就学吧

②如果你的专业跟单片机密切相关,比如机械控制等,那就学吧

③如果你只是想从单片机入门,然后学习更广阔的嵌入式Linux,那么放弃在Windows下学习单片机吧!

理由如下:

①Windows下的单片机学习,深度不够

Windows下有很好的图形界面单片机开发软件,比如keil、MDK等。

它们封装了很多技术细节,比如:

你只会从main函数开始编写代码,却不知道上电后第1条代码是怎么执行的;

你可以编写中断处理函数,但是却不知道它是怎么被调用的;

你不知道程序怎么从Flash上被读入内存;

也不知道内存是怎么划分使用的,不知道栈在哪、堆在哪;

当你想裁剪程序降低对Flash、内存的使用时,你无从下手;

当你新建一个文件时,它被自动加入到工程里,但是其中的机理你完全不懂;

等等等。

②基于ARM+Linux裸机学习,可以学得更深,并且更贴合后续的Linux学习。实际上它就是Linux下的单片机学习,只是一切更加原始:所有的代码需要你自己来编写;哪些文件加入工程,需要你自己来管理。

在工作中,我们当然倾向于使用Windows下更便利的工具,但是在学习阶段,我们更想学习到程序的本质。

一切从零编写代码、管理代码,可以让我们学习到更多知识:

你需要了解芯片的上电启动过程,知道第1条代码如何运行;

你需要掌握怎么把程序从Flash上读入内存;

需要理解内存怎么规划使用,比如栈在哪,堆在哪;

需要理解代码重定位;

需要知道中断发生后,软硬件怎么保护现场、跳到中断入口、调用中断程序、恢复现场;

你会知道,main函数不是我们编写的第1个函数;

你会知道,芯片从上电开始,程序是怎么被搬运执行的;

你会知道,函数调用过程中,参数是如何传递的;

你会知道,中断发生时,每一个寄存器的值都要小心对待;

等等等。

你掌握了ARM+Linux的裸机开发,再回去看Windows下的单片机开发,会惊呼:怎么那么简单!并且你会完全明白这些工具没有向你展示的技术细节。

驱动程序=Linux驱动程序软件框架+ARM开发板硬件操作,我们可以从简单的裸机开发入手,先掌握硬件操作,并且还可以:

①掌握如何在PC Linux下编译程序、把程序烧录到板子上并运行它

②为学习bootloader打基础:掌握了各种硬件操作后,后面一组合就是一个bootloader

2.2.5 为什么选择ARM9 S3C2440开发板,而不是其他性能更好的?

有一个错误的概念:S3C2440过时了、ARM9过时了。

这是不对的,如果你是软件工程师,无论是ARM9、ARM11、A8还是A9,对我们来说是没有差别的。

一款芯片,上面有CPU,还有众多的片上设备(比如UART、USB、LCD控制器)。我们写程序时,并不涉及CPU,只是去操作那些片上设备。

所以:差别在于片上设备,不在于CPU核;差别在于寄存器操作不一样。

因为我们写驱动并不涉及CPU的核心,只是操作CPU之外的设备,只是读写这些设备的寄存器。

之所以推荐S3C2440,是因为它的Linux学习资料最丰富,并有配套的第1、2期视频。

2.2.6 怎么学习ARM+Linux的裸机开发

学习裸机开发的目的有两个:

①掌握裸机程序的结构,为后续的u-boot作准备

②练习硬件知识,即:怎么看原理图、芯片手册,怎么写代码来操作硬件

后面的u-boot可以认为是裸机程序的集合,我们在裸机开发中逐个掌握各个部件,再集合起来就可以得到一个u-boot了。

后续的驱动开发,也涉及硬件操作,你可以在裸机开发中学习硬件知识。

注意:如果你并不关心裸机的程序结构,不关心bootloader的实现,这部分是可以先略过的。在后面的驱动视频中,我们也会重新讲解所涉及的硬件知识。

推荐两本书:杜春蕾的《ARM体系结构与编程》,韦东山的《嵌入式Linux应用开发完全手册》。后者也许是国内第1本涉及在PC Linux环境下开发的ARM裸机程序的书,如果我说错了,请原谅我书读得少。

对于裸机开发,我们提供有2部分视频:

①环境搭建

第0课第1节_刚接触开发板之接口接线.wmv

第0课第2节_刚接触开发板之烧写裸板程序.wmv

第0课第3节_刚接触开发板之重烧整个系统.wmv

第0课第4节_刚接触开发板之使用vmwae和预先做好的ubuntu.wmv

第0课第5节_刚接触开发板之u-boot打补丁编译使用及建sourceinsight工程.wmv

第0课第6节_刚接触开发板之内核u-boot打补丁编译使用及建sourceinsight工程.wmv

第0课第7节_刚接触开发板之制作根文件系统及初试驱动.wmv

第0课第8节_在TQ2440,MINI2440上搭建视频所用系统.wmv

第0课第9节_win7下不能使用dnw烧写的替代方法.wmv

.................

原文链接:网页链接

武汉德普施原创嵌入式系统培训机构好吗

讲师简介

彭老师:工学博士,毕业于华中科技大学。现为中国电子学会高级会员,中国软件行业嵌入式系统协会理事,信息产业部NITE武汉原创授权培训中心首席技术讲师。某科技公司技术总监,10年软件开发、嵌入式系统开发经验,5年项目管理经验,5年从事IT培训经验。精通C/C++,Java,MCU/ARM嵌入式系统设计与软件开发。担任过多个产品/应用开发项目的项目经理,对于软件项目管理过程有深刻的认识,累积了丰富的系统架构设计经验。主讲课程:嵌入式系统C语言与单片机开发、ARM-Linux系统开发与设计。

曾老师:工学博士,毕业于华中科技大学。信息产业部NITE工程武汉原创授权培训中心高级技术讲师,某公司高级研发经理。7年单片机系统、DSP、ARM嵌入式系统开发、uC/OS实时系统开发经验,3年嵌入式系统培训经验。作为研发骨干或项目负责人完成了多项单片机系统、DSP(C2000)、ARM嵌入式系统与软件开发项目。主讲课程:嵌入式系统C语言与单片机开发、ARM系统开发与设计。

柯老师:工学博士,毕业于华中科技大学。某公司高级研发工程师,5年单片机系统、ARM嵌入式系统开发经验,2年嵌入式系统培训经验。作为研发骨干完成了多项单片机系统、ARM嵌入式系统开发项目,如无线传感器网络节点设备、温度监控系统等。主讲课程:嵌入式系统C语言与单片机开发、ARM系统开发与设计。

黄老师:工学硕士,毕业于武汉理工大学。某公司高级研发工程师,5年单片机系统、ARM嵌入式系统开发、uC/OS实时系统开发经验,2年嵌入式系统培训经验。作为研发骨干完成了多项嵌入式系统与软件开发项目,开发出2款ARM实验板(箱),对于嵌入式Linux系统开发和编程有着丰富的经验。主讲课程:嵌入式系统C语言与单片机开发、ARM系统开发与设计,Linux高级编程与驱动开发。

颜老师:工学硕士,毕业于华中科技大学,某公司高级研发工程师,6年嵌入式系统开发经验,作为研发骨干或项目负责人完成了多项DSP(C6000)嵌入式系统与软件开发项目。主讲课程:DSP C6000系统开发与设计。

吕老师:工学硕士,毕业于华中科技大学。某公司高级研发经理,6年嵌入式系统开发经验,4年军方嵌入式系统开发、项目管理经验,2年从事嵌入式系统培训经验。作为研发骨干或项目负责人完成了多项ARM-Linux嵌入式系统开发,对于嵌入式Linux应用程序、驱动开发和图形用户界面编程有着丰富的经验。

楚老师:毕业于武汉理工大学,知名企业嵌入式系统开发工程师,6年嵌入式系统开发经验,1年嵌入式系统技术培训经验,精通多种单片机(东芝、Motorola、Atmel、Microchip等)以及各类数字/模拟电路;多年百万门级FPGA硬软件设计经验;熟悉ASM汇编、C51、C、VHDL等多种编程语言;熟悉Matlab,Lenoardosprectrum、Synplify、ModeSim、QUARTUSII、SOPC Builder、IDE 等多种开发工具;主讲课程:FPGA/CPLD系统开发、嵌入式C语言及其单片机系统开发。

李老师:工学硕士,毕业于西安理工大学。Linux系统管理和操作(命令模式和图形模式),有4年使用Linux的经历,有大型Linux软件开发和管理经验;精通Linux的内核编译、小系统裁减、自由软件MiniGUI图形编程、2.4内核版本设备驱动编写经验;Linux下的C语言编程技术、(交叉)编译、调试环境,Makefile编写;Linux下的网络编程,能用Linux架设多种网络服务器,如:Http,FTP,代理服务器Squid,DNS等。主讲课程:Linux高级编程与驱动开发。

于老师:华中科技大学工学硕士,知名企业研发部经理,6年嵌入式系统开发经验,1年嵌入式系统技术培训经验,精通可编程器件的设计、PC104总线、HDLC通信协议、UART通信协议、PCI总线、总线仲裁逻辑、自定义总线、复用/解复用、SDRAM控制器等多种IP核。精通多种EDA软件。主讲课程Verilog HDL及其FPGA/CPLD系统开发。

马老师:华中科技大学工学硕士,知名企业高级研发工程师,3年WinCE研发经验。精通Microsoft Visual C++开发环境进行程序设计;Microsoft Embedded Visual C++ 4.0 + Microsoft Pocket PC 2003 SDK在Pocket PC(Windows CE .NET 4.2定制版本)上开发应用程序;DCS工业控制系统、TI系列PLC以及WinCC组态软件;SQL、Oracle数据库及Linux操作系统;主讲课程WinCE高级编程与驱动开发。

李老师:华中科技大学工学硕士,知名企业高级研发工程师,3年嵌入式系统开发经验,2年嵌入式系统技术培训经验。项目经验:1、ARM9平台软件开发兼职项目;简单描述:ARM9平台上的某软件,从声卡采集某设备的数据,采用QWT绘制工程图线,用Sqlite3管理数据;2、ARM9平台软件开发兼职项目简单描述:ARM9平台上的某软件,把串口数据解包,显示在VGA上;3、ARM10平台软硬件程序开发;具体事项:嵌入式平台底层硬件扩展,图形界面开发,嵌入式数据库,分布式传感器网络,GPS,单片机技术,产品模具设计,宣传包装设计,专利申请,科技查新.

这是几个讲师情况创新的教学模式】

全面引进深圳市德普施科技有限公司的“工程对象教学法”,按照“任务驱动+实践-归纳-总结-再实践”的教学模式进行教学,完全打破 “讲课+实验”的传统教学模式,使学员在“做中学、学中做”, 真正满足企业需求。

【实用的课程设置】

根据企业相关岗位技能要求和工作流程,系统地设置课程体系和定制培训教材和讲义。每门培训课程都以典型工程系统地开发与设计项目作为主线,按照项目进度和流程讲授知识、指导学员实训和操作,使学员在不断地实践与归纳的过程中掌握相关项目开发设计的思路、方法与常用工具,使学员的工程实战能力实现质的飞跃。

【双师型教学师资】

主讲教师均具有学术和工程的双重背景,能够按照理论联系实践、科学主导工程的方法进行课程教学,通常都毕业于全国各大重点高校,在企业承担过各种大中型项目的设计、开发和管理任务,拥有丰富的团队领导、软件开发和项目管理经验。

【高素质就业目标】

与国内众多知名企业签订长期就业培训合同,优秀学员直接推荐就业。5%的优秀学员将获得奖励。

关于嵌入式软件开发培训和嵌入式软件开发工程师培训的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

扫码二维码