首先准备好工具:
另外:Mesh编译需要依赖nrf sdk. 可以使用cmake下载, 也可以下载之后,复制到cmake同级目录里面,名称由cmake运行后指定。
如:
1.cmake
2.doxygen
3.graphviz
4.mscgen
一、安装cmake
ubuntu apt的cmake版本截至到目前为3.10, 需要在官网下载最新:https://cmake.org/download/
./bootstrap
make
make install
二、安装doxygen,可以官网下载,可以github:https://www.doxygen.nl/download.html
需要cmake构建make环境,下载及命令如下
git clone https://github.com/doxygen/doxygen.git
cd doxygen
mkdir build
cd build
cmake -G "Unix Makefiles" ..
make
如果cmake出错flex 和bison,运行下面命令
sudo apt-get install flex
sudo apt-get install bison
最后运行
sudo make install
安装完成,查看版本是否复合要求,
doxygen --version
1.8.19 (1b2eb947740d9933cbfa448014375dee45d82b98)
三、安装graphviz
sudo apt install graphviz
四、安装mscgen
sudo apt install graphviz
Nordic的版本需求如下
五,下载 arm-none-eabi-gcc:https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads
六、配置gcc路径
路径为mesh sdk\CMake\toolchain , 根据自行环境配置路径, 我的为wsl , windows10的ubuntu子系统,如下
set(CMAKE_C_COMPILER /usr/local/gcc-arm-none-eabi-9-2020-q2/gcc-arm-none-eabi-9-2020-q2-update/bin/arm-none-eabi-gcc)
基本配置完成,最后在SDK的根目录中新建build文件夹, (因为cmake和make之后的编译文件都会放在这个,如果不嫌乱,也可以放在SDK的根目录。
根据自己的环境运行
cmake -DTOOLCHAIN=gccarmemb -DPLATFORM=nrf52840_xxAA -DBOARD=pca10056 -DSOFTDEVICE=s140_7.0.1 ..
执行成功:
可以开始进行make了 , 具体make的参数,可以看看makefile文件, SDK中所有例子都是在Build路径下执行如:
make merge_light_ctl_client_nrf52840_xxAA_s140_7.0.1
执行结果: