Cannot do FOTA on thingy52_nrf52832dk

I am unable to build my application for the Thingy:52 to perform FOTA over BLE. I have configured everything as outlined in the Nordic Developer Academy. FOTA over Bluetooth works on my development board (nrf52dk_nrf52832), but when I tried to add FOTA functionality to the Thingy:52, it shows a build error. Can anyone please help me with this?

Parents
  • Hello,

    Just as an FYI, this will not work out of the box with the Thingy:52, because it has a different bootloader pre-programmed when it is shipped. So you would need to manually flash it using an external debugger in order to be able to later update it using this bootloader. 

    The Thingy:52 is also not listed as a supported device for the DevAcademy coarses.

    That being said, it is probably possible as long as you can program it using either an external debugger or via a DK using a 10-pin SWD cable when programming the bootloader (NB: This will erase the original bootloader).

    I looks like the GPIO expander (sx_1509) driver requires semaphores, which is not enabled unless you add:

    CONFIG_MULTITHREADING=y

    in your prj.conf.

    Try this, and let me know if it doesn't work.

    Regarding the undefined reference to __device_dts_ord_12, I can't say what this is without looking in your build folder. You can do this yourself. Make sure that you check the log from your latest build (because the number 12 may change), and open the file: build\zephyr\include\generated\devicetree_generated.h. In there, you should see a long list of drivers. What does it say next to 12?

    This needs to be enabled in your devicetree (<board_name>.overlay file). Let me know which one that is referred to in 12 (or whatever number your latest log says), and we can look into it if you are not able to enable it.

    Best regards,

    Edvin

Reply
  • Hello,

    Just as an FYI, this will not work out of the box with the Thingy:52, because it has a different bootloader pre-programmed when it is shipped. So you would need to manually flash it using an external debugger in order to be able to later update it using this bootloader. 

    The Thingy:52 is also not listed as a supported device for the DevAcademy coarses.

    That being said, it is probably possible as long as you can program it using either an external debugger or via a DK using a 10-pin SWD cable when programming the bootloader (NB: This will erase the original bootloader).

    I looks like the GPIO expander (sx_1509) driver requires semaphores, which is not enabled unless you add:

    CONFIG_MULTITHREADING=y

    in your prj.conf.

    Try this, and let me know if it doesn't work.

    Regarding the undefined reference to __device_dts_ord_12, I can't say what this is without looking in your build folder. You can do this yourself. Make sure that you check the log from your latest build (because the number 12 may change), and open the file: build\zephyr\include\generated\devicetree_generated.h. In there, you should see a long list of drivers. What does it say next to 12?

    This needs to be enabled in your devicetree (<board_name>.overlay file). Let me know which one that is referred to in 12 (or whatever number your latest log says), and we can look into it if you are not able to enable it.

    Best regards,

    Edvin

Children
Related