This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM4376:PRU_ICSS 计时器

Guru**** 2347070 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1511513/am4376-pru_icss-timer

器件型号:AM4376

工具/软件:

您好:

当前:

我 在内核中使用了 hrtimer 和选项 clock_单调 性、运行良好。

现在:

我正在尝试使用 来自内核的 clock_loatic_raw、但不允许我使用。

PRU 固件是否正在使用它?  

下面是我尝试访问该模块时的日志。

"root@AM437X-EVM:~# insmod ioctl_mode.ko  
[ 129.033292] ioctl_mod:加载树外模块会污染内核。
[129.034684] 主要= 240次要= 0  
[129.048345] 为 RTC 结构分配空间...已完成!!!
[129.048371] ------ [在这里剪切]------
[ 129.048380]警告:CPU:0 PID:636、在内核/time/hrtimer.c:1435 __hrtimer_init+0x100/0x104
[129.048438] 无效的时钟4。 只使用单调性
[ 129.048448]链接的模块:ioctl_mod (O+) irq_pruss_inTC prueth HSR ICSS_IEP PRU_rproc pm33xx OMAP _des_AES_driver libdes OMAP-Lshaml
[129.048617] CPU: 0 PID: 636 Comm: insmod tainted: g       W O     5.10.100-rt62-g204ec708dc #2.
[ 129.048647]硬件名称:通用 AM43 (平展设备树)
[129.048673] [ ](runfound_backtrace) from [ ](show_stack+0x10/0x14)
[ 129.048735][ ](show_stack) from [ ](__WARN+0xbc/0xd4)
[129.048784] [ ](__warn)、来自[ ](WARN_SLOWPATH_fmt+0x94/0xbc)
[129.048824]  ](warn_slowpath_fmt)、来自[ ](__hrtimer_init+0x100/0x104)
[129.048866] [ ](__hrtimer_init)、来自[ ](etx_driver_init+0x14c/0x1000 [ioctl_mod])
[129.048973] [ ](etx_driver_init [ioctl_mod])、来自[ ](do_one_initcall+0x7c/0x1cc)
[129.049045] [ ](do_one_initcall)、来自[ ](do_init_module+0x5c/0x240)
[129.049096] [ ](do_init_module)、来自[ ](LOAD_MODULE+0x23b0/0x2614)
[ 129.049140][ ](LOAD_MODULE)、来自[ ](sys_finit_module+0xb8/0xec)
[129.049181] [ ](sys_finit_module)、来自[ ](ret_fast_syscall+0x0/0x5c)
[ 129.049220]异常堆栈(0xc3a3bfa8至0xc3a3bff0)
[ 129.049248] bfa0:                  00000000 00035190 00000003 000227bc 00000000 00036188
[ 129.049276] bfc0:00000000 00035190 00000000 0000017b 0002034c 00000002 0002031c 00000000
[129.049297] bfe0:befebc30 befebc20 0001b3c1 415060e2
[129.049310] --[结束跟踪000000000003]---
Root@AM437X-EVM:~#[ 129.288105]器件驱动程序插入...完成!!

 

Root@AM437X-EVM:~#  
Ctrl-A Z 获取帮助| 115200 8N1 | NOR | Minicom 2.7.1 | VT102 |离线| ttyUSB0                                    

"

PRU_ICSS 固件正在使用什么计时器。?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Vrund、

    1)我怀疑你在使用 clock_gettime 吗? 如果没有、您尝试将哪些函数与 clock_单调 和 clock_onformation_raw 一起使用?

    2)我会更怀疑这条线
    "无效的时钟4。 使用单调性"

    我怀疑 PRU 以太网固件或驱动程序实际上与您观察到的行为有关。 如果要确保、只需在 Linux 器件树文件中禁用 PRU 以太网、查看是否仍存在问题。

    3)您使用的是哪个版本的 AM437x Linux SDK?

    此致、

    Nick

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Nick、

    1)在用户空间、 clock_gettime 与这两个选项一起使用。 ( clock_单调 和 clock_单调 _raw。)

    在内核级别(在制作.ko 文件的过程中),我使用 hrtimer_init。 因此、 CLOCK_ROLEASE 可以正常工作、但 CLOCK_ROLEAD_RAW 不起作用。  

    SDK 版本为8.02。

    此致、

    Vrund