ADD minimal bootloader (main.cpp)
This commit is contained in:
parent
0d61cd598c
commit
686eff6269
Binary file not shown.
35
mbed-os-bootloader/main.cpp
Normal file
35
mbed-os-bootloader/main.cpp
Normal file
@ -0,0 +1,35 @@
|
||||
#include "mbed.h"
|
||||
|
||||
#include "mbed_trace.h"
|
||||
#if MBED_CONF_MBED_TRACE_ENABLE
|
||||
#define TRACE_GROUP "bootloader"
|
||||
#endif // MBED_CONF_MBED_TRACE_ENABLE
|
||||
|
||||
#if MBED_CONF_MBED_TRACE_ENABLE
|
||||
static UnbufferedSerial g_uart(CONSOLE_TX, CONSOLE_RX);
|
||||
|
||||
// Function that directly outputs to an unbuffered serial port in blocking mode.
|
||||
static void boot_debug(const char *s) {
|
||||
size_t len = strlen(s);
|
||||
g_uart.write(s, len);
|
||||
g_uart.write("\r\n", 2);
|
||||
}
|
||||
#endif
|
||||
|
||||
int main() {
|
||||
#if MBED_CONF_MBED_TRACE_ENABLE
|
||||
mbed_trace_init();
|
||||
mbed_trace_print_function_set(boot_debug);
|
||||
#endif // MBED_CONF_MBED_TRACE_ENABLE
|
||||
|
||||
tr_debug("BikeComputer bootloader\r\n");
|
||||
|
||||
// at this stage we directly branch to the main application
|
||||
void *sp = *((void **) POST_APPLICATION_ADDR + 0); // NOLINT(readability/casting)
|
||||
void *pc = *((void **) POST_APPLICATION_ADDR + 1); // NOLINT(readability/casting)
|
||||
tr_debug("Starting application at address 0x%08x (sp 0x%08x, pc 0x%08x)\r\n", POST_APPLICATION_ADDR, (uint32_t) sp, (uint32_t) pc);
|
||||
|
||||
mbed_start_application(POST_APPLICATION_ADDR);
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user