Keil can't build secure_bootloader project

I would like to using Keil to build secure_bootloader project for changing NRF_DFU_BLE_REQUIRES_BONDS from 0 to 1. But Keil failed to build. Please refer to snapshot of Keil.

Parents
  • A description on how to update to new MDK (device family pack) in Keil for older nRF5 SDK is described here:

     RE: MDK uVision SDK 16.0 keil Family Pack Installation  

    Kenneth

  • Thanks for your support! I have solved Keil Family Pack installation issue. Now Keil complains can't find nrf52_erratas.h and uECC.h. Do I miss something?

    Rebuild started: Project: secure_bootloader_ble_s132_pca10040
    *** Using Compiler 'V5.06 update 7 (build 960)', folder: 'd:\Keil_v5\ARM\ARMCC\Bin'
    Rebuild target 'nrf52832_xxaa_s132'
    compiling dfu_public_key.c...
    ..\..\..\dfu_public_key.c(20): error:  #35: #error directive: "Debug public key not valid for production. Please see github.com/.../README.md to generate it"
      #error "Debug public key not valid for production. Please see github.com/.../README.md to generate it"
    ..\..\..\dfu_public_key.c: 0 warnings, 1 error
    compiling nrf_bootloader_app_start.c...
    compiling ble_srv_common.c...
    compiling boards.c...
    compiling nrf_bootloader_app_start_final.c...
    compiling nrf_bootloader_dfu_timers.c...
    compiling main.c...
    compiling nrf_crypto_ecdsa.c...
    ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.h(52): error:  #5: cannot open source input file "uECC.h": No such file or directory
      #include "uECC.h"
    ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c: 0 warnings, 1 error
    compiling nrf_bootloader.c...
    compiling nrf_crypto_ecc.c...
    ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.h(52): error:  #5: cannot open source input file "uECC.h": No such file or directory
      #include "uECC.h"
    ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c: 0 warnings, 1 error
    compiling nrf_crypto_init.c...
    compiling nrf_crypto_hash.c...
    compiling nrf_crypto_shared.c...
    compiling nrf_bootloader_info.c...
    compiling oberon_backend_ecc.c...
    compiling nrf_bootloader_wdt.c...
    compiling nrf_bootloader_fw_activation.c...
    compiling oberon_backend_ecdh.c...
    compiling oberon_backend_ecdsa.c...
    compiling oberon_backend_eddsa.c...
    compiling micro_ecc_backend_ecdh.c...
    ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.h(52): error:  #5: cannot open source input file "uECC.h": No such file or directory
      #include "uECC.h"
    ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c: 0 warnings, 1 error
    compiling micro_ecc_backend_ecdsa.c...
    ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.h(52): error:  #5: cannot open source input file "uECC.h": No such file or directory
      #include "uECC.h"
    ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c: 0 warnings, 1 error
    compiling dfu-cc.pb.c...
    compiling oberon_backend_chacha_poly_aead.c...
    compiling micro_ecc_backend_ecc.c...
    ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.h(52): error:  #5: cannot open source input file "uECC.h": No such file or directory
      #include "uECC.h"
    ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c: 0 warnings, 1 error
    compiling oberon_backend_hmac.c...
    compiling oberon_backend_hash.c...
    compiling nrf_sw_backend_hash.c...
    compiling nrf_dfu.c...
    compiling nrf_dfu_flash.c...
    compiling nrf_dfu_ble.c...
    compiling nrf_dfu_handling_error.c...
    compiling nrf_dfu_req_handler.c...
    ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.h(52): error:  #5: cannot open source input file "uECC.h": No such file or directory
      #include "uECC.h"
    ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c: 0 warnings, 1 error
    compiling nrf_dfu_mbr.c...
    compiling nrf_dfu_settings.c...
    compiling nrf_dfu_settings_svci.c...
    compiling nrf_dfu_transport.c...
    compiling nrf_dfu_utils.c...
    compiling nrf_dfu_validation.c...
    ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.h(52): error:  #5: cannot open source input file "uECC.h": No such file or directory
      #include "uECC.h"
    ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c: 0 warnings, 1 error
    compiling nrf_dfu_ver_validation.c...
    ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.h(52): error:  #5: cannot open source input file "uECC.h": No such file or directory
      #include "uECC.h"
    ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c: 0 warnings, 1 error
    compiling nrf_nvmc.c...
    compiling app_error_weak.c...
    compiling nrfx_atomic.c...
    compiling app_scheduler.c...
    compiling nrf_assert.c...
    compiling app_util_platform.c...
    compiling crc32.c...
    compiling nrf_atomic.c...
    compiling nrf_atfifo.c...
    compiling mem_manager.c...
    compiling nrf_balloc.c...
    compiling nrf_fprintf.c...
    compiling nrf_fprintf_format.c...
    compiling nrf_queue.c...
    compiling nrf_fstorage.c...
    compiling nrf_memobj.c...
    compiling nrf_fstorage_sd.c...
    compiling nrf_fstorage_nvmc.c...
    compiling nrf_section_iter.c...
    compiling nrf_ringbuf.c...
    compiling nrf_log_str_formatter.c...
    compiling nrf_strerror.c...
    compiling nrf_log_frontend.c...
    compiling nrf_dfu_svci.c...
    compiling sha256.c...
    compiling pb_common.c...
    assembling arm_startup_nrf52.s...
    compiling pb_decode.c...
    compiling nrf_svc_handler.c...
    compiling system_nrf52.c...
    RTE\Device\nRF52832_xxAA\system_nrf52.c(30): error:  #5: cannot open source input file "nrf52_erratas.h": No such file or directory
      #include "nrf52_erratas.h"
    RTE\Device\nRF52832_xxAA\system_nrf52.c: 0 warnings, 1 error
    compiling nrf_sdh_soc.c...
    compiling nrf_sdh.c...
    compiling nrf_dfu_svci_handler.c...
    compiling nrf_sdh_ble.c...
    ".\_build\nrf52832_xxaa_s132.axf" - 10 Error(s), 0 Warning(s).
    Target not created.
    Build Time Elapsed:  00:00:10

Reply
  • Thanks for your support! I have solved Keil Family Pack installation issue. Now Keil complains can't find nrf52_erratas.h and uECC.h. Do I miss something?

    Rebuild started: Project: secure_bootloader_ble_s132_pca10040
    *** Using Compiler 'V5.06 update 7 (build 960)', folder: 'd:\Keil_v5\ARM\ARMCC\Bin'
    Rebuild target 'nrf52832_xxaa_s132'
    compiling dfu_public_key.c...
    ..\..\..\dfu_public_key.c(20): error:  #35: #error directive: "Debug public key not valid for production. Please see github.com/.../README.md to generate it"
      #error "Debug public key not valid for production. Please see github.com/.../README.md to generate it"
    ..\..\..\dfu_public_key.c: 0 warnings, 1 error
    compiling nrf_bootloader_app_start.c...
    compiling ble_srv_common.c...
    compiling boards.c...
    compiling nrf_bootloader_app_start_final.c...
    compiling nrf_bootloader_dfu_timers.c...
    compiling main.c...
    compiling nrf_crypto_ecdsa.c...
    ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.h(52): error:  #5: cannot open source input file "uECC.h": No such file or directory
      #include "uECC.h"
    ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c: 0 warnings, 1 error
    compiling nrf_bootloader.c...
    compiling nrf_crypto_ecc.c...
    ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.h(52): error:  #5: cannot open source input file "uECC.h": No such file or directory
      #include "uECC.h"
    ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c: 0 warnings, 1 error
    compiling nrf_crypto_init.c...
    compiling nrf_crypto_hash.c...
    compiling nrf_crypto_shared.c...
    compiling nrf_bootloader_info.c...
    compiling oberon_backend_ecc.c...
    compiling nrf_bootloader_wdt.c...
    compiling nrf_bootloader_fw_activation.c...
    compiling oberon_backend_ecdh.c...
    compiling oberon_backend_ecdsa.c...
    compiling oberon_backend_eddsa.c...
    compiling micro_ecc_backend_ecdh.c...
    ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.h(52): error:  #5: cannot open source input file "uECC.h": No such file or directory
      #include "uECC.h"
    ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c: 0 warnings, 1 error
    compiling micro_ecc_backend_ecdsa.c...
    ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.h(52): error:  #5: cannot open source input file "uECC.h": No such file or directory
      #include "uECC.h"
    ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c: 0 warnings, 1 error
    compiling dfu-cc.pb.c...
    compiling oberon_backend_chacha_poly_aead.c...
    compiling micro_ecc_backend_ecc.c...
    ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.h(52): error:  #5: cannot open source input file "uECC.h": No such file or directory
      #include "uECC.h"
    ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c: 0 warnings, 1 error
    compiling oberon_backend_hmac.c...
    compiling oberon_backend_hash.c...
    compiling nrf_sw_backend_hash.c...
    compiling nrf_dfu.c...
    compiling nrf_dfu_flash.c...
    compiling nrf_dfu_ble.c...
    compiling nrf_dfu_handling_error.c...
    compiling nrf_dfu_req_handler.c...
    ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.h(52): error:  #5: cannot open source input file "uECC.h": No such file or directory
      #include "uECC.h"
    ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c: 0 warnings, 1 error
    compiling nrf_dfu_mbr.c...
    compiling nrf_dfu_settings.c...
    compiling nrf_dfu_settings_svci.c...
    compiling nrf_dfu_transport.c...
    compiling nrf_dfu_utils.c...
    compiling nrf_dfu_validation.c...
    ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.h(52): error:  #5: cannot open source input file "uECC.h": No such file or directory
      #include "uECC.h"
    ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c: 0 warnings, 1 error
    compiling nrf_dfu_ver_validation.c...
    ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.h(52): error:  #5: cannot open source input file "uECC.h": No such file or directory
      #include "uECC.h"
    ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c: 0 warnings, 1 error
    compiling nrf_nvmc.c...
    compiling app_error_weak.c...
    compiling nrfx_atomic.c...
    compiling app_scheduler.c...
    compiling nrf_assert.c...
    compiling app_util_platform.c...
    compiling crc32.c...
    compiling nrf_atomic.c...
    compiling nrf_atfifo.c...
    compiling mem_manager.c...
    compiling nrf_balloc.c...
    compiling nrf_fprintf.c...
    compiling nrf_fprintf_format.c...
    compiling nrf_queue.c...
    compiling nrf_fstorage.c...
    compiling nrf_memobj.c...
    compiling nrf_fstorage_sd.c...
    compiling nrf_fstorage_nvmc.c...
    compiling nrf_section_iter.c...
    compiling nrf_ringbuf.c...
    compiling nrf_log_str_formatter.c...
    compiling nrf_strerror.c...
    compiling nrf_log_frontend.c...
    compiling nrf_dfu_svci.c...
    compiling sha256.c...
    compiling pb_common.c...
    assembling arm_startup_nrf52.s...
    compiling pb_decode.c...
    compiling nrf_svc_handler.c...
    compiling system_nrf52.c...
    RTE\Device\nRF52832_xxAA\system_nrf52.c(30): error:  #5: cannot open source input file "nrf52_erratas.h": No such file or directory
      #include "nrf52_erratas.h"
    RTE\Device\nRF52832_xxAA\system_nrf52.c: 0 warnings, 1 error
    compiling nrf_sdh_soc.c...
    compiling nrf_sdh.c...
    compiling nrf_dfu_svci_handler.c...
    compiling nrf_sdh_ble.c...
    ".\_build\nrf52832_xxaa_s132.axf" - 10 Error(s), 0 Warning(s).
    Target not created.
    Build Time Elapsed:  00:00:10

Children
Related