@Dan , , reset. ... ARMv7-M (, Cortex-M3 ..), , :
#define SYSRESETREQ (1<<2)
#define VECTKEY (0x05fa0000UL)
#define VECTKEY_MASK (0x0000ffffUL)
#define AIRCR (*(uint32_t*)0xe000ed0cUL)
#define REQUEST_EXTERNAL_RESET (AIRCR=(AIRCR&VECTKEY_MASK)|VECTKEY|SYSRESETREQ)
printf("\nRequesting an external reset...\n");
fflush(stdout);
REQUEST_EXTERNAL_RESET;
printf("\nIt doesn't seem to have worked.\n");
fflush(stdout);
. ARMv7-M, AIRCR SYSRESETREQ.
This may be practically the same solution as Judge Maygarden, but the identifiers used in his message seem specific to Atmel, while the AIRCR and SYSRESETREQ registers are determined by the underlying ARMv7-M architecture, not by Atmel.
source
share