-
-
Notifications
You must be signed in to change notification settings - Fork 347
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
HostTests stalling on esp8266 Waiting for timer1 callback test to complete
#2763
Comments
Though a bit of trial and error I discovered that this fixes the problem:
The
Passing a NULL value doesn't actually block interrupts. Espressif's RTOS SDK uses NMI for tick handling and it provides a definition for the relevant register |
Also found a reference to this bug in the SDK "that Timer can not be used with non-NMI interrupt once NMI has been used". esp8266/Arduino#4598 (comment). |
Here is a modified Note that if the
|
Tested the above application against various updated SDK versions: tag v3.0.4 b1c14cdb : no change Inspection shows all of them have the same |
This problem has been tracked back to PR #2712. Prior to that, the test code didn't actually wait for the timer callback to fire before continuing, but it still doesn't fire there.
Simplest way to verify this issue is to remove all tests from
include/modules.h
exceptTimers
. Can also build withDISABLE_NETWORK=1
- setting makes no difference to the issue but reduces code size.With the following changes and the problem goes away:
The issue appears to occur when the hardware timer is disarmed, then rearmed multiple times.
I don't know whether this is a hardware problem with my specific device, but unlikely.
Investigations continue...
The text was updated successfully, but these errors were encountered: