mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-06-27 03:10:36 +08:00
param: Build param without linker script
Changed to enable the posix_sitl_simple target to build and run param show * without using a linker script Signed-off-by: Mark Charlebois <charlebm@gmail.com>
This commit is contained in:
@@ -86,9 +86,11 @@ extern struct param_info_s param_array[];
|
||||
extern struct param_info_s *param_info_base;
|
||||
extern struct param_info_s *param_info_limit;
|
||||
#else
|
||||
extern char __param_start, __param_end;
|
||||
static const struct param_info_s *param_info_base = (struct param_info_s *) &__param_start;
|
||||
static const struct param_info_s *param_info_limit = (struct param_info_s *) &__param_end;
|
||||
extern const struct param_info_s __param_start, __param_end;
|
||||
|
||||
// FIXME - start and end are reversed
|
||||
static const struct param_info_s *param_info_base = &__param_end;
|
||||
static const struct param_info_s *param_info_limit = &__param_start;
|
||||
#endif
|
||||
|
||||
#define param_info_count ((unsigned)(param_info_limit - param_info_base))
|
||||
|
||||
@@ -346,34 +346,13 @@ __EXPORT int param_load_default(void);
|
||||
*/
|
||||
|
||||
/** define an int32 parameter */
|
||||
#define PARAM_DEFINE_INT32(_name, _default) \
|
||||
static const \
|
||||
__attribute__((used, section("__param"))) \
|
||||
struct param_info_s __param__##_name = { \
|
||||
#_name, \
|
||||
PARAM_TYPE_INT32, \
|
||||
.val.i = _default \
|
||||
}
|
||||
#define PARAM_DEFINE_INT32(_name, _default)
|
||||
|
||||
/** define a float parameter */
|
||||
#define PARAM_DEFINE_FLOAT(_name, _default) \
|
||||
static const \
|
||||
__attribute__((used, section("__param"))) \
|
||||
struct param_info_s __param__##_name = { \
|
||||
#_name, \
|
||||
PARAM_TYPE_FLOAT, \
|
||||
.val.f = _default \
|
||||
}
|
||||
#define PARAM_DEFINE_FLOAT(_name, _default)
|
||||
|
||||
/** define a parameter that points to a structure */
|
||||
#define PARAM_DEFINE_STRUCT(_name, _default) \
|
||||
static const \
|
||||
__attribute__((used, section("__param"))) \
|
||||
struct param_info_s __param__##_name = { \
|
||||
#_name, \
|
||||
PARAM_TYPE_STRUCT + sizeof(_default), \
|
||||
.val.p = &_default \
|
||||
}
|
||||
#define PARAM_DEFINE_STRUCT(_name, _default)
|
||||
|
||||
/**
|
||||
* Parameter value union.
|
||||
|
||||
Reference in New Issue
Block a user