Comments (4)
Hi, your issue involved Arduino which isn't covered by this repo. Please try to reproduce with stock examples:
https://github.com/hathach/tinyusb/tree/master/examples/device
from tinyusb.
You might be correct that it's limited to the Arduino library.
However, upon investigating a bit more, it seems that tusb_hal_nrf_power_event
calls TU_LOG
from inside an ISR.
Is the tu_printf
logging function expected to be ISR-safe? If so, it doesn't seem to be documented as a requirement.
The nRF52 Arduino core seems to have some issues with Serial1
being used from within an ISR.
Examining the state of the FreeRTOS task list suggests that it has gotten corrupted by turning into a loop, possibly due to calling non-ISR synchronization primitives from within an ISR.
from tinyusb.
Confirmed that LOG=2
with examples/device/hid_boot_interface
appears to function correctly, producing debug logs without deadlocking. I'll open an issue with the Arduino library.
I would still like some clarification about whether tu_printf
is expected to be ISR-safe.
from tinyusb.
Is the tu_printf logging function expected to be ISR-safe? If so, it doesn't seem to be documented as a requirement.
The nRF52 Arduino core seems to have some issues with Serial1 being used from within an ISR.
Yes it should be ISR safe, while documentation is a bit lacking...
Meanwhile even for built-in logging interrupt lock is also missing:
Line 49 in ccc7a36
from tinyusb.
Related Issues (20)
- OHCI: MMIO coherency/sync issue
- audio.h: error: ISO C restricts enumerator values to range of 'int' before C23 [-Werror=pedantic] HOT 4
- tud_task() hangs when there are no more messages in the buffer due to the timeout_ms value is set to UINT32_MAX. It should be 0, right? HOT 4
- Renesas RZ/T Support
- Consider adding preprocessor switch to disable automatic rp2040 binary declarations
- tud_umount_cb not called on Raspberry Pi Pico W HOT 1
- It can't work on STM32G0B1CBT6 with FreeRTOS. Please help. HOT 2
- Thoughts about increasing CDC transfer speed.
- Stack overflow with the new NCM driver HOT 12
- USBTMC for the host
- FREERTOS thread create in different order cause memory leak. HOT 1
- USBTMC: EP not busy should not bail from tud_usbtmc_transmit_notification_data
- HID descriptor
- tud_audio_write()/tud_audio_read() from ISR when using RTOS HOT 3
- Wrong data toggle and missing handshake HOT 1
- audio-4-channel-mic-96kHz
- MSC inquery request causes USBD Bus Reset HOT 3
- tud_audio_read() doesn't return the right value after merge #2739 HOT 8
- Updates for pico-sdk 2 HOT 1
- HardFault occurs randomly while sending HID report on CH32V203
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tinyusb.