From c6d3bcfb11800c58339037be58fa9935f816f1bb Mon Sep 17 00:00:00 2001 From: summivox Date: Sun, 20 Aug 2023 23:13:59 -0700 Subject: Add optional DCD section in linker script Users can define their device configuration data (DCD), and place the data in the .dcd section. If the .dcd section has content, the entry in the IVT points at the user's DCD. This plays well with imxrt-dcd. --- board/src/teensy4.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'board/src') diff --git a/board/src/teensy4.rs b/board/src/teensy4.rs index 28587cd..2aaee82 100644 --- a/board/src/teensy4.rs +++ b/board/src/teensy4.rs @@ -35,3 +35,18 @@ pub fn prepare(timer_delay_microseconds: u32) -> Option { pit, }) } + +/// Dummy DCD section containing a single NOP command (for testing linker scripts). +#[cfg(feature = "__dcd")] +#[link_section = ".dcd"] +#[no_mangle] +#[used] +pub static DEVICE_CONFIGURATION_DATA: [u8; 8] = [0xD2, 0x00, 0x08, 0x41, 0xC0, 0x00, 0x04, 0x00]; + +/// Ditto but incorrect size (not a multiple of 4 bytes). The linker script should catch this error +/// and fail the build. +#[cfg(feature = "__dcd_missize")] +#[link_section = ".dcd"] +#[no_mangle] +#[used] +pub static DEVICE_CONFIGURATION_DATA: [u8; 7] = [0xD2, 0x00, 0x08, 0x41, 0xC0, 0x00, 0x04]; -- cgit v1.2.3