ST意法半导体
登录
直播中
刘艳
7年用户
2218经验值
私信
关注
[问答]
有什么办法可以从A7 linux访问M4计时器吗?
开启该帖子的消息推送
Linux系统
计时器
我需要在 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;
此代码仅供示例(未测试)。
例如,从 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;
此代码仅供示例(未测试)。
举报
更多回帖
rotate(-90deg);
回复
相关问答
Linux系统
计时器
STM32MP157f-K2如何自动启动
A7
应用程序和
M4
固件并禁用演示?
2022-12-28
220
如何在
A7
与
M4
内核上运行像ThreadX/SMP这样的RTOS
2022-12-01
369
如何去实现
A7
和
M4
之间的处理
器
通信呢?
2022-12-27
306
如何实现STM32MP1里
A7
和
M4
之间的通信?
2022-01-26
1081
有没有
办法
直接
从
BootRom运行
M4
固件呢?
2023-01-17
207
STM32MP1
A7
与
M4
之间如何通信?
2022-12-27
273
请问有没有可能在
M4
和
A7
核心上有相同的时域?
2023-01-04
190
如何通过虚拟UART和GPIO引脚来完成
M4
唤醒
A7
的操作?
2023-01-05
134
如何将I2C外设添加到GPIO并使用Cortex
M4
访问
它呢?
2022-12-27
144
有没有
办法
用cubeMX在cortex
M4
侧映射外部RAM呢?
2023-01-05
304
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分