Commit Graph

25 Commits (1a58d07c04329d1e7b7eba627d46d0598ee805f0)

Author SHA1 Message Date
Martin Kojtal 64d172c3bd
Merge pull request #11970 from kjbracey-arm/fault_crash
Avoid crashes during fault handler
2019-12-04 10:13:54 +01:00
Kevin Bracey c67816b5ff Adjust code for MbedCRC changes
* Make mbed_error use bitwise MbedCRC call rather than local
  implementation.
* Remove use of POLY_32BIT_REV_ANSI from LittleFS.
* Move some MbedCRC instances closer to use - construction cost is
  trivial, and visibility aids compiler optimisation.
2019-12-02 14:45:37 +02:00
Kevin Bracey fc05d51bcd Avoid crashes during fault handler
If the fault handler was hit before the stdio console was used and
initialised, the initialisation code caused a "mutex in ISR" trap,
stopping the register dump from happening.

Temporarily set the `error_in_progress` flag at the top of the fault
handler, and restore it before calling `mbed_error`. Take the
opportunity to suppress fault dumps on recursive crashes, much as is
done inside `mbed_error`.
2019-11-28 15:03:26 +02:00
Martin Kojtal 5f7ecea00b
Revert "MbedCRC and CRC HAL revisions" 2019-11-26 13:45:37 +00:00
Kevin Bracey 8811972201 Adjust code for MbedCRC changes
* Make mbed_error use bitwise MbedCRC call rather than local
  implementation.
* Remove use of POLY_32BIT_REV_ANSI from LittleFS.
* Move some MbedCRC instances closer to use - construction cost is
  trivial, and visibility aids compiler optimisation.
2019-11-13 14:31:49 +02:00
Andrew Chong c257c5f0c7 mbed_error.c: Fixed another bug of possible stack overflow. 2019-09-06 16:49:09 +08:00
Andrew Chong bd9ec8b6d7 mbed_error.c: fixed the dump core function's bug of possible stack overflow. 2019-09-06 16:33:09 +08:00
Andrew Chong a769b7db43 mbed_error.c: Fixed compile errors with non-RTX targets. 2019-09-05 17:55:31 +08:00
Andrew Chong 76353d5476 mbed_error.c: now dumping MSP/PSP stacks correctly. 2019-09-05 17:55:31 +08:00
Andrew Chong 0da589e6e7 mbed_error.c: handler mode failures will dump MSP/PSP stacks. 2019-09-05 17:55:31 +08:00
Andrew Chong da2f8e5b79 mbed_error.c: reducing RTX restriction. 2019-09-05 17:55:31 +08:00
Andrew Chong 5258768bc7 The stack dump of the major should be moved up. 2019-09-05 17:55:31 +08:00
Andrew Chong 7dc53176ae mbed_error.c: Now we can stack dump on all possible threads. 2019-09-05 17:55:31 +08:00
Andrew Chong db1e2d3b24 astyle to mbed_error.c 2019-09-05 17:55:31 +08:00
Andrew Chong 5671416d5e handle_error: Now supports HW exception from handler mode. 2019-09-05 17:55:31 +08:00
Andrew Chong 835a7639a9 print_error_report: Paying extra caution on address alignment. 2019-09-05 17:55:31 +08:00
Andrew Chong 575bd31060 print_error_report: Don't care about osRtxStackFillPattern and dump whole remaining. 2019-09-05 17:55:31 +08:00
Andrew Chong 248746113f Now stack dump is done correctly to the other way around. 2019-09-05 17:55:31 +08:00
Andrew Chong 50daa7e40f platform.stack-dump-enabled feature is added. 2019-09-05 17:55:31 +08:00
Andrew Chong 57ed4f36fa Removed #warning of non-Cortex-M. Minor comment adjustment. 2019-09-05 17:55:31 +08:00
Andrew Chong d69dc4940e Fixed astyle failures on handle_error(). 2019-09-05 17:55:31 +08:00
Andrew Chong 9af7ea58d4 The candidate code to enable correct crash report for HW fault crashes. 2019-09-05 17:55:31 +08:00
Hugues Kamba 8c22bbbbc8 Use PRIu32 to print uint32_t variable
As the variable underlying type size is different depending on the
toolchain used
2019-09-03 09:29:06 +01:00
Kyle Kearney 5820a3172f Fix typos in comments 2019-08-28 13:12:05 +01:00
Hugues Kamba 83354e46a7 Platform: Separate internal APIs from public APIs
Also includes:
* rename `mbed_sleep_manager.c` to `mbed_power_mgmt.c` to match its
  header file
* create Doxygen groups for public and internal APIs
* use relative path to include header files where inconsistent
* update references to internal APIs throughout libraries
* update the copyright year for all modified files
2019-08-02 12:23:47 +01:00