|
Написание плагинов к кросскомпилятору GCC |
|
|
|
Nov 14 2013, 12:00
|
Участник

Группа: Участник
Сообщений: 26
Регистрация: 16-08-13
Из: Ставрополь
Пользователь №: 77 934

|
Доброго времени суток. Подскажите, чем и как собирать плагины к кроссу GCC? Если хостовым компилятором -- то как плагин узнает о специфичных для платформы типах (могут отличаться по размерам, например, int-ы у хоста и кросса), и не придётся ли собирать по новой как хостовый компилятор, так и кросс (subj собран под линуксом тамошним MinGW, а я сейчас на виндовсе). Если самим кроссом (на что намекают файлы в каталоге /lib/gcc/arm-none-eabi/4.7.4/plugin/include), то как кодогенератор под ARM будет кодогенерировать под самого себя, исполняющегося на x86?
|
|
|
|
|
 |
Ответов
|
Nov 15 2013, 06:04
|
Участник

Группа: Участник
Сообщений: 26
Регистрация: 16-08-13
Из: Ставрополь
Пользователь №: 77 934

|
От кросса мне хотелось бы создание файла конфигурации по C-шной структуре. Внутри контроллера живёт некое подобие MODBUS, и общается с внешним миром. Внешняя общалка использует сгенерированный файл с описанием данных и функций. Сейчас этот файл генерируется внешним скриптом, но скрипт не может знать, сколько байт в, например, int-е контроллера. Оттого и хочется генерировать файл плагином. Ему можно явно сказать sizeof(int), и размер посчитается без участия человека. Целевая платформа -- STM32F373. Ник -- привет из прошлого. Он мне дорог, как память. :-) Цитата(_Pasha @ Nov 15 2013, 09:53)  ибо товарисчь, сходимши по даденой им же ж самим ссылке, не в силАх прочитать докУмент How-to-build-toolchain.pdf  How to build-то я прочитать могу, и даже прочитал. Но меня интересует техническая сторона вопроса. Придётся ли пересобирать с нуля ещё и хостовый компилятор? Откуда хостовый компилятор, если им собирать плагин, узнает размеры базовых типов платформы кросса? Зачем в каталогах кросса такие подробные include для создания плагинов? Не хочется биться лбом в стену -- может, рядом есть дверь, да я её не вижу.
|
|
|
|
|
Nov 15 2013, 06:28
|

инженер
   
Группа: Свой
Сообщений: 520
Регистрация: 19-09-05
Из: Самара
Пользователь №: 8 701

|
Цитата(fatlortroll @ Nov 15 2013, 09:04)  Ник -- привет из прошлого. Он мне дорог, как память. :-) Ух-ты! Предыдущая реализация??? ;-) Цитата От кросса мне хотелось бы создание файла конфигурации по C-шной структуре. Внутри контроллера живёт некое подобие MODBUS, и общается с внешним миром. Внешняя общалка использует сгенерированный файл с описанием данных и функций. Сейчас этот файл генерируется внешним скриптом, но скрипт не может знать, сколько байт в, например, int-е контроллера. Оттого и хочется генерировать файл плагином. Ему можно явно сказать sizeof(int), и размер посчитается без участия человека. То есть плагин должен сгенерировать некий файл данных? Кросскомпилятор знает всю информацию о генерируемых кодах, почему бы ему не сгенерировать? Я сомневаюсь в необходимости разработки такого плагина. Разве в ключах компилятора нет такой возможности?
|
|
|
|
|
Nov 15 2013, 06:42
|
Участник

Группа: Участник
Сообщений: 26
Регистрация: 16-08-13
Из: Ставрополь
Пользователь №: 77 934

|
Цитата(Виктория @ Nov 15 2013, 10:28)  Ух-ты! Предыдущая реализация??? ;-)
Не понял, о чём Вы, но на всяк.случ. :-)
То есть плагин должен сгенерировать некий файл данных? Кросскомпилятор знает всю информацию о генерируемых кодах, почему бы ему не сгенерировать? Я сомневаюсь в необходимости разработки такого плагина. Разве в ключах компилятора нет такой возможности? Возможно, будете смеяться и издеваться -- но красивой идеи, как заставить именно кросс генерировать подобный файл в хостовую среду без влезания в сам процесс компиляции (что и делает плагин) у меня нет. Цитата(_Pasha @ Nov 15 2013, 10:35)   Колоссально!© Может, хватит флудить? Виктория, вот, убеждает меня, что тут исключительно серьёзные люди живут. Или вы тут так, проездом?
|
|
|
|
Сообщений в этой теме
fatlortroll Написание плагинов к кросскомпилятору GCC Nov 14 2013, 12:00 _Pasha Цитата(Виктория @ Nov 15 2013, 08:43) З.Ы... Nov 15 2013, 05:53  _Pasha Цитата(fatlortroll @ Nov 15 2013, 10:04) ... Nov 15 2013, 06:14   fatlortroll Цитата(_Pasha @ Nov 15 2013, 10:14) В вещ... Nov 15 2013, 06:26    _Pasha Цитата(fatlortroll @ Nov 15 2013, 10:26) ... Nov 15 2013, 06:35    msalov Цитата(fatlortroll @ Nov 15 2013, 09:26) ... Nov 15 2013, 08:16     fatlortroll Цитата(msalov @ Nov 15 2013, 12:16) Вообщ... Nov 15 2013, 08:31    MrYuran Цитата(fatlortroll @ Nov 15 2013, 10:26) ... Nov 15 2013, 12:13     fatlortroll Цитата(MrYuran @ Nov 15 2013, 16:13) Это ... Nov 16 2013, 17:17      _Pasha Цитата(fatlortroll @ Nov 16 2013, 20:17) ... Nov 16 2013, 17:29      AHTOXA Цитата(fatlortroll @ Nov 16 2013, 23:17) ... Nov 16 2013, 19:23       klen голосую неистово за вариант от AHTOXA
но ради разн... Nov 17 2013, 19:05       fatlortroll Цитата(AHTOXA @ Nov 16 2013, 23:23) Вы, в... Nov 18 2013, 05:12    _Pasha Цитата(fatlortroll @ Nov 15 2013, 09:42) ... Nov 15 2013, 12:25  AHTOXA Цитата(fatlortroll @ Nov 15 2013, 12:04) ... Nov 15 2013, 08:28 Виктория ЦитатаВнешняя общалка использует сгенерированный ф... Nov 15 2013, 06:57 fatlortroll Цитата(Виктория @ Nov 15 2013, 10:57) Но,... Nov 15 2013, 07:14 _Pasha а, ну тогда заполняйте таким образом
Кодstruct _i... Nov 18 2013, 06:16 fatlortroll Цитата(_Pasha @ Nov 18 2013, 10:16) Код ... Nov 18 2013, 06:33 psL Можно обойтись и без плагина - использовать один х... Nov 24 2013, 19:48
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|