1 |
786 |
skrzyp |
RedBoot for the Samsung CalmRISC32 core evaluation board
|
2 |
|
|
May 7th 2001
|
3 |
|
|
README
|
4 |
|
|
========================================================================
|
5 |
|
|
|
6 |
|
|
This ReadMe contains instructions for running Redboot on the Samsung
|
7 |
|
|
calmRISC32 core evaluation board, and building RedBoot and ecosconfig.
|
8 |
|
|
|
9 |
|
|
You will need the GNUPro calmrisc32-elf toolchain which should be
|
10 |
|
|
installed in /usr/cygnus.
|
11 |
|
|
|
12 |
|
|
Overview
|
13 |
|
|
--------
|
14 |
|
|
This implementation of RedBoot supports the calmRISC32 core evaluation board.
|
15 |
|
|
The core board has no communication channel and requires an MDSChip board to
|
16 |
|
|
provide a serial channel for host communication. The calmRISC32 is a harvard
|
17 |
|
|
architecture with separate 32-bit program and data addresses. The instruction
|
18 |
|
|
set provides no instruction for writing to program memory. The MDSChip board
|
19 |
|
|
firmware (called CalmBreaker) provides a pseudo register interface so that
|
20 |
|
|
code running on the core has access to a serial channel and a mechanism to
|
21 |
|
|
write to program memory. The serial channel is fixed at 57600-8-N-1 by the
|
22 |
|
|
firmware. The CalmBreaker firmware also provides a serial protocol which
|
23 |
|
|
allows a host to download a program and to start or stop the core board.
|
24 |
|
|
|
25 |
|
|
|
26 |
|
|
Downloading and running RedBoot
|
27 |
|
|
--------------------------------
|
28 |
|
|
All storage on the core board is volatile, so RedBoot must be downloaded to
|
29 |
|
|
the board after every power cycle. Downloads require the use of a utility
|
30 |
|
|
program. The source file and build instructions for this utility are provided
|
31 |
|
|
in the RedBoot sources at:
|
32 |
|
|
|
33 |
|
|
.../packages/hal/calmrisc32/ceb/current/support
|
34 |
|
|
|
35 |
|
|
To download the RedBoot image, first press the reset button on the MDSChip
|
36 |
|
|
board. The green 'Run' LED on the core board should go off. Now, use the
|
37 |
|
|
utility to download the RedBoot image with:
|
38 |
|
|
|
39 |
|
|
% calmbreaker -p /dev/term/b --reset --srec-code -f redboot.elf
|
40 |
|
|
|
41 |
|
|
Note that the '-p /dev/term/b' specifies the serial port to use and will vary
|
42 |
|
|
from system to syetm. The download will take about two minutes. After it
|
43 |
|
|
finishes, start RedBoot with:
|
44 |
|
|
|
45 |
|
|
% calmbreaker -p /dev/term/b --run
|
46 |
|
|
|
47 |
|
|
The 'Run' LED on the core board should be on. Connecting to the MDSboard with
|
48 |
|
|
a terminal and typing enter should result in RedBoot reprinting the command
|
49 |
|
|
prompt.
|
50 |
|
|
|
51 |
|
|
Rebuilding RedBoot
|
52 |
|
|
------------------
|
53 |
|
|
|
54 |
|
|
Assuming that the provided RedBoot source tree is located in the current
|
55 |
|
|
directory, the build process is:
|
56 |
|
|
|
57 |
|
|
% export TOPDIR=`pwd`
|
58 |
|
|
% export ECOS_REPOSITORY=${TOPDIR}/packages
|
59 |
|
|
% mkdir ${TOPDIR}/build
|
60 |
|
|
% cd ${TOPDIR}/build
|
61 |
|
|
% ecosconfig new calm32_ceb redboot
|
62 |
|
|
% ecosconfig import ${ECOS_REPOSITORY}/hal/calmrisc32/current/misc/redboot_ROM.ecm
|
63 |
|
|
% ecosconfig tree
|
64 |
|
|
% make
|
65 |
|
|
|
66 |
|
|
|
67 |
|
|
Building ecosconfig
|
68 |
|
|
-------------------
|
69 |
|
|
|
70 |
|
|
An ecosconfig binary is supplied in the bin directory, but you may wish
|
71 |
|
|
to build it from source.
|
72 |
|
|
|
73 |
|
|
Detailed instructions for building the command-line tool ecosconfig
|
74 |
|
|
can be found in host/README. For example:
|
75 |
|
|
|
76 |
|
|
mkdir $TEMP/redboot-build
|
77 |
|
|
cd $TEMP/redboot-build
|
78 |
|
|
$TOPDIR/host/configure --prefix=$TEMP/redboot-build --with-tcl=/usr
|
79 |
|
|
make
|
80 |
|
|
|