星闪SDK工程构建方式
工程通过两个文件用来构建分别是CMkakeLists.txt与Kconfig。
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.txt与Kconfig:
在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

浙公网安备 33010602011771号