реклама на сайте
подробности

 
 
> Линкер выкидывает нужный код. Как исправить?
viakon
сообщение Dec 8 2015, 05:23
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 290
Регистрация: 9-12-05
Из: г. Пермь
Пользователь №: 12 002



Если ставлю -Xlinker --gc-sections выкидывает бутлоадер. Как объяснить линкеру что некоторые секции выбрасывать нельзя?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Непомнящий Евген...
сообщение Dec 8 2015, 05:34
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



Код
SECTIONS
{  
  .text :
  {      
    KEEP(*(.loader.enter)); /* тут имя секции со стартовой функцией бутлоадера */


Неясно впрочем, у вас бутлоадер линкуется вместе с программой?
Go to the top of the page
 
+Quote Post
viakon
сообщение Dec 8 2015, 07:49
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 290
Регистрация: 9-12-05
Из: г. Пермь
Пользователь №: 12 002



Цитата(Непомнящий Евгений @ Dec 8 2015, 10:34) *
Неясно впрочем, у вас бутлоадер линкуется вместе с программой?

Есть вариант когда вместе, удобнее отлаживать все разом. В данном случае отдельно. Но основная программа вызывает функцию в бутлодыре, вот ее при компиляции и выкидывает.
пробовал KEEP все равно выкидывает.
Go to the top of the page
 
+Quote Post
scifi
сообщение Dec 10 2015, 07:49
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(viakon @ Dec 8 2015, 10:49) *
Есть вариант когда вместе, удобнее отлаживать все разом.

Правильные отладчики могут загружать отладочную информацию из двух и более программ. Кейл, к примеру, это умеет. Собственно, именно так я и отлаживал совместно загрузчик и основную программу. А линковать их вместе - это какой-то адЪ и раскидывание граблей перед собой.

Цитата(viakon @ Dec 10 2015, 07:36) *
Вопрос к Гуру, как правильно прилинковать готовый бут к проекту?

Зачем? У нас на производстве сначала прошивается загрузчик, а уже через него заливается основная прошивка (через Ethernet). Заодно тестируется работоспособность порта Ethernet.
Если всё же хочется прошивать сразу и то и другое, выше уже было сказано, что объединять их надо на уровне HEX. К примеру, SRecord это умеет.
Go to the top of the page
 
+Quote Post
Непомнящий Евген...
сообщение Dec 10 2015, 07:51
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



Цитата(scifi @ Dec 10 2015, 10:44) *
Правильные отладчики могут загружать отладочную информацию из двух и более программ.


Хм, не думал о таком. Я на gdb загружал загрузчик и программу, а потом отлаживал или то или другое. Интересно, gdb умеет загружать одновременно?*\
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- viakon   Линкер выкидывает нужный код. Как исправить?   Dec 8 2015, 05:23
|- - Сергей Борщ   Цитата(Непомнящий Евгений @ Dec 8 2015, 08...   Dec 8 2015, 07:40
|- - Непомнящий Евгений   Цитата(viakon @ Dec 8 2015, 10:49) Есть в...   Dec 8 2015, 08:02
||- - viakon   Цитата(Непомнящий Евгений @ Dec 8 2015, 13...   Dec 8 2015, 09:23
||- - Сергей Борщ   Цитата(viakon @ Dec 8 2015, 12:23) В чем ...   Dec 8 2015, 11:56
|||- - viakon   Цитата(Сергей Борщ @ Dec 8 2015, 16:56) 1...   Dec 8 2015, 15:57
|||- - Сергей Борщ   Цитата(viakon @ Dec 8 2015, 18:57) Просте...   Dec 8 2015, 18:54
|||- - viakon   Цитата(Сергей Борщ @ Dec 8 2015, 23:54) П...   Dec 10 2015, 04:36
||- - Непомнящий Евгений   Цитата(viakon @ Dec 8 2015, 12:23) Можно ...   Dec 8 2015, 12:31
|- - viakon   Цитата(Непомнящий Евгений @ Dec 10 2015, 12...   Dec 18 2015, 05:06
|- - scifi   Цитата(viakon @ Dec 18 2015, 08:06) Как б...   Dec 18 2015, 15:08
- - MrYuran   А я использую __attribute__((used)) Цитатаused Th...   Dec 9 2015, 09:21
- - Анжела   __attribute__((used))   Mar 7 2016, 22:28


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 22:18
Рейтинг@Mail.ru


Страница сгенерированна за 0.01408 секунд с 7
ELECTRONIX ©2004-2016