upgrade ncs from v2.6.0 to v2.9.0, building gets errors

hello,
my code was built under ncs v2.6.0 and tool chain 2.6.0 without issue, I upgrade them to v2.9.0, then I get these errors, can not figure out how to fix them.

could you please help me with it? thanks!




sorry, was failed to send them in text.

regards
Danny

  • There might have been some breaking changes in the API and you should look at each error individually.

    Or Based on the log, it seems like you have some missing modules in your prj.conf for v2.9.0 maybe due to some config name changes.

    Make sure you have these included in your prj.conf

    CONFIG_UART_ASYNC_API=y
    CONFIG_UART_0_ASYNC=y  # if you are using uart0 instance
    CONFIG_USB=y
    CONFIG_USB_DEVICE_STACK=y
    CONFIG_USB_CDC_ACM=y
    CONFIG_SYSTEM_WORKQUEUE=y
    

  • No, this doesn't solve the issue.
    *********************************************************************

    Actually the errors are similar, for instance:
    C:/ncs/v2.9.0/zephyr/subsys/usb/device/usb_transfer.c:146: undefined reference to `k_work_submit_to_queue'

    I find k_work_submit_to_queue is declared in zephyr/kernel.h and defined in zephyr/kernel/work.c

    I don't understand why the linker cannot find the implementation.

  • Can you please delete your build folder, attach the project as zip file so that I can compile it at my end. We will then avoid a lot of ping pong question and answers before we know what the issue is. I can directly compile, see the issue and provide you are fix for it.

Related