mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2025-12-16 18:13:49 +01:00
cpu/cortexm_common: Use PRIx32 for printing uint32_t in hard fault handler
fixes errors like:
error: format specifies type 'unsigned long' but the argument has
type 'uint32_t' (aka 'unsigned int') [-Werror,-Wformat]
This commit is contained in:
parent
a5449bcbd4
commit
c3340b7ccf
@ -232,15 +232,15 @@ __attribute__((used)) void hard_fault_handler(uint32_t* sp, uint32_t corrupted,
|
|||||||
puts("\nContext before hardfault:");
|
puts("\nContext before hardfault:");
|
||||||
|
|
||||||
/* TODO: printf in ISR context might be a bad idea */
|
/* TODO: printf in ISR context might be a bad idea */
|
||||||
printf(" r0: 0x%08lx\n"
|
printf(" r0: 0x%08" PRIx32 "\n"
|
||||||
" r1: 0x%08lx\n"
|
" r1: 0x%08" PRIx32 "\n"
|
||||||
" r2: 0x%08lx\n"
|
" r2: 0x%08" PRIx32 "\n"
|
||||||
" r3: 0x%08lx\n",
|
" r3: 0x%08" PRIx32 "\n",
|
||||||
r0, r1, r2, r3);
|
r0, r1, r2, r3);
|
||||||
printf(" r12: 0x%08lx\n"
|
printf(" r12: 0x%08" PRIx32 "\n"
|
||||||
" lr: 0x%08lx\n"
|
" lr: 0x%08" PRIx32 "\n"
|
||||||
" pc: 0x%08lx\n"
|
" pc: 0x%08" PRIx32 "\n"
|
||||||
" psr: 0x%08lx\n\n",
|
" psr: 0x%08" PRIx32 "\n\n",
|
||||||
r12, lr, pc, psr);
|
r12, lr, pc, psr);
|
||||||
#if CPU_HAS_EXTENDED_FAULT_REGISTERS
|
#if CPU_HAS_EXTENDED_FAULT_REGISTERS
|
||||||
puts("FSR/FAR:");
|
puts("FSR/FAR:");
|
||||||
@ -260,7 +260,7 @@ __attribute__((used)) void hard_fault_handler(uint32_t* sp, uint32_t corrupted,
|
|||||||
puts("Misc");
|
puts("Misc");
|
||||||
printf("EXC_RET: 0x%08" PRIx32 "\n", exc_return);
|
printf("EXC_RET: 0x%08" PRIx32 "\n", exc_return);
|
||||||
puts("Attempting to reconstruct state for debugging...");
|
puts("Attempting to reconstruct state for debugging...");
|
||||||
printf("In GDB:\n set $pc=0x%lx\n frame 0\n bt\n", pc);
|
printf("In GDB:\n set $pc=0x%" PRIx32 "\n frame 0\n bt\n", pc);
|
||||||
int stack_left = _stack_size_left(HARDFAULT_HANDLER_REQUIRED_STACK_SPACE);
|
int stack_left = _stack_size_left(HARDFAULT_HANDLER_REQUIRED_STACK_SPACE);
|
||||||
if(stack_left < 0) {
|
if(stack_left < 0) {
|
||||||
printf("\nISR stack overflowed by at least %d bytes.\n", (-1 * stack_left));
|
printf("\nISR stack overflowed by at least %d bytes.\n", (-1 * stack_left));
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user