星闪SDK工程构建方式

工程通过两个文件用来构建分别是CMkakeLists.txtKconfig
CMkakeLists.txt 是必须要进行的配置。
Kconfig 可以不做配置,但是它可以提供宏控制的方法进而方便选择是否编译。
来看个例子

set(SOURCES_LIST
    ${CMAKE_CURRENT_SOURCE_DIR}/demo.c
)

set(PUBLIC_HEADER_LIST
    ${CMAKE_CURRENT_SOURCE_DIR}
)

set(SOURCES "${SOURCES_LIST}" PARENT_SCOPE)
set(PUBLIC_HEADER "${PUBLIC_HEADER_LIST}" PARENT_SCOPE)
  • SOURCES_LIST代表源文件,在其中添加.c文件,多个.c文件直接换行加在后面即可;
  • PUBLIC_HEADER_LIST代表头文件,在其中添加.h路径,多个路径直接换行加在后面即可;
  • CMAKE_CURRENT_SOURCE_DIR表示当前CMkakeLists.txt的路径。

下面介绍用宏控制

config ENABLE_MY_SAMPLE
    bool
    prompt "Enable the Sample of demo."
    default n
    depends on SAMPLE_ENABLE
    help
        This option means enable the sample of products.

首先定义一个名为ENABLE_MY_SAMPLE的配置选项
bool代表了这个选项只有两种状态:是/否
prompt可以在配置界面中显示给用户相应的提示文本
default可以设置默认值,默认情况下是不启用的
depends表依赖关系,只有在SAMPLE_ENABLE被启用时,该选项才会出现
help提供帮助文本

在对工程进行上述配置后,还需要有一步操作,那就是在项目的上一目录内修改CMkakeLists.txtKconfig
CMkakeLists.txt中添加构建的代码

if(DEFINED CONFIG_ENABLE_DEMO_DEMO_SAMPLE)
    add_subdirectory_if_exist(demo)
endif()

Kconfig中添加宏控制代码,这个是一级Kconfig这个层级可以连接到下层:

if SAMPLE_SUPPORT_ADC
menu "ADC Sample Configuration"
    osource "application/samples/peripheral/adc/Kconfig"
endmenu
endif
posted @ 2025-06-12 00:38  邦九o  阅读(22)  评论(0)    收藏  举报