[메모] BLE Nano(nRF51822) 무선으로 펌웨어 업데이트(OTA-DFU)
개요
환경
nRFgo Studio
nrfutil.exe
: C:\Program Files (x86)\Nordic Semiconductor\nRFgo Studio\mergehex.exe
: C:\Program Files (x86)\Nordic Semiconductor\nrf5x\bin
절차
DFU 부트 로더 만들기
RF51_SDK_10.0.0_dc26b5 에. 지 p 다운로드 및 압축 해제
nRF51_SDK_10.0.0_dc26b5e\examples\dfu\bootloader\
이쪽은 DFU 부트로더 관련.=>
nRF51_SDK_10.0.0_dc26b5e\examples\dfu\bootloader\pca10028\dual_bank_ble_s110\arm5_no_packs\dfu_dual_bank_ble_s110_pca10028.uvprojx
를 두 번 클릭하여 MDK-ARM 시작 nrf51422_xxac/Application/main.c
를 열고 필요한 경우 버튼이나 LED 근처의 포트 번호를 수정하십시오.BOOTLOADER_BUTTON
는, BSP_BUTTON_3=> BUTTON_4 => 20 으로, BLENano 에 관계할 것 같기 때문에 안심해. 버튼 붙이면, 그 포트 번호에. main.c...LED 주위만 고친다. 라고 해도, 기입중 점등, 기입 종료로 소등 정도이지만.
#define BOOTLOADER_BUTTON BSP_BUTTON_3 /**< Button used to enter SW update mode. */
#define UPDATE_IN_PROGRESS_LED BSP_LED_2 /**< Led used to indicate that DFU is active. */
//For BLENano
#undef UPDATE_IN_PROGRESS_LED
#undef LED_START
#undef LED_STOP
#undef LEDS_MASK
#define UPDATE_IN_PROGRESS_LED (19)//P0_19 BLENano本体のLED.
#define LED_START (19)
#define LED_STOP (19)
#define LEDS_MASK (1<<19)
[F7]
=> _build/nrf51422_xxac.hex
수 있습니다 SoftDevice의 HEX와 병합
rem プロジェクトのあるフォルダに移動して.
cd C:\BLE\nRF51_SDK_10.0.0_dc26b5e\examples\dfu\bootloader\pca10028\dual_bank_ble_s110\arm5_no_packs\
rem HEXマージ => OUT_DFU_BL.HEXができる。
"C:\Program Files (x86)\Nordic Semiconductor\nrf5x\bin\mergehex.exe" -m ..\..\..\..\..\..\components\softdevice\s110\hex\s110_nrf51_8.0.0_softdevice.hex _build\nrf51422_xxac.hex -o OUT_DFU_BL.HEX
OUT_DFU_BL.HEX
를 구워서 시작하고 스마트 폰의 BLE 앱 (nRF Connect
)으로 검색하여 보면 DfuTarg
라는 것이 보인다 테스트 - nRF Tools에 대한 샘플 펌웨어로 업데이트
DFU
Select File
를 눌러 hrs_dfu_s110_8_0_sdk_8_0.zip
를 선택하고 오른쪽 상단의 Done
[SELCT DEVICE]
를 선택하고 DfuTarg
를 선택 Upload
를 누르면 업로드가 시작됩니다.HRM
=> [CONNECT]
에서 장치 선택. Nordic_HRM
(이름은 DfuTarg
그대로있을 수 있지만 스마트 폰이 캐시하고 있습니까??) Nordic_HRM
를 선택하여 업그레이드 할 수 있습니다.자체 제작 응용 프로그램에서 zip 패키지 만들기
nrfutil.exe
를 사용하여 zip 패키지를 만듭니다.예
nrfutil.exe dfu genpkg application.zip --application dfu_test_app_hrm.hex --dev-revision 0xffff --dev-type 0xffff --sd-req 0x0064
기타
프로젝트 유형
nRF51_SDK_10.0.0_dc26b5e\examples\dfu\bootloader\pca10028
dual_bank_ble_s110
dual_bank_ble_s130
dual_bank_ble_s310
dual_bank_serial_s110
dual_bank_serial_s130
dual_bank_serial_s310
single_bank_serial_s110
single_bank_serial_s130
single_bank_serial_s310
듀얼
Single
플래시 메모리 매핑의 차이 (주소는 S110v8.0이라고 조금 다를 것)
라는 것은, 듀얼이라고,
소스는 파이썬으로 나왔다. C에 이식하여 Cortex-M3 기반 호스트에서 업데이트라는 것도 가능했다.
Reference
이 문제에 관하여([메모] BLE Nano(nRF51822) 무선으로 펌웨어 업데이트(OTA-DFU)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mt08/items/57d8fe37989b7b912997텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)