Forums

Cop timer reset

Started by rpuranika August 18, 2003
Hi All,

I am working on Motorola DSP56F807 EVM.
I am using Motorola SDK 3.0 . I am working on serial bootloader,
which I transformed from serial communication to CAN communication.
I want to reset the DSP using COP timer reset . I am using the
following code :

// enable the COP timer and let it timeout and force a reset
//make control reg read and write
periphMemWrite(0x00,&ArchIO.Cop.ControlReg) ;

//Write Timeout value = 0x00
periphMemWrite(0x00,&ArchIO.Cop.TimeoutReg);
//Enable CEN bit
periphBitSet(0x02,&ArchIO.Cop.ControlReg);

It is resetting processor , but is not rebooting the
processor. That
is jumping to COP_TIMEOUT_APLLICATION VECTOR.And the
interrupt is
mapped to "archStart" function,
#define INTERRUPT_VECTOR_ADDR_1 archStart
That is when the interrupt is generated supposed to
execute startup
function, which is not happening. Can anyone help me ..
Thanks,
With Regards,
Rajarama.


Hi Victor,
Thanks very much for your reply. I understand that
what you have sent the code will service the timer.
What I want to do is reset the processor and reboot
it.
My code resetting the processor, but it is not
rebooting. That is, it is not jumping to archStart
function.
Can you please help me ..in this regard.
Thanks,
With Regards,
Rajarama --- Victor Miramontes <> wrote:
> Hi Rajarama,
>
> Here is how I used the cop with the SDK
>
> appconfig.h file
>
> #define INCLUDE_COP /* COP support
> (subset of BSP) */
/***************************************************************************
> **
> *
> * Overwrite default component initializations from
> config/config.h
> * using #defines here
> *
>
****************************************************************************
> */
> #define COP_TIMEOUT_REG 0x0fff
> #define COP_CONTROL_REG (COP_ENABLE)
> #define INTERRUPT_VECTOR_ADDR_1 archStart > main.c
>
> create function to reset cop timer-> we call it
> watchdog, here it is
>
> void WatchDog(void)
> {
> periphMemWrite(0x5555, &ArchIO.Cop.ServiceReg);
> periphMemWrite(0xAAAA, &ArchIO.Cop.ServiceReg);
>
> return;
> }
>
> Thats it. > Regards
>
> Victor
>
> -----Original Message-----
> From: rpuranika [mailto:]
> Sent: Monday, August 18, 2003 7:21 AM
> To:
> Subject: [motoroladsp] Cop timer reset > Hi All,
>
> I am working on Motorola DSP56F807 EVM.
> I am using Motorola SDK 3.0 . I am working on
> serial bootloader,
> which I transformed from serial communication
> to CAN communication.
> I want to reset the DSP using COP timer reset .
> I am using the
> following code :
>
> // enable the COP timer and let it timeout and
> force a reset
> //make control reg read and write
>
> periphMemWrite(0x00,&ArchIO.Cop.ControlReg) ;
>
> //Write Timeout value = 0x00
>
> periphMemWrite(0x00,&ArchIO.Cop.TimeoutReg);
> //Enable CEN bit
>
> periphBitSet(0x02,&ArchIO.Cop.ControlReg);
>
> It is resetting processor , but is not rebooting
> the
> processor. That
> is jumping to COP_TIMEOUT_APLLICATION VECTOR.And
> the
> interrupt is
> mapped to "archStart" function,
> #define INTERRUPT_VECTOR_ADDR_1 archStart
> That is when the interrupt is generated supposed
> to
> execute startup
> function, which is not happening. > Can anyone help me ..
> Thanks,
> With Regards,
> Rajarama. >
> Yahoo! Groups Sponsor >
> _____________________________________
> Note: If you do a simple "reply" with your email
> client, only the author
> of this message will receive your answer. You need
> to do a "reply all" if
> you want your answer to be distributed to the entire
> group.
>
> _____________________________________
> About this discussion group:
>
> To Join:
>
> To Post:
>
> To Leave:
>
> Archives:
> http://www.yahoogroups.com/group/motoroladsp
>
> More Groups: http://www.dsprelated.com/groups.php3


__________________________________