This document will guide you step-by-step in the process of compiling
the open source version of the Neuros firmware under Linux using the
nice Wine enviroment.
I personally did this on Gentoo, but I think that for most
distributions this will work just fine or with some minor tweaks (I have reports that it works on recent Mandriva too). Just
be sure to use the same version of wine I used: 20050725.
Maybe with a newer version it will work even better, but there are
often regressions with wine so it's up to you to try your luck with a
different version (update: I had report of sucess also with 20050830).
I expect you to read each chapter from start to end. Only when you have done that you should actually begin doing what you have just read. You have been warned.
I should insert the obligatory disclaimer here, but i'm lazy so i won't. Sue me.
rm -r ~/.wine
wine
winecfg and ensure you have your wine system setup as Windows 98)
cd ccs
wine setup.exe
c:\ti as install directory. then click next 2 times
wineboot
REGEDIT4 [HKEY_CURRENT_USER] [HKEY_CURRENT_USER\Environment] "BSL5416_DIR"="c:\\ti\\c5400\\dsk5416\\lib" "C54X_A_DIR"="c:\\ti\\c5400\\bios\\include;c:\\ti\\c5400\\bios\\lib;c:\\ti\\c5400\\dsk5416\\include;c:\\ti\\c5400\\dsk5416\\lib;c:\\ti\\c5400\\xdais\\include;c:\\ti\\c5500\\xdais\\lib;c:\\ti\\c5400\\cgtools\\include;c:\\ti\\c5400\\cgtools\\lib;c:\\ti\\c5400\\rtdx\\include;c:\\ti\\c5400\\rtdx\\lib" "C54X_C_DIR"="c:\\ti\\c5400\\bios\\include;c:\\ti\\c5400\\bios\\lib;c:\\ti\\c5400\\xdais\\include;c:\\ti\\c5500\\xdais\\lib;c:\\ti\\c5400\\cgtools\\include;c:\\ti\\c5400\\cgtools\\lib;c:\\ti\\c5400\\rtdx\\include;c:\\ti\\c5400\\rtdx\\lib" "C55X_A_DIR"="c:\\ti\\c5500\\xdais\\include;c:\\ti\\c5500\\xdais\\lib;c:\\ti\\c5500\\cgtools\\include;c:\\ti\\c5500\\cgtools\\lib;c:\\ti\\c5500\\bios\\include;c:\\ti\\c5500\\bios\\lib;c:\\ti\\c5500\\rtdx\\include;c:\\ti\\c5500\\rtdx\\lib" "C55X_C_DIR"="c:\\ti\\c5500\\xdais\\include;c:\\ti\\c5500\\xdais\\lib;c:\\ti\\c5500\\cgtools\\include;c:\\ti\\c5500\\cgtools\\lib;c:\\ti\\c5500\\bios\\include;c:\\ti\\c5500\\bios\\lib;c:\\ti\\c5500\\rtdx\\include;c:\\ti\\c5500\\rtdx\\lib" "C55X_CONFIG_FILE"="c:\\ti\\cc\\bin\\c55xx.cfg" "PATH"="c:\\\\windows;c:\\\\windows\\\\system;c:\\ti\\bin;c:\\ti\\cc\\bin;c:\\ti\\c5400\\cgtools\\bin;c:\\ti\\c5500\\cgtools\\bin;c:\\ti\\plugins\\bios;c:\\ti\\bin\\utilities\\tconf;c:\\ti\\bin\\utilities\\vislink;" "TI_DIR"="c:\\ti"
wine regedit
cd ~/.wine/drive_c/ti/c5400/cgtools/bin
runcc and put this inside it
#! /bin/bash wine cl500.exe $@
chmod +x runcc
cd ~/.wine/drive_c/ti/plugins/bios/
gconfgen and put this inside it:
#! /bin/bash wine gconfgen.exe $@
chmod +x gconfgen
cd ccs_projects/Main_APP/Neuros200
chmod +x buildneuros
rm build/output/*.*rm ../../../source/DEBUGFLASHER/Debug/*.*
cd buildtools_src
./maketools.sh #sourceroot# of course replacing #sourceroot# with the actual
location of the root of your source tree (that is, the folder that contains the "source" dir, not the dir itself).
ccs_project/buildtools you have three tools called "bootversion", "hexmerge" and "emuflash" (along with other tools with similar name but
ending with .exe). If these tools are not there, please check that you provided the correct path in
the steps above and repeat them.
cd /ccs_projects/Main_APP/Neuros200/
Neuros200.mak makefile in your favorite text editor.
<source> with the absolute path to the actual place where you put your neuros source,
and <home> is the absolute path to your home directory. beware, shell expansion won't work, so
you can't use ~ to denote your home directory)
OBJ_DIR= <source>/ccs_projects/Main_APP/Neuros200/obj
COMPILER= runcc
TI_DIR= <home>/.wine/drive_c/ti
DIR_number. You will notice a pattern in the folder names that is like "Source/something", but for most of them should be
"source/SOMETHING". Do a first pass and fix these errors on the DIR_number variables and don't worry if you leave out some. We'll fix them later along with the others that lurk deeper into the makefile.
make -f Neuros200.mak
make: *** No rule to make target `~/.wine/drive_c/ti/C5400/bios/include/hook.h', needed by `obj/audio.obj'. Stop.You should check the name of the source file make is working on (not the .obj) and ensure that all instances of it in the makefile are in the correct character case. Have a nice hunting.
./buildneuros
#sourceroot#/source/DEBUGFLASHER/Debug/woid.hex. Otherwise, things will start crashing and burning somewhere along the process. Good luck.
#neuros on irc.freenode.net
and poke me if you see me around. If not, you can try asking for help
to the other nice fellows you see in there. They won't bite you, at
worst they won't answer you at all.