我是靠谱客的博主 复杂火,最近开发中收集的这篇文章主要介绍[architecture]-Generic Timer,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

快速链接:
???????????? 个人博客笔记导读目录(全部) ????????????

  • ARMv8/ARMv9架构精选系列–目录 ????????????
  • ARMV8/ARMV9/Trustzone/TEE安全课程????????????

前言:

文章目录

        • 1、architecture
        • 2、processor中有哪些timer?
        • 3、寄存器介绍
          • (1)、Count and frequency
          • (2)、Timer registers
          • (3)、Accessing the timers
        • 4、Configuring a timer
        • 4、中断
        • 5、Timer virtualization

1、architecture

generic Timer由System Counter和per-core timer组成.

2、processor中有哪些timer?

3、寄存器介绍

(1)、Count and frequency

CNTPCT_EL0:reports the current system count value

(2)、Timer registers

主要有三个寄存器:

(3)、Accessing the timers

• EL1 Physical and Virtual Timers
CNTKCTL_EL1.
• EL2 Physical and Virtual Timers
CNTKCTL_EL2:. These timers were added as part of the support for the Armv8.1-A Virtualization Host Extension, which is beyond the scope of this
• EL3 physical timer
SCR_EL3.ST.

4、Configuring a timer

使用timer有两种方式:

  • 使用CVAL, CVAL是64位的寄存器;
  • 使用TVAL, TVAL是32位的寄存器, TVAL随着system conter值的增加而减小.

4、中断

timer产生的中断,只可以routing到当前core

timer中断的控制,在CTL寄存器中

The interrupt ID (INTID)由SBSA文档定义推荐的值, 注:Server Base System Architecture (SBSA)

中断产生之后,会持续输出中断,直到如下条件发生:

所以在产生一个timer中断后,软件需要在该中断变为deactivating之前,清除该中断。

5、Timer virtualization

Virtual Count = Physical Count -



最后

以上就是复杂火为你收集整理的[architecture]-Generic Timer的全部内容,希望文章能够帮你解决[architecture]-Generic Timer所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部