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>
|
2001-01-05 Joel Sherrill <joel@OARcorp.com>
|
||||||
|
|
||||||
* include/bsp.h: Changed <sh/null.h> to <rtems/devnull.h> to reflect
|
* 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)
|
# Author: Ralf Corsepius (corsepiu@faw.uni-ulm.de)
|
||||||
# Adapted by: John Mills (jmills@tga.com)
|
# Adapted by: John Mills (jmills@tga.com)
|
||||||
#
|
# Corrections: Radzislaw Galler (rgaller@et.put.poznan.pl)
|
||||||
|
|
||||||
|
|
||||||
BSP NAME: generic SH2 (gensh2)
|
BSP NAME: generic SH2 (gensh2)
|
||||||
BOARD: n/a
|
BOARD: n/a
|
||||||
@@ -18,7 +19,7 @@ DEBUG MONITOR: gdb
|
|||||||
PERIPHERALS
|
PERIPHERALS
|
||||||
===========
|
===========
|
||||||
TIMERS: on-chip
|
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)
|
SERIAL PORTS: on-chip (with 2 ports)
|
||||||
REAL-TIME CLOCK: none
|
REAL-TIME CLOCK: none
|
||||||
DMA: not used
|
DMA: not used
|
||||||
@@ -32,11 +33,11 @@ CLOCK DRIVER: on-chip timer
|
|||||||
IOSUPP DRIVER: default
|
IOSUPP DRIVER: default
|
||||||
SHMSUPP: default
|
SHMSUPP: default
|
||||||
TIMER DRIVER: on-chip timer
|
TIMER DRIVER: on-chip timer
|
||||||
TTY DRIVER: /dev/null (stub)
|
TTY DRIVER: /dev/console
|
||||||
|
|
||||||
STDIO
|
STDIO
|
||||||
=====
|
=====
|
||||||
PORT: /dev/null (stub)
|
PORT: /dev/sci1
|
||||||
ELECTRICAL: n/a
|
ELECTRICAL: n/a
|
||||||
BAUD: n/a
|
BAUD: n/a
|
||||||
BITS PER CHARACTER: n/a
|
BITS PER CHARACTER: n/a
|
||||||
@@ -46,10 +47,7 @@ STOP BITS: n/a
|
|||||||
NOTES
|
NOTES
|
||||||
=====
|
=====
|
||||||
|
|
||||||
(1) Only stub console driver available at the moment.
|
(1) The present 'hw_init.c' file provides 'early_hw_init'(void) which
|
||||||
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
|
|
||||||
is normally called from 'start.S' to provide such minimal HW setup
|
is normally called from 'start.S' to provide such minimal HW setup
|
||||||
as is conveniently written in 'C' and can make use of global
|
as is conveniently written in 'C' and can make use of global
|
||||||
symbols for 7045F processor elements. It also provides
|
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
|
#define BSP_CONSOLE_DRIVER_TABLE_ENTRY DEVNULL_DRIVER_TABLE_ENTRY
|
||||||
#else
|
#else
|
||||||
#include <sh/sci.h>
|
#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
|
#define BSP_CONSOLE_DRIVER_TABLE_ENTRY DEVSCI_DRIVER_TABLE_ENTRY
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user