Chuck,

SCB_AIRCR  = (0x5FA << 16) | SCB_AIRCR_SYSRESETREQ;     // Cause a RESET
        while (1==1);

This works for me.  Take a look at the #define for SCB_AIRCR.

IIRC, I had trouble with the definition of SCB_AIRCR.  I originally used
the "hard" address instead of the definition as I didn't realize at the
time it was defined.  It worked just fine.  Later, when I found the
definition and used it, it failed.  That register is one of the few that
is byte addressable.

Don


On Sat, 2014-01-25 at 17:05 -0800, Chuck McManis wrote:
> So I was playing around with an example I was writing and wanted to
> initiate a software reset, basically duplicated what pushing the reset
> button does. 
> 
> 
> In various docs this is called a "Software System Reset" and there is
> a function in the cm3 sub section of loc3 that does something kinda
> like the ARM documents called : scb_reset_system()
> 
> 
> That is defined as :
> 
> 
> void scb_reset_system(void)
> {
>     SCB_AIRCR = SCB_AIRCR_VECTKEY | SCB_AIRCR_SYSRESETREQ;
> 
> 
>     while (1);
> }
> 
> 
> And presumably one calls this from your source and "poof!" you have
> reset the system. Except it doesn't, it hangs there in the while(1);
> which seems a bit odd.
> 
> 
> I'm guessing this code is untested? 
> --Chuck
> 
> 
> 
> 
> ------------------------------------------------------------------------------
> CenturyLink Cloud: The Leader in Enterprise Cloud Services.
> Learn Why More Businesses Are Choosing CenturyLink Cloud For
> Critical Workloads, Development Environments & Everything In Between.
> Get a Quote or Start a Free Trial Today.
> http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
> _______________________________________________
> libopencm3-devel mailing list
> libopencm3-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/libopencm3-devel



------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today.
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
libopencm3-devel mailing list
libopencm3-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libopencm3-devel

Reply via email to