nuttx-apps icon indicating copy to clipboard operation
nuttx-apps copied to clipboard

[FEATURE] MCUmgr support

Open raiden00pl opened this issue 5 months ago • 3 comments

Is your feature request related to a problem? Please describe.

Hi, does anyone have mcumgr ported on NuttX?

If not, I think it's a project worth porting, as it would provide a tool for managing remote devices and, most importantly, DFU over the Simple Management Protocol (e.g., over BLE). An out-of-the-box tool for managing remote devices is something I feel is missing in NuttX.

If no one has implemented this yet, I might look into it one day. However, I have a few concerns about this task.

Describe the solution you'd like

Currently there are 2 implementations of mcumgr:

  1. The original project from Mynwet - https://github.com/apache/mynewt-mcumgr/
  2. Zephyr version, developed in parallel - https://github.com/zephyrproject-rtos/zephyr/tree/main/subsys/mgmt/mcumgr Initially, Zephyr used the Mynewt version directly, but they decided to incorporate the code directly into Zephyr. Details can be found here:
    • https://github.com/zephyrproject-rtos/zephyr/issues/36017
    • https://github.com/zephyrproject-rtos/zephyr/pull/36092

Currently Zephyr version has more functionalities (such as mcumgr client and additional management commands).

So my questions are:

  1. Which code should we port: the Mynewt version or the Zephyr version ? Both have Apache licenses, so the license is not an issue. Zephyr has more functionalities, but the porting requires more effort.

  2. Should we adopt an approach similar to Zephyr, where we maintain our own version of the code, or should we clone active project ? If we choose the second approach (git clone), the Zephyr version is probably out of the question - cloning the entire Zephyr project is a bad idea.

    Keeping its entire code in our repo could offer benefits, such as implementing NuttX-specific commands, transports and optimizations. All the arguments from the discussion in Zephyr issue above also apply here.

Describe alternatives you've considered

No response

Verification

  • [X] I have verified before submitting the report.

raiden00pl avatar Sep 01 '24 10:09 raiden00pl