RT-Thread Version
Latest
Hardware Type/Architectures
/
Develop Toolchain
Other
Describe the bug
问题描述
STM32 BSP 模板目录下的 Kconfig 文件中,RTT_DIR 设置为 ../../..(向上 3 级),这在正常 BSP 目录下可以正确工作,但如果用户直接在模板目录下运行 menuconfig,会报错找不到 Kconfig 文件。
错误信息
menuconfig: Kconfig:9: '../../../Kconfig' not found (in 'source "$(RTT_DIR)/Kconfig"').
Check that environment variables are set correctly
原因分析
目录结构对比:
| 目录位置 |
向上 3 级 (../../..) 结果 |
正常 BSP (bsp/stm32/stm32h7xx-myboard/) |
✓ 到达 rt-thread/ 根目录 |
模板目录 (bsp/stm32/libraries/templates/stm32h7xx/) |
✗ 只到达 bsp/stm32/,缺少一层 |
模板目录比正常 BSP 多了一层 libraries/templates/,导致相对路径计算错误。
建议解决方案
使用 osource(optional source)语句尝试多个路径,按优先级排列:
mainmenu "RT-Thread Configuration"
BSP_DIR := .
PKGS_DIR := packages
# 优先尝试模板路径(向上 4 级),如果不存在则尝试正常 BSP 路径(向上 3 级)
osource "../../../../../Kconfig"
osource "../../../Kconfig"
osource "$PKGS_DIR/Kconfig"
rsource "../libraries/Kconfig"
if !RT_USING_NANO
rsource "board/Kconfig"
endif
优点:
模板目录和正常 BSP 目录都能正确工作
无需用户手动修改路径
不依赖环境变量
影响范围
所有 STM32 BSP 模板目录:
- bsp/stm32/libraries/templates/stm32f10x/
- bsp/stm32/libraries/templates/stm32f4xx/
- bsp/stm32/libraries/templates/stm32h7xx/
等其他系列模板...
相关文档
《STM32系列BSP制作教程》中未提及此问题,导致制作者(我)很困惑。
Other additional context
No response
RT-Thread Version
Latest
Hardware Type/Architectures
/
Develop Toolchain
Other
Describe the bug
问题描述
STM32 BSP 模板目录下的
Kconfig文件中,RTT_DIR设置为../../..(向上 3 级),这在正常 BSP 目录下可以正确工作,但如果用户直接在模板目录下运行menuconfig,会报错找不到 Kconfig 文件。错误信息
原因分析
目录结构对比:
../../..) 结果bsp/stm32/stm32h7xx-myboard/)rt-thread/根目录bsp/stm32/libraries/templates/stm32h7xx/)bsp/stm32/,缺少一层模板目录比正常 BSP 多了一层
libraries/templates/,导致相对路径计算错误。建议解决方案
使用
osource(optional source)语句尝试多个路径,按优先级排列:优点:
模板目录和正常 BSP 目录都能正确工作
无需用户手动修改路径
不依赖环境变量
影响范围
所有 STM32 BSP 模板目录:
等其他系列模板...
相关文档
《STM32系列BSP制作教程》中未提及此问题,导致制作者(我)很困惑。
Other additional context
No response