kopia lustrzana https://github.com/micropython/micropython
py: Add MICROPY_OBJ_BASE_ALIGNMENT to help with 16-bit ports.
rodzic
5351a48185
commit
28631537bd
|
@ -536,6 +536,14 @@ typedef double mp_float_t;
|
|||
/*****************************************************************************/
|
||||
/* Miscellaneous settings */
|
||||
|
||||
// All uPy objects in ROM must be aligned on at least a 4 byte boundary
|
||||
// so that the small-int/qstr/pointer distinction can be made. For machines
|
||||
// that don't do this (eg 16-bit CPU), define the following macro to something
|
||||
// like __attribute__((aligned(4))).
|
||||
#ifndef MICROPY_OBJ_BASE_ALIGNMENT
|
||||
#define MICROPY_OBJ_BASE_ALIGNMENT
|
||||
#endif
|
||||
|
||||
// On embedded platforms, these will typically enable/disable irqs.
|
||||
#ifndef MICROPY_BEGIN_ATOMIC_SECTION
|
||||
#define MICROPY_BEGIN_ATOMIC_SECTION() (0)
|
||||
|
|
2
py/obj.h
2
py/obj.h
|
@ -46,7 +46,7 @@ typedef machine_const_ptr_t mp_const_obj_t;
|
|||
|
||||
struct _mp_obj_type_t;
|
||||
struct _mp_obj_base_t {
|
||||
const struct _mp_obj_type_t *type;
|
||||
const struct _mp_obj_type_t *type MICROPY_OBJ_BASE_ALIGNMENT;
|
||||
};
|
||||
typedef struct _mp_obj_base_t mp_obj_base_t;
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue