Forums

Looking for Ideas on how to warm/cold reset a C67XX via on-board SW

Started by Tom January 25, 2012
Hi All,
I'm new to the TI BIOS & DSP's.

I need a function that warm or cold reboots the processor.

I think I should be able to do this using SYS_exit offered by the BIOS but I'm a little fuzzy on the details.

Tom

_____________________________________
Tom,

depending on the underlying DSP...
You can force a watchdog reset event by sending the wrong sequence to the
watchdog I/O.
caveat: the watchdog has to be enable.

You can tie one of the GPIO, set as an output during initialization, to the DSP
reset line,
Then toggle it LOW to force a DSP reset event.

You can jump to the reset vector for a warm re-boot
If the BIOS has a 'reset' entry point, you can call that entry point.

There are several other methods that can/will force a DSP reset.

R. Williams
---------- Original Message -----------
From: "Tom"
To: c...
Sent: Wed, 25 Jan 2012 19:05:26 -0000
Subject: [c6x] Looking for Ideas on how to warm/cold reset a C67XX via on-board SW

> Hi All,
> I'm new to the TI BIOS & DSP's.
>
> I need a function that warm or cold reboots the processor.
>
> I think I should be able to do this using SYS_exit offered by the BIOS
> but I'm a little fuzzy on the details.
>
> Tom
------- End of Original Message -------

_____________________________________
Tom-

> I'm new to the TI BIOS & DSP's.
>
> I need a function that warm or cold reboots the processor.
>
> I think I should be able to do this using SYS_exit offered
> by the BIOS but I'm a little fuzzy on the details.

SYS_exit() calls a function that you can define. The default TI function is UTL_halt(), which if I recall correctly
just spins (does nothing). You can change this function; i.e. call a function that does something.

But none of that will cause a reset.

Some of the C5000 series devices had a RESET instruction that would reset some registers (not all) and cause a warm
restart. But I don't think C67x has this, and also C67x devices don't have an onchip ROM bootloader. Jumping to the
Reset vector isn't going to reset any registers, so you probably need some way to actually pull on the Reset line.
Richard's ideas are good.

-Jeff

_____________________________________