DC-SWAT Forum

Полная версия: Иструкция по сборке компиляторов и KOS
Вы просматриваете yпpощеннyю веpсию форума. Пеpейти к полной веpсии.
Страниц: 1 2
Хмм тут уже похоже несовместимость идет старых тулчейнов с последней KOS, то-ли компилятор себя не так ведет в стандарте C99 (ядро сейчас ориентировано на сборку под этим стандартом), то-ли в newlib отличаются макросы sys/queue.h и на них уже есть завязка (хотя я не заметил этого), то-ли оба фактора вместе взятых. В общем не судьба Smile А что ты с ней делать то хочешь?
Rio, рекомендую не парить себе мозг и поставить VirtualBox с Ubuntu, где все собирается двумя командами. Ubuntu версии 12.04. с более новыми проблемы будут.Постоянно собирал все убунтой. Для запуска и тестирования прог можно собрать lxdream, котрый очень xорошо эмулирует все и вся, разве что к скорости есть нарекания. В качестве IDE легко настроить CodeBlocks, что-бы он собирал проги прям по нажатию кнопочки Build.
Решил я эту проблему. Там просто флаг стоял, -Werrors, о том чтобы трактовать все ворнинги как ошибки. Я его просто нафик убрал, больше кроме fs2_ext ничего не падало, так что все собрал успешно, включая примеры.

Цитата:Rio, рекомендую не парить себе мозг и поставить VirtualBox с Ubuntu, где все собирается двумя командами. Ubuntu версии 12.04. с более новыми проблемы будут.Постоянно собирал все убунтой. Для запуска и тестирования прог можно собрать lxdream, котрый очень xорошо эмулирует все и вся, разве что к скорости есть нарекания. В качестве IDE легко настроить CodeBlocks, что-бы он собирал проги прям по нажатию кнопочки Build.

Знаю Макс, и спасибо за совет. Но, увы, при попытке работать из-под виртуалки мой комп просто не выдерживает и перезагружается.
Вместо codeblocks использую эклипс, там тоже все одной кнопочкой собирается, и тулчейн можно любой подключать - по функционалу не хже кодеблокс, а дизайн мне больше нравится.
Насчет lxdream мнения разные - некоторые говорят что он просто отстой и на нем ничего не запускается. Мне собственно эмуль нужен для отладки, и если там дебаггер хотя бы на капельку лучше чем в nullDC (а в nullDC дебаггер вообще никакой, имхо), то да, тогда рассмотрю его как вариант. По идее он на винду должен собраться.
Для игр может lxdream и не очень, но вот для отладки он лучший. Он эмулирует железо на низком уровне, в отличие от того же nullDC, где все работает на заплатках. Жаль под win он не собирается нормально, а под виртуалкой он у меня дико тормозил, так что пользоваться им было нереально (1 fps). Может сейчас VirtualBox работает лучше с HW ускорением, не знаю...
> Но, увы, при
попытке работать из-под виртуалки мой комп
просто не выдерживает и перезагружается.
почистите системник от пыли, и смените термопасту на процессоре.

а чего убунту на флэшку не закатать - она прекрасно из коробки и без установки работает)
(07.07.2013 18:27)SI{AY писал(а): [ -> ]а чего убунту на флэшку не закатать - она прекрасно из коробки и без установки работает)

Такое может быть приемлемо тем, кто больше ничего не делает на своем ПК. Допустим для меня перезагрузка системы - это редкое действие, которое меня вынуждает делать система обновлений. У меня всегда открыто много окон, процесс работы никогда не заканчивается, все остается в том виде, в каком я остановился. Закрывать и открывать все это каждый раз, а потом еще и вспомнить на чем остановился - потеря драгоценного времени. А уж перезагрузка с целью использования какого то ПО, для одной из своих задач, для меня лично вообще адский ад.

Все прекрасно работает и под cygwin, единственно что мешает сборке toolchain, так это распараллеливание задач makefile, нужно его открыть и очистить значение переменной makejobs. Ну и конечно нужно не забыть поставить библиотеки в cygwin такие как gmp, mpfr и mpc, так как 4 версия gcc использует их.
+1 к посту свата.
Сват, а в lxdream можно как-то выполнять пошаговую отладку, просматривать регистры разных процессоров и периферийных модулей?
Интересует также загрузка elf.
Не знаю, я им редко пользуюсь, он под виндой у меня только как интерпретатор работает, без видео. Для отладки чего-то низкоуровневого, этого достаточно, но вот для остального приходится использовать все тот же nullDC. А загрузка elf в принципе задача не хитрая, можно свою программку написать для их запуска. Только вот зачем тебе это?
Ну как зачем. Хочется общей среды для работы и отладки.
Ибо я не представляю как можно что-то разрабатывать, когда чтобы внести минимальное изменение в свою программу, нужно собирать свой билд в образ, клацая кнопочки в bootdreams (а это занимает порядка 1-2 времени), потом (опять таки, клацая gui), запускать свой образ в эмуле, ну и я уже не говорю о отсутствии как таковой возможности что-то там отлаживать (брейкпоинты, просмотр переменных и структур, и так далее).
Слишком замороченно выходит, понимаешь.
Ну ладно, насчет сборки в образ я погорячился, можно написать скрипт с использованием прог из комплекта Cdrtools, но, опять-таки, как избежать клацания в NullDC. Ну и отладка.
В принципе, для null существует исходный код, можно его вытянуть и поработать над ним, тот же lxdream опенсорсовый, что тоже, не исключает модификации.
Но все равно, сути дела это не меняет. Толковой среды, на подобии Codeblocks или Visual Studio, для дрима просто не существует (я имею в виду возможности для дебага).
Бесплатной - не существует Smile А так, это всё есть только у тех компаний, которые купили у sega оборудование для программирования игр.
>Бесплатной - не существует Smile А так, это всё есть только у тех компаний, которые купили у sega оборудование для программирования игр.

Лол, это ты типо за 98 год говоришь или какой там?)
Ну да, были там и CodeWarrior от Metrowerks, и три компилятора, и чего там только не было. Но все эти тулзы как бы не очень поддерживаются 7 виндой. Да и по правде говоря не охота уже в этом, простите за выражение, кале мамонта и ковыряться, сам понимаешь.
По поводу клацанья в эмуле ты ошибаешься, там все автоматизируется на 100%, у меня по крайне мере все прописано в makefile, стоит мне написать make emu и все само собирается и сразу же запускается без единого клика (в эмуле можно задать образ по умолчанию). Но вот с отладкой конечно не все так просто, хоть и в KOS есть частичная поддержка GDB, но в эмуле от него никакого толку нет, это на реальном железе нужно использовать. В эмуле можно просто проверять какие то тривиальные вещи, где реальное железо в принципе не нужно, а все остальное лучше не в эмулях проверять, ибо реальное железо ведет себя по другому.
Когда я отлаживаю код на железке, то подключаю дрим через аналогово-цифровой преобразователь к компу и в окне на нем наблюдаю видео сигнал дрима, а по Serial/BBA обмен данными, в том числе и сам запуск. Единственный неудобный момент, это включение и выключение самого дрима, я вот думаю на контроллер что-ли повесить рэле, которое это будет делать, тогда можно и удаленно тестировать, если конечно есть BBA.
В общем все это конечно тот еще колхоз, но на то оно и homebrew, сравнивать с официальными SDK это неуместно.
Страниц: 1 2
URL ссылки