stm32/modstm: Add MICROPY_PY_STM_CONST flag, clear it for STM32WL5.
MICROPY_PY_STM_CONST defaults to 1 if MICROPY_PY_STM is set. Overriding to 0 disables the named register peripheral constants being including in the stm32 module. This saves about 7.5KB of code size for the STM32WL55, which is significant as this SoC doesn't have a lot of flash. Signed-off-by: Angus Gratton <angus@redyak.com.au>
This commit is contained in:
committed by
Damien George
parent
02620c2236
commit
2919a9fbf3
@@ -14,7 +14,8 @@
|
|||||||
#define MICROPY_PY_SOCKET (0)
|
#define MICROPY_PY_SOCKET (0)
|
||||||
#define MICROPY_PY_NETWORK (0)
|
#define MICROPY_PY_NETWORK (0)
|
||||||
#define MICROPY_PY_ONEWIRE (0)
|
#define MICROPY_PY_ONEWIRE (0)
|
||||||
#define MICROPY_PY_STM (1)
|
#define MICROPY_PY_STM (1) // for subghz radio functions
|
||||||
|
#define MICROPY_PY_STM_CONST (0) // saves size, no named registers
|
||||||
#define MICROPY_PY_PYB_LEGACY (0)
|
#define MICROPY_PY_PYB_LEGACY (0)
|
||||||
#define MICROPY_PY_HEAPQ (0)
|
#define MICROPY_PY_HEAPQ (0)
|
||||||
|
|
||||||
|
|||||||
@@ -319,10 +319,10 @@ def main():
|
|||||||
print("")
|
print("")
|
||||||
|
|
||||||
with open(args.qstr_filename, "wt") as qstr_file:
|
with open(args.qstr_filename, "wt") as qstr_file:
|
||||||
print("#if MICROPY_PY_STM", file=qstr_file)
|
print("#if MICROPY_PY_STM_CONST", file=qstr_file)
|
||||||
for qstr in sorted(needed_qstrs):
|
for qstr in sorted(needed_qstrs):
|
||||||
print("Q({})".format(qstr), file=qstr_file)
|
print("Q({})".format(qstr), file=qstr_file)
|
||||||
print("#endif // MICROPY_PY_STM", file=qstr_file)
|
print("#endif // MICROPY_PY_STM_CONST", file=qstr_file)
|
||||||
|
|
||||||
with open(args.mpz_filename, "wt") as mpz_file:
|
with open(args.mpz_filename, "wt") as mpz_file:
|
||||||
for mpz in sorted(needed_mpzs):
|
for mpz in sorted(needed_mpzs):
|
||||||
|
|||||||
@@ -45,7 +45,9 @@ STATIC const mp_rom_map_elem_t stm_module_globals_table[] = {
|
|||||||
{ MP_ROM_QSTR(MP_QSTR_mem16), MP_ROM_PTR(&machine_mem16_obj) },
|
{ MP_ROM_QSTR(MP_QSTR_mem16), MP_ROM_PTR(&machine_mem16_obj) },
|
||||||
{ MP_ROM_QSTR(MP_QSTR_mem32), MP_ROM_PTR(&machine_mem32_obj) },
|
{ MP_ROM_QSTR(MP_QSTR_mem32), MP_ROM_PTR(&machine_mem32_obj) },
|
||||||
|
|
||||||
|
#if MICROPY_PY_STM_CONST
|
||||||
#include "genhdr/modstm_const.h"
|
#include "genhdr/modstm_const.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(STM32WB)
|
#if defined(STM32WB)
|
||||||
{ MP_ROM_QSTR(MP_QSTR_rfcore_status), MP_ROM_PTR(&rfcore_status_obj) },
|
{ MP_ROM_QSTR(MP_QSTR_rfcore_status), MP_ROM_PTR(&rfcore_status_obj) },
|
||||||
|
|||||||
@@ -32,11 +32,16 @@
|
|||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
// Feature settings with defaults
|
// Feature settings with defaults
|
||||||
|
|
||||||
// Whether to include the stm module, with peripheral register constants
|
// Whether to include the stm module
|
||||||
#ifndef MICROPY_PY_STM
|
#ifndef MICROPY_PY_STM
|
||||||
#define MICROPY_PY_STM (1)
|
#define MICROPY_PY_STM (1)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Whether to include named register constants in the stm module
|
||||||
|
#ifndef MICROPY_PY_STM_CONST
|
||||||
|
#define MICROPY_PY_STM_CONST (MICROPY_PY_STM)
|
||||||
|
#endif
|
||||||
|
|
||||||
// Whether to include the pyb module
|
// Whether to include the pyb module
|
||||||
#ifndef MICROPY_PY_PYB
|
#ifndef MICROPY_PY_PYB
|
||||||
#define MICROPY_PY_PYB (1)
|
#define MICROPY_PY_PYB (1)
|
||||||
|
|||||||
Reference in New Issue
Block a user