Создать ответ 
 
Рейтинг темы:
  • Голосов: 1 - Средняя оценка: 5
  • 1
  • 2
  • 3
  • 4
  • 5
Вапрос
Автор Сообщение
Rio Не на форуме
Продвинутый
***

Сообщений: 277
Зарегистрирован: 04.04.2009
Рейтинг: 1
Сказал спасибо: 1
Поблагодарили 2 раз(а) в 2 сообщ.
Сообщение: #1
Вапрос
sh-elf-gcc -ml -Wl,-Ttext,0x8c010000 -nostartfiles -nostdlib -e _start prog.c -o prog.elf -lgcc
sh-elf-objcopy -O binary prog.elf prog.bin
scramble prog.bin 1ST_READ.BIN

"Я считаю: если ты живешь без цели, если ты никому не нужен, никому не помогаешь, если у тебя нет ничего, что бы заставляло тебя работать над собой и зарабатывать деньги, быть кому-то полезным – тогда ты просто сорняк какой-то. Я так не хочу. Для меня это неприемлемо…" ©
(Последний раз сообщение было отредактировано 28.03.2011 в 19:43, отредактировал пользователь Rio.)
27.03.2011 20:01
Найти все сообщения Цитировать это сообщение
Rio Не на форуме
Продвинутый
***

Сообщений: 277
Зарегистрирован: 04.04.2009
Рейтинг: 1
Сказал спасибо: 1
Поблагодарили 2 раз(а) в 2 сообщ.
Сообщение: #2
RE: Вапрос
PS: убунту подойдет для девелопмента?

"Я считаю: если ты живешь без цели, если ты никому не нужен, никому не помогаешь, если у тебя нет ничего, что бы заставляло тебя работать над собой и зарабатывать деньги, быть кому-то полезным – тогда ты просто сорняк какой-то. Я так не хочу. Для меня это неприемлемо…" ©
27.03.2011 20:28
Найти все сообщения Цитировать это сообщение
sc_maxim Не на форуме
Пользователь
**

Сообщений: 67
Зарегистрирован: 27.11.2010
Рейтинг: 0
Сказал спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщ.
Сообщение: #3
RE: Вапрос
скачай DDEr4 и не парь себе мозг с линуксом. Поставишь все оттуда и сможешь программировать для дрима под Windows. Там есть примеры которые просто разобрать и изменитьпод свои нужды. Сборка программ делается через Makefile. После сборки появляется elf-файл (это универсальный формат для объектных и исполнимых файлов для разных ОС и устройств, в том числе и для Дрима), этот файл легко конвертировать через 1st_read.bin checker в bin и запустить на дриме или на эмуле.

Libera te ex inferus
28.03.2011 00:38
Найти все сообщения Цитировать это сообщение
Rio Не на форуме
Продвинутый
***

Сообщений: 277
Зарегистрирован: 04.04.2009
Рейтинг: 1
Сказал спасибо: 1
Поблагодарили 2 раз(а) в 2 сообщ.
Сообщение: #4
RE: Вапрос
Да токо оно кучу ошибок выдает.

"Я считаю: если ты живешь без цели, если ты никому не нужен, никому не помогаешь, если у тебя нет ничего, что бы заставляло тебя работать над собой и зарабатывать деньги, быть кому-то полезным – тогда ты просто сорняк какой-то. Я так не хочу. Для меня это неприемлемо…" ©
29.03.2011 16:20
Найти все сообщения Цитировать это сообщение
SWAT Не на форуме
Администратор
*******

Сообщений: 4066
Зарегистрирован: 04.01.2005
Рейтинг: 14
Сказал спасибо: 1
Поблагодарили 32 раз(а) в 27 сообщ.
Сообщение: #5
RE: Вапрос
Сплошные проблемы у тебя... Не судьба Smile

[Изображение: podpis.gif]
[Изображение: SWAT-PS.png]
29.03.2011 18:38
Вебсайт Найти все сообщения Цитировать это сообщение
sc_maxim Не на форуме
Пользователь
**

Сообщений: 67
Зарегистрирован: 27.11.2010
Рейтинг: 0
Сказал спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщ.
Сообщение: #6
RE: Вапрос
Ошибки анализируешь и смотришь что их провоцирует.
Ничего там сложного нет.

Libera te ex inferus
29.03.2011 21:53
Найти все сообщения Цитировать это сообщение
SWAT Не на форуме
Администратор
*******

Сообщений: 4066
Зарегистрирован: 04.01.2005
Рейтинг: 14
Сказал спасибо: 1
Поблагодарили 32 раз(а) в 27 сообщ.
Сообщение: #7
RE: Вапрос
Да Rio, если ты не научишься фиксить ошибки, у тебя никогда ничего не получится Smile

[Изображение: podpis.gif]
[Изображение: SWAT-PS.png]
30.03.2011 06:11
Вебсайт Найти все сообщения Цитировать это сообщение
Rio Не на форуме
Продвинутый
***

Сообщений: 277
Зарегистрирован: 04.04.2009
Рейтинг: 1
Сказал спасибо: 1
Поблагодарили 2 раз(а) в 2 сообщ.
Сообщение: #8
RE: Вапрос
Сват, ну я же не настолько дурак)) Естессно, я фиксю их. Но после двадцатого запроса в гугл, нечто на подобии, "Kallisti Os errors" или "KOS errors list", и не находя нужного ответа, уже как-то, честно, опускаются руки))

"Я считаю: если ты живешь без цели, если ты никому не нужен, никому не помогаешь, если у тебя нет ничего, что бы заставляло тебя работать над собой и зарабатывать деньги, быть кому-то полезным – тогда ты просто сорняк какой-то. Я так не хочу. Для меня это неприемлемо…" ©
(Последний раз сообщение было отредактировано 30.03.2011 в 16:02, отредактировал пользователь Rio.)
30.03.2011 16:01
Найти все сообщения Цитировать это сообщение
SWAT Не на форуме
Администратор
*******

Сообщений: 4066
Зарегистрирован: 04.01.2005
Рейтинг: 14
Сказал спасибо: 1
Поблагодарили 32 раз(а) в 27 сообщ.
Сообщение: #9
RE: Вапрос
Хмм что то ты не то ищешь... Что у тебя за ошибки вообще?

[Изображение: podpis.gif]
[Изображение: SWAT-PS.png]
(Последний раз сообщение было отредактировано 30.03.2011 в 18:29, отредактировал пользователь SWAT.)
30.03.2011 18:28
Вебсайт Найти все сообщения Цитировать это сообщение
Rio Не на форуме
Продвинутый
***

Сообщений: 277
Зарегистрирован: 04.04.2009
Рейтинг: 1
Сказал спасибо: 1
Поблагодарили 2 раз(а) в 2 сообщ.
Сообщение: #10
RE: Вапрос
[Изображение: rdmLj6uT.jpg]

"Я считаю: если ты живешь без цели, если ты никому не нужен, никому не помогаешь, если у тебя нет ничего, что бы заставляло тебя работать над собой и зарабатывать деньги, быть кому-то полезным – тогда ты просто сорняк какой-то. Я так не хочу. Для меня это неприемлемо…" ©
30.03.2011 18:50
Найти все сообщения Цитировать это сообщение
sc_maxim Не на форуме
Пользователь
**

Сообщений: 67
Зарегистрирован: 27.11.2010
Рейтинг: 0
Сказал спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщ.
Сообщение: #11
RE: Вапрос
Так ты ничего не скомпилишь. Если уж нужно скомпилировать отдельный файл, то используй это:
kos-cc -o prog.elf prog.c
а вообщето заходи в папку /usr/local/dc/kos/kos/examples/dreamcast
печатай:
make
Так ты соберешь примеры. Если все правильно соберется то найди пример поменьше и попробуй переделать его. Там вроде есть что-то типа Hello world вот с него и начни.

Libera te ex inferus
30.03.2011 19:09
Найти все сообщения Цитировать это сообщение
Rio Не на форуме
Продвинутый
***

Сообщений: 277
Зарегистрирован: 04.04.2009
Рейтинг: 1
Сказал спасибо: 1
Поблагодарили 2 раз(а) в 2 сообщ.
Сообщение: #12
RE: Вапрос
Цитата:Так ты ничего не скомпилишь.
Почему?
Цитата:kos-cc -o prog.elf prog.c
Откуда ты узнал что компилить надо именно так?
Цитата:Там вроде есть что-то типа Hello world вот с него и начни.
Конечно. Я уже пробовал. Он не работает.

"Я считаю: если ты живешь без цели, если ты никому не нужен, никому не помогаешь, если у тебя нет ничего, что бы заставляло тебя работать над собой и зарабатывать деньги, быть кому-то полезным – тогда ты просто сорняк какой-то. Я так не хочу. Для меня это неприемлемо…" ©
(Последний раз сообщение было отредактировано 31.03.2011 в 01:47, отредактировал пользователь Rio.)
31.03.2011 01:43
Найти все сообщения Цитировать это сообщение
sc_maxim Не на форуме
Пользователь
**

Сообщений: 67
Зарегистрирован: 27.11.2010
Рейтинг: 0
Сказал спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщ.
Сообщение: #13
RE: Вапрос
1) Потому что sh-elf-gcc - это голый компилятор, который не знает где лежать хэдеры и либы, А kos-cc - это врепепер, которий создан специально для того чтобы упростить компиляцию. Узнать о нем можно посмотрев в файлы environ*.sh.

2) Так компилятся программы через gcc компилятор. Не уверен что собранная таким образом программа заработает на дриме, тем более что там еще нужно указывать кучу библиотек. Это я так для примера показал.

3) Если у тебя это не работает, то скорей всего ты не зашел в папки .../kos/kos и /kos/kos-ports и не ввел там make. Или же ты не выполнил команду source environ.sh находясь в папке .../kos/kos, которую нужно выполнять каждый раз при запуске Cygwin.

Если ничего из этого тебе не поможет то скинешь скриншот ошибки, которая возникает при попытке собрать hello.

Libera te ex inferus
31.03.2011 01:59
Найти все сообщения Цитировать это сообщение
SWAT Не на форуме
Администратор
*******

Сообщений: 4066
Зарегистрирован: 04.01.2005
Рейтинг: 14
Сказал спасибо: 1
Поблагодарили 32 раз(а) в 27 сообщ.
Сообщение: #14
RE: Вапрос
Суда по ошибке, у тебя не загружен environ.sh
Его можно прописать в /etc/profile вместо строки:
Код:
cd "${HOME}"

Напиши:
Код:
cd /usr/local/dc/kos/kos
./environ.sh

После этого при запуске консоли cygwin, ты будешь находится в нужной папке с выставленными параметрами для компиляциями.
Заходишь в директорию examples/dreamcast/hello и пишешь make. Если собралось, можешь дальше экспериментировать с этим примером.

Да и кстати, если ты все устанавливал сам, а не с готового установщика, то файл environ.sh нужно взять из doc и сконфигурять в нем пути. Но судя по скриншоту он у тебя уже есть.

[Изображение: podpis.gif]
[Изображение: SWAT-PS.png]
(Последний раз сообщение было отредактировано 31.03.2011 в 08:12, отредактировал пользователь SWAT.)
31.03.2011 08:06
Вебсайт Найти все сообщения Цитировать это сообщение
Rio Не на форуме
Продвинутый
***

Сообщений: 277
Зарегистрирован: 04.04.2009
Рейтинг: 1
Сказал спасибо: 1
Поблагодарили 2 раз(а) в 2 сообщ.
Сообщение: #15
RE: Вапрос
PHP код:
# base-files version 4.0-6
# /etc/profile: executed by the command interpreter for login shells.

# The latest version as installed by the Cygwin Setup program can
# always be found at /etc/defaults/etc/profile

# Modifying /etc/profile directly will prevent
# setup from updating it.

# System-wide profile file

# Some resources...
# Customizing Your Shell: http://www.dsl.org/cookbook/cookbook_5.html#SEC69
# Consistent BackSpace and Delete Configuration:
#   http://www.ibb.net/~anne/keyboard.html
# The Linux Documentation Project: http://www.tldp.org/
# The Linux Cookbook: http://www.tldp.org/LDP/linuxcookbook/html/

# Setup some default paths. Note that this order will allow user installed
# software to override 'system' software.
# Modifying these default path settings can be done in different ways.
# To learn more about startup files, refer to your shell's man page.
PATH="/usr/local/bin:/usr/bin:${PATH}"
MANPATH="/usr/local/man:/usr/share/man:/usr/man:${MANPATH}"
INFOPATH="/usr/local/info:/usr/share/info:/usr/info:${INFOPATH}"

# Set the user id
USER="$(id -un)"

# TMP and TEMP are defined in the Windows environment. Leaving
# them set to the default Windows temporary directory or unset
# can have unexpected consequences. 
unset TMP TEMP
TMP
="/tmp"
TEMP="/tmp"

# Define default printer
p='/proc/registry/HKEY_CURRENT_USER/Software/Microsoft/Windows NT/CurrentVersion/Windows/Device'
if [ -"${p}" ] ; then
  read 
-r PRINTER "${p}" 
  
PRINTER=${PRINTER%%,*}
fi
unset p

# Default to removing the write permission for group and other
#  (files normally created with mode 777 become 755; files created with
#  mode 666 become 644)
umask 022

# Here is how HOME is set, in order of priority, when starting from Windows
#  1) From existing HOME in the Windows environment, translated to a Posix path
#  2) from /etc/passwd, if there is an entry with a non empty directory field
#  3) from HOMEDRIVE/HOMEPATH
#  4) / (root)
# If the home directory doesn't exist, create it.
if [ ! -"${HOME}" ]; then
  
if mkdir -"${HOME}"then
    
echo "Copying skeleton files."
    
echo "These files are for the users to personalise their cygwin experience."
    
echo
    echo 
"They will never be overwritten nor automatically updated."
    
echo
    
cd /etc/skel || echo "WARNING: Failed attempt to cd into /etc/skel!"
    
/usr/bin/find . -type f | while read f; do
      
fDest=${f#.}
      
if [ ! -"${HOME}${fDest}" -! -"${HOME}${fDest}" ]; then
        
/usr/bin/install ---"${f}" "${HOME}/${fDest}"
      
fi
    done
    
unset fDest
  
else
    echo 
"${HOME} could not be created."
    
{ [ -"${TEMP}" ] && HOME="${TEMP}"; } ||
    { [ -
"${TMP}" ] && HOME="${TMP}"; } ||
    { [ -
/tmp ] && HOME=/tmp; } ||
    
HOME=/
    echo 
"Setting HOME to ${HOME}."
  
fi
fi

# Make sure we start in home unless invoked by CHERE
if [ ! -"${CHERE_INVOKING}" ]; then
  
unset CHERE_INVOKING
else
  
cd "${HOME}" || echo "WARNING: Failed attempt to cd into ${HOME}!"
fi

# Shell dependent settings
profile_d ()
{
  
saved_LC_COLLATE=${LC_COLLATE}
  
LC_COLLATE=C
  
for file in /etc/profile.d/*.$1; do
    [ -e "${file}" ] && . "${file}"
  done
  LC_COLLATE=${saved_LC_COLLATE}
  unset saved_LC_COLLATE
}

if [ ! "x${BASH_VERSION}" = "x"  ]; then
  HOSTNAME=$(/usr/bin/hostname)
  profile_d sh
  [ -f "/etc/bash.bashrc" ] && . "/etc/bash.bashrc"
elif [ ! "x${KSH_VERSION}" = "x" ]; then
  typeset -l HOSTNAME=$(/usr/bin/hostname)
  profile_d sh
  PS1=$(print '\033]0;${PWD}\n\033[32m${USER}@${HOSTNAME} \033[33m${PWD/${HOME}/~}\033[0m\n$ ')
elif [ ! "x${ZSH_VERSION}" = "x" ]; then
  HOSTNAME=$(/usr/bin/hostname)
  profile_d zsh
  PS1='(%n@%m)[%h] %~ %% '
elif [ ! "x${POSH_VERSION}" = "x" ]; then
  HOSTNAME=$(/usr/bin/hostname)
  PS1="$ "
else 
  HOSTNAME=$(/usr/bin/hostname) 
  profile_d sh
  PS1="$ "
fi

export PATH MANPATH INFOPATH USER TMP TEMP PRINTER HOSTNAME PS1 

# Check to see if mkpasswd/mkgroup needs to be run try and cut down the emails
#   about this on the lists!
#
# The following are the conditions under which the group name special cases 
#   will appear (where uid and gid are the effective user and group ids
#   for the current user, and pgsid is the primary group associated with the
#   SID for the current user):
#       mkpasswd:
#         gid is not in /etc/group
#         uid is not in /etc/passwd
#       passwd/group_GID_clash(<gid>/<pgsid>):
#         gid is not in /etc/group
#         uid is in /etc/passwd
#         pgsid is in /etc/group (and does not match gid)
#       mkgroup:
#         gid is not in /etc/group
#         uid is in /etc/passwd
#         pgsid is not in /etc/group
#
# If this message keeps appearing and you are sure it's a mistake (ie, don't
#   email about it!), comment out the test below.
case "$(id -ng)" in
mkpasswd )
  echo "Your group is currently \"mkpasswd\".  This indicates that your"
  echo "gid is not in /etc/group and your uid is not in /etc/passwd."
  echo
  echo "The /etc/passwd (and possibly /etc/group) files should be rebuilt."
  echo "See the man pages for mkpasswd and mkgroup then, for example, run"
  echo
  echo "mkpasswd -l [-d] > /etc/passwd"
  echo "mkgroup  -l [-d] > /etc/group"
  echo
  echo "Note that the -d switch is necessary for domain users."
  ;;
passwd/group_GID_clash* )
  echo "Your group is currently \"passwd/group_GID_clash(gid/pgsid)\".  This"
  echo "indicates that your gid is not in /etc/group, but the pgsid (primary "
  echo "group associated with your SID) is in /etc/group."
  echo
  echo "The /etc/passwd (and possibly /etc/group) files should be rebuilt."
  echo "See the man pages for mkpasswd and mkgroup then, for example, run"
  echo
  echo "mkpasswd -l [-d] > /etc/passwd"
  echo "mkgroup  -l [-d] > /etc/group"
  echo
  echo "Note that the -d switch is necessary for domain users."
  ;;
mkgroup )
  echo "Your group is currently \"mkgroup\".  This indicates that neither"
  echo "your gid nor your pgsid (primary group associated with your SID)"
  echo "is in /etc/group."
  echo
  echo "The /etc/group (and possibly /etc/passwd) files should be rebuilt."
  echo "See the man pages for mkpasswd and mkgroup then, for example, run"
  echo
  echo "mkpasswd -l [-d] > /etc/passwd"
  echo "mkgroup  -l [-d] > /etc/group"
  echo
  echo "Note that the -d switch is necessary for domain users."
  ;;
esac


cd /usr/local/dc/kos/kos
source environ.sh 
вот полный текст моего файла. судя по всему заданная строка в нем уже есть.
при попытке вызвать из консоли команду make пишет ругательное "command not found".

"Я считаю: если ты живешь без цели, если ты никому не нужен, никому не помогаешь, если у тебя нет ничего, что бы заставляло тебя работать над собой и зарабатывать деньги, быть кому-то полезным – тогда ты просто сорняк какой-то. Я так не хочу. Для меня это неприемлемо…" ©
01.04.2011 17:09
Найти все сообщения Цитировать это сообщение
sc_maxim Не на форуме
Пользователь
**

Сообщений: 67
Зарегистрирован: 27.11.2010
Рейтинг: 0
Сказал спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщ.
Сообщение: #16
RE: Вапрос
значит ты установил Cygwin не полностью. Ты устанавливал с DDEr4?
Если да то попробуй все переустановить заново, удавлив предварительно все его папки. И нужно щелкнуть при выборе компонентов Cygwin по All - Default, чтобы оно изменилось на All - Install, иначе опять не будет команды make.

Libera te ex inferus
01.04.2011 20:01
Найти все сообщения Цитировать это сообщение
Rio Не на форуме
Продвинутый
***

Сообщений: 277
Зарегистрирован: 04.04.2009
Рейтинг: 1
Сказал спасибо: 1
Поблагодарили 2 раз(а) в 2 сообщ.
Сообщение: #17
RE: Вапрос
Вот еще такой вопрос. Откомпайлил я hello world. В папке, соответсвенно, появилось несколько файлов, в том числе и файл hello.elf огромного (просто таки ужасающего) размера - аж целых 998 Кбайт. Что не мало, согласитесь.
Итак, что мне надо дальше с этим файлом делать? На попытки выполнить из командной строки утилиты elf2bin и scramble интерпретатор отвечает что команды не найдены.

"Я считаю: если ты живешь без цели, если ты никому не нужен, никому не помогаешь, если у тебя нет ничего, что бы заставляло тебя работать над собой и зарабатывать деньги, быть кому-то полезным – тогда ты просто сорняк какой-то. Я так не хочу. Для меня это неприемлемо…" ©
02.04.2011 12:53
Найти все сообщения Цитировать это сообщение
SWAT Не на форуме
Администратор
*******

Сообщений: 4066
Зарегистрирован: 04.01.2005
Рейтинг: 14
Сказал спасибо: 1
Поблагодарили 32 раз(а) в 27 сообщ.
Сообщение: #18
RE: Вапрос
Ну конечно он их не нашел, потому что их там нет.

Замени в Makefile строки:

PHP код:
$(TARGET): $(OBJS)
    
kos-cc -$(TARGET) $(OBJS

На эти:

PHP код:
$(TARGET): $(OBJS)
    $(
KOS_CC) $(KOS_CFLAGS) $(KOS_LDFLAGS) -$(TARGET) $(KOS_START) $(OBJS) $(OBJEXTRA) $(KOS_LIBS)
    $(
KOS_STRIP) $(TARGET)
    $(
KOS_OBJCOPY) -.stack -O binary $(TARGETunscrambled.bin
    
$(KOS_BASE)/utils/scramble/scramble unscrambled.bin 1ST_READ.BIN 

Если у тебя нет утилиты utils/scramble/scramble то закинь туда ее.
Размера файла пугаться не стоит, в нем есть куча ненужно инфы, которая потом удалится с помощью KOS_STRIP. Да и при конвертации в бинарник, он еще немного уменьшится.

[Изображение: podpis.gif]
[Изображение: SWAT-PS.png]
(Последний раз сообщение было отредактировано 02.04.2011 в 13:13, отредактировал пользователь SWAT.)
02.04.2011 13:03
Вебсайт Найти все сообщения Цитировать это сообщение
Rio Не на форуме
Продвинутый
***

Сообщений: 277
Зарегистрирован: 04.04.2009
Рейтинг: 1
Сказал спасибо: 1
Поблагодарили 2 раз(а) в 2 сообщ.
Сообщение: #19
RE: Вапрос
Не понял. Еще разочек пожалуйста. Что делать с hello.elf.

"Я считаю: если ты живешь без цели, если ты никому не нужен, никому не помогаешь, если у тебя нет ничего, что бы заставляло тебя работать над собой и зарабатывать деньги, быть кому-то полезным – тогда ты просто сорняк какой-то. Я так не хочу. Для меня это неприемлемо…" ©
02.04.2011 13:04
Найти все сообщения Цитировать это сообщение
SWAT Не на форуме
Администратор
*******

Сообщений: 4066
Зарегистрирован: 04.01.2005
Рейтинг: 14
Сказал спасибо: 1
Поблагодарили 32 раз(а) в 27 сообщ.
Сообщение: #20
RE: Вапрос
Тебе ничего не придется с ним больше делать, когда ты внесешь изменения в Makefile как я сказал.

[Изображение: podpis.gif]
[Изображение: SWAT-PS.png]
(Последний раз сообщение было отредактировано 02.04.2011 в 13:15, отредактировал пользователь SWAT.)
02.04.2011 13:15
Вебсайт Найти все сообщения Цитировать это сообщение
Создать ответ 


Переход:


Пользователи просматривают эту тему: 4 Гость(ей)