I'm seeing an issue occasionally (well, frequently) which I haven't been quite able to get to the bottom of.
I have a buffered UART TX client on one tile and the server on another (which is also running the GPIO task). Each task has an entire core allocated as I had difficulty getting the UART to work reliably when combined with other tasks.
This issue manifests as the client task hung on _i.uart_tx_buffered_if._chan.write() whilst the server is stuck in WAITING_FOR_DATA.
Hardware is XE216 (Explorer board).
Has anyone seen this? I plan to test with both on the same tile to see if this changes things (although due to channel and core allocation this probably won't be possible for the final product).
Buffered UART TX hang Topic is solved
-
- Active Member
- Posts: 34
- Joined: Sat Jul 08, 2023 5:15 am
-
- Respected Member
- Posts: 367
- Joined: Wed May 31, 2017 6:55 pm
Which revision of lib_uart are you using?
-
- Active Member
- Posts: 34
- Joined: Sat Jul 08, 2023 5:15 am
OK, fun fact: running on same tile seems to work. So maybe I need to try and refactor.
lib_uart version is 3.1.0, commit 464dccc1. The only change I made, which was an attempt to address the hang, was adding write16()/write32() methods to the interface. Those changes can be found here.
lib_uart version is 3.1.0, commit 464dccc1. The only change I made, which was an attempt to address the hang, was adding write16()/write32() methods to the interface. Those changes can be found here.