[DFU]OTA를 이용한 다운로드 후에 응용 프로그램(Application Program)으로 넘어가지 않는 경우

2020년 11월 26일 by 진아사랑해

    [DFU]OTA를 이용한 다운로드 후에 응용 프로그램(Application Program)으로 넘어가지 않는 경우 목차
반응형

OTA를 이용한 dfu를 한 후에 계속 DfuTarg에 머물러 있는 경우가 발생했다

아무리 원인을 찾아봐도 ....멘붕

 

외부의 도움으로 원인을 알겠되었다

secure_bootloader에서

sdk_config.h의 내용중에

#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN
#define NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN 16
#endif

 

즉 DFU 모드에 들어가는 pin이 16번인 것이다.

 

프로그램에서 nrf_bootloader.c의 함수중에

/**@brief Function for checking whether to enter DFU mode or not.
 */
static bool dfu_enter_check(void)

{

  ....

    if (NRF_BL_DFU_ENTER_METHOD_BUTTON &&
       (nrf_gpio_pin_read(NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN) == 0))
    {
        NRF_LOG_DEBUG("DFU mode requested via button.");
        return true;
    }

 ....

}

 

설계한 보드에서 16번 pin이 GND로 잡혀있어서....계속 DFU 모드에 머물러 있었던 것이다

 

Custom Bard를 설계하는 경우에 주의를 하자

 

참고: devzone.nordicsemi.com/f/nordic-q-a/53266/custom-button-in-dfu

 

반응형