ВходНаше всё Теги codebook PARTS Поиск Опросы Закон Пятница
22 января
/1045766
Топик полностью
evgeniy1294 (21.10.2020 01:11, просмотров: 163) в ответ на stm32 чтот непонятки, создал массив в раме volatile uint8_t __attribute__ ((at (ADR))) tmp_buf[22528] = { 0 }; Смотрю отладчиком а но вообще и не обнулен, мусор... принудительное обнуление через memset на ПО не влияет, т.е. почему то не инитится, вопрос почему ? - автор: Aleksey_75
Потому что обнуляемые значения покоятся в секции bss, а у вас массив черт знает где (ADR). Секция bss обнуляется в стартапе, вам придётся либо разместить массив в ней, либо обнулять вручную. 

Разумеется, перед обнулением таких больших массивов неплохо бы раскачать ядро на большую частоту, что в стартапах от вендоров обычно не сделано.

Ответить
Ответы