准备驱动移植适配Rust

This commit is contained in:
冯佳
2026-01-29 15:08:30 +08:00
parent e879b18602
commit 1bdeca55ea
68 changed files with 4371 additions and 4392 deletions

View File

@ -2,7 +2,7 @@
/**
******************************************************************************
* @file : bsp_config.h
* @brief : Board support package configuration file header
* @brief : 板级支持包配置文件头文件
******************************************************************************
*/
/* USER CODE END Header */
@ -16,7 +16,7 @@
#include "hal.h"
/**
* @brief BSP configuration file format definitions
* @brief BSP 配置文件格式定义
*/
#define BSP_CONFIG_FILE_VERSION "1.0.0"
#define BSP_CONFIG_MAX_LINE_LENGTH 256
@ -25,7 +25,7 @@
#define BSP_CONFIG_MAX_VALUE_LENGTH 128
/**
* @brief BSP configuration section type
* @brief BSP 配置节类型
*/
typedef enum {
BSP_CONFIG_SECTION_NONE = 0,
@ -36,7 +36,7 @@ typedef enum {
} bsp_config_section_t;
/**
* @brief BSP configuration entry
* @brief BSP 配置条目
*/
typedef struct {
const char* section;
@ -45,7 +45,7 @@ typedef struct {
} bsp_config_entry_t;
/**
* @brief BSP configuration parser context
* @brief BSP 配置解析器上下文
*/
typedef struct {
FILE* file;
@ -56,7 +56,7 @@ typedef struct {
} bsp_config_parser_t;
/**
* @brief BSP configuration file operations
* @brief BSP 配置文件操作
*/
typedef struct {
hal_ret_t (*open)(const char* filename, bsp_config_parser_t* parser);
@ -69,115 +69,115 @@ typedef struct {
} bsp_config_ops_t;
/**
* @brief Initialize BSP configuration system
* @retval HAL status code
* @brief 初始化 BSP 配置系统
* @retval HAL 状态码
*/
hal_ret_t bsp_config_init(void);
/**
* @brief Deinitialize BSP configuration system
* @retval HAL status code
* @brief 反初始化 BSP 配置系统
* @retval HAL 状态码
*/
hal_ret_t bsp_config_deinit(void);
/**
* @brief Load BSP configuration from file
* @param filename: Configuration file name
* @retval HAL status code
* @brief 从文件加载 BSP 配置
* @param filename: 配置文件名称
* @retval HAL 状态码
*/
hal_ret_t bsp_config_load(const char* filename);
/**
* @brief Save BSP configuration to file
* @param filename: Configuration file name
* @retval HAL status code
* @brief 保存 BSP 配置到文件
* @param filename: 配置文件名称
* @retval HAL 状态码
*/
hal_ret_t bsp_config_save(const char* filename);
/**
* @brief Get configuration value
* @param section: Configuration section name
* @param key: Configuration key name
* @param value: Pointer to store value
* @param max_length: Maximum length of value buffer
* @retval HAL status code
* @brief 获取配置值
* @param section: 配置节名称
* @param key: 配置键名称
* @param value: 存储值的指针
* @param max_length: 值缓冲区的最大长度
* @retval HAL 状态码
*/
hal_ret_t bsp_config_get_value(const char* section, const char* key, char* value, size_t max_length);
/**
* @brief Set configuration value
* @param section: Configuration section name
* @param key: Configuration key name
* @param value: Configuration value
* @retval HAL status code
* @brief 设置配置值
* @param section: 配置节名称
* @param key: 配置键名称
* @param value: 配置值
* @retval HAL 状态码
*/
hal_ret_t bsp_config_set_value(const char* section, const char* key, const char* value);
/**
* @brief Get configuration value as integer
* @param section: Configuration section name
* @param key: Configuration key name
* @param value: Pointer to store integer value
* @retval HAL status code
* @brief 获取配置值作为整数
* @param section: 配置节名称
* @param key: 配置键名称
* @param value: 存储整数值的指针
* @retval HAL 状态码
*/
hal_ret_t bsp_config_get_int(const char* section, const char* key, int* value);
/**
* @brief Set configuration value as integer
* @param section: Configuration section name
* @param key: Configuration key name
* @param value: Integer value
* @retval HAL status code
* @brief 设置配置值作为整数
* @param section: 配置节名称
* @param key: 配置键名称
* @param value: 整数值
* @retval HAL 状态码
*/
hal_ret_t bsp_config_set_int(const char* section, const char* key, int value);
/**
* @brief Get configuration value as unsigned integer
* @param section: Configuration section name
* @param key: Configuration key name
* @param value: Pointer to store unsigned integer value
* @retval HAL status code
* @brief 获取配置值作为无符号整数
* @param section: 配置节名称
* @param key: 配置键名称
* @param value: 存储无符号整数值的指针
* @retval HAL 状态码
*/
hal_ret_t bsp_config_get_uint(const char* section, const char* key, uint32_t* value);
/**
* @brief Set configuration value as unsigned integer
* @param section: Configuration section name
* @param key: Configuration key name
* @param value: Unsigned integer value
* @retval HAL status code
* @brief 设置配置值作为无符号整数
* @param section: 配置节名称
* @param key: 配置键名称
* @param value: 无符号整数值
* @retval HAL 状态码
*/
hal_ret_t bsp_config_set_uint(const char* section, const char* key, uint32_t value);
/**
* @brief Get configuration value as boolean
* @param section: Configuration section name
* @param key: Configuration key name
* @param value: Pointer to store boolean value
* @retval HAL status code
* @brief 获取配置值作为布尔值
* @param section: 配置节名称
* @param key: 配置键名称
* @param value: 存储布尔值的指针
* @retval HAL 状态码
*/
hal_ret_t bsp_config_get_bool(const char* section, const char* key, uint8_t* value);
/**
* @brief Set configuration value as boolean
* @param section: Configuration section name
* @param key: Configuration key name
* @param value: Boolean value
* @retval HAL status code
* @brief 设置配置值作为布尔值
* @param section: 配置节名称
* @param key: 配置键名称
* @param value: 布尔值
* @retval HAL 状态码
*/
hal_ret_t bsp_config_set_bool(const char* section, const char* key, uint8_t value);
/**
* @brief Parse BSP modules from configuration
* @param config: Pointer to BSP board configuration structure to fill
* @retval HAL status code
* @brief 从配置解析 BSP 模块
* @param config: 指向要填充的 BSP 板卡配置结构体的指针
* @retval HAL 状态码
*/
hal_ret_t bsp_config_parse_modules(bsp_board_config_t* config);
/**
* @brief Initialize BSP from configuration file
* @param filename: Configuration file name
* @retval HAL status code
* @brief 从配置文件初始化 BSP
* @param filename: 配置文件名称
* @retval HAL 状态码
*/
hal_ret_t bsp_init_from_config(const char* filename);