This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Using UART2 in Serial LTE Modem Application NCS v1.5.0

I'm having an issue getting the SLM example to compile with UART2.

Steps to reproduce:

  1. Configure project with UART2
  2. See error pop-up
  3. Compile anyways
  4. See Undefined reference to vector start

  • Hello Andy,

    If you have a look at the prj.conf of the Serial LTE Modem Application, you can see that there is another argument which must be set when switching to UART2:

    # Use UART_2 (when working with external MCU)
    CONFIG_SLM_CONNECT_UART_2=y
    CONFIG_UART_2_NRF_HW_ASYNC_TIMER=2

    So basically, what you should do is:

    • Update to UART2

    • Look for UART_2_NRF_HW_ASYNC_TIMER, update it to value 2 and press the ‘Configure’ button.

    Unfortunately, there are some instabilities with Kconfig in NCS v1.5.0, so what I recommend you do instead is:

    • Open the prj.conf file of the Serial LTE Modem Application in a text editor of your choice, toggle the comment for the two parameters below and save the changes.

    # Use UART_2 (when working with external MCU)
    CONFIG_SLM_CONNECT_UART_2=y
    CONFIG_UART_2_NRF_HW_ASYNC_TIMER=2

    • Run a CMake update in SES.

    You should now be able to build the application. Let me know if you have any more questions.

    Cheers!

    Markus

  • Hi Markus, looks like it works!

    I'm curious if the RTS and CTS are required?  I'm not using them and the application seems to be working fine.

  • Thanks a lot for the feedback, Andy! Good to hear that it works.

    Using UART flow control is optional. As long as the receiving device can keep up processing the incoming data or your system can handle a possible loss of data, you do not need to use RTS/CTS.

    Cheers!

    Markus

Related