ZYNQ SoC 课程简介
ZYNQ SoC 是围绕Xilinx ZYNQ 系列芯片资料、系统和开发应用展开的一系列课程。该课程是目前综合类最强的课程之一。涉及到嵌入式系统,FPGA,以及相关的硬件知识。下面就嵌入式系统、ZYNQ SoC、SoC、 Linux以及它们之间的关系进行讨论,以清晰的脉络展现出来。
嵌入式系统:
嵌入式系统包含的内容比较广泛,包括以ARM,MIPS,ZYNQ SoC, RISC-V等为核心器件并且内置操作系统构成的软、硬件系统。因此嵌入式系统有硬件、有操作系统、有应用软件。由于ARM公司在商业模式上比较出色,目前比较流行的看法是提到SoC,提到嵌入式系统首先会想到以ARM CPU 为核心组成的嵌入式系统。但目前看RISC-V CPU为核心的嵌入式系统也蒸蒸日上。嵌入式系统的核心是CPU,但只有CPU是不够的,因此嵌入式系统往往还需要其它大量电子器件(如电源,AD/DA,时钟,通信接口,功率器件等)支持才能构成一个完整的系统。目前市面上有许多嵌入式系统板卡及学习资料可以买到,但由于门槛较高,完全自学还是有难度的。
FPGA:
FPGA 是现场可编程器件,其实可以理解为一颗活得IC(集成电路)。与ASIC相比,FPGA随时可以更改为任何需要的IC,因此目前FPGA的应用前景非常广泛。不仅可以独立应用,还可以作为IC开发的调试和验证工具。目前大的FPGA厂商都会提供软核的CPU,因此FPGA也可以轻松的构成SoC系统,而且还专门给了一个名称–SoPC (可编程器件的SoC). 如我们公司开发的FII-RV310 RISC-V 系统目前就在多个板卡上运行,因此也是实在的SoC系统。
SoC:
SoC又称片上系统。通俗的说,就是尽量将所需要的功能都集成到一颗芯片上。比如语音处理芯片,将语音的采样,语音的回放,语音处理(DSP),语音识别(机器学习),CPU等都集成在一颗芯片上。这样构成的系统体积小、重量轻、功耗小、成本低,是今后电子领域发展的方向。当然将所有的功能都集成在一起是理想化的想法,只能尽量接近。
ZYNQ SoC:
ZYNQ SoC是Xilinx推出集ARM CPU 、FPGA 于一体的SoC 系统,由于集成的CPU是ARM cortex-A 系列,算力较高,可以轻松得将Linux操作系统移植到该系统上。因此具备操作系统的ZYNQ SoC是目前最全的嵌入式系统。不仅包含了传统的嵌入式系统,还将FPGA的优势发挥的淋漓尽致。目前市面流行的主要是ZYNQ 7020 开发系统和学习资料。
Linux:
Linux是计算机的操作系统,是目前除了windows外最为流行的操作系统。由于Windows操作系统过于庞大,内核不开放,实时响应不够快,再加上版权问题,Windows并不适合移植到以控制为主的系统上。而Linux正好弥补了以上缺点,因此Linux目前是最流行的嵌入式操作系统。当然嵌入式操作系统除了linux还有其它的一些系统也在使用如uc-OS II,RTOS 等,但总体看Linux在嵌入式系统中起到霸主的地位。
为什么要参加ZYNQ SoC 的学习,因为ZYNQ SoC嵌入式系统是目前最全面的系统,不仅包含了ARM 系统, Linux系统,还包含了FPGA部分内容。当然ZYNQ SoC嵌入式系统学习也是有难度的系统。因为目前有许多学员希望在市面上买一块开发板通过自学达到SoC嵌入式的门槛,最终结果往往是从入门到放弃。钱花了,时间也浪费了最终一无所成。因为学习嵌入式系统,不仅仅是软件学习,还要掌握一定的硬件知识,操作系统的内核,内核驱动,CPU底层原理等知识。因此需要严谨的课程体系,有步骤、循序渐进的学习加上大量的实操才可以掌握。
什么样条件可以引导大家学习ZYNQ SoC 嵌入式系统?应具备以下条件:
- 具有高级硬件工程师,可以为学员透彻讲解硬件系统的组成关系,以及与软件的接口。
- 有多款款自主研发的ZYNQ SoC嵌入式系统开发板,如从低到高分别为FII-ZQ7020,FII-ZQ7030,FII-ZQ7100.目前FII-ZQ7030,FII-ZQ7100在世界范围内被多个国家的单位使用。
FII-ZQ7020 是专门为学员学习开发的学习和实战系统,具有充分的接口和配件,涉及多个行业。
- 有配套的课程体系,不仅仅讲解其核心部分,还有C语言教程,linux教程,FPGA教程,数字电路教程等多门相关的课程和教材,都可以开放给学员,力求学员在学习期间能补充不足,通过实战能逐渐向合格工程师靠拢。每个课程都有专家进行指导。
- 有功能庞大的知识库,可以为学员提供服务,在学员的学习中可以浏览各种文章及视频以及教材教案,为学员量身打造的知识库是学员巩固和提高必备条件。
- 线下:学习和实战1:2的关系,每天上课2小时,复习和作业4小时,实战4小时(有辅导)。当然可能要利用晚上和周么的时间。总时长约4个半月。
- 线上:在保证学员不脱产的前提下,每周3次理论学习(6个小时),12小时的复习与作业,实战12小时,尽量安排周么和晚上上课。总时长约6个月。
什么样的学员适合参加:
本课程专业性较强,建议学员大专以上相关学历(电气,自动化,电子,信息,机电,计算机(嵌入式方向),应用物理等专业,并且具备模拟、数字电路知识。如果具有单片机,c 语言等基础知识,本课程是比较好的选择。学员的年龄层次适合20-40岁之间。
学员在学习期间会学哪些课程:
- FPGA基础知识(含verilog编程)
- C语言编程
- Linux知识及操作命令
- FII-ZQ7020硬件系统
- AXI总线设计
- 平台SDK软件编程
- Linux 内核裁剪、编译与移植
- Linux应用程序开发
- Linux驱动与设备树
- 中断系统编程
这十个板块相符相乘构成了整个以Zynq为主的嵌入式系统的核心板块。
学习了Zynq系统后,其它的嵌入式系统就不用学习吗?
因为每种嵌入式系统都各有特点,不能说学一种就可以走遍天下了,但如果Zynq嵌入式系统学会、学透,其它的嵌入式系统都大同小异,可以花一些时间自学就完全可以掌握。一般情况下,在充分掌握Zynq嵌入式系统前提下,其它嵌入式系统在单位化1-2周的时间完全可以上手。
学习了Zynq系统后,就业方向有哪些?
目前嵌入式系统几乎横跨各个行业,包括软件开发,驱动开发,系统管理与维护,硬件及FPGA开发等。
课程的教学流程如下: