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