Продолжая о скаттерах...
Понадобилось мне сделать буфер в RAM, который не трётся при сбросе CPU (для сохранения состояния).
Объявил регион, секцию - обязательно указываем
UNINIT:
Код
AXI3 0x2405B500 UNINIT 0x00024B00;STATE
{
*.o (STATE)
}
В программе - обязательно указываем
zero_init:
Код
u8 STATE[0x00024B00] __attribute__((section("STATE"),zero_init));
Кейла тут говорит, что zero_init обязателен - типа косяк: SYMPTOM/ CAUSE/ RESOLUTION/ =>
http://www.keil.com/support/docs/3480.htmПроверил, действительно без указания zero_init память трётся при сбросе CPU.
Сообщение отредактировал __inline__ - Jul 16 2018, 05:38