准备工作
-
下载代码LoRaMac-node
-
阅读LoRaMac-node目录下的doc文件夹中的development-environment.md
开工
安装所需环境
-
CMaka( >= 3.6),
sudo apt install CMake
若ubuntu版本为16.04及以下,请参照development-environment.md中提示进行安装高版本的CMake
-
GNU ARM-Toolchain
Step1: Inside Ubuntu, open a terminal and input
sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa
Step2: Continue to input
sudo apt-get update
Step3: Continue to input to install toolchain
sudo apt-get install gcc-arm-embedded
若提示已安装,请先删除原先安装的软件
sudo apt-get remove gcc-arm-none-eabi
-
安装openocd
sudo apt-get install openocd
-
安装VSCode
- C/C++
- CMake
- CMake Tools
- Native Debug
开始操作
-
打开VSCode,将LoRaMac-node文件夹导入到VSCode中
-
会让选择kit,选择刚才安装的gcc-arm-embedded,正常安装目录在/usr/bin
-
点击VSCODE中的如下图标,在此栏的上方图标的三角和锤子分别为config(生成makefile文件),make(生成可执行文件)
-
点击之后,会在.vscode目录下生成launch.json和settings.json文件,其中setting.json中保存的式CMake的配置,修改其中的内容,可以修改生成的makefile,因为我手边没有stm32l1的芯片,所以在这,我修改成了MoteII和ping-pong(发现LoRaMac程序会提示FLASH不够),
-
修改之后点击CMake下的configure和build,会重新生成可执行文件。
-
至此,文件编译成功,接下来进行调试
此处我先说一下openocd命令(我也不怎么了解,看development-environment.md现学的)
openocd -f interface/stlink-v2.cfg -f target/stm32l0.cfg
-f 用于选择cfg文件
-
launch.json中有openocd的命令,可以修改其中的命林对其做修改适配我们的烧录器(因为我用的是stlink-v2),
-
直接按F5,启动调试
正常的话,启动之后就会跳转到main函数了
Note
- 本人对这套工具链还有些不熟悉,如有错误,还望指正
- 官方代码为低功耗的,在烧录之后再进Debug模式会进不去,提示exit code 1,经查是低功耗导致的
- 官方的md文件中没有说明低功耗设备在进入低功耗之后如何识别,经查,需要添加命令,完整的openocd命令为:
openocd -f interface/jlink.cfg -c "transport select swd" -c "reset_config srst_only srst_nogate connect_assert_srst" -f target/stm32l0.cfg