mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2024-12-03 11:24:10 +01:00
575010169a
The board info blob is stored in the last 128 bytes of the bootloader's flash bank. You can access this data from the application firmware like this: #include <pios_board_info.h> if (pios_board_info_blob.magic == PIOS_BOARD_INFO_BLOB_MAGIC) { /* Check some other fields */ } DO NOT link pios_board_info.c into your application firmware. Only bootloaders should provide the content for the board info structure. The application firmware is only a user of the data.
60 lines
1.2 KiB
Plaintext
60 lines
1.2 KiB
Plaintext
/* Stub out these functions since we don't use them anyway */
|
|
PROVIDE ( vPortSVCHandler = 0 ) ;
|
|
PROVIDE ( xPortPendSVHandler = 0 ) ;
|
|
PROVIDE ( xPortSysTickHandler = 0 ) ;
|
|
|
|
_estack = 0x20004FF0;
|
|
|
|
/* Section Definitions */
|
|
SECTIONS
|
|
{
|
|
.boardinfo :
|
|
{
|
|
. = ALIGN(4);
|
|
PROVIDE(pios_board_info_blob = .);
|
|
} > BD_INFO
|
|
|
|
.text :
|
|
{
|
|
KEEP(*(.isr_vector .isr_vector.*))
|
|
*(.text .text.* .gnu.linkonce.t.*)
|
|
*(.glue_7t) *(.glue_7)
|
|
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
} > FLASH
|
|
|
|
.ARM.extab :
|
|
{
|
|
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
} > FLASH
|
|
|
|
.ARM.exidx :
|
|
{
|
|
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
} > FLASH
|
|
|
|
. = ALIGN(4);
|
|
_etext = .;
|
|
_sidata = .;
|
|
|
|
.data : AT (_etext)
|
|
{
|
|
_sdata = .;
|
|
*(.data .data.*)
|
|
. = ALIGN(4);
|
|
_edata = . ;
|
|
} > SRAM
|
|
|
|
/* .bss section which is used for uninitialized data */
|
|
.bss (NOLOAD) :
|
|
{
|
|
_sbss = . ;
|
|
*(.bss .bss.*)
|
|
*(COMMON)
|
|
. = ALIGN(4);
|
|
_ebss = . ;
|
|
} > SRAM
|
|
|
|
. = ALIGN(4);
|
|
_end = . ;
|
|
}
|