如何选择自己的嵌入式开发方向

转自:http://mcuos.com/thread-7256-1-1.html

说明:感觉这些文章对自己很有帮助,所以转帖过来,一方面方便自己查看,另一方面希望能帮助更多对此有需要的朋友。

废话不多说。首先声明osboy的职业方向嵌入式开发中的Linux底层驱动方向。所以可能对这个方向比较了解些,文章有不当之处请指教。

嵌入式开发有以下几个方向:

软件方向:

底层驱动方向:

工作内容,最普遍的职业内容为写armlinux上的驱动程序,就是有公司的产品开发板,负责维护编写针对这类硬件的驱动程序,比如usbsd卡,lcd屏等等之类的驱动。这类职业又区分为原厂驱动开发工程师,和系统厂商驱动工程师。这类工程师一般只需要c语言即可,当然现在的公司面试的时候都是面试cc++的。

1)原厂驱动开发工程师


这类职业就是工作的IC芯片半导体设计大厂,一般都是欧美企业,比如intelfreescaleTIMarvell.这类公司的驱动职务,一般来说技术含量高,能接触到真正的驱动开发,内核移植的工作。因为他们要出针对自家芯片的BSP,所以他们不做这些事情做系统的公司就需要做,那就乱了。在这类半导体原厂上班一般人都有优越感,大部分很少加班,当然一切国内的芯片设计公司除外。

2)系统厂商驱动工程师


这类职业就是工作在做产品的公司里面,比如中兴,Moto等等吧,就是靠做项目卖产品,非芯片类的产品,而这些产品都是用上面那些原厂的芯片设计出来的,所以在这类公司工作,一般来说比较累,加班加点,当然工资不会少的,只是技术上由于大部分都被原厂的驱动工程师做好了的,在系统厂工作的话,可能属于在原厂的基础上做二次开发,针对自己的产品的某些特殊的外设写驱动,调试产品,对做产品,客户的需求比较了解,对作出一个优秀的量产产品需要哪些地方注意这点要比在原厂的工程师强点。(目前芯片原厂世界上就那么几家,大部分公司都是系统厂商,做自己的产品,前景也非常广阔)

上层应用方向:

工作内容,最普遍的工作内容是针对设计好的硬件开发板,设计上层应用程序,比如linux应用工程师,典型的上层应用QT,MINIGUI,等界面程序,这些都是出于linux的应用层的程序,一般来说做应用的人都是编程比较强的,会很多语言,cc++java之类的都能写,而且这类人对做产品就更有经验了,这点要比做驱动的工程师强,也是比较短缺的一类人才。

近些年来新兴的android智能手机操作系统如火如荼,早就了一大批android的人才,单就android来说他也分了好几个职业方向,比如底层驱动方向,其实就是上面说的底层工程师;androidhal层工程师,这类基本上上面说的最典型的linux应用工程师差不多。再往上层就是android中间层整合工程师,这类人才比较短缺,一般来说需要会c++java之类的,这类职务一般都集中在半导体原厂和做手机,MID之类的大公司的,人才短缺,上手难,找锻炼的机会也难。

硬件方向:

嵌入式硬件方向本人就不好多说什么。

那么对于初学者,你打算选择嵌入式的哪类开发方向?

我们说在工作方面,一定要选择自己爱好的职业去做,这样你就会进步的非常快,所以我觉得选择方向没必要左右衡量,选择自己的喜欢的职业方向,努力的去学习,去锻炼,全身心的投入到工作中去,你就是成功者。
### 回答1: 可以,C#可以应用于嵌入式开发方向。C#语言具有强大的面向对象编程能力和良好的代码可读性,同时也有很好的自动垃圾回收机制和丰富的类库支持。在嵌入式开发中,C#可以通过.NET Micro Framework和Mono等框架实现跨平台应用。 ### 回答2: C#是一种通用的高级编程语言,它可以用于开发各种类型的应用程序,包括嵌入式开发方向嵌入式开发是指将计算机系统集成到设备或其他系统中的过程,例如自动化系统、家用电子设备、汽车电子等。 虽然嵌入式开发通常使用C或C++等低级语言,但C#也可以作为一种替代方案来开发嵌入式应用。C#具有易读易写、面向对象、强大的开发工具和框架等优点,使得它成为很多开发者的首选语言。 C#可以通过使用.NET Micro Framework(.NET微框架)来应用于嵌入式开发。.NET Micro Framework是一个轻量级的.NET平台,专门用于嵌入式系统的开发。它提供了许多功能,如多线程支持、网络通信、图形界面等,方便开发人员为嵌入式设备创建高效、可靠的应用。 此外,C#还可以与硬件交互,通过使用串行通信或者外部设备接口(如USB、SPI、I2C等)来控制和读取传感器、操控外设等。通过适当的开发工具和库的选择嵌入式开发者可以使用C#来开发各种功能强大的嵌入式应用。 总之,虽然C#可能不是嵌入式开发的常见语言,但在特定场景下,它可以作为一种有效的工具用于嵌入式系统的开发开发者可以根据具体项目需求、硬件平台和开发环境等因素来综合考虑是否使用C#进行嵌入式开发。 ### 回答3: C#是一种面向对象的编程语言,可以应用于广泛的开发领域,包括嵌入式开发嵌入式开发是指在各种设备和系统中使用微处理器或微控制器来控制和管理硬件。C#具有许多特性和优势,使其成为嵌入式开发的合适选择。 首先,C#具有简洁的语法和强大的面向对象编程能力。这使得开发人员可以更容易地编写和维护复杂的嵌入式应用程序。C#提供了类、继承、接口和多态等特性,有助于开发人员组织和管理代码。 其次,C#有丰富的类库和框架,提供了许多用于嵌入式开发的功能和工具。它包括各种用于硬件控制、通信、数据处理等的类库,如System.IO、System.Net和System.Threading等。此外,C#也支持使用第三方库和API,进一步扩展了嵌入式开发的功能。 另外,C#具有良好的交互性和易用性,使开发人员能够更高效地进行嵌入式开发。C#开发工具和集成开发环境(IDE)如Microsoft Visual Studio等,提供了强大的调试功能、图形化界面设计和代码自动完成等,简化了开发过程。 最后,C#也支持跨平台开发,可以在各种嵌入式系统上运行,包括Windows嵌入式系统、Linux嵌入式系统和嵌入式Android系统等。这使得使用C#进行嵌入式开发更加灵活和便捷。 综上所述,C#是一种适用于嵌入式开发的编程语言,具有简洁的语法、丰富的类库和框架、良好的交互性和易用性,以及跨平台的能力。开发人员可以利用C#的优势,更高效地开发和管理各种类型的嵌入式应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值