DC-SWAT Forum
помощь чайнику - Версия для печати

+- DC-SWAT Forum (http://www.dc-swat.ru/forum)
+-- Форум: Sega Dreamcast (/forum-2.html)
+--- Форум: Programming (/forum-8.html)
+--- Тема: помощь чайнику (/thread-1755.html)

Страниц: 1 2 3 4 5 6


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 -.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 он должен быть. Но раз он ругается, то он у тебя есть Smile
Почему правда ругается не понятно, открой makefile может он покосячился или попробуй сохранить его в *nix формате (я имею ввиду переносы строк).
По поводу компилирования... ну блин читай азы GCC Smile после копилирования слинковать нужно еще, прежде чем в бинарник конвертировать объектный файл. И вообще чтобы я понял в чем дело, пиши тексты ошибок компилятора.
А вообще не занимайся извращениями, собери 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?