Date: Mon, 9 Sep 2002 15:02:42 +0000
Subject: New sh-win instructions
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2241 a1c6a512-1295-4272-9138-f99709370657
---
www/sh-win/index.t | 347 +++++++++++------------------------------------------
1 file changed, 72 insertions(+), 275 deletions(-)
(limited to 'www')
diff --git a/www/sh-win/index.t b/www/sh-win/index.t
index 9b387badb1..9b63d0ebe3 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"
-
-by Felix Arends, 1/8/2002
-
-
-
-NOTE: THIS COMPILER DOES NOT YET WORK WITH WINDOWS XP!!!
-
-
-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.
-
-
-The GNU-SH Tool Chain for Windows
-
-
+#define _PAGE_ Setting up an SH-1 compiler for Windows #include "head.t"
+
+ by Felix Arends, 1/8/2002
+
+
+
+ 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.
+
+ The GNU-SH Tool Chain for Windows
+
+
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).
-
-
-The GNUSH website can be found at
-http://www.kpit.com/download/downloadgnush.htm (source code is also
-available there). The new v0202 version now uses MinGW instead of Cygwin.
-
-
-Setting up the Compiler
-
-
-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:
-
-
-Add the following line to your autoexec.bat:
-
-
-
-
-
-
-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
- |
-
-
-
-
-
-(Note: This is just one single line)
-
-
-Replace the beginning of the paths with the path-name you chose to installt the
-tools in. Reboot.
-
-
-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":
-
-
-
-
-
-(Note: There is also a PATH-variable in the "System variables" list, it does
-not matter which one you edit)
-
-
-To the value the PATH-variable already has, add:
-
-
-
-
-
-;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
- |
-
-
-
-
-Replace the program path with the path you chose for the program. You do not
-have to reboot.
-
-
-An "empty" System
-
-
-First of all, I'll explain what to do to compile an "empty" system. It just
-initializes and calls the main function, but does not do anything
-else. You can add some code to the main 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!!).
-
-
-main.cpp:
-
-
-
-
-
-
-int __main(void){}
-
-
-int main(void)
-
-{
-
- // add code here
-
-}
-
-
-extern const
-void stack(void);
-
-
-const void* vectors[]
-__attribute__ ((section (".vectors"))) =
-
-{
-
- main, /* Power-on reset */
-
- stack, /* Power-on reset (stack pointer)
-*/
-
- main, /* Manual reset */
-
- stack /* Manual reset (stack pointer) */
-
-};
-
-
-
- |
-
-
-
-
-We need a start-up assembler code:
-
-
-start.asm
-
-
-
-
-
-
-! 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
-
- |
-
-
-
-
-(I took this code from Björn's LCDv2 source)
-
-
-Then we need a linker configuration file:
-
-
-linker.cfg
-
-
-
-
-
-
-ENTRY(_start)
-OUTPUT_FORMAT(elf32-sh)
-SECTIONS
-{
- .vectors 0x09000000 :
- {
- *(.vectors);
- . = ALIGN(0x200);
- *(.text.start)
- *(.text)
- *(.rodata)
- }
-
- .bss :
- {
- _stack = . + 0x1000;
- }
-
- .pad 0x0900C800 :
- {
- LONG(0);
- }
- }
-
- |
-
-
-
-
-(This code comes from Börn's LCDv2 as well)
-
-
-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 :])
-
-
-make.bat
-
-
-
-
-
-
-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
-
- |
-
-
-
-
-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).
-
-
-empty.zip
-
-LCDv2Win.zip
-
-
-I hope this tutorial helped you to compile an Archos firmware with windows. If
-you have any questions, comments or corrections, please mail to
-edx@codeforce.d2g.com
-
+newlib. Download the GNUSH Tool Chain for ELF format (35 MB).
+
+ The GNUSH website can be found at
+ http://www.kpit.com/download/downloadgnushv0203.htm (source code is
+ also available there). Get the "GNUSH v0203 Tool Chain for ELF format".
+
+ Setting up the Compiler
+
+
+Install the GNUSH Tool Chain (nothing you really have to care about during the
+ installation process).
+
+
Compiling the latest Rockbox Source
+
+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 here.
+ 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:
+
+
+
+ Command |
+ Description |
+
+
+ make -f win32.mak
+ make -f win32.mak RECORDER = 1 |
+ build for recorder target |
+
+
+ make -f win32.mak PLAYER |
+ build for player target |
+
+
+ make -f win32.mak PLAYER_OLD |
+ build for old player target |
+
+
+ make -f win32.mak RECORDER=1 DISABLE_GAMES=1 |
+ build for recorder target, disable games |
+
+
+ make -f win32.mak RECORDER=1 PROPFONTS=1 |
+ build for recorder target, enable propfonts |
+
+
+ make -f win32.mak RECORDER=1 PROPFONTS=1 DISABLE_GAMES =
+ 1 |
+ build for recorder target, disable games, use propfonts |
+
+
+