Loading...
Searching...
No Matches
pico_binary_info

Binary info is intended for embedding machine readable information with the binary in FLASH. More...

Data Structures

struct  _binary_info_core
 Common header fields shared by all binary info entries. More...
 
struct  _binary_info_raw_data
 Binary info entry carrying raw, uninterpreted byte data. More...
 
struct  _binary_info_sized_data
 Binary info entry carrying a length-prefixed byte buffer. More...
 
struct  _binary_info_list_zero_terminated
 Binary info entry holding a null-terminated list of binary info pointers. More...
 
struct  _binary_info_id_and_int
 Binary info entry associating a 32-bit integer value with an ID. More...
 
struct  _binary_info_id_and_string
 Binary info entry associating a string value with an ID. More...
 
struct  _binary_info_ptr_int32_with_name
 Binary info entry holding a pointer to a named 32-bit integer variable. More...
 
struct  _binary_info_ptr_string_with_name
 Binary info entry holding a pointer to a named string variable. More...
 
struct  _binary_info_block_device
 Binary info entry describing a block device in the binary. More...
 
struct  _binary_info_pins_with_func
 Binary info entry describing one or more GPIO pins and their assigned function, supporting pin numbers <32, and up to 5 pins. More...
 
struct  _binary_info_pins64_with_func
 Binary info entry describing one or more GPIO pins and their assigned function, supporting pin numbers <256, and up to 7 pins. More...
 
struct  _binary_info_pins_with_name
 Binary info entry associating a human-readable label with a set of GPIO pins. More...
 
struct  _binary_info_pins64_with_name
 Binary info entry associating a human-readable label with a set of GPIO pins (up to 64) More...
 
struct  _binary_info_named_group
 Binary info entry defining a named group of related binary info entries. More...
 

Macros

#define bi_decl(_decl)   __bi_mark_enclosure _decl; __bi_decl(__bi_ptr_lineno_var_name, &__bi_lineno_var_name.core, ".binary_info.keep.", __used);
 Declare some binary information that will be included if the contain source file/line is compiled into the binary.
 
#define bi_decl_if_func_used(_decl)   ({__bi_mark_enclosure _decl; __bi_decl(__bi_ptr_lineno_var_name, &__bi_lineno_var_name.core, ".binary_info.", ); *(const volatile uint8_t *)&__bi_ptr_lineno_var_name;});
 Declare some binary information that will be included if the function containing the decl is linked into the binary. The SDK uses –gc-sections, so functions that are never called will be removed by the linker, and any associated binary information declared this way will also be stripped.
 

Typedefs

typedef struct _binary_info_core binary_info_core_t
 Common header fields shared by all binary info entries.
 
typedef struct _binary_info_raw_data binary_info_raw_data_t
 Binary info entry carrying raw, uninterpreted byte data.
 
typedef struct _binary_info_sized_data binary_info_sized_data_t
 Binary info entry carrying a length-prefixed byte buffer.
 
typedef struct _binary_info_list_zero_terminated binary_info_list_zero_terminated_t
 Binary info entry holding a null-terminated list of binary info pointers.
 
typedef struct _binary_info_id_and_int binary_info_id_and_int_t
 Binary info entry associating a 32-bit integer value with an ID.
 
typedef struct _binary_info_id_and_string binary_info_id_and_string_t
 Binary info entry associating a string value with an ID.
 
typedef struct _binary_info_ptr_int32_with_name binary_info_ptr_int32_with_name_t
 Binary info entry holding a pointer to a named 32-bit integer variable.
 
typedef struct _binary_info_ptr_string_with_name binary_info_ptr_string_with_name_t
 Binary info entry holding a pointer to a named string variable.
 
typedef struct _binary_info_block_device binary_info_block_device_t
 Binary info entry describing a block device in the binary.
 
typedef struct _binary_info_pins_with_func binary_info_pins_with_func_t
 Binary info entry describing one or more GPIO pins and their assigned function, supporting pin numbers <32, and up to 5 pins.
 
typedef struct _binary_info_pins64_with_func binary_info_pins64_with_func_t
 Binary info entry describing one or more GPIO pins and their assigned function, supporting pin numbers <256, and up to 7 pins.
 
typedef struct _binary_info_pins_with_name binary_info_pins_with_name_t
 Binary info entry associating a human-readable label with a set of GPIO pins.
 
typedef struct _binary_info_pins64_with_name binary_info_pins64_with_name_t
 Binary info entry associating a human-readable label with a set of GPIO pins (up to 64)
 
typedef struct _binary_info_named_group binary_info_named_group_t
 Binary info entry defining a named group of related binary info entries.
 

Detailed Description

Binary info is intended for embedding machine readable information with the binary in FLASH.

Example uses include:

Typedef Documentation

◆ binary_info_core_t

Common header fields shared by all binary info entries.

Every binary info structure begins with this core header, which identifies the entry type and the tag namespace it belongs to.

◆ binary_info_named_group_t

Binary info entry defining a named group of related binary info entries.

Named groups allow tools to present related binary info entries together under a common label, with configurable display behaviour.