Sign in

username:

password:



Not a member?

Search rabbit-semi



Search tips

Subscribe to rabbit-semi



Ads

Discussion Groups

Discussion Groups | Rabbit-Semi | Running Rabbit 2000 from RAM

This is a group for folks designing and programming embedded systems using the Rabbit Semiconductor C-programmable microcontroller. Rabbit Semi is a spin-off from Z-World who makes a variety of embedded modules and tools. This group is not affiliated with either Rabbit or Z-World, but is a user forum for sharing ideas, asking questions, flaunting knowledge, and other typical user group stuff. The Rabbit is a powerful uC, supported by a full-featured C-compiler.

Running Rabbit 2000 from RAM - Matt - Feb 21 0:39:17 2008

Hi,

I am working with a Rabbit 2000 processor as a slave processor to a
SH-4. Currently I program the rabbit by loading the code from the SH-
4 through the rabbit slave port to the flash while in slave mode.
The commands to setup the rabbit registers and erase the flash along
with the program data are written to the flash through the use of
triplets. This works fine.

I am currently trying to load a small program into the rabbit's ram
and then have the rabbit start executing that program from address
0x0000. The purpose of this program is to determine the flash ID so
the flash can be programmed with the main program correctly. I am
programming the rabbit registers, and ram through the use of triplets
in slave mode over the slave port. The flash ID program appears to
load, however when the rabbit is reset it loads code from the flash.
I have listed the commands that are sent over the slave port hoping
you can help me determine why the rabbit is still booting from
flash.

Thanks for you help

Matt

//Enter Slave mode
SMODE0 = 1
SMODE1 = 0

0x80,0x00,0x08, //GCSR
0x80,0x10,0x00, //MMIDR
0x80,0x14,0x45, //MB0CR
0x80,0x15,0x45, //MB1CR
0x80,0x16,0x40, //MB2CR
0x80,0x17,0x40, //MB3CR
0x80,0x13,0xC6, //SEGSIZE
0x80,0x11,0x74, //STACKSEG
0x80,0x12,0x3A};//DATASEG

Starting at address 0x0000 the program is sent using triplets.

Following the program
0x80, 0x24, 0x80
is sent to reboot the chip

SMODE0 = 0
SMODE1 = 0



(You need to be a member of rabbit-semi -- send a blank email to rabbit-semi-subscribe@yahoogroups.com )


Re: Running Rabbit 2000 from RAM - Matt - Apr 28 8:17:51 2008

It turns out I had 2 problems. I first had to disable the watchdog
timer, becase it was timing out and second I had to compile using the
directions below to get a .bin file the would work for me.
> 1. In the compiler options set BIOS memory mode to "Compile to RAM".
>
> 2. Set default Compile mode to: "Compile defined target
configuration to
> .bin file"
> (do not use compile to .bin using attached target, that is
unreliable.)
>
> 3. Set the board type in the "Targetless compile" tab.
>
> 4. Use F5 to compile
------------------------------------



(You need to be a member of rabbit-semi -- send a blank email to rabbit-semi-subscribe@yahoogroups.com )