初次创建仓库提交代码

1. 已经构建好了架子了。
2. 添加了示例的插件
This commit is contained in:
2025-04-21 06:32:47 +00:00
parent 567bcbc0d0
commit 0a0f6a6054
107 changed files with 48783 additions and 2 deletions

View File

@ -0,0 +1,141 @@
ConfigList:
- ipc_iford.nor.glibc-11.1.0-squashfs.ssc029a.512.bga12_ddr4_defconfig
- ipc-rtos_iford.spinand.glibc-11.1.0-ramdisk.ssc029a.512.bga12_ddr4_defconfig
MiReleaseList: []
MhalReleaseList: []
RtosReleaseList:
- coremark
- common
- font
- iqserver
- disp_app
- dualos_pipeline
- aov_preload
- cm4_preload
- preload_rtos
- preload_sample
- lvgl
- usb_gadget_app
- aesdma
- bdma
- camclk
- cpufreq
- drvutil
- emac
- fcie
- flash
- fsp_qspi
- gpio
- i2c
- input
- int
- ir
- kernel
- loadns
- miu
- mmupte
- mspi
- msys
- padmux
- pwm
- rtc
- rtcpwc
- saradc
- sdmmc
- str
- timer
- tsensor
- uart
- voltage
- watchdog
- algo
- decompress
- freertos_plus_fat
- lwfs
- proxyfs
- tcpip
- arm
- riscv
- libc
- newlib_stub
- cam_dev_wrapper
- cam_drv_poll
- cam_fs_wrapper
- cam_os_wrapper
- cam_proc_wrapper
- env_util
- initcall
- loadable_module
- memmang
- memmap
- mempool
- MsWrapper
- newlib_stub
- freertos_main
- freertos_posix
- sys_I_SW
PmRtosReleaseList:
- pm_aesdma
- pm_bdma
- pm_camclk
- pm_cpufreq
- pm_drvutil
- pm_loadns
- pm_emac
- pm_flash
- pm_fsp_qspi
- pm_gpio
- pm_i2c
- pm_int
- pm_ir
- pm_kernel
- pm_miu
- pm_mmupte
- pm_mspi
- pm_msys
- pm_padmux
- pm_pcie
- pm_pl011
- pm_mhal_pm_clk
- pm_pm_idle
- pm_mhal_pm_mbx
- pm_rtcpwc
- pm_mhal_pm_sys
- pm_mhal_pm_wdt
- pm_pspi
- pm_pwm
- pm_pm_power
- pm_rtc
- pm_rtcpwc
- pm_saradc
- pm_sdmmc
- pm_timer
- pm_tsensor
- pm_uart
- pm_voltage
- pm_watchdog
- pm_decompress
- pm_freertos_plus_fat
- pm_lwfs
- pm_proxyfs
- pm_tcpip
- pm_arm
- pm_riscv
- pm_cam_dev_wrapper
- pm_cam_drv_poll
- pm_cam_fs_wrapper
- pm_cam_os_wrapper
- pm_cam_proc_wrapper
- pm_env_util
- pm_initcall
- pm_libc
- pm_memmang
- pm_memmap
- pm_mempool
- pm_MsWrapper
- pm_freertos
- pm_freertos_posix
- pm_sys_I_SW

133
tests/data/test.mk Normal file
View File

@ -0,0 +1,133 @@
# 这是一个测试用的复杂 Makefile 示例
# 包含了各种 Makefile 语法特性用于测试解析器
# 简单变量赋值
SIMPLE_VAR = simple value
# 不同分隔符的变量赋值
COLON_VAR := immediately expanded value
# 多行变量定义
MULTILINE_VAR = first line \
second line \
third line
# 带注释的变量定义
WITH_COMMENT = value with trailing comment # 这是一个注释
# 定义函数
define MULTI_LINE_FUNCTION
echo "This is line 1"
echo "This is line 2"
echo "This is line 3"
endef
# 使用 += 追加变量内容
APPEND_VAR = initial value
APPEND_VAR += appended value
# 条件语句
ifdef DEBUG
LOG_LEVEL = debug
else
LOG_LEVEL = info
endif
# 使用函数
SOURCES = main.c util.c driver.c
OBJECTS = $(patsubst %.c,%.o,$(SOURCES))
# 空变量定义
EMPTY_VAR =
# 带特殊字符的变量定义
SPECIAL_CHARS = $$HOME/bin:/usr/local/bin:$$PATH
# 引用其他变量
COMPOUND_VAR = $(SIMPLE_VAR) and $(COLON_VAR)
# 内容中包含等号的变量
EQUAL_IN_VALUE = key1=value1 key2=value2
# 目标定义
all: build test
# 带多条命令的目标
build:
@echo "Building..." # 注释
$(CC) -o output $(SOURCES)
@echo "Build complete"
# 依赖于多个目标的规则
test: unit_test integration_test
@echo "All tests completed"
# 模式规则
%.o: %.c
$(CC) -c -o $@ $<
# 伪目标
.PHONY: all clean test
# 复杂的多行命令
clean:
@echo "Cleaning up..."
rm -f *.o
rm -f output
@echo "Clean complete"
# 变量中包含换行
NEWLINE := line1$(shell echo)line2
# 带续行符的shell命令
test_shell:
for file in $(SOURCES); do \
echo "Processing $$file"; \
cat $$file | grep "TODO"; \
done
# 使用 ?= 条件赋值
CC ?= gcc
# 使用 != 执行命令并赋值
CURRENT_DIR != pwd
# 包含其他 Makefile
-include optional.mk
include required.mk
# 导出变量到环境变量
export PATH
export JAVA_HOME = /usr/lib/jvm/default-java
# 嵌套使用变量
NESTED = $($(VARNAME))
# 使用自动变量
auto_vars: file1.c file2.c
@echo "First prerequisite: $<"
@echo "All prerequisites: $^"
@echo "Target name: $@"
# 使用通配符
HEADERS = $(wildcard *.h)
# 使用 vpath 指令
vpath %.c src
vpath %.h include
# 静态模式规则
MODULES = mod1 mod2 mod3
$(MODULES:%=%.o): %.o: %.c
$(CC) -c -o $@ $<
# 字符串替换
TEXT = Hello World
REPLACED = $(subst Hello,Goodbye,$(TEXT))
# shell 命令输出作为变量内容
VERSION := $(shell git describe --tags)
# 路径处理
SRC_PATH = src/module/file.c
FILE_NAME = $(notdir $(SRC_PATH))

52
tests/data/test_defconfig Normal file
View File

@ -0,0 +1,52 @@
# 这是一个测试用的复杂 defconfig 文件示例
# 包含了各种 defconfig 语法特性用于测试解析器
# 简单的键值对,使用等号
CONFIG_SIMPLE = y
# 使用等号前后有空格的键值对
CONFIG_WITH_SPACES = y
# 没有空格的键值对
CONFIG_NO_SPACES=y
# 带有数值的配置
CONFIG_INT_VALUE = 100
CONFIG_HEX_VALUE = 0x1000
CONFIG_OCTAL_VALUE = 0755
# 带有字符串的配置
CONFIG_STRING = "hello world"
CONFIG_STRING_NO_QUOTES = hello world
# 带有特殊字符的配置
CONFIG_PATH = /usr/local/bin:/usr/bin:/bin
CONFIG_SPECIAL_CHARS = $HOME/.config
# 带有注释的配置
CONFIG_WITH_COMMENT = y # 这是一个注释
# 多种格式混合
CONFIG_MIXED = "value with spaces" # 和注释
# 空值配置
CONFIG_EMPTY =
# 带有布尔值的配置
CONFIG_BOOL_TRUE = y
CONFIG_BOOL_FALSE = n
# 带有多行内容的配置(实际 defconfig 中不常见,但为测试解析器的健壮性添加)
CONFIG_MULTILINE = first line \
second line \
third line
# 含有等号的值
CONFIG_WITH_EQUAL = key=value
# 重复的键(后面的应该覆盖前面的)
CONFIG_DUPLICATE = first
CONFIG_DUPLICATE = second
# 长路径配置
CONFIG_LONG_PATH = /very/long/path/to/some/file/that/might/wrap/around/in/editor/and/cause/parsing/issues/file.conf