對于許多習慣于集成開發(fā)環(huán)境(IDE)的嵌入式工程師而言,搭建一個基于命令行的交叉編譯環(huán)境可能是一個挑戰(zhàn)。本章節(jié)將提供詳盡的指導,確保在Windows操作系統(tǒng)上順利構(gòu)建出編譯Semtech官方示例代碼所需的環(huán)境。
工具鏈與構(gòu)建環(huán)境安裝
本項目的編譯工作需要在類Linux環(huán)境下完成,因此,在Windows系統(tǒng)上,推薦使用Cygwin來模擬這一環(huán)境。
- GNU Arm Embedded Toolchain:這是編譯ARM Cortex-M內(nèi)核微控制器代碼所必需的交叉編譯器、匯編器和鏈接器套件。請從ARM官方網(wǎng)站下載并安裝。安裝完成后,務必將其bin目錄(例如C:\Program Files (x86)\GNU Arm Embedded Toolchain\10 2020-q4-major\bin)添加到系統(tǒng)的PATH環(huán)境變量中,以便在任何命令行窗口中都能調(diào)用arm-none-eabi-gcc等工具。
- Cygwin for Windows:
- 背景:Cygwin是一個在Windows上提供類UNIX環(huán)境的開源項目。Semtech的示例代碼使用
Makefile進行構(gòu)建管理,這在類UNIX環(huán)境中是標準做法。Cygwin使得我們可以在Windows上直接使用make等命令來編譯項目。 - 安裝步驟:
- 訪問Cygwin官方網(wǎng)站(https://cygwin.com/install.html),下載setup-x86_64.exe安裝程序。
- 運行安裝程序,選擇“從Internet安裝”。
- 選擇一個合適的根目錄(例如C:\cygwin64)和本地軟件包目錄(用于存放下載的安裝文件)。
- 選擇網(wǎng)絡連接方式(通常為“Direct Connection”)。
- 選擇一個下載鏡像站點。
- 關鍵步驟:選擇軟件包。在軟件包選擇界面,這是最容易出錯的環(huán)節(jié)。為了成功編譯項目,必須確保安裝了以下關鍵軟件包。在搜索框中分別搜索并選擇它們:
- make: 在“Devel”分類下,找到make包,點擊其狀態(tài)從“Skip”切換為要安裝的版本號。這是構(gòu)建項目的核心工具 。
- git: 在“Devel”分類下,找到git包并選擇安裝。用于從GitHub克隆源代碼倉庫。
- unzip: 在“Archive”分類下,選擇unzip,某些腳本可能會用到。
- 點擊“下一步”,安裝程序會自動處理依賴關系并開始下載和安裝所選軟件包。這個過程可能需要一些時間 6。
- 環(huán)境驗證:安裝完成后,從開始菜單或桌面快捷方式啟動“Cygwin64 Terminal”。在打開的終端窗口中,輸入以下命令進行驗證:
Bash
make --version
git --version
arm-none-eabi-gcc --version
如果三個命令都能正確顯示版本信息,則說明開發(fā)環(huán)境已成功搭建。Cygwin終端中的路徑與Windows路徑有所不同,例如Windows的D:\盤在Cygwin中對應/cygdrive/d/。
- 背景:Cygwin是一個在Windows上提供類UNIX環(huán)境的開源項目。Semtech的示例代碼使用
獲取必要的代碼倉庫
開發(fā)環(huán)境就緒后,下一步是獲取Semtech提供的官方源代碼。在Cygwin終端中,使用git clone命令下載兩個至關重要的倉庫。
- Lora-net/SWTL001: 這是用于更新LR11xx系列芯片內(nèi)部固件的參考工具。LR1120芯片內(nèi)部運行著一個獨立的固件,主控MCU通過特定API與其交互。更新此固件是確保其與上層應用協(xié)議棧兼容的關鍵一步。
Bash
git clonehttps://github.com/Lora-net/SWTL001.git
- Lora-net/SWL2001: 這是LoRa Basics™ Modem(LBM)協(xié)議棧的官方實現(xiàn)。它是一個功能完備的LoRaWAN協(xié)議棧,并包含了我們所需要的地理定位示例應用程序。
Bash
git clonehttps://github.com/Lora-net/SWL2001.git
下載完成后,您的工作目錄下將出現(xiàn)SWTL001和SWL2001兩個文件夾,包含了后續(xù)所有開發(fā)工作所需的文件。
基于LR1120與騰訊云物聯(lián)網(wǎng)平臺實現(xiàn)地理定位系列
基于LR1120與騰訊云物聯(lián)網(wǎng)平臺實現(xiàn)地理定位(一):系統(tǒng)架構(gòu)與硬件準備
基于LR1120與騰訊云物聯(lián)網(wǎng)平臺實現(xiàn)地理定位(二):開發(fā)環(huán)境與源代碼設置
基于LR1120與騰訊云物聯(lián)網(wǎng)平臺實現(xiàn)地理定位(三):終端節(jié)點固件與應用程序部署
基于LR1120與騰訊云物聯(lián)網(wǎng)平臺實現(xiàn)地理定位(四):騰訊云物聯(lián)網(wǎng)平臺配置
基于LR1120與騰訊云物聯(lián)網(wǎng)平臺實現(xiàn)地理定位(五):端到端數(shù)據(jù)驗證與應用