# RT-AIKit-plugin-stm32 **Repository Path**: mirrors_RT-Thread/RT-AIKit-plugin-stm32 ## Basic Information - **Project Name**: RT-AIKit-plugin-stm32 - **Description**: plugin for stm32 of RT-Thread AI Kit - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-04-14 - **Last Updated**: 2025-12-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
1 模型是否支持
- 函数:`is_valid_model(model, sup_models)`
- 功能:判断模型是否支持
- input: (model, sup_models_list)
2 cpu是否支持
- 函数:`is_valid_cpu(project, sup_cpus, cpu="")`
- 功能:根据 `project/rtconfig.py` 提供的 `CPU` 信息判断是否支持
- input: (project, sup_cpus)
- output: cpu
3 设置环境变量
- 函数:`set_env(plugin_path)`
- 功能:设置 `x-cube-ai: stm32.exe` 为系统变量
- input: (x-cube-ai_path)
4 生成两个文件夹
- 函数:`pre_sconscript(aitools_out, stm32_dirs, scons_path="platforms/stm32/Sconscripts")`
- 功能:
1. 生成两个文件夹,分别存放 `x-cube-ai` 静态库和 `c-model` 文件,如果之前存在,先删除原本的文件夹
2. 加载对应的 `Sconscript`
- input: (stm_out, sconscript_dir, ["Middlewares", "X-CUBE-AI"])
5 模型转换
- 函数:`stm32ai(model, stm_out, c_model_name, sup_modes, ai_params)`
- 功能:
1. 将模型转换成 `c-model`,支持三种模式:分析、验证、生成(必须有)
2. 如果有报错,根据生成的 `report.txt` 文件抛出异常
- input: (model, stm_out, c_model_name, sup_modes_list, [workspace, compress, batches, mode, val_data])
- output: flag_list, etc: [False, True, True] 对应 modes=“011” 三种模型执行是否成功
6.1 生成 rt_ai_model.h
- 函数:`rt_ai_model_gen(stm_out, project, model_name)`
- 功能:根据生成的 `c-model` 文件生成 `rt_ai__model.h` 文件,保存在 `project/applications`
- input: (stm_out, project, c_model_name)
6.2 生成 rt_ai_model.c
- 函数:`load_rt_ai_example(project, rt_ai_example, platform, old_name, new_name)`
- 功能:根据提供的模板文件,生成 `rt_ai__model.c` + `rt_ai_template.c/h`文件,保存在 `project/applications`
- input: (project, rt_ai_exampl_path, platform, default_model_name, c_model_name)
7 加载 x-cube-ai libs
- 函数:`load_lib(stm_out, cube_ai_path, cpu, middle=r"Middlewares/ST/AI")`
- 功能:加载 `x-cube-ai` 静态库到 `stm_out` 中
- input: (stm_out, cube_ai_path, cpu, middle=r"Middlewares/ST/AI")
8 加载到 project
- 函数:`load_to_project(stm_out, project, stm32_dirs)`
- 功能:加载 `stm_out` 两个文件夹到 `project` 中。如果之前有存在,则先删除
- input: (stm_out, project, ["Middlewares", "X-CUBE-AI"])
9 使能 HAL-CRC
- 函数:`enable_hal_crc(project)`
- 功能:在 `project/board/...` 文件中使能 `HAL_CRC_MODULE_ENABLED`
- input: (project)