You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by GitBox <gi...@apache.org> on 2018/10/24 13:42:51 UTC

[GitHub] haukepetersen opened a new pull request #231: hal/timer: do not assing ISR prio building for RIOT

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:
users@infra.apache.org


With regards,
Apache Git Services