| Автор |
Съобщение |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
 GCC - мъки с линкера
Много оплетен тоя мануал. 1. Как да разположа константи на фиксиран адрес във флеша? __attribute__(("section_name"))??? Ама аз искам на точен адрес вътре в секцията. Има ли синтаксис дето да го разполага на точен адрес? 2. Дефинирам си секция за разполагане на въпросните константи (стрингове за версии): Освен това в линкера имам: В кода съм написал съответно това: Дотук добре, ама като тръгна да компилирам, ми се получава това: Чии го търси .bss в региона 08000f4c -> 08001383??? в скрипта .bss е дефинирана така: Установих, че ако увелича размера на FLASH региона, така, че да побира и .bss секцията нещата се оправят. Айде иницилизационни променливи са. Реших че им трябва флеш регион за първоначално инициализиране. Намалих използването на .bss до минимум за сметка на .data. И получих следния отговор: Е какво мама му стара дири .data в региона на флеша???
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
Последна промяна Цецо на Сря Май 09, 2012 11:08 am, променена общо 1 път
|
| Сря Май 09, 2012 9:15 am |
|
 |
|
woody
Ранг: Форумен бог
Регистриран на: Вто Юли 31, 2007 2:55 pm Мнения: 1792 Местоположение: София
|
 Re: GCC - разполагане на константи на фиксиран адрес
__attribute__((section(".version"))) За абсолютно позициониране можеш така: Обикновено има смисъл само една структура да е позиционирана на фиксиран адрес, така че слагаш отделна изходна секция за нея. Другата игра за позициониране е да направиш голям ALIGN-мент в линкер скрипта и така да си сигурен къде ще отиде. KEEP е за да включи входните секции дори да нямаш никакви референции към тях (т.е. излишни са от гледна точка на линкера).
|
| Сря Май 09, 2012 11:07 am |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
 Re: GCC - мъки с линкера
Да това с keep-a го разбрах. С точното позициониране... ще се оправя по заобиколни начини 
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Сря Май 09, 2012 11:10 am |
|
 |
|
woody
Ранг: Форумен бог
Регистриран на: Вто Юли 31, 2007 2:55 pm Мнения: 1792 Местоположение: София
|
 Re: GCC - мъки с линкера
Пусни си един .map файл и огледай какво се случва.
|
| Сря Май 09, 2012 11:13 am |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
 Re: GCC - мъки с линкера
Ми те го какво генерира в map-a. Аз не виждам нищо ненормално в него...или поне нищо дето да подсказва, що чинят .bss или .data в региона на флеша.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Сря Май 09, 2012 11:33 am |
|
 |
|
woody
Ранг: Форумен бог
Регистриран на: Вто Юли 31, 2007 2:55 pm Мнения: 1792 Местоположение: София
|
 Re: GCC - мъки с линкера
Изглежда ОК от птичи поглед. Не видях грешки (не помня дали ги отразяваше тях в .map файла) и като да е побрал всичко в секциите. Ти сигурен ли си че тази грешка е точно от линкера а не нещо друго дето ти е набутано по веригата?
|
| Сря Май 09, 2012 11:48 am |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
 Re: GCC - мъки с линкера
Да. Засега се оказава май, че линкера е гърбав. Тоя е 4.3.2, сложих 4.4.1 и нещата си заспаха. Сега ще видя да пробвам направо с 4.6, че то ми е време май... П.С. С 4.6.1 пък друго дърво: http://old.nabble.com/-Bug-gas-13215--N ... 16436.htmlАман вече. Но като направих това което съветват, компилира и линква също без проблеми. Явно дъртия 4.3.2 има някакъв яд и аз естествено уцелих глухата акула.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Сря Май 09, 2012 11:54 am |
|
 |
|
relsys
Ранг: Форумен бог
Регистриран на: Пет Ное 25, 2005 11:41 am Мнения: 1680
|
 Re: GCC - мъки с линкера
Ебати и мъката..... Докато всичко може и би трябвало да изглежда така: Но това е друга тема. Примерът е с образователна цел, да не изпадаме в поредния безсмислен спор.... 
|
| Сря Май 09, 2012 3:34 pm |
|
 |
|
woody
Ранг: Форумен бог
Регистриран на: Вто Юли 31, 2007 2:55 pm Мнения: 1792 Местоположение: София
|
 Re: GCC - мъки с линкера
|
| Чет Май 10, 2012 10:44 am |
|
|