본문 바로가기

Nordic/nRF52

nRF52832 SSM - BLE UART 테스트 (IAR)

빠른 테스트를 위해 기존에 사용했던 BLE UART예제를 구동 했는데 기존 코드가 정상 동작을 하지 않는다. 옛날 버전이라 그런가?

최신 버전을 다운로드 해서 테스트 해 보자.

노르딕사에서 제공하는 최신 SDK, Softdevice 를 다운로드 해서 테스트 해 보았다.

 

컴파일 에러가 발생한다.

 

nRF5x 시리즈는 버전의 호환성이 너무 떨어져 새로운 버전을 사용할때마다 한번에 진행 되는 것이 없는것 같다. 계속 문제가 생기네..

소프트 디바이스도 버전에 따라 용량설정과 헤더 파일을 다 꿔줘야 하는(?) 일을 해 주어야 하고...

 

nRF52832로 꼭 진행 해야 한다고 하니... 어쩔수는 없다.

구글링 결과 컴파일러의 라이센스 문제라고 한다.

https://www.nordicsemi.com/Products/Development-tools/nRF-MDK/Download#infotabs

에서 다운 받아서 compiler_abstraction.h 를 교체 하면 된다고 해서 교체후 정상 컴파일이 된다.

 


nRF5 SDK에서 제공하는 BLE UART 예제를 구동해 보자

int main(void)
{
    bool erase_bonds;

    // Initialize.
    uart_init();
    log_init();
    timers_init();
    buttons_leds_init(&erase_bonds);
    power_management_init();
    ble_stack_init();
    gap_params_init();
    gatt_init();
    services_init();
    advertising_init();
    conn_params_init();

    // Start execution.
    printf("\r\nUART started.\r\n");
    NRF_LOG_INFO("Debug logging for UART over RTT started.");
    advertising_start();

    // Enter main loop.
    for (;;)
    {
        idle_state_handle();
    }
}

 

컴파일 후 테스트 결과 Nordic_UART로 인식되고 BLE UART로 잘 동작 하는것을 확인 할 수 있다.

반응형