ARMmbed / ble-nrf51822

Nordic stack and drivers for the mbed BLE_API
Other
46 stars 51 forks source link

Fix assembly sequence to start bootloader in GCC #64

Closed andresag01 closed 8 years ago

andresag01 commented 8 years ago

The assemble sequence within an mbedOS application that starts the nordic bootloader was being modified by the compiler. The result is that DFU enabled applications could never start the bootloader correctly. This is because the GCC compiler was translating a MOV instruction into a ADDS, which sets the conditional flags in APSR before a conditional branch was executed. The result of the incorrect branch caused the program to believe that it was in interrupt mode when this was not the case. @rgrover

rgrover commented 8 years ago

this fixes https://github.com/ARMmbed/ble-examples/issues/16

rgrover commented 8 years ago

@LiyouZhou : note: here's a modification/fix to a file which came from the NordicSDK

rgrover commented 8 years ago

published new ble-nrf51822