-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bare metal profile: USB class device support #12873
Conversation
…ly for MBED OS full profile.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thinking what it would take to make this also run in baremetal, it only creates a thread for event queue dispatch - the only usage of rtos in CDC?
You are right, it uses threads for the event queue, but I have limited knowledge on this class device. I will check with @evedon for enabling this CDC_ECM class device in a separate PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor comment but code change okay.
drivers/source/usb/USBCDC_ECM.cpp
Outdated
@@ -556,3 +556,4 @@ void USBCDC_ECM::_bulk_out_callback() | |||
|
|||
read_start(_bulk_out, _bulk_buf, MAX_PACKET_SIZE_BULK); | |||
} | |||
#endif // defined(MBED_CONF_RTOS_PRESENT) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Newline missing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can you quickly update the file and we restart CI?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done. Please restart the CI
Please add a JIRA task in our backlog |
CI started |
Test run: SUCCESSSummary: 6 of 6 test jobs passed |
Pull request has been modified.
Added the JIRA task : https://jira.arm.com/browse/IOTCORE-1578 |
CI started |
Test run: SUCCESSSummary: 6 of 6 test jobs passed |
Summary of changes
USBCDC_ECM class device uses RTOS thread APIs, so added MBED_CONF_RTOS_PRESENT conditional check to disable that class device in bare metal profile.
Note
Add "drivers-usb" config along with "bare-metal" in mbed_app.json "requires" to enable the USB class devices in bare metal profile as sample config below
Impact of changes
With these changes, except USBCDC_ECM, all the below list of USB class devices can build and works in bare metal profile.
Migration actions required
None.
Documentation
Bare metal profile APIs Docs PR
Pull request type
Test results
Reviewers
@evedon @kjbracey-arm