- [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
'nrf52' 카테고리의 다른 글
[DFU]OTA를 이용한 다운로드 후에 응용 프로그램(Application Program)으로 넘어가지 않는 경우 (0) | 2020.11.26 |
---|---|
ASTRO 앱을 이용하여 만든 앱을 안드로이드 핸드폰에 설치하는 방법 (0) | 2020.10.16 |
nRF52 dfu를 위한 key 생성 (0) | 2020.09.29 |
secure bootloader를 위한 micro-ecc 설치 (0) | 2020.09.28 |
nRF52810 buttonless DFU 환경설정 및 프로그램 수정 (0) | 2020.09.27 |