diff options
author | Damien George <damien.p.george@gmail.com> | 2017-05-13 10:08:13 +1000 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2017-05-13 10:08:13 +1000 |
commit | ec534609f665cb791b8fc1eae1a44e514c297659 (patch) | |
tree | 27b28700c710fc126fa9b2c5fbaaefd38d521c7f | |
parent | 5383a50072dcd9827e601add56d20b86b9dd9e27 (diff) | |
download | micropython-ec534609f665cb791b8fc1eae1a44e514c297659.tar.gz micropython-ec534609f665cb791b8fc1eae1a44e514c297659.zip |
tools/mpy-tool.py: Use MP_ROM_xxx macros to support nanbox builds.
-rwxr-xr-x | tools/mpy-tool.py | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/tools/mpy-tool.py b/tools/mpy-tool.py index aff4fd2108..483a992db1 100755 --- a/tools/mpy-tool.py +++ b/tools/mpy-tool.py @@ -332,25 +332,25 @@ class RawCode: raise FreezeError(self, 'freezing of object %r is not implemented' % (obj,)) # generate constant table - print('STATIC const mp_uint_t const_table_data_%s[%u] = {' + print('STATIC const mp_rom_obj_t const_table_data_%s[%u] = {' % (self.escaped_name, len(self.qstrs) + len(self.objs) + len(self.raw_codes))) for qst in self.qstrs: - print(' (mp_uint_t)MP_OBJ_NEW_QSTR(%s),' % global_qstrs[qst].qstr_id) + print(' MP_ROM_QSTR(%s),' % global_qstrs[qst].qstr_id) for i in range(len(self.objs)): if type(self.objs[i]) is float: print('#if MICROPY_OBJ_REPR == MICROPY_OBJ_REPR_A || MICROPY_OBJ_REPR == MICROPY_OBJ_REPR_B') - print(' (mp_uint_t)&const_obj_%s_%u,' % (self.escaped_name, i)) + print(' MP_ROM_PTR(&const_obj_%s_%u),' % (self.escaped_name, i)) print('#elif MICROPY_OBJ_REPR == MICROPY_OBJ_REPR_C') n = struct.unpack('<I', struct.pack('<f', self.objs[i]))[0] n = ((n & ~0x3) | 2) + 0x80800000 - print(' (mp_uint_t)0x%08x,' % (n,)) + print(' MP_ROM_INT(0x%08x),' % (n,)) print('#else') print('#error "MICROPY_OBJ_REPR_D not supported with floats in frozen mpy files"') print('#endif') else: - print(' (mp_uint_t)&const_obj_%s_%u,' % (self.escaped_name, i)) + print(' MP_ROM_PTR(&const_obj_%s_%u),' % (self.escaped_name, i)) for rc in self.raw_codes: - print(' (mp_uint_t)&raw_code_%s,' % rc.escaped_name) + print(' MP_ROM_PTR(&raw_code_%s),' % rc.escaped_name) print('};') # generate module @@ -362,7 +362,7 @@ class RawCode: print(' .n_pos_args = %u,' % self.prelude[3]) print(' .data.u_byte = {') print(' .bytecode = bytecode_data_%s,' % self.escaped_name) - print(' .const_table = const_table_data_%s,' % self.escaped_name) + print(' .const_table = (mp_uint_t*)const_table_data_%s,' % self.escaped_name) print(' #if MICROPY_PERSISTENT_CODE_SAVE') print(' .bc_len = %u,' % len(self.bytecode)) print(' .n_obj = %u,' % len(self.objs)) |