mbed-os/platform
Adam Green 408cff4f8d Modify semihost_disabledebug() to support more interface FW revs
The current implementation of semihost_disabledebug() hangs when used
with mbed interface firwmare revision 21164, the first version which
added support for this semihost call. I encountered this hang when
running a Release build on my mbed-LPC1768 board as the RTOS attempted
to disable the debugger before the idle thread put the CPU to sleep.

The 21164 interface firmware expects that R1 points to a valid argument
block but the current implementation passes in NULL. The fix was to
pass in a dummy block which is ignored by the newer 141212 revision of
the firmware and allows the 21164 version to proceeed without halting
the CPU until a manual reset.

Before this fix semihost_disabledebug() did work with the latest
mbed interface firmware revision 141212 but I rarely use this revision
of the interface firmware due to the instability issues I have
encountered in the past with its CDC and LocalFileSystem functionality.

With this proposed fix, the code now works with both the 21164 and
141212 revisions of the mbed interface firmware on the mbed-LPC1768.
2017-03-31 13:33:55 -07:00
..
CThunk.h Add tags to our code 2016-10-04 15:02:44 -05:00
CallChain.cpp Renamed files in platform to match source names 2017-02-22 18:17:54 -06:00
CallChain.h Renamed files in platform to match source names 2017-02-22 18:17:54 -06:00
Callback.h Renamed files in platform to match source names 2017-02-22 18:17:54 -06:00
CircularBuffer.h Renamed files in platform to match source names 2017-02-22 18:17:54 -06:00
DirHandle.h FileSystem: Reverted deprecation of DirHandle 2017-03-14 11:02:34 -05:00
FileBase.cpp Filesystem: Moved retarget related file interfaces into platform 2017-03-14 11:02:34 -05:00
FileBase.h Filesystem: Moved retarget related file interfaces into platform 2017-03-14 11:02:34 -05:00
FileHandle.h Filesystem: Fixed typo in param naming 2017-03-14 11:04:22 -05:00
FileLike.h Filesystem: Moved retarget related file interfaces into platform 2017-03-14 11:02:34 -05:00
FilePath.cpp Filesystem: Moved retarget related file interfaces into platform 2017-03-14 11:02:34 -05:00
FilePath.h Filesystem: Moved retarget related file interfaces into platform 2017-03-14 11:02:34 -05:00
FileSystemLike.cpp FileSystem: Reverted deprecation of DirHandle 2017-03-14 11:02:34 -05:00
FileSystemLike.h Filesystem: Moved retarget related file interfaces into platform 2017-03-14 11:02:34 -05:00
FunctionPointer.h Renamed files in platform to match source names 2017-02-22 18:17:54 -06:00
LocalFileSystem.cpp FileSystem: Reverted deprecation of DirHandle 2017-03-14 11:02:34 -05:00
LocalFileSystem.h Filesystem: Moved retarget related file interfaces into platform 2017-03-14 11:02:34 -05:00
PlatformMutex.h Add tags to our code 2016-10-04 15:02:44 -05:00
SingletonPtr.h Add tags to our code 2016-10-04 15:02:44 -05:00
Stream.cpp Filesystem: Moved retarget related file interfaces into platform 2017-03-14 11:02:34 -05:00
Stream.h Filesystem: Moved retarget related file interfaces into platform 2017-03-14 11:02:34 -05:00
Transaction.h Add tags to our code 2016-10-04 15:02:44 -05:00
critical.h Renamed files in platform to match source names 2017-02-22 18:17:54 -06:00
mbed_alloc_wrappers.cpp Renamed files in platform to match source names 2017-02-22 18:17:54 -06:00
mbed_application.c Add a function to transfer control to another app 2017-02-18 19:48:14 -06:00
mbed_application.h Add a function to transfer control to another app 2017-02-18 19:48:14 -06:00
mbed_assert.c Renamed files in platform to match source names 2017-02-22 18:17:54 -06:00
mbed_assert.h Added mbed_preprocessor.h to collect common cpp definitions 2016-11-03 10:26:31 -05:00
mbed_board.c Renamed files in platform to match source names 2017-02-22 18:17:54 -06:00
mbed_critical.c Renamed files in platform to match source names 2017-02-22 18:17:54 -06:00
mbed_critical.h Renamed files in platform to match source names 2017-02-22 18:17:54 -06:00
mbed_debug.h Add tags to our code 2016-10-04 15:02:44 -05:00
mbed_error.c Renamed files in platform to match source names 2017-02-22 18:17:54 -06:00
mbed_error.h Add tags to our code 2016-10-04 15:02:44 -05:00
mbed_interface.c Renamed files in platform to match source names 2017-02-22 18:17:54 -06:00
mbed_interface.h Add tags to our code 2016-10-04 15:02:44 -05:00
mbed_lib.json [EFR32] Set default USB serial baudrate 2016-11-07 11:54:45 +01:00
mbed_mem_trace.c Renamed files in platform to match source names 2017-02-22 18:17:54 -06:00
mbed_mem_trace.h Add tags to our code 2016-10-04 15:02:44 -05:00
mbed_preprocessor.h Added mbed_preprocessor.h to collect common cpp definitions 2016-11-03 10:26:31 -05:00
mbed_retarget.cpp Filesystem: Moved retarget related file interfaces into platform 2017-03-14 11:02:34 -05:00
mbed_retarget.h Fix C declaration of dir functions and types 2017-03-16 16:13:44 +00:00
mbed_rtc_time.cpp Renamed files in platform to match source names 2017-02-22 18:17:54 -06:00
mbed_rtc_time.h Renamed files in platform to match source names 2017-02-22 18:17:54 -06:00
mbed_semihost_api.c Modify semihost_disabledebug() to support more interface FW revs 2017-03-31 13:33:55 -07:00
mbed_semihost_api.h Renamed files in platform to match source names 2017-02-22 18:17:54 -06:00
mbed_sleep.h Renamed files in platform to match source names 2017-02-22 18:17:54 -06:00
mbed_stats.c stats - Added stack stats api for individual threads 2016-11-07 19:15:44 -06:00
mbed_stats.h stats - Added doxygen documentation to stats functions 2016-11-07 19:15:44 -06:00
mbed_toolchain.h Renamed files in platform to match source names 2017-02-22 18:17:54 -06:00
mbed_wait_api.h Renamed files in platform to match source names 2017-02-22 18:17:54 -06:00
mbed_wait_api_no_rtos.c Renamed files in platform to match source names 2017-02-22 18:17:54 -06:00
mbed_wait_api_rtos.cpp Renamed files in platform to match source names 2017-02-22 18:17:54 -06:00
platform.h Updated includes of renamed platform header files 2017-03-01 16:45:55 -06:00
rtc_time.h Renamed files in platform to match source names 2017-02-22 18:17:54 -06:00
semihost_api.h Renamed files in platform to match source names 2017-02-22 18:17:54 -06:00
sleep.h Renamed files in platform to match source names 2017-02-22 18:17:54 -06:00
toolchain.h Renamed files in platform to match source names 2017-02-22 18:17:54 -06:00
wait_api.h Renamed files in platform to match source names 2017-02-22 18:17:54 -06:00