一、搭建環(huán)境
1.1 安裝Keil 5
官網(wǎng)下載:http://www2.keil.com/mdk5/
百度網(wǎng)盤:https://pan.baidu.com/s/1T_eF5NDYeq38bR0cqjiZkw 提取碼:562z
1.2 下載SDK
官網(wǎng)下載:https://www.nordicsemi.com/Software-and-tools/Software/nRF5-SDK/Download#infotabs
百度網(wǎng)盤:https://pan.baidu.com/s/1YBe-Mp2qGf6xBMMm8rEhBw 提取碼:97zh
1.3 安裝Nordic Packet
注意:要與SDK版本對應(yīng)
http://developer.nordicsemi.com/nRF5_SDK/pieces/nRF_DeviceFamilyPack/
官網(wǎng)下載:http://www.keil.com/dd2/Pack/#/third-party-download-dialog
選擇 Nordic Semiconductor nRF ARM devices Device Family Pack with BSD

百度網(wǎng)盤:https://pan.baidu.com/s/1XHUFqTnaPEfpquUYjYBLHA 提取碼:vgb2
Keil內(nèi)下載:


1.4 安裝ARM CMSIS內(nèi)核4.5.0
百度網(wǎng)盤:https://pan.baidu.com/s/1V-magEmEUoGxVhCeT9hIcw 提取碼:m5n7
1.5 安裝協(xié)議棧軟件nRFgo Studio
官網(wǎng)下載:https://www.nordicsemi.com/Software-and-tools/Development-Tools/nRFgo-Studio/Download
百度網(wǎng)盤:https://pan.baidu.com/s/1GxBDyzCS1_R-wVh2zyA2vA 提取碼:qlfj
二、SoftDevice
2.1 命名規(guī)則
以 Sxyz 為例,其中 S 表示 Software,各字母的含義如下所示。不同的協(xié)議棧的具體描述可見此處。
2.1.1 通用規(guī)則
x - 協(xié)議棧類型
- 1:BLE stack
- 2:ANT stack
- 3:BLE&ANT stack
y - BLE角色
- 1:peripheral role
- 2:central role
- 3:all roles(central/peripheral/advertiser/observer)
z - 系列芯片
- 0:nRF51 series
- 2:nRF52 series
- 3:misc series
例如 S113 代表的是低功耗 BLE 協(xié)議棧,從設(shè)備,針對 nRF52805, nRF52810, nRF52811, nRF52820, nRF52832, nRF52833 and nRF52840 系列的 SoC。
2.1.2 特定規(guī)則
x - 協(xié)議棧類型
同上
yz - 芯片型號
- 40:針對芯片52840
tips: S140是一個大而全的協(xié)議棧,包含藍(lán)牙所有功能。
注意不同的softdevice所占用的ROM和RAM是不一樣的,具體看其手冊S112、S113、S122、S130、S132、S140、S212、S312、S332、S340…


2.2 目錄框架

- components:Nordic 開發(fā)的各種 SDK,只包含頭文件、源文件以及庫文件,切勿修改!
- config:不同類型芯片的配置文件。
- documentation:SDK 和不同 softdeviceAPI 的參考文檔。
- examples:根據(jù)不同傳輸協(xié)議/ BLE 角色/外設(shè)等應(yīng)用場景所設(shè)計(jì)的例程。此目錄很常用。
- external:第三方庫或源碼。
- external_tools:第三方工具。
- integration:集成舊版本SDK(≤SDK14)的驅(qū)動(又稱legacy)。
- modules:新版本SDK(>SDK14)驅(qū)動nrfx,同時支持nRF5 SDK(用于nRF51/52芯片)以及nRF Connect SDK(支持nRF91/53芯片)。
二、編譯
打開BLE從機(jī)串口傳輸示例工程 ble_app_uart
路徑:SDK\nRF5_SDK_17.0.2_d674dde\examples\ble_peripheral\ble_app_uart\pca10100\s140\arm5_no_packs

點(diǎn)擊按鈕進(jìn)行編譯

注意:其他工程編譯可能產(chǎn)生缺少micro_ecc_lib_nrf52.lib文件錯誤時,查看 解決方法:編譯NRF52832工程時缺少micro_ecc_lib_nrf52.lib文件
三、燒錄
3.1 Keil內(nèi)燒錄
- 先燒錄 協(xié)議棧
- 再燒錄 應(yīng)用程序
注意:調(diào)試過程中可能出現(xiàn)的問題,因?yàn)橛玫氖枪俜降?nRF52833 DK 開發(fā)板,需要更新 JLINK 版本
nRF-Command-Line-Tools_10_12_0_Installer.exe 提取碼:7lub

3.2 nRFgo內(nèi)燒錄
- 打開 nRFgo Studio
-
如果是第一次燒錄,先擦除(可跳過)
-
燒錄協(xié)議棧
選擇SDK版本對應(yīng)的協(xié)議棧(一般隨同SDK一起下載下來)
路徑:nRF5_SDK_17.0.2_d674dde\components\softdevice\s140\hex
替換協(xié)議棧hex文件
4.燒錄應(yīng)用程序
路徑:nRF5_SDK_17.0.2_d674dde\examples\ble_peripheral\ble_app_uart\pca10100\s140\arm5_no_packs\ _build
? 由 Leung 寫于 2020 年 12 月 7 日
? 參考:NORDIC nrf52833使用筆記
nRF52832開發(fā)環(huán)境搭建
青風(fēng)電子社區(qū)









