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.

[参考译文] BEAGLEBN:DMTimer 问题

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/834460/beaglebn-dmtimer-questions

器件型号:BEAGLEBN

内核= Linux-RT-4.14.114+git:RobertCNelson/ti-linux-kernel-dev

交叉编译器= arm-linux-gnueabihf-gcc

----------------------------------------------------

你(们)好

我想使用 dmtimer 库:

头文件:/include/clocksource/timer-ti-dm.h
C 文件:/drivers/clocksource/timer-ti-dm.c

在内核模块中: https://github.com/ddrown/pps-gmtimer/blob/ti_4_9_x/pps-gmtimer.c

(这是模块的旧版本要立即使用它、我更改了标题:#include 更改为:#include )

模块使用硬件计时器作为 pps 器件。

如果我编译模块、我会收到以下编译器警告:

警告:"omap_dm_timer_get_fclk"[/pps-gmtimer/kernel/pps-gmtimer/pps-gmtimer.ko 未定义!
警告:"OMAP_dm_timer_enable"[/pps-gmtimer/kernel/pps-gmtimer/pps-gmtimer.ko 未定义!
警告:"omap_dm_timer_request_by_node"[/GPS_cape /pps-gmttimer/kernel/pps-gmttimer/pps-gmttimer.ko]未定义!
警告:"omap_dm_timer_read_status"/gps_cap/pps-gmttimer/kernel/pps-gmttimer/pps-gmttimer.ko]未定义!
警告:"omap_dm_timer_free"[/GPS_cape /pps-gmttimer/kernel/pps-gmttimer/pps-gmttimer.ko]未定义!
警告:"omap_dm_timer_stop"/gps_cep/pps-gmttimer/kernel/pps-gmttimer/pps-gmttimer.ko]未定义!
警告:"omap_dm_timer_set_int_disable"[/GPS_cape /pps-gmttimer/kernel/pps-gmttimer/pps-gmttimer.ko]未定义!
警告:"omap_dm_timer_set_source"[/GPS_cap/pps-gmtimer/kernel/pps-gmtimer/pps-gmtimer.ko]未定义!
警告:"omap_dm_timer_read_counter"[/GPS_cape /pps-gmtimer/kernel/pps-gmtimer/pps-gmtimer.ko]未定义!

如果我尝试加载已编译的模块、请执行以下操作:

sudo insmod ps-gmtimer.ko 


我遇到以下错误:

[228.063538] pps_gmtimer:未知符号 omap_dm_timer_request_by_node (错误0)
[3330.286407] pps_gmtimer:未知符号 omap_dm_timer_stop (错误0)
[3330.286431] pps_gmtimer:未知符号 omap_dm_timer_set_source (错误0)
[3330.286446] pps_gmtimer:未知符号 omap_dm_timer_get_fclk (错误0)
[3330.286460] pps_gmtimer:未知符号 omap_dm_timer_free (错误0)
[3330.286471] pps_gmtimer:未知符号 omap_dm_timer_request_by_node (错误0)
[3330.286517] pps_gmtimer:未知符号 omap_dm_timer_set_int_disable (错误0)
[3330.286540] pps_gmtimer:未知符号 omap_dm_timer_enable (错误0)
[3330.289645] pps_gmtimer:未知符号 omap_dm_timer_read_counter (错误0)
[3330.289676] pps_gmtimer:未知符号 omap_dm_timer_read_status (错误0)

在线程 :https://e2e.ti.com/support/processors/f/791/t/821652中  、通过编辑 timer-ti-dm.c 和 addíng export_symbol-macro 来解决该问题。
但是、如果我使用此解决方案、我必须操作和重建内核... 这不是一种使用 dmtimer 库的用户友好方式。

那么、我的问题是、是否可以在不重建内核的情况下使用内核模块中的 dmtimer 库? 或者、我是否必须采用另一种方法来使用计时器-哪一种?

此致、
Justus