Azure sphere External device firmware update issue

95504669 521 Reputation points
2021-12-20T10:48:59.14+00:00

I use Avnet Starter kit Rev2 board. I followed the External firmware update code as provided in the Sample.

I was able to send the firmware to the nrf52 device without enabling the CTS/RTS on Avnet device, but it is enabled on the nrf52 device.

Conditions are as belows:-

  1. If Azure CTS/RTS is disabled and nrf CTS/RTS is enabled, and no jumper wires are connected between nrf CTS/RTS to azure RTS/CTS, firmware update won't work.
  2. If Azure CTS/RTS is disabled and nrf CTS/RTS is enabled, and if a jumper wire is connected between Azure CTS to nrf52 RTS, then the firmware update will work.

How could this work. Please help me with this working logic. Thank you.

Azure Sphere
Azure Sphere
An Azure internet of things security solution including hardware, operating system, and cloud components.
156 questions
{count} votes

Accepted answer
  1. António Sérgio Azevedo 7,661 Reputation points Microsoft Employee
    2022-01-21T12:44:40.697+00:00

    Hello @95504669 ,

    Posting here the best practice shared in the github related issue by Gianni Trevisiol: https://github.com/Azure/azure-sphere-samples/issues/222

    As a best practice, it's recommended that UART flow control configurations do not differ on the two communication parties.

    That said, the likely reason for which case 2) works is that when the Azure Sphere's CTS pin is connected to the NFR's RTS, its current state (undefined btw) "happens" to trigger the hardware flow control circuit between the two.
    To prove this, you can use case 1), and simply try to separately pull-up(3.3V)/down(GND) the NRF's RTS only: the FW update should similarly succeed/fail respectively.

    Therefore, you can either:

    1) Enable flow control on Azure Sphere (on the NRF52 it's already enabled in its bootloader) and cross-connect CTS/RTS between the two (like shown in the sample).
    2) Disable flow control on Azure Sphere and pull-up RTS (and CTS optionally, since already done by the bootloader) on the NRF... but accept potential communication issues.

    Remember:

    • Please accept an answer if correct. Original posters help the community find answers faster by identifying the correct answer. Here is how.
    • Want a reminder to come back and check responses? Here is how to subscribe to a notification.
    0 comments No comments

0 additional answers

Sort by: Most helpful