Reply by Bernhard 'Gustl' Bauer November 24, 20042004-11-24

Hi neeli bhaskar reddy,

could it be possible that there are still IRQs to be serviced? If a IRQ
needs service while copying code into IRAM the IRQ routine may crash and
never return.

HTH

Gustl
neeli bhaskar reddy wrote:

>
> Hi all
> coming again with the same problem i.e. software reset
> for software upgradation for 6711 DSP. We are sending
> new image (the new software to be run on DSP) to the
> DSP through some communication channel. The received
> image we are burning into flash. Then we are branching
> to 0x0 location using assembly branch instruction.
> The dsp is not getting up, but if we make a hard reset
> the dsp successfully running the new code.
> If we send the same image which is already running on
> dsp, it burns that image and makes a successful reset.
>
> We have fixed the _c_int00 to fixed location in the
> cmd file.
> We are resetting the peripherals which are in use.
> disabling the interrupts and global interrupt.
>
> We are expecting that when we branch to 0x0, at this
> place old code's boot loader will be there, this
> bootloader will copy the new code into iram and then
> jumps to c_int00, which will be same for both the
> codes.
> and then it has to function with new code, but its not
> coming up, it works with new code only after hard
> reset.
> Pls help
>
> Thanks in advance,




Reply by neeli bhaskar reddy November 24, 20042004-11-24

Hi all
coming again with the same problem i.e. software reset
for software upgradation for 6711 DSP. We are sending
new image (the new software to be run on DSP) to the
DSP through some communication channel. The received
image we are burning into flash. Then we are branching
to 0x0 location using assembly branch instruction.
The dsp is not getting up, but if we make a hard reset
the dsp successfully running the new code.
If we send the same image which is already running on
dsp, it burns that image and makes a successful reset.

We have fixed the _c_int00 to fixed location in the
cmd file.
We are resetting the peripherals which are in use.
disabling the interrupts and global interrupt.

We are expecting that when we branch to 0x0, at this
place old code's boot loader will be there, this
bootloader will copy the new code into iram and then
jumps to c_int00, which will be same for both the
codes.
and then it has to function with new code, but its not
coming up, it works with new code only after hard
reset.
Pls help

Thanks in advance, =====
BHASKAR REDDY . N
Mysore
Cell: 9880 177365
__________________________________



Reply by neeli bhaskar reddy November 18, 20042004-11-18

Thanks Manjunath, Mike , Gustl,

Resetting peripherals before branching seems to be
working fine.
System is functioning normally after software reset,
as it was with hardware reset.
Still i believe that software reset is not 100%
similar to hardware reset.

--- "Manjunath G - Shipara,Bangalore"
<> wrote:

> hi,
>
> Based on your question i understood that you have a
> Boot, which copies
> the Secondary boot loader(SBL) from Flash to RAM.
> Upon HW reset the
> DSP automatically copies the Boot code, at the end
> of the boot your Boot
> code jumps to SBL, ie in your code __cint_00.
> I understand your requirement to jump to reset
> (Soft) upon branch to
> reset address.
> 1) To perform this, you need to check the map file
> whether your
> branching is correct ie entry point address.
> 2) How are your branching is a question.. If your
> branching using in
> line assembly, have you ensured introducing the
> NOP's after branch?
> 3) Are your using any Task objects? if yes try to
> exit before
> branching.. (safety precaution)
> 4) Ensure to jump to proper entry point.. eg., you
> may copying code to
> 0x400.. but you need to jump to the vector table
> start address..
> 5) You can debug the image using Jtag to find where
> the PC is pointing
> to..
>
> Hope i could throw some light on your issue.. > Best Regards,
>
> Manjunath G
>
> HCL Technologies Limited
>
> Bangalore-68
>
> Mobile:98451 85044 >
> ------------------------------
>
> Disclaimer:
>
> This message and any attachment(s) contained here
> are information that
> is confidential, proprietary to HCL Technologies and
> its customers.
> Contents may be privileged or otherwise protected by
> law. The
> information is solely intended for the individual or
> the entity it is
> addressed to. If you are not the intended recipient
> of this message, you
> are not authorized to read, forward, print, retain,
> copy or disseminate
> this message or any part of it. If you have received
> this e-mail in
> error, please notify the sender immediately by
> return e-mail and delete
> it from your computer.
>
> -----Original Message-----
> From: Mike Dunn [mailto:]
> Sent: Tuesday, November 16, 2004 7:05 PM
> To: Bernhard 'Gustl' Bauer; neeli bhaskar reddy
> Cc:
> Subject: Re: [c6x] software reset > neeli bhaskar reddy,
>
> "but its not behaving in the same way as hardware
> reset" - this
> is difficult to decipher but Gustl is correct. You
> cannot duplicate a
> hardware reset 100% from your program.
>
> If you really need a hardware reset, you may
> consider a watchdog
> timer arrangement. One interesting solution is to
> use a cheap micro
> like the MSP430 [~$1 US] to manage reset at power
> up, run watchdog code
> that does a hardware reset if not regularly updated
> by the DSP or
> performs a 'reset on demand' when commanded from the
> DSP.
>
> If you are trying to get by with a software only
> "reset" you
> have have to follow Gustl's advice and manually
> initialize peripherals
> and registers that are not initialized by your code.
> If your boot
> software truly makes no assumptions and initializes
> everything
> correctly, you should be able to accomplish this.
> Of course there is
> also the possibility that your system has something
> else going on that
> we are not aware of.
>
> mikedunn
>
> Bernhard 'Gustl' Bauer <> wrote: >
> neeli bhaskar reddy wrote:
> > can anybody provide good information about
> software
> > reset. i am using 6711, with image in flash
> running in
> > internal RAM. using secondary boot loader.
> > for a reset i am making the control, to jump to
> the
> > starting location of secondary boot loader. it
> makes
> > reset, but its not behaving in the same way as
> > hardware reset.
> > what are all the necessary actions to be
> considered to
> > make a software reset.
> > thanks in advance.
>
> So you are just jumping to c_int00 ? Then all the
> peripherals get now
> reset? One way would be to write the default
> values in
> all registers.
> What you want is maybe a SW triggerd HW reset. I
> don't
> know how to do
> this, but would be glad if someone knows a
> solution.
>
> I'm using NMI as power down irq. The problem is
> that in
> my enviroment
> there is a hysteresis between power down irq and
> HW
> reset. So I have to
> check NMI pin (how?) if its really a dower down
> situation. If it's not I
> have to reset the system myself. A SW triggerd HW
> reset
> would be great then.
>
> Gustl >
>
> _____________________________________
> 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: Send an email to > To Post: Send an email to
>
> To Leave: Send an email to > Archives: http://www.yahoogroups.com/group/c6x
>
> Other Groups: http://www.dsprelated.com
>
> Yahoo! Groups Links >
=== message truncated ===

__________________________________


Reply by Manjunath G - Shipara,Bangalore November 16, 20042004-11-16
Message
hi,
 
Based on your question i understood that you have a Boot, which copies the Secondary boot loader(SBL) from Flash  to RAM.  Upon HW reset the DSP automatically copies the Boot code, at the end of the boot your Boot code jumps to SBL, ie in your code __cint_00. 
I understand your requirement  to jump to reset (Soft) upon branch to reset address. 
1) To perform this, you need to check the map file whether your branching is correct ie entry point address.
2) How are your branching is a question.. If your branching using in line assembly, have you ensured introducing the NOP's after branch?
3) Are your using any Task objects? if yes try to exit before branching.. (safety precaution)
4) Ensure to jump to proper entry point..  eg., you may copying code to 0x400.. but you need to jump to the vector table start address..
5) You can debug the image using Jtag to find where the PC is pointing to..
 
Hope i could throw some light on your issue..
 
 

Best Regards,

Manjunath G

HCL Technologies Limited

Bangalore-68

Mobile:98451 85044

m...@hcltech.com

------------------------------

Disclaimer:

This message and any attachment(s) contained here are information that is confidential, proprietary to HCL Technologies and its customers. Contents may be privileged or otherwise protected by law. The information is solely intended for the individual or the entity it is addressed to. If you are not the intended recipient of this message, you are not authorized to read, forward, print, retain, copy or disseminate this message or any part of it. If you have received this e-mail in error, please notify the sender immediately by return e-mail and delete it from your computer.

-----Original Message-----
From: Mike Dunn [mailto:m...@sbcglobal.net]
Sent: Tuesday, November 16, 2004 7:05 PM
To: Bernhard 'Gustl' Bauer; neeli bhaskar reddy
Cc: c...@yahoogroups.com
Subject: Re: [c6x] software reset

neeli bhaskar reddy,
 
"but its not behaving in the same way as hardware reset" - this is difficult to decipher but Gustl is correct.  You cannot duplicate a hardware reset 100% from your program.
 
If you really need a hardware reset, you may consider a watchdog timer arrangement.  One interesting solution is to use a cheap micro like the MSP430 [~$1 US] to manage reset at power up, run watchdog code that does a hardware reset if not regularly updated by the DSP or performs a 'reset on demand' when commanded from the DSP.
 
If you are trying to get by with a software only "reset" you have have to follow Gustl's advice and manually initialize peripherals and registers that are not initialized by your code.  If your boot software truly makes no assumptions and initializes everything correctly, you should be able to accomplish this.  Of course there is also the possibility that your system has something else going on that we are not aware of.
 
mikedunn

Bernhard 'Gustl' Bauer <g...@quantec.de> wrote:


neeli bhaskar reddy wrote:
> can anybody provide good information about software
> reset. i am using 6711, with image in flash running in
> internal RAM. using secondary boot loader.
> for a reset i am making the control, to jump to the
> starting location of secondary boot loader. it makes
> reset, but its not behaving in the same way as
> hardware reset.
> what are all the necessary actions to be considered to
> make a software reset.
> thanks in advance.

So you are just jumping to c_int00 ? Then all the peripherals get now
reset? One way would be to write the default values in all registers.
What you want is maybe a SW triggerd HW reset. I don't know how to do
this, but would be glad if someone knows a solution.

I'm using NMI as power down irq. The problem is that in my enviroment
there is a hysteresis between power down irq and HW reset. So I have to
check NMI pin (how?) if its really a dower down situation. If it's not I
have to reset the system myself. A SW triggerd HW reset would be great then.

Gustl

_____________________________________
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: Send an email to c...@yahoogroups.com

To Post: Send an email to c...@yahoogroups.com

To Leave: Send an email to c...@yahoogroups.com

Archives: http://www.yahoogroups.com/group/c6x

Other Groups: http://www.dsprelated.com

Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/c6x/

<*> To unsubscribe from this group, send an email to:
c...@yahoogroups.com

<*



_____________________________________
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:  Send an email to c...@yahoogroups.com

To Post:  Send an email to c...@yahoogroups.com

To Leave: Send an email to c...@yahoogroups.com

Archives: http://www.yahoogroups.com/group/c6x

Other Groups: http://www.dsprelated.com





Reply by Mike Dunn November 16, 20042004-11-16
neeli bhaskar reddy,
 
"but its not behaving in the same way as hardware reset" - this is difficult to decipher but Gustl is correct.  You cannot duplicate a hardware reset 100% from your program.
 
If you really need a hardware reset, you may consider a watchdog timer arrangement.  One interesting solution is to use a cheap micro like the MSP430 [~$1 US] to manage reset at power up, run watchdog code that does a hardware reset if not regularly updated by the DSP or performs a 'reset on demand' when commanded from the DSP.
 
If you are trying to get by with a software only "reset" you have have to follow Gustl's advice and manually initialize peripherals and registers that are not initialized by your code.  If your boot software truly makes no assumptions and initializes everything correctly, you should be able to accomplish this.  Of course there is also the possibility that your system has something else going on that we are not aware of.
 
mikedunn

Bernhard 'Gustl' Bauer <g...@quantec.de> wrote:


neeli bhaskar reddy wrote:
> can anybody provide good information about software
> reset. i am using 6711, with image in flash running in
> internal RAM. using secondary boot loader.
> for a reset i am making the control, to jump to the
> starting location of secondary boot loader. it makes
> reset, but its not behaving in the same way as
> hardware reset.
> what are all the necessary actions to be considered to
> make a software reset.
> thanks in advance.

So you are just jumping to c_int00 ? Then all the peripherals get now
reset? One way would be to write the default values in all registers.
What you want is maybe a SW triggerd HW reset. I don't know how to do
this, but would be glad if someone knows a solution.

I'm using NMI as power down irq. The problem is that in my enviroment
there is a hysteresis between power down irq and HW reset. So I have to
check NMI pin (how?) if its really a dower down situation. If it's not I
have to reset the system myself. A SW triggerd HW reset would be great then.

Gustl

_____________________________________
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: Send an email to c...@yahoogroups.com

To Post: Send an email to c...@yahoogroups.com

To Leave: Send an email to c...@yahoogroups.com

Archives: http://www.yahoogroups.com/group/c6x

Other Groups: http://www.dsprelated.com

Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/c6x/

<*> To unsubscribe from this group, send an email to:
c...@yahoogroups.com

<*



Reply by Bernhard 'Gustl' Bauer November 15, 20042004-11-15

neeli bhaskar reddy wrote:
> can anybody provide good information about software
> reset. i am using 6711, with image in flash running in
> internal RAM. using secondary boot loader.
> for a reset i am making the control, to jump to the
> starting location of secondary boot loader. it makes
> reset, but its not behaving in the same way as
> hardware reset.
> what are all the necessary actions to be considered to
> make a software reset.
> thanks in advance.

So you are just jumping to c_int00 ? Then all the peripherals get now
reset? One way would be to write the default values in all registers.
What you want is maybe a SW triggerd HW reset. I don't know how to do
this, but would be glad if someone knows a solution.

I'm using NMI as power down irq. The problem is that in my enviroment
there is a hysteresis between power down irq and HW reset. So I have to
check NMI pin (how?) if its really a dower down situation. If it's not I
have to reset the system myself. A SW triggerd HW reset would be great then.

Gustl



Reply by Jeff Brower September 27, 20042004-09-27
Neeli-

> can anybody provide good information about software
> reset. i am using 6711, with image in flash running in
> internal RAM. using secondary boot loader.
> for a reset i am making the control, to jump to the
> starting location of secondary boot loader. it makes
> reset, but its not behaving in the same way as
> hardware reset.
> what are all the necessary actions to be considered to
> make a software reset.
> thanks in advance.

Software reset - especially when you are using a JTAG emulator -- is a tricky
thing.
External hardware may not know the Reset has occurred. There is a good
discussion of
this:

ftp://ftp.signalogic.com/documentation/Boards/SigC67xx

See section 6.4, CCS JTAG Issues During Debug.

-Jeff



Reply by September 27, 20042004-09-27
So, you can't perform hardware reset state
with software perfectly.

>The NMIE bit in IER can use like HOT-start flag.
>Hardware RESET clears this bit.
>This bit can set by software but can't clear by software.
>so, you can use this flag bit indicates 'software initialized'
>(your) system flag. but, you cant use interrupt until
>initializing NMIE.
>
>hiro


Reply by September 27, 20042004-09-27

The NMIE bit in IER can use like HOT-start flag.
Hardware RESET clears this bit.
This bit can set by software but can't clear by software.
so, you can use this flag bit indicates 'software initialized'
(your) system flag. but, you cant use interrupt until
initializing NMIE.

hiro


Reply by neeli bhaskar reddy September 27, 20042004-09-27
can anybody provide good information about software
reset. i am using 6711, with image in flash running in
internal RAM. using secondary boot loader.
for a reset i am making the control, to jump to the
starting location of secondary boot loader. it makes
reset, but its not behaving in the same way as
hardware reset.
what are all the necessary actions to be considered to
make a software reset.
thanks in advance.

=====
BHASKAR REDDY . N
Mysore
Cell: 9880 177365
__________________________________