mirror of
https://github.com/eried/portapack-mayhem.git
synced 2025-05-10 18:55:15 -04:00
Workaround for Capture startup hang (#1285)
* Attempt to fix Capture startup hang * Pump baseband_queue on M4 startup * Synchronization experiment * Moved SpectrumCapture member, better hang detection for M0 * Prevent execute from working on members until class has been initialized. * Formatting * Remove workaround. * Rebase on next
This commit is contained in:
parent
3b5890d0aa
commit
47e95c0c47
14 changed files with 102 additions and 67 deletions
|
@ -20,21 +20,20 @@
|
|||
* Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include "core_control.hpp"
|
||||
|
||||
#include "hal.h"
|
||||
|
||||
#include "lpc43xx_cpp.hpp"
|
||||
using namespace lpc43xx;
|
||||
|
||||
#include "message.hpp"
|
||||
#include "baseband_api.hpp"
|
||||
#include "core_control.hpp"
|
||||
#include "hal.h"
|
||||
#include "lpc43xx_cpp.hpp"
|
||||
#include "lz4.h"
|
||||
#include "message.hpp"
|
||||
|
||||
#include <cstring>
|
||||
|
||||
void m4_init(const portapack::spi_flash::image_tag_t image_tag, const portapack::memory::region_t to, const bool full_reset) {
|
||||
const portapack::spi_flash::chunk_t* chunk = reinterpret_cast<const portapack::spi_flash::chunk_t*>(portapack::spi_flash::images.base());
|
||||
using namespace lpc43xx;
|
||||
using namespace portapack;
|
||||
|
||||
void m4_init(const spi_flash::image_tag_t image_tag, const memory::region_t to, const bool full_reset) {
|
||||
const spi_flash::chunk_t* chunk = reinterpret_cast<const spi_flash::chunk_t*>(spi_flash::images.base());
|
||||
while (chunk->tag) {
|
||||
if (chunk->tag == image_tag) {
|
||||
const void* src = &chunk->data[0];
|
||||
|
@ -49,9 +48,8 @@ void m4_init(const portapack::spi_flash::image_tag_t image_tag, const portapack:
|
|||
LPC_CREG->M4MEMMAP = to.base();
|
||||
|
||||
/* Reset M4 core and optionally all peripherals */
|
||||
LPC_RGU->RESET_CTRL[0] = (full_reset) ? (1 << 1) // PERIPH_RST
|
||||
: (1 << 13) // M4_RST
|
||||
;
|
||||
LPC_RGU->RESET_CTRL[0] = (full_reset) ? (1 << 1) // PERIPH_RST
|
||||
: (1 << 13); // M4_RST
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue