You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Cortex-A9与Arm Compiler 5读取CNTFRQ寄存器的技术问题求助

关于Arria V SoC裸机环境下用Arm Compiler 5读取CNTFRQ寄存器的问题

环境说明

  • 硬件:Arria V SoC评估板
  • 软件:裸机应用
  • 编译器:Arm Compiler 5(DS内置)

问题1:常规内联汇编语法无法正常工作

使用以下标准内联汇编代码尝试读取CNTFRQ寄存器,但无法正常运行,不清楚具体原因:

static uint32_t freq = 0;
__asm volatile("mrc p15, 0, %0, c14, c0, 0" : "=r" (freq));

问题2:另一种汇编语法可编译但存在异常

改用如下汇编语法后可以通过编译,但存在两个异常情况:

  • 无法添加volatile声明
  • 调试器执行到该汇编代码时程序停滞,既无法查看打印值,也无法继续调试或运行
__asm
{
    mrc p15, 0, freq, c14, c0, 0
}

内容的提问来源于stack exchange,提问作者hutcruchi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 04:35:03