STM32MP135开发板 STM32MP135开发板是正点原子基于ST意法半导体的STM32MP135DAE7芯片研发的一款用于嵌入式Linux领域的高性能开发板,适用于嵌入式系统开发。STM32MP135DAE7处理器采用单核ARMcortex-A7内核,主频高达1GHz,支持双千兆以太网口,高性价比。 STM32MP135开发板视频介绍(点击此处观看视频) STM32MP135开发板资料下载 STM32MP135开发板资料下载:http://www.openedv.com/docs/boards/arm-linux/zdyz-STM32MP135.html STM32MP135开发...
第三章RV1126开发环境搭建 3.1rv1126的环境配置 在上章节里面我们已经安装好Ubuntu,此时的Ubuntu还是不能做开发的,因为还有很多环境和软件没有安装,所以要先安装环境,这里笔者已经把所有坑都填完了。跟着下面一步一步走就行了。 先设置Ubuntu的源国内的环境下使用Ubuntu官方的默认源是不能配置出RV1126的开发环境,有一些包不能安装,所以我们要设置合适的源。Ubuntu官方更换源有一个很智能的操作,可以根据自己的网络位置设配合适的源,设置如下步骤:打开设置,在左边设置栏里面找到“关于”如下图所示: 图3.1.1关于设置 我们找到“关于”设置后,右边栏最后面...
第四章SDK包的使用 ATK-DLRV1126开发板具有高性能低功耗,是一款基于RockchipRV1126芯片开发的开发板。RV1126是Rockchip推出的一款编解码芯片,CPU为4核ARMCortex-A732位,专用于面向人工智能的机械视觉领域,支持4K编解码,支持8路1080P同时进行编解码,内置2.0TOPS的NPU。像这种专用芯片,芯片厂商都会给出芯片的SDK包进行二次开发,用它来开发有很多好处,比如:不用安装一下特殊的软件和库,自带交叉工具链、文件系统和第三方库,可以直接编译出系统镜像,开发环境搭建比较容易等等。但是开发自由度不够高,更新Ruan件版本很麻烦,代码里有很多...
第五章RKMedia编译和使用 5.1RKMedia编译 Rkmedia是RK官方封装一层简易的API,把RGA、MPP、RKNN等等这些接口封装成高级的接口。在SDK官方的源码目录下,运行以下命令进行跳转: cdexternal/rkmedia/examples/ ls 运行命令结果如下所示: 图4.12.1.1rkmedia官方的demo 里面有很多C文件的代码,可以结合Rockchip_Developer_Guide_Linux_RKMedia_CN.pdf文档(路径为:开发板光盘A-基础资料à08、RV1126参考资料àRV1126_RV1109àMultimedi...
第六章buildroot使用 RV1126的文件系统是使用buildroot构建的,本章节基于RV1126开发板教大家如何修改或者编译buildroot软件包和添加自己的软件进入buildroot里。具体的使用方法请看【正点原子】Buildroot用户手册中文版(正点原子翻译)_V1.0.pdf文件。 6.1buildroot的使用技巧 学习过buildroot的需要先使能配置文件,就是在buildroot目录下运行“makexxxx_defconfig”,然后就会在本目录下生成“.config”文件,此文件就是buildroot的配置文件。在RV1126上是使用“envsetup.s...
HelloWorld实验 “HelloWorld!”是各种编程语言中最简单,同时也是最经典的入门实验。因此,我们将串口打印“HelloWorld”作为MPSOC嵌入式系统的开篇实验,这也是我们步入MPSOC的PS部分的始发点。通过本次实验我们将了解MPSOC嵌入式系统的开发流程,熟悉MPSOC嵌入式最小系统的搭建。 本章包括以下几个部分: 简介 实验任务 硬件设计 软件设计 下载验证 简介 首先我们来了解一下MPSOC嵌入式系统的开发流程。 图1.1.1MPSOC嵌入式系统开发流程 如上图所示,开发流程大体可以分为6步。其中step1至step4为硬件设计部分,...
GPIO之MIO控制LED实验 MPSOCPS中包含一组丰富的外设,如USB控制器、UART控制器、I2C控制器以及GPIO等等。他们提供了各种工业标准的接口,用于和外部设备进行通信。其中GPIO外设一般用于控制一些简单的外设,如LED和蜂鸣器,此时GPIO用作输出;也可以用于观测一些简单外设的状态,如按键,此时GPIO用作输入。 GPIO可以通过MIO连接到PS端的引脚,也可以通过EMIO连接到PL。本章将介绍如何使用GPIO外设通过MIO控制PS端的LED。本章包括以下几个部分: 简介 实验任务 硬件设计 软件设计 下载验证 简介 MPSOC分为PS和PL两部分,那...
GPIO之EMIO按键控制LED实验 PS和外部设备之间的通信主要是通过复用的输入/输出(MultiplexedInput/Output,MIO)实现的。除此之外,PS还可以通过扩展的MIO(ExtendedMIO,EMIO)来实现与外部设备的连接。EMIO使用了PL的I/O资源,当PS需要扩展超过78个引脚的时候可以用EMIO,也可以用它来连接PL中实现的IP模块。 本章我们将学习GPIO中EMIO接口信号的使用。本章包括以下几个部分: 简介 实验任务 硬件设计 软件设计 下载验证 简介 MPSOCGPIO接口信号被分成六组,分别是从BANK0到BANK5。其中BANK...
GPIO之MIO按键中断实验 中断是一种当满足要求的突发事件发生时通知处理器进行处理的信号。中断可以由硬件处理单元和外部设备产生,也可以由软件本身产生。对硬件来说,中断信号是一个由某个处理单元产生的异步信号,用来引起处理器的注意。对软件来说,中断还是一种异步事件,用来通知处理器需要改变代码的执行,不过,轮询所产生的中断的过程是同步的。 本章我们将学习GPIO中MIO(包括EMIO)接口中断信号的使用。本章包括以下几个部分: 简介 实验任务 硬件设计 软件设计 下载验证 简介 当处理器收到中断,它会停下当前正在做的任务,然后跳转到需要处理的地方去。这和轮询的方式是相反的,...
eMMC读写测试实验 eMMC是一种嵌入式多媒体存储卡,它具有存储容量大、传输速度快、易于使用等优点,主要应用于对存储容量有较高要求的消费电子产品,如智能手机、平板电脑和车载导航等。本章我们将使用MPSOC开发板学习如何对eMMC卡进行读写操作。 本章包括以下几个部分: 简介 实验任务 硬件设计 软件设计 下载验证 简介 eMMC的英文全称是EmbeddedMultiMediaCard,即嵌入式多媒体卡(又叫嵌入式存储卡),eMMC是MMC协会所订立的内嵌式存储器标准规格,主要是针对手机或者平板电脑为主,是一种非易失性的存储器件。 eMMC采用统一的MMC标准接口,把...
基于BRAM的PS和PL的数据交互 在MPSOC开发过程中,PL和PS之间经常需要做数据交互。对于传输速度要求较高、数据量大、地址连续的场合,可以通过AXIDMA来完成。而对于数据量较少、地址不连续、长度不规则的情况,此时AXIDMA便不再适用了。针对这种情况,可以通过BRAM来进行数据的交互。本章我们来学习下基于BRAM的PS和PL的数据交互。 本章包括以下几个部分: 简介 实验任务 硬件设计 软件设计 下载验证 简介 BRAM(BlockRAM)是PL部分的存储器阵列,PS和PL通过对BRAM进行读写操作,来实现数据的交互。在PL中,通过输出时钟、地址、读写控制等信...
FreeRtosHelloWorld实验 我们在使用Vitis新建工程时,在软件配置界面中有对操作系统的选择,这个选择有两个选项,一个选项是单机操作(standalone,即无操作系统),一个选项是实时操作系统(freertos10_xilinx)。Vitis开发指南的工程在开发时选择的都是单机操作,本章实验的目的是使用实时操作系统进行简单的基础实验开发,例如使用实时操作系统运行“HelloWorld”实验。 本章包括以下几个部分: 简介 实验任务 硬件设计 软件设计 下载验证 简介 什么是FreeRtos? Free即免费的,RTOS全称是RealTimeOpera...
AXI4接口之DDR读写实验 Xilinx从Spartan-6和Virtex-6系列开始使用AXI协议来连接IP核。在ZYNQMPSOC器件中,Xilinx在IP核中继续使用AXI协议。本章我们对AXI协议作一个简单介绍,并在Vivado中实现一个AXI4接口的IP核,用于对MPSOCPS端的DDR4进行读写测试。 本章包括以下几个部分: 简介 实验任务 硬件设计 软件设计 下载验证 简介 MPSOC将高性能ARMCotex-A系列处理器与高性能FPGA在单芯片内紧密结合,为设计带来了如减小体积和功耗、降低设计风险,增加设计灵活性等诸多优点。在将不同工艺特征的处理器与F...
AXIDMA环路测试 DMA(DirectMemoryAccess,直接存储器访问)是计算机科学中的一种内存访问技术。它允许某些计算机内部的硬件子系统可以独立地直接读写系统内存,而不需中央处理器(CPU)介入处理。DMA是一种快速的数据传送方式,通常用来传送数据量较多的数据块,很多硬件系统会使用DMA,包括硬盘控制器、绘图显卡、网卡和声卡,在使用高速AD/DA时使用DMA也是不错的选择。 本章我们使用PL的AXIDMA核实现DMA环路功能,了解DMA的使用。本章包括以下几个部分: 简介 实验任务 硬件设计 软件设计 下载验证 简介 DMA是所有现代计算机的重要特色,它允...
IP封装与接口定义实验 在前面的实验中,我们通过调用各种功能的IP核,可以快速地搭建BlockDesign。除了调用VivadoIP库中的IP核,我们还可以创建或封装自己的IP核。在本章我们将学习如何把HDL实现的功能模块封装成IP核,以及如何定义新的接口类型。 本章包括以下几个部分: 简介 实验任务 硬件设计 程序设计 下载验证 简介 Vivado开发工具集成了大量Xilinx官方IP核以及第三方厂商提供的IP核,如图22.1.1所示。这些IP核可以实现不同类型的功能,通过调用IP核可以大大加速我们的设计流程。我们也可以创建或封装自己的IP核,并将之添加到Vivado...
PS通过VDMA驱动LCD显示实验 AXIVDMA是Xilinx专门针对视频应用提供的一种高带宽的解决方案,旨在实现AXI4-Stream视频接口和AXI4接口之间的高带宽接入,可以方便地实现双缓冲和多缓冲机制。 本章我们将在PL端搭建VDMA的使用框架,并通过VDMA将PS端需要显示的数据显示在LCD上。本章包括以下几个部分: 简介 实验任务 硬件设计 软件设计 下载验证 简介 AXIVDMA(AXIVideoDirectMemoryAccess,以下简称VDMA),是Xilinx提供的软核IP。其功能和AXIDMA(以下简称DMA)有些类似,都可以为存储器或者AXI...
SD卡读BMP图片LCD显示实验 在“SD卡读写TXT文本实验”中,我们利用FATFS在SD卡中实现了TXT文本的创建、写入与读取。在本次实验中,我们将学习如何从SD卡中读取BMP图片,并将其显示在LCD上。 本章包括以下几个部分: 简介 实验任务 硬件设计 软件设计 下载验证 简介 我们常用的图片格式有很多,一般最常用的有四种:JPEG(或JPG)、BMP、PNG和GIF。其中JPEG(或JPG)、BMP和PNG是静态图片,而GIF则是动态图片。BMP全称是Bitmap(位图)的缩写,其特点是几乎不进行压缩,由此导致了它与生俱来的缺点,即占用磁盘空间较大;而其它三种图片...
SD卡读BMP图片HDMI显示实验 我们在“SD卡读BMP图片LCD显示实验”中,成功地将SD卡中的BMP图片读出,并将其显示在了LCD屏上。本章我们将学习如何SD卡中的BMP图片显示在HDMI显示器上。 本章包括以下几个部分: 简介 实验任务 硬件设计 软件设计 下载验证 简介 在“SD卡读BMP图片LCD显示实验”的简介部分,我们详细介绍了BMP图片的数据格式;另外在《MPSOCFPGA开发指南》中的“HDMI彩条显示实验”一章,我们介绍了HDMI接口。如果大家对这两部分的内容不熟悉的话,可以参考相应的章节,此处就不再赘述了。 实验任务 本章的实验任务是使用MP...
SD卡读BMP图片DP显示实验 在前面的例程中大家已经学会了SD卡读写,DP彩条显示等实验,那么本节实验将带领大家一起学习如何将SD卡中的BMP图片读取出来通过MiniDP接口显示到显示屏上(这里使用MiniDP转HDMI线实现MiniDP信号转HDMI信号并在HDMI显示屏上显示)。 本章包括以下几个部分: 简介 实验任务 硬件设计 软件设计 下载验证 简介 因为SD卡读取BMP图片和DP显示在前面的“SD卡读取BMP图片LCD显示实验”和“DP彩条显示实验”中都有过详细的介绍了,这里就不再重复赘述。 实验任务 在SD卡中存储一张BMP图片,使用MPSOC开发板...
OV5640摄像头LCD显示 OV5640是OmniVision(豪威科技)公司生产的一颗CMOS图像传感器,该传感器功耗低、分辨率高以及采集速率快,主要应用在玩具、手机、电脑多媒体等领域。本章我们将使用MPSOC开发板实现对OV5640的数字图像采集并通过LCD实时显示。 本章包括以下几个部分: 简介 实验任务 硬件设计 软件设计 下载验证 简介 OV5640是一款1/4英寸单芯片图像传感器,其感光阵列达到25921944(即500W像素),能实现最快15fpsQSXVGA(25921944)或者90fpsVGA(640480)分辨率的图像采集。传感器采用OmniVi...