-
Notifications
You must be signed in to change notification settings - Fork 26
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
Support for nrf5340 dual core architecture #101
Comments
I think with the nrf53, you can run the controller on the network core, and then trouble on the application core, communicating over the IPC bus. You'd need to implement the traits from |
Are you aware of any non-sdc controller available for the nrf5340? Why should trouble run on the app-core in your opinion? In general, I'm still not quite sure how to handle 2 applications in one rust project... would you handled them as completely separated apps that communicate over an IPC API? |
I'm not very familiar with it, but my impression was that Nordic provides a controller firmware that you flash to the network core and that's all you need.
Keep in mind even Trouble does not get notified of low level events. If you're using only GATT, there will not be any 'hidden' events on a connection other than the initial 'connected', 'gatt events' and 'disconnected', so I doubt you would save a lot of power by running trouble on the net core (and more likely complicate your firmware build/deployment model).
I think you'd generally treat them as separate build targets/firmware, but they may share some common crates for type definitions over the IPC etc. |
Thanks for the inputs!
Your impression was right: https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/app_dev/device_guides/nrf53/features_nrf53.html#bluetooth_low_energy To me it still seems like a waste of resources, to run only the controller on a dedicated CPU, in the nrf52 series app and BLE are coexisting with pretty decent performances after all... but I might underestimate all the job that the controller (and multi-protocol stuff) need to do... I'll keep you posted here with any progress on this... |
I'm quite familiar with the nrf52 family and I used the SoftDevice extensively in C and I did some fairly simple work in Rust using embassy-softdevice.
Recently I started looking into the nrf5340, and I though giving
trouble
a shot 'cause Nordic doesn't support the nrf53 family within the SoftDevice stack anymore :'(I never worked on a dual core microcontroller in Rust, hence I'm not sure where to start here?
I saw that there is some support for the nrf5340 chip within embassy, but the examples do not really showcase the usage of the double cores.
Any suggestion on how to get started with trouble on that chip?
The text was updated successfully, but these errors were encountered: