BLE開發 Nordic nRF52832 開發(一) 搭建開發環境
BLE開發 Nordic nRF52832(一) 搭建開發環境
nRF52832 是Nordic出的最新款超低功耗soc,是上代晶片nRF51822的升級版。晶片整合2.4GHz發射器和一顆32位 ARM Cortex M4F CPU,以及512KB rom+64KB ram。廠家提供協議棧支援BLE,ANT,和專用2.4GHz協議。
筆者做的是BLE開發。本部落格是我開發過程中一系列記錄和總結,放在這裡進行交流。
開發者應該具備以下能力
- C語言
- Keil或其他開發環境
- 硬體原理圖和PCB圖閱讀
官方程式碼與工具下載
- 開發板硬體資料
硬體資料保含開發板的原理圖,BOM,Layout。在除錯時候或者外接擴充套件時候看。
- 協議棧燒寫工具nRFgo studio下載
這個軟體是前期用來燒寫韌體。對於這款晶片韌體分三個部分:藍芽協議棧SoftDevice ,韌體升級bootloader,App(使用者自己寫的程式)
Nordic 自家的藍芽測試安卓或ios app
常用:nRF Master Countrol pannel
可以在github下載原始碼用於App開發
試驗第一個程式
- 開啟 nRFgo studio
我使用的是開發板,開發板上自帶有jlink晶片,軟體能識別到nRF52 development boards。
注意:在使用過程中由於jlink驅動版本的問題會出現不識別晶片的情況。需要安裝該軟體自帶的segger驅動。
右側視窗中可以清楚的看到晶片儲存空間的結構,包括上述三部分程式的起止地址和大小,其中SoftDevice 和Application是不可以缺失的。
燒寫韌體
以“虛擬串列埠”為例,分別選擇三部分程式的hex檔案,路徑如下:
softdevice
/s132_nrf52_2.0.1/s132_nrf52_2.0.1_softdevice.hex
bootloader nRF5_SDK_11.0.0_89a8197/examples/dfu/bootloader/pca10040/dual_bank_ble_s132/arm5_no_packs/_build/nrf52832_xxaa_s132.hex
Application
nRF5_SDK_11.0.0_89a8197/examples/ble_peripheral/ble_app_uart/pca10040/s132/arm5_no_packs/_build/nrf52832_xxaa_s132.hex成功燒錄之後就可以開啟app搜尋了,藍芽4.0不需要配對
使用keil除錯
開啟測試韌體對應的keil工程檔案,就可以進行debug等操作