ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
22 ноября
904959 Топик полностью
ЫЫукпу (18.02.2019 02:37, просмотров: 272) ответил fk0 на Если адрес заранее не известен, то всё таки напрашивается PIC (positional independent code). Не всякий компилятор умеет. Большие и для больших процессоров -- умеют (gcc для ARM, MIPS), ибо нужно для динамических библиотек в ОС. Мелкие
Ну так это "Если адрес заранее не известен", то все сложно. Если же адрес в RAM известен заранее то всё резко упрощается. Поз. независимый код уже не обязателен, линкер может настроить код для работы по адресу загрузки в RAM. Из флэша такой код работать не сможет, а после переноса в ОЗУ - пожалуйста. Называется ramfunc. Перенести код из флэшь в ОЗУ можно или при старте программы, одновременно с инициализацией переменных или отложить это дело на потом. Потом это придется делать вручную, но зато таких функций можно иметь несколько и менять по мере надобности. Это ещё одно умное слово для гугления: оверлей.
Жизнь есть способ существования белковых тел в борьбе со вторым началом термодинамики.