HardFault and debug with messagebox
Moderators: RoccoMarco, lbednarz, utzig, tfAteba, barthess
- Giovanni
- Site Admin
- Posts: 14455
- Joined: Wed May 27, 2009 8:48 am
- Location: Salerno, Italy
- Has thanked: 1076 times
- Been thanked: 922 times
- Contact:
Re: HardFault and debug with messagebox
I am out of ideas, you should try to isolate parts of the program and try to isolate what triggers the problem, it is not necessarily around where it stops.
Giovanni
Giovanni
Re: HardFault and debug with messagebox
I have compiled my project under IAR and code is working correctly, without hardfault, I have tested with various sprintf, xprintf functions.
Is this a bug in gcc ? I don't know how to find it.
In IAR I have based on linker script ch.icf from IRQ_STORM example, but I got warning message in debug:
How to set correct CSTACK value ?
Full script is here
Is this a bug in gcc ? I don't know how to find it.
In IAR I have based on linker script ch.icf from IRQ_STORM example, but I got warning message in debug:
The stack pointer for stack 'CSTACK' (currently 0x20000400) is outside the stack range (0x20007C00 to 0x20008000)
How to set correct CSTACK value ?
Full script is here
Code: Select all
define symbol __ICFEDIT_intvec_start__ = 0x08000000;
/*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
define symbol __ICFEDIT_region_ROM_end__ = 0x0801FFFF;
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
define symbol __ICFEDIT_region_RAM_end__ = 0x20007FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
define symbol __ICFEDIT_size_heap__ = 0x400;
/**** End of ICF editor section. ###ICF###*/
/* Size of the IRQ Stack (Main Stack).*/
define symbol __ICFEDIT_size_irqstack__ = 0x400;
define memory mem with size = 4G;
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ {section CSTACK};
define block IRQSTACK with alignment = 8, size = __ICFEDIT_size_irqstack__ {};
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ {};
define block SYSHEAP with alignment = 8 {section SYSHEAP};
define block DATABSS with alignment = 8 {readwrite, zeroinit};
initialize by copy { readwrite };
do not initialize { section .noinit };
keep { section .intvec };
place at address mem:__ICFEDIT_intvec_start__ {section .intvec};
place in ROM_region {readonly};
place at start of RAM_region {block IRQSTACK};
place in RAM_region {block DATABSS, block HEAP};
place in RAM_region {block SYSHEAP};
place at end of RAM_region {block CSTACK};
- Giovanni
- Site Admin
- Posts: 14455
- Joined: Wed May 27, 2009 8:48 am
- Location: Salerno, Italy
- Has thanked: 1076 times
- Been thanked: 922 times
- Contact:
Re: HardFault and debug with messagebox
Hi,
That message is normal, the various threads can have their stacks outside that area and the debugger issues a warning.
Giovanni
That message is normal, the various threads can have their stacks outside that area and the debugger issues a warning.
Giovanni
Who is online
Users browsing this forum: No registered users and 20 guests