-
Notifications
You must be signed in to change notification settings - Fork 6.6k
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
native drivers and backends not yet supported with embedded C libraries #60096
Comments
Help with the pending ones would be very welcome. |
I don't think the porting of USB native posix makes sense - it has broken design and does not really implement what USBIP expects. We could however, aim with the new stack (device-next) USBIP implementation to be supported with embedded C libraries. |
@tmon-nordic Up to you guys (USB maintainers). |
Defaulting to picolibc when selecting GETOPT is a bit nicer for users in some cases, but not required. But too many things require GETOPT (for ex. some SHELL configurations) in combinations with native posix drivers which do not support yet embedded libcs (for ex. the native USB driver) (see zephyrproject-rtos#60096 ) Which leads to configurations in those cases which cannot be built. Keep defaulting to the external libC in this case. This reverts the getop part of this commit: 5f8057e Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Defaulting to picolibc when selecting GETOPT is a bit nicer for users in some cases, but not required. But too many things require GETOPT (for ex. some SHELL configurations) in combinations with native posix drivers which do not support yet embedded libcs (for ex. the native USB driver) (see #60096 ) Which leads to configurations in those cases which cannot be built. Keep defaulting to the external libC in this case. This reverts the getop part of this commit: 5f8057e Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Defaulting to picolibc when selecting GETOPT is a bit nicer for users in some cases, but not required. But too many things require GETOPT (for ex. some SHELL configurations) in combinations with native posix drivers which do not support yet embedded libcs (for ex. the native USB driver) (see zephyrproject-rtos/zephyr#60096 ) Which leads to configurations in those cases which cannot be built. Keep defaulting to the external libC in this case. This reverts the getop part of this commit: 5f8057e (cherry picked from commit f97ac47) Original-Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no> GitOrigin-RevId: f97ac47 Change-Id: Ic3cf21e2d768024c99ff8f5c87bff328f22718ff Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/zephyr/+/4964727 Reviewed-by: Fabio Baltieri <fabiobaltieri@google.com> Tested-by: Al Semjonovs <asemjonovs@google.com> Reviewed-by: Al Semjonovs <asemjonovs@google.com> Commit-Queue: Al Semjonovs <asemjonovs@google.com>
Defaulting to picolibc when selecting GETOPT is a bit nicer for users in some cases, but not required. But too many things require GETOPT (for ex. some SHELL configurations) in combinations with native posix drivers which do not support yet embedded libcs (for ex. the native USB driver) (see zephyrproject-rtos#60096 ) Which leads to configurations in those cases which cannot be built. Keep defaulting to the external libC in this case. This reverts the getop part of this commit: 5f8057e Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Now that we have the native_sim targets, we can build Zephyr as a Linux application, with the choice of using an embedded C library. When the user selects to use an embedded libC, a few of the old native_posix drivers will not work, as in that case they will not have direct access to the host libraries.
The solution is to refactor those drivers into a top and a bottom. The bottom, the part which does the host accesses, is built separately from the rest of Zephyr (in the same context as the native simulator "runner", with the host libraries and include paths, but without the Zephyr include paths). The top is built in Zephyr context.
For the most trivial accesses to the host, the runner already includes a few host call trampolines, so drivers/test code can call directly from the "embedded world" into the host via those trampolines.
This list keeps track of the progress for native (posix/sim) drivers which are not yet supported with the embedded C libraries:
The whole list of drivers and backends can be found here:
https://docs.zephyrproject.org/latest/boards/posix/native_sim/doc/index.html#native-sim-peripherals
CC: @jhedberg @MarkoSagadin @henrikbrixandersen @martinjaeger @tmon-nordic @jfischer-no @finikorg @jukkar @tbursztyka @nvlsianpu @vanwinkeljan @de-nordic @nordic-krch @Laczen
The text was updated successfully, but these errors were encountered: