CMake 框架的使用

[复制链接]
查看815 | 回复9 | 2023-10-17 20:55:19 | 显示全部楼层 |阅读模式

Bouffalo SDK是Bouffalo Lab团队提供的物联网和MCU第三方开发工具,支持所有Bouffalo系列芯片。也是bl_mcu_sdk和bl_iot_sdk的结合。仓库地址如下:

https://gitee.com/bouffalolab/bouffalo_sdk

在AiPi-Open-Kits里面aithinker_Ai-M6X_SDK基本上就是在Bouffalo SDK进行修改的,从而得到安信可小安派的SDK开发环境。

https://github.com/Ai-Thinker-Open/aithinker_Ai-M6X_SDK

学习使用Cmake框架对于开发小安派很有必要性,和传统的mcu芯片开发不一样,小安派所使用的bl系列模组的开发环境的工具链是需要自己去搭建的,不像keil,IAR等集成式开发环境,因此有必要搞懂小安派SDK的框架。

CMake 框架的使用

本节主要介绍如何使用 CMake 框架。BouffaloSDK 中为用户封装了以下函数接口,基本满足常用场景的使用。

Function Description
sdk_generate_library 生成库,库名如果函数没有形参则使用当前库所在目录名
sdk_library_add_sources 为库添加源文件
sdk_library_add_sources_ifdef 为库添加源文件(满足 if 条件)
sdk_add_include_directories 添加头文件路径
sdk_add_include_directories_ifdef 添加头文件路径(满足 if 条件)
sdk_add_compile_definitions 添加宏定义,不要带 -D
sdk_add_compile_definitions_ifdef 添加宏定义(满足 if 条件)
sdk_add_compile_options 添加编译选项
sdk_add_compile_options_ifdef 添加编译选项(满足 if 条件)
sdk_add_link_options 添加链接选项
sdk_add_link_options_ifdef 添加链接选项(满足 if 条件)
sdk_add_link_libraries 添加静态库
sdk_add_link_libraries_ifdef 添加静态库(满足 if 条件)
sdk_add_subdirectory_ifdef 编译子目录下的 cmakelist(满足 if 条件)
sdk_add_static_library 添加外部静态库
sdk_set_linker_script 设置链接脚本
sdk_set_main_file 设置 main 函数所在文件
project 工程编译
target_source(app PRIVATE xxx) 添加源文件到 app 库中,当用户需要自己添加一些源文件又不想创建 cmakelist 单独编译成库,可以使用该项

新建工程

用户可以复制一份工程,如 helloworld,并修改 SDK_DEMO_PATH 变量为你使用的路径即可创建一份全新的工程

为工程添加组件

如果需要编译相关组件,如 FATFS、LVGL ,需要在 proj.conf 文件中添加组件的使能,举例如下:

set(CONFIG_FATFS 1) set(CONFIG_LVGL 1)

使能条件编译项

用户自定义的 cmake 条件编译项( 使用了 cmake 的 if 语法)、或者使用了 sdk 带 ifdef 结尾的函数, 使能方式同上

羡慕
回复

使用道具 举报

Jun | 2023-10-17 20:56:26 | 显示全部楼层
学习了
回复

使用道具 举报

ai_mcu | 2023-10-17 21:11:09 | 显示全部楼层
围观一下
明天总会更好
回复

使用道具 举报

iiv | 2023-10-17 22:29:07 | 显示全部楼层
来自憨批龟的认可.GIF
回复 支持 反对

使用道具 举报

WangChong | 2023-10-18 08:20:57 | 显示全部楼层
学习了
回复

使用道具 举报

爱笑 | 2023-10-18 08:35:13 | 显示全部楼层
学习了!
用心做好保姆工作
回复

使用道具 举报

bzhou830 | 2023-10-19 16:51:20 来自手机 | 显示全部楼层
学习了
选择去发光,而不是被照亮
回复

使用道具 举报

干簧管 | 2023-11-15 09:33:41 | 显示全部楼层
学习
回复

使用道具 举报

心云 | 2024-1-1 12:20:24 | 显示全部楼层
回复

使用道具 举报

san | 2024-1-8 10:42:24 | 显示全部楼层
学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则