В скрипте компоновщика я определил PROVIDE(__KERNEL_BEGIN__ = .);
.
Доступ к адресу возможен с:
extern uint32_t __KERNEL_BEGIN__[];
Но следующее не работает (дает неверный адрес):
extern uint32_t * __KERNEL_BEGIN__;
Посмотрел сборку. Первый метод, __KERNEL_BEGIN__
, предоставляет точный адрес. Второй, __KERNEL_BEGIN__ = [address]
, ищет значение по адресу.
Значит, так и должно быть? Я не могу сказать разницу.