Added stack checking to the RVCT Cortex-Mx port.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2835 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
parent
84cc66dce9
commit
9d812b5db3
|
@ -208,7 +208,16 @@ struct intctx {
|
||||||
* @param[in] ntp the thread to be switched in
|
* @param[in] ntp the thread to be switched in
|
||||||
* @param[in] otp the thread to be switched out
|
* @param[in] otp the thread to be switched out
|
||||||
*/
|
*/
|
||||||
|
#if !defined(CH_DBG_ENABLE_STACK_CHECK) || defined(__DOXYGEN__)
|
||||||
#define port_switch(ntp, otp) _port_switch(ntp, otp)
|
#define port_switch(ntp, otp) _port_switch(ntp, otp)
|
||||||
|
#else
|
||||||
|
#define port_switch(ntp, otp) { \
|
||||||
|
struct intctx *r13 = (struct intctx *)__current_sp(); \
|
||||||
|
if ((void *)(r13 - 1) < (void *)(otp + 1)) \
|
||||||
|
chDbgPanic("stack overflow"); \
|
||||||
|
_port_switch(ntp, otp); \
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
|
|
@ -234,7 +234,16 @@ struct intctx {
|
||||||
* @param[in] ntp the thread to be switched in
|
* @param[in] ntp the thread to be switched in
|
||||||
* @param[in] otp the thread to be switched out
|
* @param[in] otp the thread to be switched out
|
||||||
*/
|
*/
|
||||||
#define port_switch(ntp, otp) _port_switch(ntp, otp)
|
#if !defined(CH_DBG_ENABLE_STACK_CHECK) || defined(__DOXYGEN__)
|
||||||
|
#define port_switch(ntp, otp) _port_switch(ntp, otp)
|
||||||
|
#else
|
||||||
|
#define port_switch(ntp, otp) { \
|
||||||
|
struct intctx *r13 = (struct intctx *)__current_sp(); \
|
||||||
|
if ((void *)(r13 - 1) < (void *)(otp + 1)) \
|
||||||
|
chDbgPanic("stack overflow"); \
|
||||||
|
_port_switch(ntp, otp); \
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
|
|
@ -79,6 +79,8 @@
|
||||||
- FIX: Fixed wrong checks in I/O Queues (bug 3219197)(backported to 2.2.3).
|
- FIX: Fixed wrong checks in I/O Queues (bug 3219197)(backported to 2.2.3).
|
||||||
- FIX: Fixed invalid assertion in adcConvert() (bug 3205410)(backported
|
- FIX: Fixed invalid assertion in adcConvert() (bug 3205410)(backported
|
||||||
to 2.2.3).
|
to 2.2.3).
|
||||||
|
- NEW: Implemented stack checking in the Cortex-Mx RVCT port (backported
|
||||||
|
to 2.2.3).
|
||||||
- NEW: Added support for PLL3 in STM32 HAL driver. Note, the format of the
|
- NEW: Added support for PLL3 in STM32 HAL driver. Note, the format of the
|
||||||
mcuconf.h file is changed for STM32F105/STM32F107 devices.
|
mcuconf.h file is changed for STM32F105/STM32F107 devices.
|
||||||
- NEW: Added board files for the Olimex STM32-P107.
|
- NEW: Added board files for the Olimex STM32-P107.
|
||||||
|
|
Loading…
Reference in New Issue