.. include:: ../disclaimer-zh_CN.rst :Original: Documentation/iio/iio_configfs.rst :翻译: å¸å»¶è…¾ Yanteng Si <siyanteng@loongson.cn> .. _cn_iio_configfs: ===================== 工业 IIO configfsæ”¯æŒ ===================== 1. 概述 ======= Configfs是一ç§å†…æ ¸å¯¹è±¡çš„åŸºäºŽæ–‡ä»¶ç³»ç»Ÿçš„ç®¡ç†ç³»ç»Ÿï¼ŒIIO使用一些å¯ä»¥é€šè¿‡ configfsè½»æ¾é…置的对象(例如:设备,触å‘器)。 关于configfs是如何è¿è¡Œçš„,请查阅Documentation/filesystems/configfs.rst 了解更多信æ¯ã€‚ 2. 用法 ======= 为了使configfs支æŒIIO,我们需è¦åœ¨ç¼–译时选ä¸configçš„CONFIG_IIO_CONFIGFS 选项。 然åŽï¼ŒæŒ‚è½½configfs文件系统(通常在 /config directory目录下):: $ mkdir/config $ mount -t configfs none/config æ¤æ—¶ï¼Œå°†åˆ›å»ºæ‰€æœ‰é»˜è®¤IIO组,并å¯ä»¥åœ¨/ config / iio下对其进行访问。 ä¸‹ä¸€ç« å°†ä»‹ç»å¯ç”¨çš„IIOé…置对象。 3. 软件触å‘器 ============= IIO默认configfs组之一是“触å‘器â€ç»„。挂载configfsåŽå¯ä»¥è‡ªåŠ¨è®¿é—®å®ƒï¼Œå¹¶ä¸”å¯ ä»¥åœ¨/config/iio/triggers下找到。 IIO软件触å‘器为创建多ç§è§¦å‘器类型æ供了支æŒã€‚通常在include/linux/iio /sw_trigger.h:ä¸çš„接å£ä¸‹å°†æ–°çš„触å‘器类型实现为å•ç‹¬çš„å†…æ ¸æ¨¡å—: :: /* * drivers/iio/trigger/iio-trig-sample.c * 一ç§æ–°è§¦å‘å™¨ç±»åž‹çš„å†…æ ¸æ¨¡å—实例 */ #include <linux/iio/sw_trigger.h> static struct iio_sw_trigger *iio_trig_sample_probe(const char *name) { /* * 这将分é…并注册一个IIO触å‘器以åŠå…¶ä»–触å‘器类型特性的åˆå§‹åŒ–。 */ } static int iio_trig_sample_remove(struct iio_sw_trigger *swt) { /* * 这会废弃iio_trig_sample_probeä¸çš„æ“作 */ } static const struct iio_sw_trigger_ops iio_trig_sample_ops = { .probe = iio_trig_sample_probe, .remove = iio_trig_sample_remove, }; static struct iio_sw_trigger_type iio_trig_sample = { .name = "trig-sample", .owner = THIS_MODULE, .ops = &iio_trig_sample_ops, }; module_iio_sw_trigger_driver(iio_trig_sample); æ¯ç§è§¦å‘器类型在/config/iio/triggersä¸‹éƒ½æœ‰å…¶è‡ªå·±çš„ç›®å½•ã€‚åŠ è½½iio-trig-sample 模å—将创建“trig-sampleâ€è§¦å‘器类型目录/config/iio/triggers/trig-sample. 我们支æŒä»¥ä¸‹ä¸æ–æºï¼ˆè§¦å‘器类型) * hrtimer,使用高分辨率定时器作为ä¸æ–æº 3.1 Hrtimer触å‘å™¨åˆ›å»ºä¸Žé”€æ¯ --------------------------- åŠ è½½iio-trig-hrtimer模å—将注册hrtimer触å‘器类型,从而å…许用户在 /config/iio/triggers/hrtimer下创建hrtimer触å‘器。 例如:: $ mkdir /config/iio/triggers/hrtimer/instance1 $ rmdir /config/iio/triggers/hrtimer/instance1 æ¯ä¸ªè§¦å‘器å¯ä»¥å…·æœ‰ä¸€ä¸ªæˆ–多个独特的触å‘器类型的属性。 3.2 "hrtimer" 触å‘器类型属性 ---------------------------- "hrtimerâ€è§¦å‘器类型没有æ¥è‡ª/config dir的任何å¯é…置属性。 它确实引入了触å‘目录的sampling_frequency属性。 该属性以Hz为å•ä½è®¾ç½®è½®è¯¢é¢‘率,精度为mHz。