alkaid_release_platform/database/dirs.py
ekko.bao 0a0f6a6054 初次创建仓库提交代码
1. 已经构建好了架子了。
2. 添加了示例的插件
2025-04-21 06:37:06 +00:00

1021 lines
32 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from pathlib import Path
from typing import Any
from functools import wraps
import sys, os
sys.path.append(os.path.join(os.path.dirname(__file__), '..'))
import core.logger as logger
log = logger.get_logger()
from database.base import BaseConfig, AutoInstanceDecorator
from database.options import ReleaseOptions
from database.common import *
@AutoInstanceDecorator
class DirAlias(BaseConfig):
"""给alkaid相关的目录文件其一个别名方便其他配置进行使用。
1. 所有的路径都是相对于ReleaseOptions.AlkaidRootPath的相对路径
2. 所有的路径都是字符串
3. 所有的路径都是列表
"""
_config = {
"mi_default": [
"sdk/makefile",
"sdk/sdk.mk",
"sdk/.clang-format",
"sdk/.clang-tidy",
"sdk/interface/add-config.mk",
"sdk/interface/clear-config.mk",
"sdk/interface/compile_options.mk",
"sdk/interface/hal-impl-config.mk",
"sdk/interface/makefile",
"sdk/interface/modules.mk",
"sdk/interface/raw-impl-config.mk",
"sdk/interface/tag-maker.mk",
"sdk/interface/tidy_ignore.mk",
"sdk/interface/tidy_ruler.mk",
"sdk/interface/include_scanner.sh",
"sdk/interface/header_blacklist.txt",
"sdk/interface/src_whitelist.txt",
"sdk/interface/sdk_coding_style_sanitize.py",
"sdk/interface/.scan_header_whitelist.json",
"sdk/interface/include/common/",
"sdk/interface/include/internal/kernel/",
"sdk/interface/include/internal/rtos/",
"sdk/interface/include/internal/user/",
"sdk/interface/include/sys/",
],
"mi_ai": [
"sdk/interface/include/aio/",
"sdk/interface/include/ai/",
"sdk/interface/src/ai/",
"sdk/impl/ai/",
],
"mi_aio": [
"sdk/interface/include/aio/",
"sdk/interface/src/aio/",
"sdk/impl/aio/",
],
"mi_ao": [
"sdk/interface/include/aio/",
"sdk/interface/include/ao/",
"sdk/interface/src/ao/",
"sdk/impl/ao/",
],
"mi_alsa": [
"sdk/interface/include/alsa/",
"sdk/interface/src/alsa/",
"sdk/impl/alsa/",
],
"mi_cipher": [
"sdk/interface/include/cipher/",
"sdk/interface/src/cipher/",
"sdk/impl/cipher/",
],
"mi_common": [
"sdk/interface/src/common/",
"sdk/impl/common/",
],
"mi_cus3a": [
"sdk/interface/include/cus3a/",
"sdk/interface/src/cus3a/",
],
"mi_debug": [
"sdk/interface/include/debug/",
"sdk/interface/src/debug/",
"sdk/impl/debug/",
],
"mi_dummy": [
"sdk/interface/include/dummy/",
"sdk/interface/src/dummy/",
"sdk/impl/dummy/",
],
"mi_disp": [
"sdk/interface/include/disp/",
"sdk/interface/src/disp/",
"sdk/impl/disp/",
],
"mi_dpu": [
"sdk/interface/include/dpu/",
"sdk/interface/src/dpu/",
"sdk/impl/dpu/",
],
"mi_dsp": [
"sdk/interface/include/dsp/",
"sdk/interface/src/dsp/",
"sdk/impl/dsp/",
],
"mi_fb": [
"sdk/interface/include/fb/",
"sdk/interface/src/fb/",
"sdk/impl/fb/",
],
"mi_gfx": [
"sdk/interface/include/gfx/",
"sdk/interface/src/gfx/",
"sdk/impl/gfx/",
],
"mi_hdmi": [
"sdk/interface/include/hdmi/",
"sdk/interface/src/hdmi/",
"sdk/impl/hdmi/",
],
"mi_hdmirx": [
"sdk/interface/include/hdmirx/",
"sdk/interface/src/hdmirx/",
"sdk/impl/hdmirx/",
],
"mi_hvp": [
"sdk/interface/include/hvp/",
"sdk/interface/src/hvp/",
"sdk/impl/hvp/",
],
"mi_ipu": [
"sdk/interface/include/ipu/",
"sdk/interface/src/ipu/",
"sdk/impl/ipu/",
],
"mi_iqserver": [
"sdk/interface/include/iqserver/",
"sdk/interface/src/iqserver/",
],
"mi_isp": [
"sdk/interface/include/isp/",
"sdk/interface/src/isp/",
"sdk/impl/isp/",
],
"mi_ispalgo": [
"sdk/interface/include/ispalgo/",
"sdk/interface/src/ispalgo/",
],
"mi_ive": [
"sdk/interface/include/ive/",
"sdk/interface/src/ive/",
"sdk/impl/ive/",
],
"mi_jpd": [
"sdk/interface/include/jpd/",
"sdk/interface/src/jpd/",
"sdk/impl/jpd",
],
"mi_ldc": [
"sdk/interface/include/ldc/",
"sdk/interface/src/ldc/",
"sdk/impl/ldc/",
],
"mi_mipitx": [
"sdk/interface/include/mipitx/",
"sdk/interface/src/mipitx/",
"sdk/impl/mipitx/",
],
"mi_nir": [
"sdk/interface/include/nir/",
"sdk/interface/src/nir/",
"sdk/impl/nir/",
],
"mi_panel": [
"sdk/interface/include/panel/",
"sdk/interface/src/panel/",
"sdk/impl/panel/",
],
"mi_pcie": [
"sdk/interface/include/pcie/",
"sdk/interface/src/pcie/",
"sdk/impl/pcie/",
],
"mi_pspi": [
"sdk/interface/include/pspi/",
"sdk/interface/src/pspi/",
"sdk/impl/pspi/",
],
"mi_rgn": [
"sdk/interface/include/rgn/",
"sdk/interface/src/rgn/",
"sdk/impl/rgn/",
],
"mi_scl": [
"sdk/interface/include/scl/",
"sdk/interface/src/scl/",
"sdk/impl/scl/",
],
"mi_sed": [
"sdk/interface/include/sed/",
"sdk/interface/include/vg/",
"sdk/interface/src/sed/",
],
"mi_sensor": [
"sdk/interface/include/sensor/",
"sdk/interface/src/sensor/",
"sdk/impl/sensor/",
],
"mi_shadow": [
"sdk/interface/include/shadow/",
"sdk/interface/src/shadow/",
"sdk/impl/shadow/",
],
"mi_sys": [
"sdk/interface/include/sys/",
"sdk/interface/src/sys/",
"sdk/impl/sys/",
],
"mi_sys_earlyinit": [
"sdk/interface/include/sys_earlyinit/",
"sdk/interface/src/sys_earlyinit/",
"sdk/impl/sys_earlyinit/",
],
"mi_vdec": [
"sdk/interface/include/vdec/",
"sdk/interface/src/vdec/",
"sdk/impl/vdec/",
],
"mi_vdf": [
"sdk/interface/include/md/",
"sdk/interface/include/od/",
"sdk/interface/include/vg/",
"sdk/interface/include/vdf/",
"sdk/interface/src/vdf/",
],
"mi_vcodec": [
"sdk/interface/src/vcodec/",
"sdk/interface/src/vcodec/config.mk",
],
"mi_vdisp": [
"sdk/interface/include/vdisp/",
"sdk/interface/src/vdisp/",
"sdk/impl/vdisp/",
],
"mi_venc": [
"sdk/interface/include/venc/",
"sdk/interface/src/venc/",
"sdk/impl/venc/",
],
"mi_vif": [
"sdk/interface/include/vif/",
"sdk/interface/src/vif/",
"sdk/impl/vif/",
],
"mi_wlan": [
"sdk/interface/include/wlan/",
"sdk/interface/src/wlan/",
],
"bench": [
"rtos/proj/sc/application/bench"
],
"bootloader": [
"rtos/proj/sc/application/bootloader"
],
"coremark": [
"rtos/proj/sc/application/coremark"
],
"common": [
"rtos/proj/sc/application/pipeline_demo/common"
],
"font": [
"rtos/proj/sc/application/pipeline_demo/font"
],
"iqserver": [
"rtos/proj/sc/application/pipeline_demo/iqserver"
],
"audio_app": [
"rtos/proj/sc/application/pipeline_demo/audio_app"
],
"disp_app": [
"rtos/proj/sc/application/pipeline_demo/disp_app"
],
"dualos_camera": [
"rtos/proj/sc/application/pipeline_demo/dualos_camera"
],
"dualos_pipeline": [
"rtos/proj/sc/application/pipeline_demo/dualos_pipeline"
],
"application_selector": [
"rtos/proj/sc/application/pipeline_demo/application_selector"
],
"ptree": [
"sdk/verify/ptree"
],
"rtos_bsp_demo": [
"sdk/verify/bsp_demo/rtos_bsp_demo"
],
"preload_rtos": [
r"sdk/verify/sample_code/source/{SWBoardAlias}/preload/rtos"
],
"preload_sample": [
r"sdk/verify/sample_code/source/{SWBoardAlias}/preload_sample/rtos"
],
"aov_preload": [
r"sdk/verify/sample_code/source/{SWBoardAlias}/aov/preload/rtos/aov_preload"
],
"cm4_preload": [
r"sdk/verify/sample_code/source/{SWBoardAlias}/cm4/preload/rtos/cm4_preload"
],
"sample_code": [
"sdk/verify/sample_code/build"
],
"sensordriver": [
"sdk/driver/SensorDriver"
],
"lvgl": [
"rtos/proj/sc/application/pipeline_demo/lvgl"
],
"usb_gadget_app": [
"rtos/proj/sc/application/pipeline_demo/usb_gadget_app"
],
"usb_gadget_app_uvc": [
"rtos/proj/sc/application/pipeline_demo/usb_gadget_app"
],
"cust_isp": [
"rtos/proj/sc/customer/cust_isp"
],
"cust_usb_gadget": [
"rtos/proj/sc/customer/usb_gadget"
],
"adc": [
"rtos/proj/sc/driver/sysdriver_common/adc"
],
"aesdma": [
"rtos/proj/sc/driver/sysdriver/aesdma"
],
"bdma": [
"rtos/proj/sc/driver/sysdriver/bdma",
"rtos/proj/sc/driver/sysdriver_common/bdma"
],
"capture": [
"rtos/proj/sc/driver/sysdriver_common/capture"
],
"crypto": [
"rtos/proj/sc/driver/sysdriver_common/crypto"
],
"camclk": [
"rtos/proj/sc/driver/sysdriver/camclk",
"rtos/proj/sc/driver/sysdriver_common/clk"
],
"cpufreq": [
"rtos/proj/sc/driver/sysdriver/cpufreq"
],
"drvutil": [
"rtos/proj/sc/driver/sysdriver/drvutil"
],
"dualos": [
"rtos/proj/sc/driver/sysdriver/dualos",
"rtos/proj/sc_priv/driver/sysdriver/dualos"
],
"earlyinit_setting": [
"rtos/proj/sc/customer/earlyinit_setting"
],
"earlyinit_main": [
"rtos/proj/sc/driver/sysdriver/earlyinit_main"
],
"earlyinit_impl": [
"rtos/proj/sc/driver/sysdriver/earlyinit_impl",
"rtos/proj/sc/driver/sysdriver/sensor_init/impl"
],
"earlyinit_rtos_api": [
"rtos/proj/sc/driver/sysdriver/earlyinit_rtos_api",
"rtos/proj/sc/driver/sysdriver/sensor_init/rtos_api"
],
"earlyinit_vsrc": [
"rtos/proj/sc/driver/sysdriver/sensor_init/vsrc"
],
"ipl_early_fw": [
"rtos/proj/sc/driver/sysdriver/ipl_early_fw"
],
"emac": [
"rtos/proj/sc/driver/sysdriver/emac"
],
"fcie": [
"rtos/proj/sc/driver/sysdriver/fcie",
"rtos/proj/sc/driver/sysdriver_common/fcie"
],
"flash": [
"rtos/proj/sc/driver/sysdriver/flash",
"rtos/proj/sc/driver/sysdriver_common/flash"
],
"fsp_qspi": [
"rtos/proj/sc/driver/sysdriver/fsp_qspi",
"rtos/proj/sc/driver/sysdriver_common/fsp_qspi"
],
"gpio": [
"rtos/proj/sc/driver/sysdriver/gpio",
"rtos/proj/sc/driver/sysdriver_common/gpio"
],
"i2c": [
"rtos/proj/sc/driver/sysdriver/i2c",
"rtos/proj/sc/driver/sysdriver_common/i2c"
],
"input": [
"rtos/proj/sc/driver/sysdriver/input"
],
"int": [
"rtos/proj/sc/driver/sysdriver/int"
],
"ir": [
"rtos/proj/sc/driver/sysdriver/ir",
"rtos/proj/sc/driver/sysdriver_common/ir"
],
"ive": [
"rtos/proj/sc/driver/sysdriver/ive",
"rtos/proj/sc_priv/driver/sysdriver/ive"
],
"kernel": [
"rtos/proj/sc/driver/sysdriver/kernel"
],
"loadns": [
"rtos/proj/sc/driver/sysdriver/loadns"
],
"mbx": [
"rtos/proj/sc/driver/sysdriver/mbx"
],
"miu": [
"rtos/proj/sc/driver/sysdriver/miu",
"rtos/proj/sc/driver/sysdriver_common/miu",
"rtos/proj/sc/driver/sysdriver_common/miu_dq"
],
"mmupte": [
"rtos/proj/sc/driver/sysdriver/mmupte"
],
"mspi": [
"rtos/proj/sc/driver/sysdriver/mspi",
"rtos/proj/sc/driver/sysdriver_common/mspi"
],
"riu": [
"rtos/proj/sc/driver/sysdriver/riu"
],
"msys": [
"rtos/proj/sc/driver/sysdriver/msys"
],
"otp": [
"rtos/proj/sc/driver/sysdriver/otp",
"rtos/proj/sc_priv/driver/sysdriver/otp"
],
"padmux": [
"rtos/proj/sc/driver/sysdriver/padmux",
"rtos/proj/sc/driver/sysdriver_common/padmux"
],
"pcie": [
"rtos/proj/sc/driver/sysdriver/pcie"
],
"pl011": [
"rtos/proj/sc/driver/sysdriver/pl011"
],
"power_manag": [
"rtos/proj/sc/driver/sysdriver/power_manag",
"rtos/proj/sc_priv/driver/sysdriver/power_manag"
],
"pwm": [
"rtos/proj/sc/driver/sysdriver/pwm",
"rtos/proj/sc/driver/sysdriver_common/pwm"
],
"rpmsg_lite": [
"rtos/proj/sc/driver/sysdriver/rpmsg-lite",
"rtos/proj/sc_priv/driver/sysdriver/rpmsg-lite"
],
"rtc": [
"rtos/proj/sc/driver/sysdriver/rtc"
],
"rtcpwc": [
"rtos/proj/sc/driver/sysdriver/rtcpwc",
"rtos/proj/sc/driver/sysdriver_common/rtcpwc"
],
"saradc": [
"rtos/proj/sc/driver/sysdriver/saradc"
],
"sdmmc": [
"rtos/proj/sc/driver/sysdriver/sdmmc",
"rtos/proj/sc/driver/sysdriver_common/sdmmc"
],
"str": [
"rtos/proj/sc/driver/sysdriver/str"
],
"sysdesc": [
"rtos/proj/sc/driver/sysdriver/sysdesc",
"rtos/proj/sc/driver/sysdriver_common/include"
],
"timer": [
"rtos/proj/sc/driver/sysdriver/timer",
"rtos/proj/sc/driver/sysdriver_common/timer"
],
"tsensor": [
"rtos/proj/sc/driver/sysdriver/tsensor",
"rtos/proj/sc/driver/sysdriver_common/tsensor"
],
"uart": [
"rtos/proj/sc/driver/sysdriver/uart"
],
"usb_gadget_udc_usb20": [
"rtos/proj/sc/driver/sysdriver/usb_gadget/udc/usb20",
"rtos/proj/sc_priv/driver/sysdriver/usb_gadget/udc/usb20"
],
"usb_gadget_udc_usb30": [
"rtos/proj/sc/driver/sysdriver/usb_gadget/udc/usb30",
"rtos/proj/sc_priv/driver/sysdriver/usb_gadget/udc/usb30"
],
"usbphy_drv": [
"rtos/proj/sc/driver/sysdriver/usb_gadget/udc/usbphy",
"rtos/proj/sc_priv/driver/sysdriver/usb_gadget/udc/usbphy"
],
"usbhost": [
"rtos/proj/sc/driver/sysdriver/usbhost",
"rtos/proj/sc_priv/driver/sysdriver/usbhost"
],
"voltage": [
"rtos/proj/sc/driver/sysdriver/voltage",
"rtos/proj/sc/driver/sysdriver_common/voltage"
],
"watchdog": [
"rtos/proj/sc/driver/sysdriver/watchdog",
"rtos/proj/sc/driver/sysdriver_common/watchdog"
],
"wifi_ssw6x5x": [
"rtos/proj/sc/driver/thirdparty/wifi/ssw6x5x"
],
"algo": [
"rtos/proj/sc/middleware/algo"
],
"decompress": [
"rtos/proj/sc/middleware/decompress"
],
"firmwarefs": [
"rtos/proj/sc/middleware/fs/firmwarefs",
"rtos/proj/sc_priv/middleware/fs/firmwarefs"
],
"freertos_plus_fat": [
"rtos/proj/sc/middleware/fs/Lab-Project-FreeRTOS-FAT"
],
"littlefs": [
"rtos/proj/sc/middleware/fs/littlefs",
"rtos/proj/sc_priv/middleware/fs/littlefs"
],
"lwfs": [
"rtos/proj/sc/middleware/fs/lwfs"
],
"nfs": [
"rtos/proj/sc/middleware/fs/nfs",
"rtos/proj/sc_priv/middleware/fs/nfs"
],
"proxyfs": [
"rtos/proj/sc/middleware/fs/proxyfs"
],
"tcpip": [
"rtos/proj/sc/middleware/tcpip"
],
"arm": [
"rtos/proj/sc/system/arch"
],
"riscv": [
"rtos/proj/sc/system/riscv"
],
"cam_dev_wrapper": [
"rtos/proj/sc/system/cam_dev_wrapper",
"rtos/proj/sc/driver/sysdriver_common/cam_dev_wrapper"
],
"cam_drv_poll": [
"rtos/proj/sc/system/cam_drv_poll",
"rtos/proj/sc/driver/sysdriver_common/cam_drv_poll"
],
"cam_fs_wrapper": [
"rtos/proj/sc/system/cam_fs_wrapper",
"rtos/proj/sc/driver/sysdriver_common/cam_fs_wrapper"
],
"cam_os_wrapper": [
"rtos/proj/sc/system/cam_os_wrapper",
"rtos/proj/sc/driver/sysdriver_common/cam_os_wrapper"
],
"cam_proc_wrapper": [
"rtos/proj/sc/system/cam_proc_wrapper",
"rtos/proj/sc/driver/sysdriver_common/cam_proc_wrapper"
],
"env_util": [
"rtos/proj/sc/system/env_util"
],
"initcall": [
"rtos/proj/sc/system/initcall"
],
"libc": [
"rtos/proj/sc/system/libc"
],
"libstdcpp_plugin": [
"rtos/proj/sc/system/libstdcpp_plugin",
"rtos/proj/sc_priv/system/libstdcpp_plugin"
],
"newlib_stub": [
"rtos/proj/sc/system/newlib_stub"
],
"loadable_module": [
"rtos/proj/sc/system/loadable_module"
],
"memmang": [
"rtos/proj/sc/system/memmang"
],
"memmap": [
"rtos/proj/sc/system/memmap"
],
"mempool": [
"rtos/proj/sc/system/mempool"
],
"MsWrapper": [
"rtos/proj/sc/system/MsWrapper"
],
"newlib_stub": [
"rtos/proj/sc/system/newlib_stub"
],
"freertos": [
"rtos/proj/sc/system/rtos/freertos",
"rtos/proj/sc_priv/system/rtos/freertos"
],
"freertos_main": [
"rtos/proj/sc/system/rtos/freertos_main"
],
"freertos_posix": [
"rtos/proj/sc/system/rtos/freertos_posix"
],
"sys_I_SW": [
"rtos/proj/sc/system/sys"
],
"context_switch": [
"rtos/proj/sc_priv/arch/arm/cortex-a/v7_aarch32/context_switch"
],
"lh_monitor": [
"rtos/proj/sc_priv/arch/arm/cortex-a/v7_aarch32/lh_monitor"
],
"pm_bench": [
"pm_rtos/proj/sc/bench"
],
"pm_bootloader": [
"pm_rtos/proj/sc/application/bootloader"
],
"pm_coremark": [
"pm_rtos/proj/sc/application/coremark"
],
"pm_common": [
"pm_rtos/proj/sc/application/common"
],
"pm_dhrystone": [
"pm_rtos/proj/sc/application/dhrystone"
],
"pm_dualos_pipeline": [
"pm_rtos/proj/sc/application/dualos_pipeline"
],
"pm_dualos_camera": [
"pm_rtos/proj/sc/application/dualos_camera"
],
"pm_usb_gadget_app": [
"pm_rtos/proj/sc/application/usb_gadget_app"
],
"pm_algo_test_app": [
"pm_rtos/proj/sc/application/algo_test_app"
],
"pm_slnn_raw_hpd": [
"pm_rtos/proj/sc/application/slnn_raw_hpd"
],
"pm_slnn_sypd": [
"pm_rtos/proj/sc/application/slnn_sypd"
],
"pm_slnn_syfd": [
"pm_rtos/proj/sc/application/slnn_syfd"
],
"pm_cm4_pipeline": [
"pm_rtos/proj/sc/application/cm4_pipeline"
],
"pm_audio_aed": [
"pm_rtos/proj/sc/application/audio_aed"
],
"pm_audio_wos": [
"pm_rtos/proj/sc/application/audio_wos"
],
"pm_cust_isp": [
"pm_rtos/proj/sc/customer/cust_isp"
],
"pm_cust_usb_gadget": [
"pm_rtos/proj/sc/customer/usb_gadget"
],
"pm_aesdma": [
"pm_rtos/proj/sc/driver/sysdriver/aesdma"
],
"pm_bdma": [
"pm_rtos/proj/sc/driver/sysdriver/bdma"
],
"pm_camclk": [
"pm_rtos/proj/sc/driver/sysdriver/camclk"
],
"pm_cpufreq": [
"pm_rtos/proj/sc/driver/sysdriver/cpufreq"
],
"pm_drvutil": [
"pm_rtos/proj/sc/driver/sysdriver/drvutil"
],
"pm_dualos": [
"pm_rtos/proj/sc/driver/sysdriver/dualos"
],
"pm_loadns": [
"pm_rtos/proj/sc/driver/sysdriver/loadns"
],
"pm_emac": [
"pm_rtos/proj/sc/driver/sysdriver/emac"
],
"pm_flash": [
"pm_rtos/proj/sc/driver/sysdriver/flash"
],
"pm_fsp_qspi": [
"pm_rtos/proj/sc/driver/sysdriver/fsp_qspi"
],
"pm_gpio": [
"pm_rtos/proj/sc/driver/sysdriver/gpio"
],
"pm_i2c": [
"pm_rtos/proj/sc/driver/sysdriver/i2c"
],
"pm_int": [
"pm_rtos/proj/sc/driver/sysdriver/int"
],
"pm_ir": [
"pm_rtos/proj/sc/driver/sysdriver/ir"
],
"pm_ive": [
"pm_rtos/proj/sc/driver/sysdriver/ive"
],
"pm_kernel": [
"pm_rtos/proj/sc/driver/sysdriver/kernel"
],
"pm_miu": [
"pm_rtos/proj/sc/driver/sysdriver/miu"
],
"pm_mmupte": [
"pm_rtos/proj/sc/driver/sysdriver/mmupte"
],
"pm_mspi": [
"pm_rtos/proj/sc/driver/sysdriver/mspi"
],
"pm_msys": [
"pm_rtos/proj/sc/driver/sysdriver/msys"
],
"pm_padmux": [
"pm_rtos/proj/sc/driver/sysdriver/padmux"
],
"pm_pcie": [
"pm_rtos/proj/sc/driver/sysdriver/pcie"
],
"pm_pl011": [
"pm_rtos/proj/sc/driver/sysdriver/pl011"
],
"pm_mhal_pm_clk": [
"pm_rtos/proj/sc/driver/sysdriver/pm_clk"
],
"pm_pm_idle": [
"pm_rtos/proj/sc/driver/sysdriver/pm_idle"
],
"pm_mhal_pm_mbx": [
"pm_rtos/proj/sc/driver/sysdriver/pm_mbx"
],
"pm_pm_power": [
"pm_rtos/proj/sc/driver/sysdriver/pm_power"
],
"pm_pm_rtcpwc": [
"pm_rtos/proj/sc/driver/sysdriver/pm_rtcpwc"
],
"pm_mhal_pm_sys": [
"pm_rtos/proj/sc/driver/sysdriver/pm_sys"
],
"pm_mhal_pm_wdt": [
"pm_rtos/proj/sc/driver/sysdriver/pm_wdt"
],
"pm_power_manag": [
"pm_rtos/proj/sc/driver/sysdriver/power_manag"
],
"pm_pspi": [
"pm_rtos/proj/sc/driver/sysdriver/pspi"
],
"pm_pwm": [
"pm_rtos/proj/sc/driver/sysdriver/pwm"
],
"pm_rpmsg_lite": [
"pm_rtos/proj/sc/driver/sysdriver/rpmsg-lite"
],
"pm_rtc": [
"pm_rtos/proj/sc/driver/sysdriver/rtc"
],
"pm_rtcpwc": [
"pm_rtos/proj/sc/driver/sysdriver/rtcpwc"
],
"pm_saradc": [
"pm_rtos/proj/sc/driver/sysdriver/saradc"
],
"pm_sdmmc": [
"pm_rtos/proj/sc/driver/sysdriver/sdmmc"
],
"pm_sysdesc": [
"pm_rtos/proj/sc/driver/sysdriver/sysdesc"
],
"pm_timer": [
"pm_rtos/proj/sc/driver/sysdriver/timer"
],
"pm_tsensor": [
"pm_rtos/proj/sc/driver/sysdriver/tsensor"
],
"pm_uart": [
"pm_rtos/proj/sc/driver/sysdriver/uart"
],
"pm_usb_gadget_udc_usb20": [
"pm_rtos/proj/sc/driver/sysdriver/usb_gadget/udc/usb20"
],
"pm_usb_gadget_udc_usb30": [
"pm_rtos/proj/sc/driver/sysdriver/usb_gadget/udc/usb30"
],
"pm_usbphy_drv": [
"pm_rtos/proj/sc/driver/sysdriver/usb_gadget/udc/usbphy"
],
"pm_usbhost": [
"pm_rtos/proj/sc/driver/sysdriver/usbhost"
],
"pm_voltage": [
"pm_rtos/proj/sc/driver/sysdriver/voltage"
],
"pm_watchdog": [
"pm_rtos/proj/sc/driver/sysdriver/watchdog"
],
"pm_decompress": [
"pm_rtos/proj/sc/middleware/decompress"
],
"pm_firmwarefs": [
"pm_rtos/proj/sc/middleware/fs/firmwarefs"
],
"pm_freertos_plus_fat": [
"pm_rtos/proj/sc/middleware/fs/Lab-Project-FreeRTOS-FAT"
],
"pm_littlefs": [
"pm_rtos/proj/sc/middleware/fs/littlefs"
],
"pm_lwfs": [
"pm_rtos/proj/sc/middleware/fs/lwfs"
],
"pm_proxyfs": [
"pm_rtos/proj/sc/middleware/fs/proxyfs"
],
"pm_tcpip": [
"pm_rtos/proj/sc/middleware/tcpip"
],
"pm_arm": [
"pm_rtos/proj/sc/system/arch"
],
"pm_riscv": [
"pm_rtos/proj/sc/system/riscv"
],
"pm_cam_dev_wrapper": [
"pm_rtos/proj/sc/system/cam_dev_wrapper"
],
"pm_cam_drv_poll": [
"pm_rtos/proj/sc/system/cam_drv_poll"
],
"pm_cam_fs_wrapper": [
"pm_rtos/proj/sc/system/cam_fs_wrapper"
],
"pm_cam_os_wrapper": [
"pm_rtos/proj/sc/system/cam_os_wrapper"
],
"pm_cam_proc_wrapper": [
"pm_rtos/proj/sc/system/cam_proc_wrapper"
],
"pm_env_util": [
"pm_rtos/proj/sc/system/env_util"
],
"pm_initcall": [
"pm_rtos/proj/sc/system/initcall"
],
"pm_libc": [
"pm_rtos/proj/sc/system/libc"
],
"pm_memmang": [
"pm_rtos/proj/sc/system/memmang"
],
"pm_memmap": [
"pm_rtos/proj/sc/system/memmap"
],
"pm_mempool": [
"pm_rtos/proj/sc/system/mempool"
],
"pm_MsWrapper": [
"pm_rtos/proj/sc/system/MsWrapper"
],
"pm_freertos": [
"pm_rtos/proj/sc/system/rtos/freertos"
],
"pm_freertos_posix": [
"pm_rtos/proj/sc/system/rtos/freertos_posix"
],
"pm_sys_I_SW": [
"pm_rtos/proj/sc/system/sys"
],
"pm_mhal_pm_default": [
"pm_rtos/proj/sc/driver/camdriver/common"
],
"pm_mhal_imi_heap": [
"pm_rtos/proj/sc/driver/sysdriver/imi_heap"
],
"pm_mhal_pm_aio": [
"pm_rtos/proj/sc/driver/camdriver/pm_aio"
],
"pm_mhal_pm_idle": [
"pm_rtos/proj/sc/driver/camdriver/pm_idle"
],
"pm_mhal_pm_isp": [
"pm_rtos/proj/sc/driver/camdriver/pm_isp"
],
"pm_mhal_pm_ispalgo": [
"pm_rtos/proj/sc/driver/camdriver/pm_ispalgo"
],
"pm_mhal_pm_jpe": [
"pm_rtos/proj/sc/driver/camdriver/pm_jpe"
],
"pm_mhal_pm_md": [
"pm_rtos/proj/sc/driver/camdriver/pm_md"
],
"pm_mhal_pm_pir": [
"pm_rtos/proj/sc/driver/sysdriver/pm_pir"
],
"pm_mhal_pm_radar": [
"pm_rtos/proj/sc/driver/camdriver/pm_radar"
],
"pm_mhal_pm_radar_algo": [
"pm_rtos/proj/sc/driver/camdriver/pm_radar_algo"
],
"pm_mhal_pm_usb_gadget_udc_usb30": [
"pm_rtos/proj/sc/driver/sysdriver/usb_gadget/udc/usb30"
],
"pm_mhal_pm_usbpoc": [
"pm_rtos/proj/sc/driver/camdriver/pm_usbpoc"
],
"pm_mhal_pm_vif": [
"pm_rtos/proj/sc/driver/camdriver/pm_vif"
]
}
def check(self) -> bool:
for key, value in self.items():
if not isinstance(value, list):
raise ValueError(f"Invalid value type for {key}: {type(value)}")
for item in value:
if not isinstance(item, str):
raise ValueError(f"Invalid item type for {key}: {type(item)}")
# 格式化路径 将一些动态路径在运行时确定下来
file = self._path_format(item)
if not check_file_exists(file):
log.warning(f"{self.__class__.__name__} config [{file}] not exists")
self[key] = file # 将格式化后的路径更新到_dict中
return True
def _path_format(self, item: str) -> str:
return str_format(Path(ReleaseOptions.AlkaidRootPath) / item)
def str_format(item: Any) -> str:
"""格式化字符串,将字符串中的{key}替换为ReleaseOptions._dict[key]
我们目的是将一些会跟随实际chip分支会变化的文件路径在运行时才确定下来
## 例如:
```python
item = "sdk/verify/sample_code/source/{SWBoardAlias}/preload/rtos"
item = str_format(item)
print(item)
```
## 输出:
sdk/verify/sample_code/source/iford/preload/rtos
Args:
item (str): 需要格式化的字符串
Returns:
str: 格式化后的字符串
"""
item = str(item)
if '{' in item:
# log.info(f"format item: {item}")
item = item.format(**ReleaseOptions._dict) # 使用keyargs的方式格式化字符串
# log.info(f"formated item: {item} use {ReleaseOptions._dict}")
return item
def CheckDirAliasDecorator(cls):
"""配置检查装饰器:检查配置类中的所有项是否在 DirAlias 中存在, 如果是一个路径则检查其是否存在
例如:
```python
@CheckDirAliasDecorator
class Test(BaseConfig):
_config = ["mi_sys", "mi_isp", "sdk/verify/sample_code/source/{SWBoardAlias}/preload/rtos"]
```
那么会检查mi_sys和mi_isp是否在DirAlias中存在如果存在则返回True否则返回False
同时会检查sdk/verify/sample_code/source/{SWBoardAlias}/preload/rtos是否存在
Args:
cls: 被装饰的类
Returns:
cls: 装饰后的类
"""
original_check = cls.check
@wraps(original_check)
def wrapped_check(self) -> bool:
for item in self:
# 如果不是一个路径那么判断其是否在DirAlias中存在
if '/' not in item and not DirAlias[item]:
raise ValueError(f"{item} not found in DirAlias")
# 如果是路径那么判断其是否存在
if '/' in item:
if not check_file_exists(item):
log.warning(f"{self.__class__.__name__} config [{item}] not exists")
return True
cls.check = wrapped_check
return cls