summaryrefslogtreecommitdiffstatshomepage
path: root/cc3200/mods/modpyb.c
diff options
context:
space:
mode:
authorDaniel Campora <daniel@wipy.io>2015-05-26 16:03:46 +0200
committerDaniel Campora <daniel@wipy.io>2015-05-27 09:45:21 +0200
commitec1f0e7551db1d3e19ce319ca9ba79b55ef5f2b4 (patch)
treec9c3112c8feb465008fc97c70650a87937d5e7cb /cc3200/mods/modpyb.c
parent967f3230f554cb6d0682eaf1f74878f5f1534f42 (diff)
downloadmicropython-ec1f0e7551db1d3e19ce319ca9ba79b55ef5f2b4.tar.gz
micropython-ec1f0e7551db1d3e19ce319ca9ba79b55ef5f2b4.zip
cc3200: Use MCU reset instead of SOC reset.
I have seen the CC3200 hanging a couple of times, and according to TI itself the SOC reset is not reliable, which explains my observations.
Diffstat (limited to 'cc3200/mods/modpyb.c')
-rw-r--r--cc3200/mods/modpyb.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/cc3200/mods/modpyb.c b/cc3200/mods/modpyb.c
index 894bcee15b..44fea54b5b 100644
--- a/cc3200/mods/modpyb.c
+++ b/cc3200/mods/modpyb.c
@@ -37,6 +37,7 @@
#include "inc/hw_ints.h"
#include "inc/hw_memmap.h"
#include "inc/hw_uart.h"
+#include "rom_map.h"
#include "prcm.h"
#include "pyexec.h"
#include "pybuart.h"
@@ -87,8 +88,8 @@ extern OsiTaskHandle xSimpleLinkSpawnTaskHndl;
STATIC mp_obj_t pyb_hard_reset(void) {
// disable wlan
wlan_stop(SL_STOP_TIMEOUT_LONG);
- // perform a SoC reset
- PRCMSOCReset();
+ // reset the cpu and it's peripherals
+ MAP_PRCMMCUReset(true);
return mp_const_none;
}
STATIC MP_DEFINE_CONST_FUN_OBJ_0(pyb_hard_reset_obj, pyb_hard_reset);