嵌入式工程师成长之路

嵌入式工程师成长之路

  • 1. 从微控制器开始
  • 2. 精通 一 款微控制器之后
    • 1)如果想成为一名嵌入式硬件工程师
    • 2)如果想成为一名嵌入式软件工程师
      • (1) 嵌入式操作系统。
        • ① 最适合入门的嵌入式操作系统一一µC/OS
        • ② 使用最广的嵌入式操作系统一嵌入式Linux。
        • ③ 最具潜力的嵌入式操作系统-Android、鸿蒙。
      • (2) 行业相关的应用技术。
        • ① 网络协议及编程技术。
        • ② 数字图像压缩技术。
        • ③数字信号处理技术。
  • 3. just do it

1. 从微控制器开始

  微控制器是整个嵌入式系统的核心,无论对千嵌入式软件工程师还是嵌入式硬件工程师,微控制器都是学习嵌入式系统的起点。

  一个嵌入式初学者在论坛上最常见的问题是:目前市场上微控制器那么多,我到底该学习哪一个好呢?对这个问题,每个嵌入式开发者从各自经验出发,可能有着各自不同的答案。 很多初学者因此随波逐流,学了 51 学 PIC ,过一阵再学 ARM,但对每款微控制器都浮光掠影,不求甚解,最后学得虽多但不深,临到用时一个也用不上。 针对这种情况,笔者建议嵌入式爱好者和初学者不要贪多,选择一款目前业界主流的嵌入式微控制器和常用的嵌入式开发工具,精通之,熟用之,足矣。 各种微控制器有着很多相似的地方,只要抓住其中某款主流的微控制器,掌握其基本原理,精通其主要接口,熟悉其典型应用,以后遇到其他类型的微控制器,比较其共性和差别,便能由此及彼,方便地将应用从一个微控制器移植到另 一个微控制器上。那么,在选定一款微控制器后,如何才能做到精通它呢?笔者认为,从微控制器的最小系统入手,以其为核心,选择相应电子元件加上最小系统在面包板或洞洞板上搭建硬件电路,并在嵌入式开发工具下使用C语言编写、编译、链接、调试和下载应用程序,从点亮一个发光二极管开始,由易而难,从简单到复杂,逐步深入,结合实例,软硬并重,在学习以微控制器为核心的嵌入式系统基本原理的同时,熟悉和体验嵌入式系统开发过程。
  我是以目前被广泛使用的基千ARMCortex-M3内核的嵌入式微控制器 STM32Fl03RCT6为目标,学习其系统结构、存储组织、各模块和接口的原理。

2. 精通 一 款微控制器之后

  一个嵌入式初学者在精通一款微控制器后,嵌入式才算真正入门,脱掉了 ”菜鸟 ”的帽子。 这时,可以根据个人基础、兴趣爱好和职业定位,选择未来的发展方向,并做好相应的知识和技术积累:

1)如果想成为一名嵌入式硬件工程师

  如果想成为一名嵌入式硬件工程师,不仅 要熟悉各种嵌入式芯片(如微控制器、存储器、调压器、 电平转换器等)和接口技术,熟练地使用Altium Designer(原Protel)、Cadence Allegro等电路设计软件并制作电路板,而且还能编写嵌入式系统中与硬件关系 最密切的底层软件,如 BootLoader、BSP(Board Support Package,板级支待包)等,为上层应用开发提供必要的支持。

2)如果想成为一名嵌入式软件工程师

  如果想成为一名嵌入式软件工程师,还应至少掌握一个嵌入式操作系统和一个行业相关的应用技术。

(1) 嵌入式操作系统。

  随着嵌入式系统复杂性、可靠性和可移植性要求的提高和开发周期的缩短,嵌入式操作系统在嵌入式系统中的使用巳经成为趋势。 对嵌入式软件工程师而言,在精通 一款微控制器后,可以选择以下嵌入式操作系统作为继续进阶的目标:

① 最适合入门的嵌入式操作系统一一µC/OS

  µC/OS是专门为嵌入式应用而设计的,其中90%的代码用C语言编写,剩下的CPU硬件相关部分由汇编语言实现,目前已经移植到现有几乎所有微控制器上。
  不仅如此,µC/OS 的代码简短且开放源码,非常适合入门者学习嵌入式操作系统的原理。

② 使用最广的嵌入式操作系统一嵌入式Linux。

  与µC/OS 相比,同样开源的嵌入式Linux虽然实时性不强,但应用领域更广。 目前在嵌入式Linux 领域,具备以下能力的工程师尤其缺乏: 一是将Linux移植到某个新型微控制器上的Linux移植工程师;二是编写嵌入式Linux驱动程序的Linux驱动工程师;三是根据特定应用裁剪和优化嵌入式Linux内核的Linux内核工程师。

③ 最具潜力的嵌入式操作系统-Android、鸿蒙。

  近年来,随着智能手机的发展和普及,自由开源的Android 具有巨大的发展潜力和广阔的应用前景。 作为一名Android嵌入式软件工程师,应当具备扎实的Java编程能力,并有一定的C 和C++语言基础,熟悉常用数据结构与算法,掌握Android系统架构,了解移动终端的特性和开发特点,同时具有一定的移动终端网络编程经验。

(2) 行业相关的应用技术。

  嵌入式是一 门行业相关度高、发展速度快的新兴技术。 嵌入式软件工程师在完成嵌入式操作系统进阶之后,如果根据嵌入式应用的主要领域,同时结合自身的兴趣爱好,做好相关应用技术的积累,那么未来的嵌人式之路会更宽广。

① 网络协议及编程技术。

  网络协议及编程技术包括传统的TCP/IP协议和新兴的无线通信协议。 目前,随着有线网络的普及,大多数嵌入式系统要连入局域网或I nternet。 TCP/IP协议及其嵌入式编程是联网首先要掌握的基本技术;而未来,嵌入式系统的无线连接和通信是必然趋势,因此掌握无线通信协议及嵌入式无线编程技术是未来对嵌入式软件工程师的要求。 嵌入式领域中常用的无线通信协议包括无线局域网通信协议I EEE 802. 11 系列,蓝牙(Bluetooth)以及移动通信(如 GPRS、 GSM、CD MA)等。

② 数字图像压缩技术。

  随着机顶盒、 高清电视等设备的发展和普及,数字图像与嵌入式技术的结合越来越紧密。 从事这个领域开发的嵌入式软件工程师应掌握 MPEG编解码算法和技术,如DVD 、MP3、PDA、高清电视、机顶盒 等都涉及 MPEG高速解码问题。

③数字信号处理技术。

  数字信号处理技术也是与嵌人式紧密结合的技术之一,尤其是在移动通信领域,从事这一领域开发的嵌人式软件工程师需要有信号与系统、数字信号处理的相关背景, 熟悉数字信号处理算法(如高速数据采集、压缩、解压缩、 通信等)及其在嵌人式系统上的实现。

3. just do it

  无论是嵌入式硬件工程师还是嵌入式软件工程师,都不是一日速成的。 嵌入式系统是一个和实际联系紧密的产业,尤其重视实践应用能力。 很难想象一个没有设计制作过一块电路板的工程师是一 名合格的嵌入式硬件工程师,也很难想象一名嵌入式软件工程师从来没有在嵌入式系统上开发过一个应用程序。 如果一名嵌入式工程师的成长之路有捷径可循, 那么参加到具体项目中,从构建一个 MCU的最小系统开始,不断地动手设计和实现一款属于自己的嵌入式产品,便是唯一的捷径。

你可能感兴趣的:(嵌入式硬件)