summaryrefslogtreecommitdiff
path: root/www
diff options
context:
space:
mode:
authorBjörn Stenberg <bjorn@haxx.se>2002-09-09 15:02:42 +0000
committerBjörn Stenberg <bjorn@haxx.se>2002-09-09 15:02:42 +0000
commit720cc4df1e13f1f36a3606eae9e4dae7a569f8f0 (patch)
tree712a07eace9fde21b1ef2f32136ac3f23d483b55 /www
parentd2aa7116d21637fcc0804a545426906f50f48b7e (diff)
downloadrockbox-720cc4df1e13f1f36a3606eae9e4dae7a569f8f0.zip
rockbox-720cc4df1e13f1f36a3606eae9e4dae7a569f8f0.tar.gz
rockbox-720cc4df1e13f1f36a3606eae9e4dae7a569f8f0.tar.bz2
rockbox-720cc4df1e13f1f36a3606eae9e4dae7a569f8f0.tar.xz
New sh-win instructions
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2241 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'www')
-rw-r--r--www/sh-win/index.t347
1 files changed, 72 insertions, 275 deletions
diff --git a/www/sh-win/index.t b/www/sh-win/index.t
index 9b387ba..9b63d0e 100644
--- a/www/sh-win/index.t
+++ b/www/sh-win/index.t
@@ -1,277 +1,74 @@
-#define _PAGE_ Setting up an SH-1 compiler for Windows
-#include "head.t"
-<P>
-by <A href="mailto:edx@codeforce.d2g.com">Felix Arends</A>, 1/8/2002
-<BR>
-
-<P>
-NOTE: THIS COMPILER DOES NOT YET WORK WITH WINDOWS XP!!!
-
-<P>
-I have spent a long time figuring out how to compile SH1 code in windows (using
-the sh-elf-gcc compiler) and when I finally compiled the first OS for my
-Jukebox I decided to write a little tutorial explaining the setup process.
-
-<H2>
-The GNU-SH Tool Chain for Windows
-</H2>
-<P>
+#define _PAGE_ Setting up an SH-1 compiler for Windows #include "head.t"
+<P>
+ by <A href="mailto:edx@codeforce.d2g.com">Felix Arends</A>, 1/8/2002
+ <BR>
+</P>
+<P>
+ I have spent a long time figuring out how to compile SH1 code in windows (using
+ the sh-elf-gcc compiler) and when I finally compiled the first OS for my
+ Jukebox I decided to write a little tutorial explaining the setup process.
+ <H2>
+ The GNU-SH Tool Chain for Windows
+ </H2>
+<P></P>
This is actually all you need to download. It includes the binutils, gcc and
-newlib. Download the GNUSH Tool Chain for ELF format (13 MB).
-
-<P>
-The GNUSH website can be found at <a href="http://www.kpit.com/download/downloadgnush.htm">
-http://www.kpit.com/download/downloadgnush.htm</a> (source code is also
-available there). The new v0202 version now uses MinGW instead of Cygwin.
-
-<H2>
-Setting up&nbsp;the Compiler
-</H2>
-<P>
-Install the GNUSH Tool Chain (nothing you really have to care about during the
-installation process). After that you should add some paths to your PATH system
-environment variable. If you have Windows 95/98/Me you can do that by modifying
-your autoexec.bat:
-
-<P>
-Add the following line to your autoexec.bat:
-
-<P>
-<TABLE cellSpacing="1" cellPadding="1" width="100%" border="1">
-<TBODY>
-<TR>
-<TD bgcolor="#a0d6e8">
-<code>SET PATH=%PATH%;C:\Programs\kpit\GNU-SH v0101
-[ELF]\Sh-elf\bin\;C:\Programs\kpit\GNU-SH v0101
-[ELF]\Sh-elf\lib\gcc-lib\sh-elf\2.9-GNU-SH-v0101\;C:\Programs\kpit\GNU-SH v0101
-[ELF]\Other Utilities</code>
-</TD>
-</TR>
-</TBODY>
-</TABLE>
-
-<P>
-</CODE>(Note: This is just one single line)
-
-<P>
-Replace the beginning of the paths with the path-name you chose to installt the
-tools in. Reboot.
-
-<P>
-In Windows 2000 it is a bit different. You can find the PATH-environment
-variable if you right-click the "My Computer" icon on your desktop and choose
-"Properties" in the popup-menu. Go to the "Advanced" tab and click
-"Environment-Variables":
-
-<P align="center">
-<IMG src="enviro.jpg"> <IMG src="enviro2.jpg"> <IMG src="enviro3.jpg">
-
-<P>
-(Note: There is also a PATH-variable in the "System variables" list, it does
-not matter which one you edit)
-
-<P>
-To the value the PATH-variable already has, add:
-
-<P>
-<TABLE cellSpacing="1" cellPadding="1" width="100%" border="1">
-<TR>
-<TD bgcolor="#a0d6e8">
-<code>;C:\Programs\kpit\GNU-SH v0101 [ELF]\Sh-elf\bin\;C:\Programs\kpit\GNU-SH
-v0101 [ELF]\Sh-elf\lib\gcc-lib\sh-elf\2.9-GNU-SH-v0101\;C:\Programs\kpit\GNU-SH
-v0101 [ELF]\Other Utilities</code>
-</TD>
-</TR>
-</TABLE>
-
-<P>
-Replace the program path with the path you chose for the program. You do not
-have to reboot.
-
-<H2>
-An "empty" System
-</H2>
-<P>
-First of all, I'll explain what to do to compile an "empty" system. It just
-initializes and calls the <EM>main</EM> function, but does not do anything
-else. You can add some code to the <EM>main</EM> function and simply recompile.
-It is actually like this: You don't have to care about any of those files,
-because you won't have to change much of them (except the main.cpp of
-course!!).
-
-<P>
-<STRONG>main.cpp:
-<BR>
-</STRONG>
-<TABLE cellSpacing="1" cellPadding="1" width="550" border="1">
-<TR>
-<TD bgcolor="#a0d6e8">
-<P>
-<code><font color="#0000ff">int</font> __main(<font color="#0000ff">void</font>){}
-<BR>
-<BR>
-<font color="#0000ff">int</font> main(<font color="#0000ff">void</font>)
-<BR>
-{
-<BR>
-<font color="#009000">&nbsp;&nbsp;&nbsp; // add code here</font>
-<BR>
-}
-<BR>
-<BR>
-<FONT color="#0000ff">extern</FONT> <FONT color="#0000ff">const</FONT> <FONT color="#0000ff">
-void</FONT> stack(<FONT color="#0000ff">void</FONT>);
-<br>
-<br>
-<FONT color="#0000ff">const</FONT> <FONT color="#0000ff">void</FONT>* vectors[]
-__attribute__ ((section (".vectors"))) =
-<br>
-{
-<br>
-&nbsp;&nbsp;&nbsp; main, <FONT color="#009000">/* Power-on reset */</FONT>
-<br>
-&nbsp;&nbsp;&nbsp; stack, <FONT color="#009000">/* Power-on reset (stack pointer)
-*/</FONT>
-<br>
-&nbsp;&nbsp;&nbsp; main, <FONT color="#009000">/* Manual reset */</FONT>
-<br>
-&nbsp;&nbsp;&nbsp; stack <FONT color="#009000">/* Manual reset (stack pointer) */</FONT>
-<br>
-};
-<br>
-</code>
-
-</TD>
-</TR>
-</TABLE>
-
-<P>
-We need a start-up assembler code:
-
-<P>
-<STRONG>start.asm
-<br>
-</STRONG>
-<TABLE cellSpacing="1" cellPadding="1" width="550" border="1">
-<TR>
-<TD bgcolor="#a0d6e8">
-<code>
-<pre>! note: sh-1 has a "delay cycle" after every branch where you can
-! execute another instruction "for free".
-
-.file"start.asm"
-.section.text.start
-.extern_main
-.extern _vectors
-.extern _stack
-.global _start
-.align 2
-
-_start:
-mov.l1f, r1
-mov.l3f, r3
-mov.l2f, r15
-jmp@r3
-ldcr1, vbr
-nop
-
-1:.long_vectors
-2:.long_stack
-3:.long_main
-.type_start,@function</pre>
-</code>
-</TD>
-</TR>
-</TABLE>
-
-<P>
-(I took this code from Björn's LCDv2 source)
-
-<P>
-Then we need a linker configuration file:
-
-<P>
-<STRONG>linker.cfg</STRONG>
-<BR>
-<TABLE cellSpacing="1" cellPadding="1" width="550" border="1">
-<TR>
-<TD bgcolor="#a0d6e8">
-<P>
-<code>
-<pre>ENTRY(_start)
-OUTPUT_FORMAT(elf32-sh)
-SECTIONS
-{
- .vectors 0x09000000 :
- {
- *(.vectors);
- . = ALIGN(0x200);
- *(.text.start)
- *(.text)
- *(.rodata)
- }
-
- .bss :
- {
- _stack = . + 0x1000;
- }
-
- .pad 0x0900C800 :
- {
- LONG(0);
- }
- }</pre>
-</code>
-</TD>
-</TR>
-</TABLE>
-
-<P>
-(This code comes from Börn's LCDv2 as well)
-
-<P>
-Last but not least, we need a batch file to link all this and output a usable
-.mod file (you don't really need a batch file if you want to enter all the
-commands over and over angain :])
-
-<P>
-<STRONG>make.bat</STRONG>
-<BR>
-<TABLE cellSpacing="1" cellPadding="1" width="550" border="1">
-<TR>
-<TD bgcolor="#a0d6e8">
-<P>
-<code>
-<pre>SET INCLUDES=
-SET SOURCEFILES=main.c
-SET OBJECTS=main.o start.o
-
-sh-elf-as start.asm -o start.o -L -a
-sh-elf-gcc -O2 -m1 -o main.o -c -nostdlib %INCLUDES% %SOURCEFILES%
-sh-elf-ld -o main.out %OBJECTS% -Tlinker.cfg
-padit main.out
-scramble main.out archos.mod
-
-PAUSE</pre>
-</code>
-</TD>
-</TR>
-</TABLE>
-
-<P>
-And that's it! I have prepared all those files in a .zip archive for you so you
-don't have to copy'n'paste that much :). I have also prepared a package with
-the LCDv2 code Björn wrote (ready to compile with Windows).
-
-<P>
-<a href="empty.zip">empty.zip</a>
-<BR>
-<a href="LCDv2Win.zip">LCDv2Win.zip</a>
-
-<P>
-I hope this tutorial helped you to compile an Archos firmware with windows. If
-you have any questions, comments or corrections, please mail to <A href="mailto:edx@codeforce.d2g.com">
-edx@codeforce.d2g.com</A>
-
+newlib. Download the GNUSH Tool Chain for ELF format (35 MB).
+<P>
+ The GNUSH website can be found at <a href="http://www.kpit.com/download/downloadgnushv0203.htm">
+ http://www.kpit.com/download/downloadgnushv0203.htm</a> (source code is
+ also available there). Get the "GNUSH v0203 Tool Chain for ELF format".
+ <H2>
+ Setting up&nbsp;the Compiler
+ </H2>
+<P></P>
+<P>Install the GNUSH Tool Chain (nothing you really have to care about during the
+ installation process).</P>
+<P>
+ <H2>Compiling the latest Rockbox Source
+ </H2>
+<P>Use CVS to download the latest source code of Rockbox (the firmware and apps
+ modules). In addition, you need to copy a win32 compilation of scramble.exe
+ into the apps dir. The pre-compiled scramble.exe can be downloaded <a href="scramble.exe">here</a>.
+ From your start menu, open the "SH-ELF tool chain" batch file inside the GNU-SH
+ v0203 program folder. You should end up seeing a command prompt. Go to the apps
+ directory and type:</P>
+<P>
+ <TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="1">
+ <TR>
+ <TD>Command</TD>
+ <TD>Description</TD>
+ </TR>
+ <TR>
+ <TD>make -f win32.mak<BR>
+ make -f win32.mak RECORDER = 1</TD>
+ <TD vAlign="top">build for recorder target</TD>
+ </TR>
+ <TR>
+ <TD>make -f win32.mak PLAYER</TD>
+ <TD>build for player target</TD>
+ </TR>
+ <TR>
+ <TD>make -f win32.mak PLAYER_OLD</TD>
+ <TD>build for old player target</TD>
+ </TR>
+ <TR>
+ <TD>make -f win32.mak RECORDER=1 DISABLE_GAMES=1</TD>
+ <TD>build for recorder target, disable games</TD>
+ </TR>
+ <TR>
+ <TD vAlign="top">make -f win32.mak RECORDER=1 PROPFONTS=1</TD>
+ <TD>build for recorder target, enable propfonts</TD>
+ </TR>
+ <TR>
+ <TD vAlign="top">make -f win32.mak RECORDER=1 PROPFONTS=1&nbsp;DISABLE_GAMES =
+ 1&nbsp;</TD>
+ <TD>build for recorder target, disable games, use propfonts</TD>
+ </TR>
+ </TABLE>
+</P>
+<P>
+ I hope this tutorial helped you to compile an Archos firmware with windows. If
+ you have any questions, comments or corrections, please mail to <A href="mailto:edx@go.cc">
+ edx@go.cc</A>
+</P>
#include "foot.t"
-