在ubuntu下使用CMake及VSCode對LoRaMac-node代碼進行編譯調試


准備工作

  1. 下載代碼LoRaMac-node

  2. 閱讀LoRaMac-node目錄下的doc文件夾中的development-environment.md

開工

安裝所需環境

  1. CMaka( >= 3.6),

    sudo apt install CMake

    若ubuntu版本為16.04及以下,請參照development-environment.md中提示進行安裝高版本的CMake

  2. 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

  3. 安裝openocd

    sudo apt-get install openocd

  4. 安裝VSCode

    • C/C++
    • CMake
    • CMake Tools
    • Native Debug

開始操作

  1. 打開VSCode,將LoRaMac-node文件夾導入到VSCode中

  2. 會讓選擇kit,選擇剛才安裝的gcc-arm-embedded,正常安裝目錄在/usr/bin

  3. 點擊VSCODE中的如下圖標,在此欄的上方圖標的三角和錘子分別為config(生成makefile文件),make(生成可執行文件)

  4. 點擊之后,會在.vscode目錄下生成launch.jsonsettings.json文件,其中setting.json中保存的式CMake的配置,修改其中的內容,可以修改生成的makefile,因為我手邊沒有stm32l1的芯片,所以在這,我修改成了MoteII和ping-pong(發現LoRaMac程序會提示FLASH不夠),

  5. 修改之后點擊CMake下的configure和build,會重新生成可執行文件。

  6. 至此,文件編譯成功,接下來進行調試

    此處我先說一下openocd命令(我也不怎么了解,看development-environment.md現學的)

    openocd -f interface/stlink-v2.cfg -f target/stm32l0.cfg

    -f 用於選擇cfg文件

  7. launch.json中有openocd的命令,可以修改其中的命林對其做修改適配我們的燒錄器(因為我用的是stlink-v2),

  8. 直接按F5,啟動調試

正常的話,啟動之后就會跳轉到main函數了

Note

  1. 本人對這套工具鏈還有些不熟悉,如有錯誤,還望指正
  2. 官方代碼為低功耗的,在燒錄之后再進Debug模式會進不去,提示exit code 1,經查是低功耗導致的
  3. 官方的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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM