aboutsummaryrefslogtreecommitdiff
path: root/docs/platformdev_chibios_earlyinit.md
diff options
context:
space:
mode:
authorQMK Bot <hello@qmk.fm>2024-05-30 02:01:09 +0000
committerQMK Bot <hello@qmk.fm>2024-05-30 02:01:09 +0000
commit47356b220101b4f5b8ca71b2e1aa4f04256dd60f (patch)
tree7cf20bd01edf0285053cd9548944fd4133a27567 /docs/platformdev_chibios_earlyinit.md
parentb36c7b99ae57e8d848373f44755510308c4eefa3 (diff)
parent6ef97172889ccd5db376b2a9f8825489e24fdac4 (diff)
Merge remote-tracking branch 'origin/master' into develop
Diffstat (limited to 'docs/platformdev_chibios_earlyinit.md')
-rw-r--r--docs/platformdev_chibios_earlyinit.md8
1 files changed, 4 insertions, 4 deletions
diff --git a/docs/platformdev_chibios_earlyinit.md b/docs/platformdev_chibios_earlyinit.md
index bc49247222..66b8ee4655 100644
--- a/docs/platformdev_chibios_earlyinit.md
+++ b/docs/platformdev_chibios_earlyinit.md
@@ -1,4 +1,4 @@
-# Arm/ChibiOS Early Initialization :id=chibios-early-init
+# Arm/ChibiOS Early Initialization {#chibios-early-init}
This page describes a part of QMK that is a somewhat advanced concept, and is only relevant to keyboard designers.
@@ -6,7 +6,7 @@ QMK uses ChibiOS as the underlying layer to support a multitude of Arm-based dev
Older QMK revisions required duplication of these board definitions inside your keyboard's directory in order to override such early initialization points; this is now abstracted into the following APIs, and allows usage of the board definitions supplied with ChibiOS itself. Check `<qmk_firmware>/lib/chibios/os/hal/boards` for the list of official definitions. If your keyboard needs extra initialization at a very early stage, consider providing keyboard-level overrides of the following APIs instead of duplicating the board definitions:
-## `early_hardware_init_pre()` :id=early-hardware-init-pre
+## `early_hardware_init_pre()` {#early-hardware-init-pre}
The function `early_hardware_init_pre` is the earliest possible code that can be executed by a keyboard firmware. This is intended as a replacement for the ChibiOS board definition's `__early_init` function, and is the equivalent of executing at the start of the function.
@@ -32,7 +32,7 @@ void early_hardware_init_pre(void) {
}
```
-## `early_hardware_init_post()` :id=early-hardware-init-post
+## `early_hardware_init_post()` {#early-hardware-init-post}
The function `early_hardware_init_post` is the next earliest possible code that can be executed by a keyboard firmware. This is executed after RAM has been cleared, and clocks and GPIOs are configured. This is intended as a replacement for the ChibiOS board definition's `__early_init` function, and is the equivalent of executing at the end of the function.
@@ -48,7 +48,7 @@ void early_hardware_init_post(void) {
}
```
-## `board_init()` :id=board-init
+## `board_init()` {#board-init}
The function `board_init` is executed directly after the ChibiOS initialization routines have completed. At this stage, all normal low-level functionality should be available for use (including timers and delays), with the restriction that USB is not yet connected. This is intended as a replacement for the ChibiOS board definition's `boardInit` function.