1. 程式人生 > >BLE開發 Nordic nRF52832 開發(一) 搭建開發環境

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 ,韌體升級bootloaderApp(使用者自己寫的程式)
    這裡寫圖片描述
  • 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等操作
    這裡寫圖片描述