Menu Close

VUCA时代,你得搭上ZYNQ SoC这艘船

摘要

传统的嵌入式开发培训课程已无法满足市场对嵌入式开发工程师提出的更高要求,市场亟待提供基于SOC的嵌入式培训课程。本文通过介绍ZYNQ SOC开发的相关技术,勾勒出ZYNQ SOC开发的相关知识的脉络,让有志于从事或转行嵌入式开发的同学对ZYNQ SOC开发技术形成总体认识,避免在学习过程中迷失于细枝末节中,成为符合市场需求的嵌入式开发工程师。

关键词

ZYNQ SoC,SoC,嵌入式系统,Linux,ARM,FPGA,IP核,ASIC,IC

引言

随着嵌入式系统在社会各个领域的需求不断增长和深入应用,对嵌入式开发工程师的需求越来越旺盛,同时也对嵌入式开发工程师提出更高的要求。仅凭高等教育培养出来的大学生已经很难在短时间内成为合格的嵌入式开发工程师,有实力的企业会为大学生安排一定时间的内训,但因缺乏专业的培训课程和培训讲师而导致大学生成长缓慢。而实力弱的企业更是无法为大学生提供内训机会,但又需要合格的嵌入式开发工程师,供需矛盾更加突出。从其他领域转行到嵌入式开发领域的工程师也会遇到类似的问题。这种供需矛盾,催生了不少嵌入式开发的培训机构。嵌入式开发培训机构架起了大学生或希望转行的工程师通往嵌入式开发的桥梁,同时能够满足企业对嵌入式工程师渴求。

嵌入式系统为适应多变的市场需求,演进出了FPGA、SoC等相关技术。基于FPGA的SoC应运而生,ZYNQ SoC就是这样的产品,而且也是目前最全的嵌入式系统。传统的SoC或嵌入式开发对工程师的要求主要是软件开发能力,培训课程也是据此设计。ZYNQ SoC由于结合了软件与IP核(IC部分),不仅要求工程师的具备软件开发能力,同时也要求具备SoC芯片级系统开发的能力。因此,传统的嵌入式开发课程亟需刷新,增加SoC芯片级开发相关知识,以弥补传统嵌入式开发课程的不足。

掌握了ZYNQ SoC开发技术,就掌握了通往嵌入式软件开发、(嵌入式)Linux应用开发、(嵌入式)Linux驱动开发、Linux系统剪裁与移植、FPGA开发、ASIC开发大门的钥匙,通过几年的工作时间能够成为这些领域的高级工程师、甚至成为专家级工程师,成就职业人生。

SoC关键技术简介

集成电路

集成电路(Integrated Circuit,IC),就是把一定数量的电子元件(如电阻、电容、晶体管等)以及连接它们导线,通过半导体工艺集成在一起的具有特定功能的电路。从最初的小规模集成电路(Small-scale integration,SSI)发展到中等规模集成电路(Middle-scale integration,MSI)、大规模集成电路(Large-scale integration,LSI)、甚大规模集成电路(Very-Large-scale integration,VLSI)、超大规模集成电路(Ultra-Large-scale integration,ULSI),直到现在的巨大规模集成电路(Giga Scale Integration,GSI),集成度越来越高,功能和性能越来越强大,成本越来越低,现广泛应用于消费类电子产品、大件耐用消费品、工业品等各个领域,满足各种形式的需求。

芯片/芯片组

芯片(Chip)指内含集成电路的硅片。芯片组(Chipset)是指一组共同工作的芯片。

专用集成电路

专用集成电路(Application Specific Integrated Circuit,ASIC),是指为特定应用而设计、制造的集成电路。

现场可编程门阵列

现场可编程门阵列(Field Programmable Gate Array,FPGA),是指由许多“可配置逻辑模块”(Configurable Logic Block,CLB)、输入/输出单元(I/O Block,IOB)和分布式的可编程互联矩阵(Programmable Interconnection Matrix,PIM)组成可编程逻辑器件。

ARM

ARM(Advanced RISC Machines)是一个32位精简指令集(RISC)处理器。ARM处理器广泛地使用在许多嵌入式系统中。

嵌入式系统

嵌入式系统由硬件和软件组成,能够独立运行的器件。其软件内容包括软件运行环境、操作系统及运行于其上的应用程序,硬件内容包括处理器/控制器、存储器、通信模块等在内的多方面的内容。嵌入式系统由于其运行场景的不同存在较大的差异性。

片上系统

片上系统(System on Chip,SoC),又称系统级芯片,是指整个系统在单个硅芯片的实现。

ZYNQ SoC

ZYNQ SoC 整合了 ARM 双核 cortex-A9处理器(被称为处理系统,Processing System, PS)和 Xilinx 7 系列 FPGA 架构(被称为可编程逻辑,Programmable Logic,PL),使得它不仅拥有 ASIC 在能耗、性能和兼容性方面的优势,而且具有FPGA 硬件可编程性的优点。因其软硬件都可以编程,被称为全可编程片上系统(All Programmable SoC,AP SoC)。

Linux

Linux,全称GNU/Linux,是一种可免费使用的、开源的、可自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,支持多用户、多任务、多线程和多CPU的操作系统。

市场呼唤面向未来的SoC人才

集成电路出货量持续增长
从统计数据(下图)来看,从2001年开始到2020年,集成电路出货量持续增长,近两年有加速的趋势。

%title插图%num

集成电路的出货量统计(数据来源:国家统计局)

持续增长的成因

VUCA时代起源于20世纪90年代的美国军方,指的是在冷战结束后出现的多边世界,其特征比以往任何时候都更加复杂以及不确定,在2008年全球金融危机发生后VUCA时代的概念再度兴起。VUCA是由不稳定性(Volatility)、不确定性(Uncertainty)、复杂性(Complexity)、模糊性(Ambiguity)四个英文单词的首字母组成,是指我们生活在一个具有不稳定性、不确定性、复杂性、模糊性的时代,不稳定性是指事物的变化非常快,不确定性是指不知道事物发展的方向在哪里,复杂性是指由多种因素决定事物发展的方向,模糊性是指这些因素之间的关系不明确。

如何在VUCA时代的求生存、谋发展呢?唯有主动应对和灵活适应才能做到。

集成电路的发展之初就是通过把电路集成在一个芯片里,解决了分立元器件加导线的方案带来的电路上出现的不稳定、不确定性、复杂性和模糊性的问题。而市场需求的需求的不稳定、不确定性、复杂性和模糊性的问题,催生了FPGA和软件的出现,让硬件和软件可定制可以提供集成电路的适应能力。随着制造工艺的发展,集成电路发展到大规模集成电路、超大规模集成电路,让SoC的出现成为可能。用一个芯片解决了以前用多个芯片解决的问题,而且能够做到硬件可定制、软件可定制,这是时代的必然要求,也是集成电路发展的主要方向。集成电路就是在这个方向上的努力,使其出货量大规模持续地增长,在中国20年的持续增长可见一斑。

我们从手机的发展就可以看出端倪,从无到有,从大部头到小型化,从功能机的可用、好用到智能机的个性化。现在的手机,外表看着都差不多,可每个人的手机里安装的软件各不相同,而且隔段时间厂家还会升级软件解决问题、提升性能、增加功能。现在还有多少人在用功能机和以前的大部头呢?早已被时代所抛弃。

如何成为面向未来的SoC人才

张泉灵说,“时代抛弃你,连一声招呼也不打。”

SoC时代已然来临,已经到了AP SoC的时代。它既可以满足以往的市场需求,也可以满足未来的需求。我们唯有主动拥抱AP SoC,才能跟上时代步伐,成为面向未来的人才。

学习嵌入式SoC开发全栈技术

以下是SoC开发的技术栈,自底向上,从硬件技术到FPGA,再到软件技术,通过Linux操作系统将底层技术整合,通过SoC开发实战做到技术的融会贯通。

%title插图%num

适应目前的人才需求

掌握了SoC全栈技术,就可以从事以下工作:

SoC系统开发工程师

ZYNQ硬件及FPGA开发工程师

嵌入式Linux软件开发工程师

嵌入式Linux驱动开发工程师

成就未来的职业人生

未来,在掌握的SoC技术的基础上,或深耕一个技术方向(硬件、FPGA、软件),或充分运用全栈技术,在一个应用领域发展。发展方向如下:

跨硬件平台的SoC硬件及FPGA开发

跨操作系统的软件/驱动开发:FreeRTOS, vxWorks,RThread, QNX

跨领域的软件/FPGA/硬件开发:人工智能、大数据、云计算、区块链

总结和展望

AP SoC是时代的召唤。客户说,我想要,现在就要。如果按照传统嵌入式的方式,等我们完成了,客户已经不需要了。而有了AP SoC,我们就可以说,我给你,现在就给!

虽然说得有点夸张,但这就是未来的方向,客户对产品的Time to Market要求越来越苛刻了。当你看到送外卖的小哥在小区里面一路狂奔的时候,你一定对此非常警醒。你的客户也在要求你一路狂奔,你的竞争对手已经在路上了,你呢?

Posted in SOC

发表评论

相关链接