[nRF52] Bootloader를 위한 key & Firmware Update Package 생성

2020년 10월 05일 by 진아사랑해

    [nRF52] Bootloader를 위한 key & Firmware Update Package 생성 목차
반응형

Bootloader 또는 secure bootloader를 생성하기 위해서는 암화화 키의 생성이 필요하다

이 키값이 맞지 않으면 dfu가 동작하지 않는다

사용하는 유틸리티는 nrfutil로 nordic 사이트에서 다운로드 받으면 된다.

 

1. 개인 키(private key) 생성

  nrfutil keys generate dfu_private_key.pem

  Generated private key and stored it in: dfu_private_key.pem

  위와 같은 메시지가 출력되면 성공한 것이다

 

2. 개인 키를 가지고 공개 키(public key)를 생성한다.

  nrfutil keys display --key pk --format code --out_file dfu_public_key.c dfu_private_key.pem

 

화일을 검색하여 보면 dfu_public_key.c가 생성된 것을 확인할 수 있다

dfu_public_key.c를 열어보면 맨 위 주석에 생성된 날자가 표시되어 있다

/* This file was automatically generated by nrfutil on 2020-10-05 (YY-MM-DD) at 10:35:59 */

 

3. Firmware Update Package 생성

(1) 사용하는 softdevice 버전

    --sd-req 는 s112_nrf52_6.1.1_softdevice.hex를 사용함으로 0xB8 로 설정한다.

    nrfutil pkg generate --help 명령을 command 창에서 치면 softdevice 종류별로 출력된다.

(2) 사용하는 chip 버전

   --hw-version은 nRF52xxx를 사용함으로 52

(3) 응용 프로그램

  --application 으로 나같은 경우에는 nrf52810_xxaa.hex 이다.

(4) 응용 프로그램 버전

  --application-version-string "1.0.0"

  동일한 버전 또는 위의 버전만이 다운로드가 된다.

(5) private key 화일

  --key-file dfu_private_key.pem

(6) 최종적으로 원하는 zip 화일이름

   blc_v1.zip

 

(1) ~ (6) 번의 옵션을 사용한 전체 명령은 

nrfutil pkg generate --application nrf52810_xxaa.hex --application-version-string "1.0.0" --hw-version 52 --sd-req 0xB8 --key-file G:\dfu_private_key.pem blc_v1.zip

 

4. Bootloader 다운로드 방법

각 개발 환경마다 틀리기 때문에 아래의 링크를 참조한다

infocenter.nordicsemi.com/topic/sdk_nrf5_v16.0.0/lib_bootloader.html#lib_bootloader_programming

반응형