Nikolay_Po (04.01.2020 01:22 - 01:27, просмотров: 365) ответил SciFi на Правильно понимаю, что переменные в main() не статические, то есть память выделяется в стеке? А памяти хватает? Может быть, стек наехал на глобальные переменные - вот и "перекрытие". Ну и про такие переменные в .map ничего не пишется - это обычное
Вынес определения проблемных структур из функции обратно. Проблема остаётся с похожим повреждением - так же затёрты данные с конца массива структур, но уже меньше членов. В секции .bss появились адекватные записи. Всё соответствует, не перекрывается. Индексы/указатели перепроверял - не получается найти источник проблемы.
Watchpoint на доступ к области памяти не ставится. Не уверен, поддерживает ли такое само ядро Cortex-M3 - OpenOCD пишет: "Error: can't add write watchpoint at 0x20000a84, resource not available"
.bss 0x00000000200001e0 0x18ac load address 0x00000000080069b4
0x00000000200001e0 _sbss = .
0x00000000200001e0 __bss_start__ = _sbss
*(.bss)
.bss 0x00000000200001e0 0x1c /../lib/gcc/arm-none-eabi/9.2.1/thumb/v7-m/nofp/crtbegin.o
*(.bss*)
*fill* 0x00000000200001fc 0x4
.bss.ADCbuffer
0x0000000020000200 0x20 build/main.o
0x0000000020000200 ADCbuffer
.bss.Debug 0x0000000020000220 0x4 build/main.o
0x0000000020000220 Debug
*fill* 0x0000000020000224 0x4
.bss.Stage1Buff
0x0000000020000228 0x800 build/main.o
0x0000000020000228 Stage1Buff
.bss.Stage1Flags
0x0000000020000a28 0x8 build/main.o
0x0000000020000a28 Stage1Flags
.bss.Stage1Inst
0x0000000020000a30 0x60 build/main.o
0x0000000020000a30 Stage1Inst
.bss.Stage1state
0x0000000020000a90 0x6e0 build/main.o
0x0000000020000a90 Stage1state
.bss.Stage2Buff
0x0000000020001170 0x800 build/main.o
0x0000000020001170 Stage2Buff
.bss.Stage2Flags
0x0000000020001970 0x8 build/main.o
0x0000000020001970 Stage2Flags
.bss.__malloc_free_list
0x0000000020001978 0x4 /../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(lib_a-nano-mallocr.o)
0x0000000020001978 __malloc_free_list
.bss.__malloc_sbrk_start
0x000000002000197c 0x4 /../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc_nano.a(lib_a-nano-mallocr.o)
0x000000002000197c __malloc_sbrk_start
.bss.heap_end.4144
0x0000000020001980 0x4 /../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libnosys.a(sbrk.o)