ST意法半导体
直播中

刘艳

7年用户 2239经验值
私信 关注
[问答]

有什么办法可以从A7 linux访问M4计时器吗?

我需要在 M4 和 A7 内核之间进行一些时钟同步。所以我需要来自 A7 和 M4 的稳定时钟值用于单个时间点 如何从 A7 linux 访问 M4 计时器?



回帖(1)

李枫芸

2023-1-4 10:08:21
例如,从 M4 开始:
(请注意,当您通过 32 位总线读取 64 位计数器时,您应该确保在两次访问 STGEN 寄存器之间没有翻转)


  • #define STGENR_CNTCVL_OFF 0x0000
  • #define STGENR_CNTCVU_OFF 0x0004
  • #define STGENR_CNTCVL (*(uint32_t *) (STGENR_BASE + STGENR_CNTCVL_OFF))
  • #define STGENR_CNTCVU (*(uint32_t *) (STGENR_BASE + STGENR_CNTCVU_OFF))

  • uint32_t cntr_upper, cntr_lower;
  • uint64_t cntr;

  •         __HAL_RCC_STGENRO_CLK_ENABLE();
  •         do
  •         {
  •                 cntr_upper = STGENR_CNTCVU;
  •                 cntr_lower = STGENR_CNTCVL;
  •         }
  •         while (STGENR_CNTCVU != cntr_upper);

  •         cntr = ((uint64_t)cntr_upper << 32) + (uint64_t)cntr_lower;

此代码仅供示例(未测试)。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分