- 源碼地址:https://github.com/HX-IoT
- nRF52832開發指南QQ羣:326941601,內有pdf版,排版整潔。
目標
- 瞭解SDK目錄結構,爲接下來的開發做準備。
- 以nRF5_SDK_15.0.0_a53641a爲例介紹SDK
SDK介紹(原文)
SDK(Software Development Kit)是指軟件開發包,一般是由官方提供,主要用來介紹開發流程,提供常用的例程代碼等等。可以降低開發者使用的門檻,提高開發效率,所以在開發者在進行具體的開發前必須先熟悉官方的SDK,一般可以在對應的官網獲取(有些網站是開放的,可以直接下載,有些網站需要申請)。Nordic Semiconductor就爲NRF52832提供了SDK,裏面有豐富的參考例程,我們一般都會在功能相近的例程基礎上進行開發,效率非常高。
主目錄
下面以nRF5_SDK_15.0.0_a53641a爲例介紹SDK。
文件夾名 |
功能 |
components |
包含底層實現的庫 |
config |
芯片的配置文件 |
documentation |
開發指南文檔和授權文件 |
examples |
源碼例程,是開發必須要參考的 |
external |
第三方庫 |
external_tools |
第三方工具 |
integration |
底層硬件驅動代碼 |
modules |
功能模塊驅動代碼 |
license |
授權文件的鏈接 |
nRF5x_MDK_8_16_0_IAR_NordicLicense.msi |
使用IAR開發的license |
nRF5x_MDK_8_16_0_Keil4_NordicLicense.msi |
使用MDK開發的license |
實驗例程
在開發的過程中我們主要使用到examples這個文件夾,當然工程文件也離不開components、integration以及modules文件夾,只是我們一般只對examples文件夾下進行增刪改。modules裏面是外設的驅動代碼相對於integration更底層一點,而integration是調用modules文件中的代碼封裝的外設初始化和應用代碼。
那麼就來介紹一下examples文件夾,由於NRF52832是一款多協議的SOC,而我們是進行藍牙開發,所以我們只介紹藍牙相關的,如下圖所示:
文件夾名 |
功能 |
ble_central |
藍牙主機例程 |
ble_central_and_peripheral |
藍牙主從一體例程 |
ble_peripheral |
藍牙從機例程 |
dfu |
空中升級例程 |
peripheral |
外設例程:GPIO等 |
readme.txt |
詳細介紹,請看readme |
藍牙從機例程,比較常用,例程豐富
芯片平臺介紹
SDK中各個文件夾工程隸屬平臺的介紹。
文件夾名 |
平臺 |
pca10040e |
官方nRF52810開發板 |
pca10040 |
官方nRF52832開發板 |
pca10056 |
官方nRF52840開發板 |
pca10059 |
官方nRF52840 Dongle |
工程項目打開的位置
有5種開發方式來開發nRF52系列。其中MDK4和MDK5差不多,後面我們講全部講解。
SDK總結
- Nordic官方SDK是學習提升的第一手教材,值得終生學習。
- 在SDK上完成應用的開發,一直是主流開發方式。
- 協議棧+應用開發,更看重流程+接口的能力。
- 安裝過程中需要的軟件,可以再紅旭開源網盤中下載。
- 源碼:https://github.com/HX-IoT