slpi sensor初始化

本文详细介绍了SLPI中ams_tmd3702传感器的初始化过程,从配置文件的设置到sns_register_tmd3702方法的调用,解析ssc_static_lib_builder.py脚本如何生成代码,以及SLPI如何通过sns_user_pd_init.c中的sns_user_pd_init方法启动传感器初始化流程。
摘要由CSDN通过智能技术生成

slpi_proc/ssc/sensors/ams_tmd3702/build/sns_tmd3702.scons

一.配置文件:

if 'USES_SSC_STATIC_LIB_BUILDER' in env:
  if 'SSC_TARGET_HEXAGON' in env['CPPDEFINES']:
    env.AddSSCSU(inspect.getfile(inspect.currentframe()),
               flavor = ["hexagon"],
               register_func_name = "sns_register_tmd3702",
               binary_lib = False,
               add_island_files = tmd3702_island_enable,
               diag_ssid = "MSG_SSID_SNS_SENSOR_EXT")

 

这里向系统注册了sns_register_tmd3702方法,该模块第一个被调用的方法是sns_register_tmd3702。

 

二:程序入口:

1.sensor 模块入口

前边说了sns_register_tmd3702是该模块第一个被调用的方法,我们接下来看一下为什么它是第一个被调用的方法。在SLPI目录下有一个ssc_static_lib_builder.py脚本,这个脚本负责解析sns_tmd3702.scons(xxx.scons)配置文件,并且自动生成对应的代码。在ssc_static_lib_builder.py里边,有个generate_static_sensor_list()函数,这个是构建静态注册的sensor list:

def generate_static_sensor_list(env, tags):
  global static_sensors
  if env.IsKeyEnable(tags) is True:
    logger.info("generate_static_sensor_list() called with %d sensors" % len(static_sensors))

    #dest = os.path.join(env.subst('${SSC_ROOT}'), 'framework', 's
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值