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