Description
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:
- The original project from Mynwet - https://github.com/apache/mynewt-mcumgr/
- 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:
Currently Zephyr version has more functionalities (such as mcumgr client and additional
management commands).
So my questions are:
-
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. -
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
- I have verified before submitting the report.