【ZYNQ】CPU 私有定时器

Zynq 的每个 Cortex-A9 处理器都有自己的专用 32 位定时器和 32 位看门狗定时器,两个处理器共享一个全局 64 位定时器,这些计时器的时钟频率始终为 CPU 频率的 1/2。本文主要介绍 Zynq 芯片 CPU 私有定时器的工作特性,以及私有定时器的基本使用方法。

私有定时器

        Zynq 的每个 Cortex-A9 处理器都有自己的专用 32 位定时器和 32 位看门狗定时器,两个处理器共享一个全局 64 位定时器,这些计时器的时钟频率始终为 CPU 频率的 1/2。

CPU 私有定时器具有以下特性:

  • 32 位计数器,当计数达到 0 时产生中断
  • 8 位预分频器,可更好地控制中断周期
  • 可配置的单发(Single-shot)或自动重装(Auto-reload)模式
  • 可配置的计数器起始值
  • 时钟频率为 CPU 时钟的 1/2

        使用 CPU 私有定时器时,可以直接读写相关寄存器,也可以采用高层次的方法。Xilinx 官方已经将函数封装好,只需要声明头文件 "xscutimer.h" 即可。

#include "xparameters.h"
#include "xscugic.h"
#include "xscutimer.h"#define TIMER_DEVICE_ID   XPAR_XSCUTIMER_0_DEVICE_ID
#define TIMER_LOAD_VALUE  0xFFFFXScuGic   IntcInstance;   // GIC
XScuTimer TimerInstance;  // Timervoid Timer_Init(XScuGic *IntcInstancePtr, XScuTimer *TimerInstancePtr,u16 deviceId, u16 TimerIntrId)
{XScuTimer_Config *ConfigPtr;// 初始化CPU私有定时器ConfigPtr = XScuTimer_LookupConfig(deviceId);XScuTimer_CfgInitialize(TimerInstancePtr, ConfigPtr,ConfigPtr->BaseAddr);// 自测试,确保硬件工作XScuTimer_SelfTest(TimerInstancePtr);// 使能自动重载模式XScuTimer_EnableAutoReload(TimerInstancePtr);// 配置计数器值XScuTimer_LoadTimer(TimerInstancePtr, TIMER_LOAD_VALUE);// 启动定时器XScuTimer_Start(TimerInstancePtr);// 连接中断子系统TimerSetupIntrSystem(IntcInstancePtr,TimerInstancePtr, TimerIntrId);
}

在头文件 "xscutimer.h" 中可以看到 XScuTimer_EnableAutoReload() 与 XScuTimer_LoadTimer() 函数的定义,本质上是在写 Timer 相关寄存器。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/23349.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

selenium中,如何使用选择框

html5 一个多选下拉框&#xff0c;没有默认选 一个单选下拉狂&#xff0c;默认“张桐桐” <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>选择框</title> </head> <body><l…

我是大学生,应该选系统运维方向,还是web开发方向?

选择系统运维方向还是Web开发方向取决于你的兴趣、职业目标和个人技能。以下是对这两个方向的详细对比和建议&#xff0c;帮助你做出更明智的选择 双方比较 &#x1f926;‍♀️系统运维方向 优点&#xff1a; 稳定性&#xff1a;系统运维工作通常比较稳定&#xff0c;许多…

【Power Compiler手册】5.Verilog翻转活动示例

Verilog切换活动示例 以下示例展示了使用Verilog进行RTL(寄存器传输级)和门级描述时生成的切换活动数据。 RTL示例 这个Verilog RTL示例包括以下内容: RTL设计描述:定义了电路的功能和行为,但不涉及具体的门级实现细节。RTL测试台(testbench):用于仿真和测试RTL设计…

【问题复盘】第三方接口变慢导致服务崩溃

一、事件经过 -1、一个不在公司的下午&#xff0c;接到客户投诉&#xff0c;说平台不能访问了。 0、介入调查&#xff0c;发现服务器http请求无法访问&#xff0c;https请求却可以正常访问&#xff0c;一时有些无法理解&#xff1b;&#xff08;后来发现&#xff0c;http和htt…

在gateway网关中使用feign远程调用

由于 gateway 采用 spring-boot-starter-webflux 异步的 web 组件&#xff0c;该组件和 spring-boot-starter-web 有较大区别&#xff0c;我们的 openFeign 对 spring-boot-starter-web 比较契合&#xff0c;而对于 前者则需要做一些适配。 编写如下配置类 SpringBootConfigur…

网络编程(八)

网络编程&#xff08;八&#xff09; 数据库数据库的分类基于嵌入式的数据库什么是SQLite?为什么使用SQLite?sqlite3数据库的安装 sqlite3中的点命令.open 数据库文件名字.tables [数据库文件名].schema 表名.database.quit.head on.mode column SQLite数据库中的数据类型SQL…

《混凝土坝安全监测资料整编规程》的深入解读与实际应用

在水利工程中&#xff0c;混凝土坝作为重要的建筑物&#xff0c;其安全监测工作至关重要。为了确保监测工作的准确性和有效性&#xff0c;制定一套规范的混凝土坝安全监测资料整编规程显得尤为重要。本文将对《混凝土坝安全监测资料整编规程》进行深入解读&#xff0c;并探讨其…

泛型基础及深入

泛型深入 泛型定义&#xff1a; JDK5引入的特性&#xff0c;可以在编译阶段约束操作的数据类型&#xff0c;并进行检查 泛型格式&#xff1a; <数据类型> 注意&#xff1a;泛型只能支持引用数据类型 优势&#xff1a; 统一数据类型&#xff1b; 把运行时期的问题提前到…

Linux中 .PHONY 和 all 在 Makefile 中的作用

1 .PHONY 和 all .PHONY 是 GNU make 工具中的一个特殊指令&#xff0c;用于指示某个目标是一个伪目标。伪目标并不对应于实际的文件&#xff0c;而是用来执行一系列命令的标识符。使用 .PHONY 的好处包括避免与现有文件同名造成的冲突&#xff0c;以及提高 make 的执行效率&am…

快速排序(Quick Sort)(C语言) 超详细解析!!!

生活的本质是什么呢? 无非就是你要什么就不给你什么. 而生活的智慧是什么呢? 是给你什么就用好什么. ---马斯克 索引 一. 前言二. 快速排序的概念三. 快速排序的实现1. hoare2. 挖坑法3. 前后指针法 总结 正文开始 一. 前言 接上文, 前面我们了解了插入排序, 与优化版本希尔…

ROS IMU惯性测量单元消息包

ROS IMU惯性测量单元消息包 IMU工作原理与作用 IMU&#xff08;Inertial Measurement Unit&#xff0c;惯性测量单元&#xff09;是一种重要的传感器&#xff0c;用于测量和报告一个物体的特定物理量&#xff0c;包括加速度、角速度和&#xff08;在某些情况下&#xff09;磁…

100道面试必会算法-31-字母异位词分组

100道面试必会算法-31-字母异位词分组 给你一个字符串数组&#xff0c;请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs ["eat", "tea", "tan"…

HQL面试题练习 —— 向用户推荐好友喜欢的音乐

目录 1 题目2 建表语句3 题解 题目来源&#xff1a;腾讯。 1 题目 现有三张表分别为&#xff1a; 用户关注表 t_follow(user_id,follower_id)记录用户ID及其关注的人ID&#xff0c;请给用户1 推荐他关注的用户喜欢的音乐名称 ------------------------ | user_id | follower…

六月可以闭眼入的宠物空气净化器:希喂、安德迈、霍尼韦尔真实PK

俗话说得好&#xff0c;猫咪一年到头都在掉毛&#xff0c;仿佛它们是四季常在的"蒲公英"&#xff0c;随时随地都在播撒毛发。猫毛不仅遍布它们自己的身体&#xff0c;还可能飘到你的床铺、沙发、衣物上……面对这样的状况&#xff0c;既要应对无处不在的猫毛&#xf…

基于卷积神经网络(CNN)的垃圾分类模型研究

摘要&#xff1a; 随着城市化进程的加快&#xff0c;垃圾问题日益严重。传统的垃圾分类方法存在效率低下、准确率不高等问题。本文提出了一种基于卷积神经网络&#xff08;CNN&#xff09;的垃圾分类模型&#xff0c;该模型能够自动识别并分类不同类型的垃圾。实验表明&#xf…

Kruskal算法求最小生成树

#include <stdio.h> #include <stdlib.h> #include <string.h> #include <assert.h> #define MAX 100 #define NO INT_MAX//NO表示没有边&#xff0c;相当于INFtypedef struct Graph {int arcnum;int vexnum;char vextex[MAX][20];int martrix[MAX][MA…

什么无线领夹麦克风音质最好?领夹麦克风品牌排行榜前十名推荐

​在当今的数字化浪潮中&#xff0c;个人声音的传播和记录变得尤为重要。无论是会议中心、教室讲台还是户外探险&#xff0c;无线领夹麦克风以其卓越的便携性和连接稳定性&#xff0c;成为了人们沟通和表达的首选工具。面对市场上琳琅满目的无线麦克风选择&#xff0c;为了帮助…

【Python】使用 SQLObject orm 库快速将接口数据存入数据库

使用 SQLObject orm 库快速将接口数据存入数据库 文章目录 使用 SQLObject orm 库快速将接口数据存入数据库背景orm python 版本都有哪些&#xff1f; SQLObject 简单的使用 背景 因为测试需要&#xff0c;要将百万条数据接口查询数据存入数据库中&#xff0c;为了减少 mysql …

Doris insert into 插入语句执行成功,且select查询成功,返回结果不报错,但查不到该插入数据

问题&#xff1a;Doris insert into 正常执行成功&#xff0c;select 查询也执行成功&#xff0c;但查不到该写入数据 原因&#xff1a;由于有其他 insert commit 事务待提交且该任务处于锁的状态&#xff0c;导致不断在回滚&#xff0c;进而造成其他的insert into 语句也执行成…

26 - 超过5名学生的课(高频 SQL 50 题基础版)

26 - 超过5名学生的课 select class fromCourses group byclass havingcount(*)>5;