forked from Imagelibrary/rtems
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.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
152
c/src/lib/libbsp/sh/gensh2/README.EVB7045F
Normal file
152
c/src/lib/libbsp/sh/gensh2/README.EVB7045F
Normal file
@@ -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/)
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user