Initial installation method, Special redboot commands, Special note on serial channel – Comtrol eCos User Manual

Page 242: Rebuilding redboot

Advertising
background image

Chapter 5. Installation and Testing

The calmRISC16 is a harvard architecture with separate 22-bit program and data addresses. The instruction set
provides no instruction for writing to program memory. The MDSChip board firmware (called CalmBreaker) pro-
vides a pseudo register interface so that code running on the core has access to a serial channel and a mechanism to
write to program memory. The serial channel is fixed at 57600-8-N-1 by the firmware. The CalmBreaker firmware
also provides a serial protocol which allows a host to download a program and to start or stop the core board.

The following RedBoot configurations are supported:

Configuration

Mode

Description

File

ROM

[ROM]

RedBoot running via the
MDSChip board.

redboot_ROM.ecm

Initial Installation Method

The CalmRISC16 core is controlled through the MDSChip board. There is no non-volatile storage available for
RedBoot, so RedBoot must be downloaded to the board on every power cycle. A small utility program is used to
download S-record files to the eval board. Sources and build instructions for this utility are located in the RedBoot
sources in:

packages/hal/calmrisc16/ceb/current/support

To download the RedBoot image, first press the reset button on the MDSChip board. The green ’Run’ LED on the
core board should go off. Now, use the utility to download the RedBoot image with:

$ calmbreaker -p /dev/term/b --reset --srec-code -f redboot.elf

Note that the ’-p /dev/term/b’ specifies the serial port to use and will vary from system to system. The download
will take about two minutes. After it finishes, start RedBoot with:

$ calmbreaker -p /dev/term/b --run

The ’Run’ LED on the core board should be on. Connecting to the MDSboard with a terminal and typing enter
should result in RedBoot reprinting the command prompt.

Special RedBoot Commands

None.

Special Note on Serial Channel

The MDSChip board uses a relatively slow microcontroller to provide the pseudo-register interface to the core
board. This pseudo-register interface provides access to the serial channel and write access to program memory.
Those interfaces are slow and the serial channel is easily overrun by a fast host. For this reason, GDB must be told
to limit the size of code download packets to avoid serial overrun. This is done with the following GDB command:

(gdb) set download-write-size 25

138

Advertising