准備工作
-
下載代碼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