summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sh
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2001-01-22 14:12:51 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2001-01-22 14:12:51 +0000
commit9f8748400e38cbb1f175161c06e81f6d6db9dc67 (patch)
tree2ddd4da667e4784e898c6a89528e9db4c7971567 /c/src/lib/libbsp/sh
parent2001-01-22 Radzislaw Galler <rgaller@et.put.poznan.pl> (diff)
downloadrtems-9f8748400e38cbb1f175161c06e81f6d6db9dc67.tar.bz2
2001-01-22 Radzislaw Galler <rgaller@et.put.poznan.pl>
* README.EVB7045F: New file. * README: Additions and corrections. * include/bsp.h: Switch console to sci0.
Diffstat (limited to 'c/src/lib/libbsp/sh')
-rw-r--r--c/src/lib/libbsp/sh/gensh2/ChangeLog6
-rw-r--r--c/src/lib/libbsp/sh/gensh2/README14
-rw-r--r--c/src/lib/libbsp/sh/gensh2/README.EVB7045F152
-rw-r--r--c/src/lib/libbsp/sh/gensh2/include/bsp.h2
4 files changed, 165 insertions, 9 deletions
diff --git a/c/src/lib/libbsp/sh/gensh2/ChangeLog b/c/src/lib/libbsp/sh/gensh2/ChangeLog
index b4e054ddd3..e313c6c8bf 100644
--- a/c/src/lib/libbsp/sh/gensh2/ChangeLog
+++ b/c/src/lib/libbsp/sh/gensh2/ChangeLog
@@ -1,3 +1,9 @@
+2001-01-22 Radzislaw Galler <rgaller@et.put.poznan.pl>
+
+ * README.EVB7045F: New file.
+ * README: Additions and corrections.
+ * include/bsp.h: Switch console to sci0.
+
2001-01-05 Joel Sherrill <joel@OARcorp.com>
* include/bsp.h: Changed <sh/null.h> to <rtems/devnull.h> to reflect
diff --git a/c/src/lib/libbsp/sh/gensh2/README b/c/src/lib/libbsp/sh/gensh2/README
index 40cd643721..7efa43143e 100644
--- a/c/src/lib/libbsp/sh/gensh2/README
+++ b/c/src/lib/libbsp/sh/gensh2/README
@@ -3,7 +3,8 @@
#
# Author: Ralf Corsepius (corsepiu@faw.uni-ulm.de)
# Adapted by: John Mills (jmills@tga.com)
-#
+# Corrections: Radzislaw Galler (rgaller@et.put.poznan.pl)
+
BSP NAME: generic SH2 (gensh2)
BOARD: n/a
@@ -18,7 +19,7 @@ DEBUG MONITOR: gdb
PERIPHERALS
===========
TIMERS: on-chip
- RESOLUTION: cf. Hitachi SH 704X Hardware Manual (Phi/4)
+ RESOLUTION: cf. Hitachi SH 704X Hardware Manual (Phi/16)
SERIAL PORTS: on-chip (with 2 ports)
REAL-TIME CLOCK: none
DMA: not used
@@ -32,11 +33,11 @@ CLOCK DRIVER: on-chip timer
IOSUPP DRIVER: default
SHMSUPP: default
TIMER DRIVER: on-chip timer
-TTY DRIVER: /dev/null (stub)
+TTY DRIVER: /dev/console
STDIO
=====
-PORT: /dev/null (stub)
+PORT: /dev/sci1
ELECTRICAL: n/a
BAUD: n/a
BITS PER CHARACTER: n/a
@@ -46,10 +47,7 @@ STOP BITS: n/a
NOTES
=====
-(1) Only stub console driver available at the moment.
- Driver for the on-chip serial devices (sci) will be available soon.
-
-(2) The present 'hw_init.c' file provides 'early_hw_init'(void) which
+(1) The present 'hw_init.c' file provides 'early_hw_init'(void) which
is normally called from 'start.S' to provide such minimal HW setup
as is conveniently written in 'C' and can make use of global
symbols for 7045F processor elements. It also provides
diff --git a/c/src/lib/libbsp/sh/gensh2/README.EVB7045F b/c/src/lib/libbsp/sh/gensh2/README.EVB7045F
new file mode 100644
index 0000000000..ef0ca60b64
--- /dev/null
+++ b/c/src/lib/libbsp/sh/gensh2/README.EVB7045F
@@ -0,0 +1,152 @@
+#
+# $Id$
+#
+# Author: Radzislaw Galler (rgaller@et.put.poznan.pl)
+#
+
+
+Getting started with EVB7045F and gensh2
+========================================
+This is a capture of success path to put a RTEMS sample
+'hello.exe' on the evaluation board EVB7045F.
+
+ What you need
+---------------
+ * Computer with two operating systems: Linux and Wndows 2000 (tm) -
+ that was in my case (see section 'Variations')
+
+ * Flash Development Toolkit (FDT) - available on HMSE homepage
+ (http://www.hmse.com/products/fdt/support.htm)
+
+ * 'gdbstubs' - available on SourceForge
+ (http://sourceforge.net/projects/gdbstubs/)
+
+ * working GNU C compiler for Hitach SH processors; do-it-yourself
+ (on Linux) or download ready stuff for Windows'9x/NT/2k from
+ (http://www.hitachi-eu.com/hel/ecg/) or from Hitach Databook 2001
+ CD-ROM (if no luck try to search on the net for gnu99r1p1.zip)
+
+ * GDB compiled for target sh-rtems - do-it-yourself or download
+ from ftp://ftp.oarcorp.com:21/pub/rtems/snapshots/c_tools/
+
+ * RTEMS (ofcourse) you probably already have if you are reading this
+ document
+
+ Instalation of 'gdbstubs'
+--------------------------
+ Once you downladed and unzipped gdbstubs you have to compile
+ it. First modify the Makefile to use the compiler installed on your
+ machine. Then issue the command:
+
+ $ make
+
+ This should produce the default target sh2-7045edk.out. This is the
+ S-record file which should be added to FDT project (renaming it to
+ *.mot extension helps a bit).
+ If you are lucky you will be able to put the file into the FLASH
+ following the instuctions in FDT and EVB manuals.
+
+ Well I wasn't lucky so I had to bypass the Universal Programming
+ Board (see EVB7045F User Manual) and manually put the processor into
+ BOOT mode. This can be done by shortening the capacitor C8 (or C108
+ on schematics) which puts the UPB into permanent reset state, and by
+ removing jumper JP4 (or JP104 on schematics) and connecting its
+ middle pin to the ground. After pressing CRES button the processor
+ is in BOOT mode. In FDT select "direct connection":
+
+ Menu Project->Properties->Device->Select Interface
+
+ After that there should be no problem in putting the program into the
+ FLASH.
+
+ Loading 'hello.exe' on board
+------------------------------
+ I assume you are able to compile RTEMS with 'gensh2' BSP and
+ necessary tools. If not please refer to 'started.pdf' document which
+ describes the procedure (http://www.oarcorp.com/).
+
+ At the time of writing this document 'gdbstubs' default
+ communication port was SCI1. So it was the default port for
+ /dev/console in RTEMS. To avoid problems I had check these settings
+ both in 'gdbstubs' and $RTEMS_ROOT/c/src/lib/libbsp/sh/gensh2/include/bsp.h
+
+ After changing the line
+
+ #define BSP_CONSOLE_DEVNAME "/dev/sci1"
+
+ to
+
+ #define BSP_CONSOLE_DEVNAME "/dev/sci0"
+
+ in 'bsp.h' and rebuilding RTEMS there should no problem in running
+ 'hello.exe' and other samples.
+
+ For downloading connect a serial cable to computer and EVB. You will
+ also need a second cable and second serial port to see the effects
+ of your work.
+
+ Assuming you are working in Linux and Xwindows fire up two terminal
+ windows. In the first one run sh-rtems-gdb, in the second run a
+ serial port terminal (for example 'minicom'). Set up the serial
+ terminal to a port connected to SCI0 and leave the window in a
+ visible place on the desktop. The debugger should be invoked best
+ from the directory where 'hello.exe' is placed. Assuming that here
+ is a GDB session:
+
+ --------start------
+ $ sh-rtems-gdb hello.exe
+ GNU gdb 5.0
+ Copyright 2000 Free Software Foundation, Inc.
+ GDB is free software, covered by the GNU General Public License, and you are
+ welcome to change it and/or distribute copies of it under certain conditions.
+ Type "show copying" to see the conditions.
+ There is absolutely no warranty for GDB. Type "show warranty" for details.
+ This GDB was configured as "--host=i686-pc-linux-gnu --target=sh-rtems"...
+ (gdb) set remotebaud 115200
+ (gdb) target remote /dev/ttyS0
+ Remote debugging using /dev/ttyS0
+ 0x0 in ?? ()
+ (gdb) load
+ Loading section .text, size 0x12d70 lma 0x444000
+ Loading section .data, size 0xb80 lma 0x456df0
+ Loading section .stack, size 0x10 lma 0xfffffec0
+ Start address 0x444000 , load size 80128
+ Transfer rate: 58274 bits/sec, 153 bytes/write.
+ (gdb) continue
+ Continuing.
+
+ Program received signal 0, Signal 0.
+ 0x44ec36 in exit (code=0) at exit.c:70
+ 70 exit.c: No such file or directory.
+ (gdb)
+ --------end-------
+
+ And here is a capture from the serial terminal window:
+
+*** HELLO WORLD TEST ***
+Hello World
+*** END OF HELLO WORLD TEST ***
+
+ Beautiful, isn't it? That's all!
+
+
+
+ Variations
+------------
+ I'm sure that not every one can afford having two operating systems
+ on one computer. I believe there will be a day that nobody will need
+ an MS stuff anymore... ;)
+
+ It is possible to repeat the success on MS Windows only. To do the
+ same on Linux only you a tool to downlad 'gdbstubs' on the
+ board. This should be no problem to find it on the net but right now
+ I don't know about it.
+
+ For your convenience there are several graphical interfaces for GDB
+ available on the net. I just name two of them:
+
+ DDD - stands for Data Display Debugger
+ (http://www.gnu.org/software/ddd/)
+
+ Insight - a Tcl/Tk interface available both for MS Windows and
+ Xwindows (http://sources.redhat.com/insight/)
diff --git a/c/src/lib/libbsp/sh/gensh2/include/bsp.h b/c/src/lib/libbsp/sh/gensh2/include/bsp.h
index d4b0338449..de3b5919f2 100644
--- a/c/src/lib/libbsp/sh/gensh2/include/bsp.h
+++ b/c/src/lib/libbsp/sh/gensh2/include/bsp.h
@@ -60,7 +60,7 @@ extern "C" {
#define BSP_CONSOLE_DRIVER_TABLE_ENTRY DEVNULL_DRIVER_TABLE_ENTRY
#else
#include <sh/sci.h>
-#define BSP_CONSOLE_DEVNAME "/dev/sci1"
+#define BSP_CONSOLE_DEVNAME "/dev/sci0"
#define BSP_CONSOLE_DRIVER_TABLE_ENTRY DEVSCI_DRIVER_TABLE_ENTRY
#endif