ZYNQ进阶之路9--ZYNQ PS端实现FreeRTOS嵌入式系统

ZYNQ进阶之路9--ZYNQ PS端实现FreeRTOS嵌入式系统

导论

在之前的章节中我们我们完成了PS端、PL端和PS+PL的一些工程,本章节我们插入一个小插曲,讲解FreeRTOS在ZYNQ中是如何实现的。

FreeRTOS简介

FreeRTOS(读作"free-arr-toss")是一个嵌入式系统使用的开源实时操作系统,FreeRTOS被设计为“小巧,简单,和易用”,能支持许多不同硬件架构以及交叉编译器。
就像所有操作系统一样,FreeRTOS的主要工作是执行任务。大部分FreeRTOS的代码都涉及优先权、调度以及执行用户自定义任务。但又与所有其他操作系统不同,FreeRTOS是一款运行在嵌入式系统上的实时操作系统。FreeRTOS包含所有你需要用来启动很运行系统的硬件无关以及硬件相关的代码。它支持许多编译器(CodeWarrior,GCC,IAR等)也支持许多处理器架构(ARM7,ARM Cortex-M3,PICs各系列,Silicon Labs 8051, x86等),当然也支持我们ZYNQ的Cortex_a9核。
而在ZYNQ上使用FreeRTOS主要有两个原因,1、这个原因最重要,他是开源免费的。2、xilinx的SDK提供了FreeRTOS的软件包。下面我们就来实际看一下如何实现在ZYNQ上运行FreeRTOS实现LED闪烁控制吧。

实现步骤

创建工程配置PS端如下所示(创建工程流程请参照前面章节内容):

有关如何以操作系统感知的方式调试在Avnet MiniZed板上运行的Embedded FreeRTOS应用程序的指南。 介绍在操作系统之上编写嵌入式软件应用程序时,通常很难检测某些时序问题或解释某些奇怪的行为。到底出了什么问题?另一件事是,在研究嵌入式操作系统时,以可视方式呈现系统的运行行为会很有用。了解任务优先级,调度程序设置,队列管理,... 我发现Percepio Tracealyzer是解决这类问题的理想工具。Tracealyzer可以通过两种方式工作:在快照模式下(这是本教程的内容)或在流模式下。 对于本指南,您需要一个Avnet MiniZed开发板(基于Xilinx Zynq),Xilinx vivado工具和Percepio tracealyzer 4(其网站上的评估版)。 让我们开始开发本指南的硬件部分(FPGA设计)。如果您不熟悉FPGA设计,则可以打开我的硬件设计。否则,从下面开始构建基于ZYNQ7的设计: 基于zynq7的设计 在程序框图上放置以下组件: ZYNQ7 P rocessing 小号ystem 具有2个通道的AXI GPIO 连接到pl_led_g 和pl_led_r 1个通道的AXI GPIO 连接到pl_sw_1bit 您可以对ZYNQ7处理系统使用自动配置(使用预设),但是随后必须手动添加M_AXI_GP0_ACLK 口以连接AXI从设备外围设备。 使用“自动连接”功能将AXI_GPIO模块连接到AXI总线。 不要忘记在“模块设计”的顶部添加HDL包装器。生成比特流,并将您的硬件设计导出到Vivado SDK(包括比特流)。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值