嵌入式应用开发

嵌入式应用开发 什么是嵌入式开发?

什么是嵌入式开发?

什么是嵌入式开发?

嵌入式是用于控制、监视或者辅助操作机器和设备的装置。嵌入式是一种专用的计算机系统,作为装置或设备的一部分。 嵌入式是才发展起来的一项IT开发技术。嵌入式开发在FPGAARMDSPMCU等各个方面都有了细分专业团队进行外协设计。提供从原型样机、顶层软件架构到源码的所有设计。 通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是是由单个程序实现整个控制逻辑。 可在从事嵌入式系统开发的计算机与电子技术、IT 、通信、军工、工业控制、汽车电子、大型设备智能故障诊断、电子设备等领域进行产品的开发、生产、测试、维护、销售、技术支持、技术咨询等工作。 具体就业岗位包括:嵌入式软件开发工程师、基于ARM系统的研发岗位、Linux系统应用软件开发岗位、Linux下C/C 软件工程师、嵌入式Linux系统研发工程师。

如何学习嵌入式软件开发?

嵌入式软件开发大致方向可以分为驱动开发和系统应用开发。

(1) 基础知识:需要学习C和Shell语言,操作系统基本原理,程序的编译过程与内存分布,Makefile编写等。

(2) 驱动开发:内核基础,内存管理,设备管理,中断处理,与用户态的通信方式,调度策略,锁同步等,还需要对硬件知识有一定的了解,最起码能看懂硬件原理图。

(3) 系统应用开发:进程间通信方式,多线程编程,TCP/IP网络编程,性能调优等。

最后:

多看多练多总结

多看多练多总结

多看多练多总结

如何学习嵌入式软件开发?

大家都知道这个领域人才非常稀缺,但是,学习周期比较长,需要的知识面也比较广,所以不要心急。先看看下面的几个问题,了解一下你现在的知识水平:

(1)你用VC 或BC 编写过应用程序吗?

如果编写过应用程序,那就做好了,如果你没有做过上层应用程序,那么又如何能够去理解更深的更高深的底层程序呢,那就赶快补上这一课吧!!!

(2)你曾经编写过单片机或者DSP的程序吗?

我们把类似51单片机或者DSP上面跑的没有操作系统的程序叫做“代码裸奔”,我们也都曾经编写过裸奔的代码。因为有的时候比如我们编写一个简单的程序,就只需要点几个LED检测几个按钮的状态,那么“代码裸奔”弄一个while(1)的死循环就足够了,杀鸡何必用牛刀。

编写这种裸奔的代码,也是学习嵌入式的必由之路,因为,你将会用C语言去对寄存器写控制字,这就是以后写驱动程序的基础呀。

另外需要说明的是,从概念上说,“代码裸奔”也已经属于嵌入式开发的范畴。

(3)到了最后一个阶段,你就可以开始找一个方向(uCos、Linux、VxWorks、WindowsCE、Palm等等等等),学习有操作系统的嵌入式开发了。

嵌入式操作系统的种类也是无法计数的,有一些我连名字也叫不上来,太多太多了。但是值得庆幸的是,这些操作系统大同小异,相通的。

你正在在读书,建议学习uCos操作系统(看邵贝贝的《UC/OS操作系统》);如果你不喜欢这么Basic的操作系统,VxWorks也是一个不错的选择,VxWorks进入中国已经好多年了,国内出版的书也都很好,尤其推荐陈智育的《VxWorks程序开发实践》和周启平的《VxWorks下设备驱动程序及BSP开发指南》;Linux简直是恶梦,但是如果你能够走出这个噩梦,你也就成了高手了。

就说这么多吧,路漫漫其修远,祝你成功!!!