Skip to content

Commit 4917be3

Browse files
author
Amanda Butler
authored
Merge pull request #662 from c1728p9/boot_sequence
Update boot sequence docs
2 parents 1e81863 + d2df0d4 commit 4917be3

File tree

4 files changed

+29
-10
lines changed

4 files changed

+29
-10
lines changed

docs/images/boot_sequence.png

80.3 KB
Loading

docs/reference/runtime/Bootstrap.md

Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,36 @@
22

33
### Entry points
44

5-
Mbed OS provides two entry points for developers to hook into:
5+
Mbed OS provides two entry points you as a developer to hook into:
66

77
- `main(void)` - Default entry point. All the standard application code goes here.
8-
- `mbed_main(void)` - Executed directly before `main`. The user can define this.
9-
10-
When execution reaches the entry points, a user can expect a fully initialized system that is ready to execute application code. For this to happen, the following must have occurred prior to this point:
11-
12-
- Low-level platform initialization.
13-
- Stack and heap initialization.
14-
- Vector table copied to RAM.
15-
- Standard library initialized.
16-
- RTOS initialized and scheduler started.
8+
- `mbed_main(void)` - Executed directly before `main`. You can define this.
9+
10+
When execution reaches the entry points, you can expect a fully initialized system that is ready to execute application code. The Mbed OS boot sequence consists of four phases: target setup, toolchain setup, starting the RTOS and starting the Mbed application. You can see these phases below:
11+
12+
1. Set up target.
13+
1. Configure clocks.
14+
1. Configure watchdog (if applicable).
15+
1. Turn on RAM (if applicable).
16+
1. Jump to set up toolchain.
17+
1. Set up toolchain.
18+
1. Initialize RAM.
19+
1. Initialize standard library.
20+
1. Call mbed_init.
21+
1. Vector table copied to RAM.
22+
1. Vendor SDK initialized.
23+
1. Jump to start RTOS.
24+
1. Start RTOS.
25+
1. Create main thread.
26+
1. Start scheduler.
27+
1. Main thread calls start Mbed.
28+
1. Start Mbed.
29+
1. Call `mbed_main`.
30+
1. Call `main`.
31+
32+
Sequence diagram of the boot sequence:
33+
34+
<span class="images">![](https://s3-us-west-2.amazonaws.com/mbed-os-docs-images/boot_sequence.png)<span>A diagram of the Arm Mbed OS 5 boot sequence</span></span>
1735

1836
### Retargeting
1937

80.3 KB
Loading
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<mxfile userAgent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.86 Safari/537.36" version="9.0.5" editor="www.draw.io" type="device"><diagram name="Page-1" id="13e1069c-82ec-6db2-03f1-153e76fe0fe0">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</diagram></mxfile>

0 commit comments

Comments
 (0)