nuttx-apps
nuttx-apps copied to clipboard
[FEATURE] MCUmgr support
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:
- 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:
-
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
- [X] I have verified before submitting the report.