bootloader: move timer_init to jump_to_firmware

pull/25/head
Pavol Rusnak 5 years ago
parent 6cda903a1d
commit 7baa8c29fc
No known key found for this signature in database
GPG Key ID: 91F3B339B9A02A3D

@ -33,7 +33,6 @@
#include "signatures.h"
#include "layout.h"
#include "rng.h"
#include "timer.h"
#include "memory.h"
void layoutFirmwareFingerprint(const uint8_t *hash)
@ -133,7 +132,6 @@ int main(void)
int signed_firmware = signatures_new_ok(hdr, fingerprint);
if (SIG_OK != signed_firmware) {
show_unofficial_warning(fingerprint);
timer_init();
}
if (SIG_OK != check_firmware_hashes(hdr)) {

@ -27,6 +27,7 @@
#if !EMULATOR
#include <libopencm3/cm3/scb.h>
#include <libopencm3/cm3/vector.h>
#include "timer.h"
#endif
// Statement expressions make these macros side-effect safe
@ -68,6 +69,7 @@ static inline void __attribute__((noreturn)) jump_to_firmware(const vector_table
// Set stack pointer
__asm__ volatile("msr msp, %0" :: "r" (vector_table->initial_sp_value));
} else { // untrusted firmware
timer_init();
mpu_config_firmware(); // * configure MPU for the firmware
__asm__ volatile("msr msp, %0" :: "r" (_stack));
}

Loading…
Cancel
Save