Combining AVB+USB Code Resulted In Constraints Check Errors
-
- Active Member
- Posts: 35
- Joined: Sat May 09, 2020 4:20 pm
Did someone test the proposed solution?
-
- Active Member
- Posts: 35
- Joined: Sat May 09, 2020 4:20 pm
I did the proposed changes and was able to run the USB endpoint and the ethernet mac with PTP. Unfortunately there is not enough cores available to run the full AVB stack in combination with USB audio. Is it possible to make a modified version of the ethernet mac that runs at 100 Mbit and uses less cores?
-
- XCore Expert
- Posts: 580
- Joined: Thu Nov 26, 2015 11:47 pm
-
- Active Member
- Posts: 35
- Joined: Sat May 09, 2020 4:20 pm
Thanks! This link was very helpful.
Next step is to figure out how to reduce the number of used chanends in order bring up the full AVB stack. Any ideas are welcome!
Next step is to figure out how to reduce the number of used chanends in order bring up the full AVB stack. Any ideas are welcome!
-
- XCore Expert
- Posts: 580
- Joined: Thu Nov 26, 2015 11:47 pm
Glad you got it working.
There are several ways to remove used chanends if you just need them for communication between tasks on the same tile.
For data streaming you can use ring buffers / fifos.
For other uses of chanends you can look at the ways to share memory here https://www.xcore.com/viewtopic.php?f=26&t=3061
And refer to module_xc_ptr on the xcore github https://github.com/xcore/sc_util/tree/m ... ule_xc_ptr and of course lib_locks if you need to handle synchronization in your software that would have normally been handled by the chanends themselves.
There are several ways to remove used chanends if you just need them for communication between tasks on the same tile.
For data streaming you can use ring buffers / fifos.
For other uses of chanends you can look at the ways to share memory here https://www.xcore.com/viewtopic.php?f=26&t=3061
And refer to module_xc_ptr on the xcore github https://github.com/xcore/sc_util/tree/m ... ule_xc_ptr and of course lib_locks if you need to handle synchronization in your software that would have normally been handled by the chanends themselves.