haukepetersen opened a new pull request #231: hal/timer: do not assing ISR prio 
building for RIOT
URL: https://github.com/apache/mynewt-nimble/pull/231
 
 
   I was recently debugging an issue running NimBLE in `observer` mode on top 
of RIOT (using a `nrf52dk`): every time triggering `ble_gap_disc()`, the 
application would hard-fault.
   
   It turned out, that this was caused to contradicting ISR priorities expected 
by RIOT and assigned by NimBLE (thanks to @andrzej-kaczmarek for pinpointing 
this). RIOT only uses a single, constant (`2`) interrupt priority for every ISR 
on Cortex-M platforms, but NimBLE is assigning the lowest possible priority to 
the `rtc` ISR. This leads to the `PendSV` ISR interrupting the rtc ISR, 
consequently leading to an invalid return value (`0xFFFFFFFD`) instead of 
(`0xFFFFFFF1`) read from the stack.
   
   So as an (possible intermediate) fix, I propose not to touch interrupt 
priorities when building for RIOT.
   
   Additional note: RIOT initializes the priority of every available vector to 
the mentioned constant value at boot time.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to