/** * @file board_config.h * @author LokLiang * @brief 统一板载硬件描述数据结构 * @version 0.1 * @date 2023-11-24 * * @copyright Copyright (c) 2023 * * 目的与作用场景: * 使同类型的固件适应不同的硬件版本。 * 例如同一类型产品,即使某些功能引脚改动,依然可以根据配置文件正确引导程序,而不需要新增特定的固件版本,旧的产品依然得到长期的支持。 * * 数据设置: * 只能在工厂中配置,除此之外不允许任何手段尝试修改。 * 数据地址固定为分区配置中 * */ #pragma once #include "drivers/chip/_hal.h" #include "sdkconfig.h" #define GPIO_USED(pin) ((pin) < 255) typedef struct // 对应 GPIO 单个引脚的输入/输出配置的基础定义 { uint8_t pin; // 引脚号 (0~254, 255 表示不使用) --OK uint8_t en_lev; // 触发电平 } cfg_board_pin_io_t; typedef struct // 数据结构一旦定下不可随意变更 { /* 硬件描述类 */ hal_uart_hdl_t uart_console; // 控制台 cfg_board_pin_io_t key_boot; // 启动按键 /* 产品功能描述类 */ } cfg_board_t; extern const cfg_board_t *g_cfg_board; // 配置数据