summaryrefslogtreecommitdiff
path: root/supervisor/shared/safe_mode.c
AgeCommit message (Collapse)Author
2021-04-02Changed error message to display the generic term 'system firmware' instead ↵Jonny Bergdahl
of the Nordic specific term 'soft device'
2021-03-15run code formatting scriptmicroDev
2021-03-02allow the safe mode danse if RESET_REASON_UNKNOWNNeradoc
2021-01-21Fix ESP buildScott Shawcroft
2021-01-20Add initial RP2040 supportScott Shawcroft
The RP2040 is new microcontroller from Raspberry Pi that features two Cortex M0s and eight PIO state machines that are good for crunching lots of data. It has 264k RAM and a built in UF2 bootloader too. Datasheet: https://pico.raspberrypi.org/files/rp2040_datasheet.pdf
2020-11-21wip: ResetReason to microcontroller.cpuDan Halbert
2020-11-20compilesDan Halbert
2020-11-19wipDan Halbert
2020-11-16wip: initial code changes, starting from @tannewt's sleepio branchDan Halbert
2020-10-27Start tweaking the workflow to sleepScott Shawcroft
2020-09-29Update make translate scriptmicroDev
2020-09-13Update safe_mode.cmicroDev
2020-09-13Update safe mode reasonmicroDev
2020-09-12Fix serial console output & add more boardsmicroDev
2020-09-11Added esp32s2 safe_mode & fixed user_safe_modemicroDev
2020-09-08Fix heap without PSRAM. Never set heap_size.Scott Shawcroft
2020-08-04safe_mode: Exclude NORDIC_SOFT_DEVICE_ASSERT str if possibleJeff Epler
2020-05-27supervisor: add a new WATCHDOG_RESET safe mode reasonSean Cross
This mode will be used if the board is reset due to the watchdog expiring. Signed-off-by: Sean Cross <sean@xobs.io>
2020-01-17Refine iMX RT memory layout and add three boardsScott Shawcroft
Introduces a way to place CircuitPython code and data into tightly coupled memory (TCM) which is accessible by the CPU in a single cycle. It also frees up room in the corresponding cache for intermittent data. Loading from external flash is slow! The data cache is also now enabled. Adds support for the iMX RT 1021 chip. Adds three new boards: * iMX RT 1020 EVK * iMX RT 1060 EVK * Teensy 4.0 Related to #2492, #2472 and #2477. Fixes #2475.
2019-12-12make translate and remove backslash-r'sDan Halbert
2019-12-12Fix flash write error handling; clean up safe mode message printingDan Halbert
2019-11-18Supervisor: move most of systick to the supervisorJeff Epler
This code is shared by most parts, except where not all the #ifdefs inside the tick function were present in all ports. This mostly would have broken gamepad tick support on non-samd ports. The "ms32" and "ms64" variants of the tick functions are introduced because there is no 64-bit atomic read. Disabling interrupts avoids a low probability bug where milliseconds could be off by ~49.5 days once every ~49.5 days (2^32 ms). Avoiding disabling interrupts when only the low 32 bits are needed is a minor optimization. Testing performed: on metro m4 express, USB still works and time.monotonic_ns() still counts up
2019-05-09Rework safe mode so we can trigger on all resetsScott Shawcroft
2019-05-08Update `on_next_reset` for new safe mode.Scott Shawcroft
Fixes #1831
2019-04-08Reorganize board busses into shared-bindings and shared-module.Scott Shawcroft
2019-04-05Fix crash when getting board.SPI outside the VMScott Shawcroft
If one of the default pins was already in use it would crash. The internal API has been refined to allow us to get the value without causing an init of the singleton. Fixes #1753
2019-03-12Enter safe mode when an allocation is attempted on an uninitialized heap.Scott Shawcroft
2018-12-06Rework safe mode and have heap overwrite trigger it.Scott Shawcroft
This creates a common safe mode mechanic that ports can share. As a result, the nRF52 now has safe mode support as well. The common safe mode adds a 700ms delay at startup where a reset during that window will cause a reset into safe mode. This window is designated by a yellow status pixel and flashing the single led three times. A couple NeoPixel fixes are included for the nRF52 as well. Fixes #1034. Fixes #990. Fixes #615.