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

 
 
 
Reply to this topicStart new topic
> Откуда что берется?, LPC29xx
toweroff
сообщение Aug 22 2011, 19:53
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Вот кусок map-файла
Код
    !!!main                                  0x2000016c   Section        8  __main.o(!!!main)
    !!!scatter                               0x20000174   Section       60  __scatter.o(!!!scatter)
    !!handler_copy                           0x200001b0   Section       40  __scatter_copy.o(!!handler_copy)
    .ARM.Collect$$libinit$$00000000          0x200001d8   Section        6  libinit.o(.ARM.Collect$$libinit$$00000000)
    .ARM.Collect$$libinit$$00000006          0x200001de   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000006)
    .ARM.Collect$$libinit$$00000008          0x200001de   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000008)
    .ARM.Collect$$libinit$$0000000A          0x200001de   Section        0  libinit2.o(.ARM.Collect$$libinit$$0000000A)
    .ARM.Collect$$libinit$$0000000D          0x200001de   Section        0  libinit2.o(.ARM.Collect$$libinit$$0000000D)
    .ARM.Collect$$libinit$$0000000F          0x200001de   Section        0  libinit2.o(.ARM.Collect$$libinit$$0000000F)
    .ARM.Collect$$libinit$$00000011          0x200001de   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000011)
    .ARM.Collect$$libinit$$00000013          0x200001de   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000013)
    .ARM.Collect$$libinit$$00000015          0x200001de   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000015)
    .ARM.Collect$$libinit$$00000017          0x200001de   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000017)
    .ARM.Collect$$libinit$$00000019          0x200001de   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000019)
    .ARM.Collect$$libinit$$0000001B          0x200001de   Section        0  libinit2.o(.ARM.Collect$$libinit$$0000001B)
    .ARM.Collect$$libinit$$0000001D          0x200001de   Section        0  libinit2.o(.ARM.Collect$$libinit$$0000001D)
    .ARM.Collect$$libinit$$0000001F          0x200001de   Section        0  libinit2.o(.ARM.Collect$$libinit$$0000001F)
    .ARM.Collect$$libinit$$00000021          0x200001de   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000021)
    .ARM.Collect$$libinit$$00000028          0x200001de   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000028)
    .ARM.Collect$$libinit$$0000002A          0x200001de   Section        0  libinit2.o(.ARM.Collect$$libinit$$0000002A)
    .ARM.Collect$$libinit$$0000002C          0x200001de   Section        0  libinit2.o(.ARM.Collect$$libinit$$0000002C)
    .ARM.Collect$$libinit$$0000002E          0x200001de   Section        0  libinit2.o(.ARM.Collect$$libinit$$0000002E)
    .ARM.Collect$$libinit$$0000002F          0x200001de   Section        2  libinit2.o(.ARM.Collect$$libinit$$0000002F)
    .ARM.Collect$$libshutdown$$00000000      0x200001e0   Section        2  libshutdown.o(.ARM.Collect$$libshutdown$$00000000)
    .ARM.Collect$$libshutdown$$00000003      0x200001e2   Section        0  libshutdown2.o(.ARM.Collect$$libshutdown$$00000003)
    .ARM.Collect$$libshutdown$$00000006      0x200001e2   Section        0  libshutdown2.o(.ARM.Collect$$libshutdown$$00000006)
    .ARM.Collect$$libshutdown$$00000009      0x200001e2   Section        0  libshutdown2.o(.ARM.Collect$$libshutdown$$00000009)
    .ARM.Collect$$libshutdown$$0000000B      0x200001e2   Section        0  libshutdown2.o(.ARM.Collect$$libshutdown$$0000000B)
    .ARM.Collect$$libshutdown$$0000000E      0x200001e2   Section        0  libshutdown2.o(.ARM.Collect$$libshutdown$$0000000E)
    .ARM.Collect$$libshutdown$$0000000F      0x200001e2   Section        2  libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F)
    .ARM.Collect$$rtexit$$00000000           0x200001e4   Section        4  rtexit.o(.ARM.Collect$$rtexit$$00000000)
    .ARM.Collect$$rtexit$$00000002           0x200001e8   Section        0  rtexit2.o(.ARM.Collect$$rtexit$$00000002)
    .ARM.Collect$$rtexit$$00000003           0x200001e8   Section        4  rtexit2.o(.ARM.Collect$$rtexit$$00000003)
    .ARM.Collect$$rtexit$$00000004           0x200001ec   Section        8  rtexit2.o(.ARM.Collect$$rtexit$$00000004)
    .text                                    0x200001f4   Section        0  heapauxi.o(.text)
    .text                                    0x200001fc   Section        4  use_no_semi.o(.text)
    .ARM.__AT_0x20000200                     0x20000200   Section       28  boot.o(.ARM.__AT_0x20000200)
    .ARM.Collect$$rtentry$$00000000          0x2000021c   Section        0  rtentry.o(.ARM.Collect$$rtentry$$00000000)
    .ARM.Collect$$rtentry$$00000002          0x2000021c   Section        0  rtentry2.o(.ARM.Collect$$rtentry$$00000002)
    .ARM.Collect$$rtentry$$00000004          0x2000021c   Section        8  rtentry4.o(.ARM.Collect$$rtentry$$00000004)
    .ARM.Collect$$rtentry$$00000009          0x20000224   Section        0  rtentry2.o(.ARM.Collect$$rtentry$$00000009)
    .ARM.Collect$$rtentry$$0000000A          0x20000224   Section        4  rtentry2.o(.ARM.Collect$$rtentry$$0000000A)
    .ARM.Collect$$rtentry$$0000000C          0x20000228   Section        0  rtentry2.o(.ARM.Collect$$rtentry$$0000000C)
    .ARM.Collect$$rtentry$$0000000D          0x20000228   Section       40  rtentry2.o(.ARM.Collect$$rtentry$$0000000D)


Откуда это? Я такого не ваял (кроме секции __AT_0x20000200, разумеется) sm.gif
Go to the top of the page
 
+Quote Post
scifi
сообщение Aug 22 2011, 20:25
Сообщение #2


Гуру
******

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



А в чём проблема? Пока оной не наблюдается.
Да, забыл. Ответ на вопрос "Откуда это" - "Стандартная сишная библиотека от RealView".
Go to the top of the page
 
+Quote Post
toweroff
сообщение Aug 22 2011, 20:36
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(scifi @ Aug 23 2011, 00:25) *
А в чём проблема? Пока оной не наблюдается.
Да, забыл. Ответ на вопрос "Откуда это" - "Стандартная сишная библиотека от RealView".

Ок, сишная
А при чем там скаттер, например? Я же не перемещаю регионы, допустим, во внутреннюю RAM для исполнения
Это не судороги от страха "левого использования" пространства flash, а просто попытка разобраться, "нафига козе баян" sm.gif
Go to the top of the page
 
+Quote Post
scifi
сообщение Aug 23 2011, 06:07
Сообщение #4


Гуру
******

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



Цитата(toweroff @ Aug 23 2011, 00:36) *
А при чем там скаттер, например? Я же не перемещаю регионы, допустим, во внутреннюю RAM для исполнения
Это не судороги от страха "левого использования" пространства flash, а просто попытка разобраться, "нафига козе баян" sm.gif

Ей-богу, смешно. А если бы авторы этого кода один из файлов назвали "atomic_bomb", Вы бы побежали в подвал прятаться? :-)
Ну назвали и назвали. Если всё работает, то всё хорошо. Никаких проблем нет.
Можно, конечно, попытаться угадать ход мыслей человека, придумывавшего эти названия, но зачем? Это весьма сомнительный способ заполнения свободного времени.
Go to the top of the page
 
+Quote Post
toweroff
сообщение Aug 23 2011, 06:24
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



К чему я это все клоню. Есть, фактически, два проекта - бут и приложение.
Для чего библиотеки иметь в двух копиях?
Go to the top of the page
 
+Quote Post
kan35
сообщение Aug 23 2011, 08:12
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 537
Регистрация: 22-02-06
Пользователь №: 14 594



Цитата(toweroff @ Aug 23 2011, 10:24) *
К чему я это все клоню. Есть, фактически, два проекта - бут и приложение.
Для чего библиотеки иметь в двух копиях?

Не советую "объединять", разве что только попробовать это сделать в познавательных целях.
Go to the top of the page
 
+Quote Post
scifi
сообщение Aug 23 2011, 09:38
Сообщение #7


Гуру
******

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



Цитата(toweroff @ Aug 23 2011, 10:24) *
К чему я это все клоню. Есть, фактически, два проекта - бут и приложение.
Для чего библиотеки иметь в двух копиях?

Можно, конечно, покувыркаться и выделить часть общего кода. Но с учётом неизбежного геморроя я бы трижды подумал: а оно надо?
Go to the top of the page
 
+Quote Post
toweroff
сообщение Aug 23 2011, 09:42
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



kan35, scifi
конечно, я и собирался в познавательных - поди там потом разберись, что понадобится в дальнейшем из библиотек приложению и отделяй зерна от плевел sm.gif
Go to the top of the page
 
+Quote Post
scifi
сообщение Aug 23 2011, 10:23
Сообщение #9


Гуру
******

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



Подсмотрите, как реализовано StellarisWare. Если я правильно помню, они зашивают библиотечные функции в ПЗУ - как раз то, что Вы хотите попробовать реализовать. Должен быть способ настроить линкер так, чтобы из сишной программы эти функции вызывались обычным образом.
Go to the top of the page
 
+Quote Post
toweroff
сообщение Aug 23 2011, 10:30
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(scifi @ Aug 23 2011, 14:23) *
Подсмотрите, как реализовано StellarisWare. Если я правильно помню, они зашивают библиотечные функции в ПЗУ - как раз то, что Вы хотите попробовать реализовать. Должен быть способ настроить линкер так, чтобы из сишной программы эти функции вызывались обычным образом.

обязательно посмотрю, спасибо
сейчас уже время по срокам поджимает, а места во флеш предостаточно для любых дублирований
Go to the top of the page
 
+Quote Post
toweroff
сообщение Aug 23 2011, 11:51
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



так, в догонку
искать нужно где-то там, скорее всего
Go to the top of the page
 
+Quote Post
scifi
сообщение Aug 23 2011, 12:22
Сообщение #12


Гуру
******

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



Цитата(toweroff @ Aug 23 2011, 15:51) *
так, в догонку
искать нужно где-то там, скорее всего

Ню-ню. Поместить-то код можно. А вот подцепить его к двум раздельным программам одновременно - тот ещё трюк. Помните про упоминавшийся выше геморрой? Вот он никуда не делся.
Go to the top of the page
 
+Quote Post
toweroff
сообщение Aug 23 2011, 12:32
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(scifi @ Aug 23 2011, 16:22) *
Ню-ню. Поместить-то код можно. А вот подцепить его к двум раздельным программам одновременно - тот ещё трюк. Помните про упоминавшийся выше геморрой? Вот он никуда не делся.

да про геморрой никто и не говорит, с его огромным наличием уже разобрались sm.gif
Go to the top of the page
 
+Quote Post

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

 


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


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