помощь чайнику - Версия для печати +- DC-SWAT Forum (http://www.dc-swat.ru/forum) +-- Форум: Sega Dreamcast (/forum-2.html) +--- Форум: Programming (/forum-8.html) +--- Тема: помощь чайнику (/thread-1755.html) |
RE: помощь чайнику - SWAT - 26.04.2012 19:28 Тот что находится в папке kos тот и нужно запускать... RE: помощь чайнику - cybdyn - 26.04.2012 19:59 а чем. я обычно бат файл делаю , и обычно это был например make.exe или psymake.exe , который мэй файлы понимает и выполняет команды. или есть пример без мэйка там пишут ! Dreamcast Serial example by marcus ! ! Set up the serial interface and ! send some data ! ! To compile into SREC using GNU binutils: ! ! sh-elf-as -little -o serial.o serial.s ! sh-elf-ld -EL --oformat srec -Ttext 0x8c010000 serial.o -o serial.srec ..... ..... ....(далее асм код) т.е его можно c помощью sh-elf-as и sh-elf-ld скомпилить и собрать? без мэка? RE: помощь чайнику - SWAT - 27.04.2012 06:26 make должен быть в окружении cygwin, ты же все через него делать будешь, если в консоли cygwin наберешь make в директории kos, то он все сделает. RE: помощь чайнику - cybdyn - 27.04.2012 09:31 а, понял. так а с этими отдельными командами, можно в бат файле написать? предварительно наведя (set) на нужние директории конечно. sh-elf-as -little -o serial.o serial.s sh-elf-ld -EL --oformat srec -Ttext 0x8c010000 serial.o -o serial.srec RE: помощь чайнику - cybdyn - 27.04.2012 13:04 вроде получилось. только ещё как сделать чтобы линкер собрал просто бинарный файл без ELF, просто код начиная с нулевого адреса.? RE: помощь чайнику - SWAT - 27.04.2012 15:03 Ну ELF конверти в бинарник теперь: PHP код: sh-elf-objcopy -R .stack -O binary app.elf app.bin RE: помощь чайнику - cybdyn - 27.04.2012 16:45 отличненько... опять пропустил через дисасм, сравнил -похоже))) позже ещё сишные попробую. будет материал для IPL))) RE: помощь чайнику - cybdyn - 28.04.2012 11:23 а как правильно скомпилить сишник. пишу sh-elf-gcc -c serial.c -o serial.o выдаёт ошибку, но .o получает. но в итоге бинарник нулевой. RE: помощь чайнику - cybdyn - 28.04.2012 11:38 make должен быть в окружении cygwin, ты же все через него делать будешь, если в консоли cygwin наберешь make в директории kos, то он все сделает. make.exe я чтото не видел в папках цыгвина. в консоли набираю make в директории kos (usr/local/dc/kos/kos) пишет MAKE Version 5.2... Error makefile 10: Command syntax error Error makefile 12: Command syntax error Error makefile 16: Command syntax error Error makefile 21: Command syntax error ... ??? RE: помощь чайнику - SWAT - 28.04.2012 12:28 В папке bin он должен быть. Но раз он ругается, то он у тебя есть Почему правда ругается не понятно, открой makefile может он покосячился или попробуй сохранить его в *nix формате (я имею ввиду переносы строк). По поводу компилирования... ну блин читай азы GCC после копилирования слинковать нужно еще, прежде чем в бинарник конвертировать объектный файл. И вообще чтобы я понял в чем дело, пиши тексты ошибок компилятора. А вообще не занимайся извращениями, собери KOS и потом возьми за основу makefile из примеров там. Если с мэйком беда будет и дальше, попробуй другой поставить другую версию, у меня он такой - GNU Make 3.82.90 RE: помощь чайнику - cybdyn - 28.04.2012 13:00 про гцц я сократил, а так конечно там ещё стадия линковки ld , просто раз ошибка в начале то дальше будет тож ерунда. про *nix формат я не знаю, что это. попробую другой мэйк. может ещё раз установать. какаято похожая беда была в других платформах (пс1/2) когда правил мэйк. но тут я ничео не делал. порсто скачал SVN по kos RE: помощь чайнику - SWAT - 28.04.2012 13:18 *nix формат переноса строк, у виндовс это \r\n а у никсов только \n RE: помощь чайнику - cybdyn - 29.04.2012 00:43 ясно. не, по ходу там чтото с исполнением мэйков , я убрал места где вызывалась ошибка (ifndef), он спотыкается на конструкции for i ... тоже убираю, не понимает опцию -C (вроде переход в папку пример kos-gcc -C utils ) , и выдаёт список опций в нём нету этого "-C" RE: помощь чайнику - SWAT - 30.04.2012 15:42 Значит пробуй другой. RE: помощь чайнику - cybdyn - 30.04.2012 18:52 странно, а для чего они так делают. в новых версиях както иначе эти команды выполняются? или версия триальная? RE: помощь чайнику - SWAT - 02.05.2012 07:29 Да хз. RE: помощь чайнику - cybdyn - 02.05.2012 13:03 1-пробовал отдельную папочку скомпилить из проекта dcload-serial. выдавала ошибку - не могла найти точку start. я глянул что в обьектном файле точно не генериться. точка start сидит в crt0.S. он копилиться с синшными флагами. я прописал дополнительно. всё скомпилилось. не знаю насколько это верно? 2- make.exe взял из цыгвина от проекта ps2 , вроде пашет. RE: помощь чайнику - SWAT - 02.05.2012 14:01 Ну вообще странно что не прописан старт, если добавил верный, то должно быть ок. Но вообще для проверки лучше скомпиль саму kos и потом примеры из папки examples. RE: помощь чайнику - cybdyn - 02.05.2012 14:37 старт сидит с crt0.s но в мэйк файле они все компилсять правилом .c.o: $(CC) $(CFLAGS) $(INCLUDE) -o $@ -c $< тож самое для .S.o: и .s.o: хотя по идее асмовые файлы по другому компиляться вроде компилятся, просто по началу ничё не получалось. вот, сишные файлы не хотят компилиться , это пока не понятно E:\SEGADC\tst_crt0>make.exe -f Makefile all E:\SEGADC\cyg\opt\toolchains\dc\sh-elf/bin/sh-elf-gcc -O2 -ml -m4-single-only -I ../target-inc -o console-test.o -c console-test.c sh-elf-gcc: error trying to exec '/opt/toolchains/dc/sh-elf/libexec/gcc/sh-elf/4 .5.2/cc1.exe': execv: Bad address вроде он ищет этот cc1.exe в папке /opt/toolchains/dc/sh-elf/libexec/gcc/sh-elf/4 .5.2/cc1.exe' но реально в начале надо както добавить E:\SEGADC\cyg через консоль цигвина который я скачал - теже ошибки. RE: помощь чайнику - SWAT - 02.05.2012 15:50 Вообще это нужно делать через консоль cygwin все, это его пути. Ты видимо что то упустил в настройке, ты подргужаеш environ.sh при старте cygwin? |