diff options
author | Damien George <damien.p.george@gmail.com> | 2015-12-28 17:38:40 +0000 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2016-03-08 11:31:39 +0700 |
commit | 3fbbbecec9537c56646e9dcd160e393a3f0e0828 (patch) | |
tree | 5ea6520f2da1c279e0e89be41706aace95b0c4f9 /esp8266/esp8266.ld | |
parent | 04a9ac7f388d4c2741c6c4345122a1a7c4a6d7f5 (diff) | |
download | micropython-3fbbbecec9537c56646e9dcd160e393a3f0e0828.tar.gz micropython-3fbbbecec9537c56646e9dcd160e393a3f0e0828.zip |
esp8266: Put more code in iROM section.
Also explicitly name the py/*.o files in the linker file, to enable easy
testing of putting certain ones in iRAM.
Diffstat (limited to 'esp8266/esp8266.ld')
-rw-r--r-- | esp8266/esp8266.ld | 58 |
1 files changed, 51 insertions, 7 deletions
diff --git a/esp8266/esp8266.ld b/esp8266/esp8266.ld index f501fb85d7..11c445c899 100644 --- a/esp8266/esp8266.ld +++ b/esp8266/esp8266.ld @@ -80,28 +80,72 @@ SECTIONS *(.irom0.literal .irom.literal .irom.text.literal .irom0.text .irom.text) /* we put some specific text in this section */ - *py/*.o*(.literal* .text*) + + *py/argcheck.o*(.literal* .text*) + *py/asm*.o*(.literal* .text*) + *py/bc.o*(.literal* .text*) + *py/binary.o*(.literal* .text*) + *py/builtin*.o*(.literal* .text*) + *py/compile.o*(.literal* .text*) + *py/emit*.o*(.literal* .text*) + *py/formatfloat.o*(.literal* .text*) + *py/frozenmod.o*(.literal* .text*) + *py/gc.o*(.literal* .text*) + *py/lexer*.o*(.literal* .text*) + *py/malloc*.o*(.literal* .text*) + *py/map*.o*(.literal* .text*) + *py/mod*.o*(.literal* .text*) + *py/mpprint.o*(.literal* .text*) + *py/mpstate.o*(.literal* .text*) + *py/mpz.o*(.literal* .text*) + *py/native*.o*(.literal* .text*) + *py/nlr*.o*(.literal* .text*) + *py/obj*.o*(.literal* .text*) + *py/opmethods.o*(.literal* .text*) + *py/parse*.o*(.literal* .text*) + *py/qstr.o*(.literal* .text*) + *py/repl.o*(.literal* .text*) + *py/runtime.o*(.literal* .text*) + *py/scope.o*(.literal* .text*) + *py/sequence.o*(.literal* .text*) + *py/showbc.o*(.literal* .text*) + *py/smallint.o*(.literal* .text*) + *py/stackctrl.o*(.literal* .text*) + *py/stream.o*(.literal* .text*) + *py/unicode.o*(.literal* .text*) + *py/vm.o*(.literal* .text*) + *py/vstr.o*(.literal* .text*) + *py/warning.o*(.literal* .text*) + + *extmod/*.o*(.literal* .text*) + *lib/libm/*.o*(.literal*, .text*) - *pyexec.o(.literal*, .text*) - *readline.o(.literal*, .text*) - *pybstdio.o(.literal*, .text*) + *lib/mp-readline/*.o(.literal*, .text*) + *lib/netutils/*.o*(.literal*, .text*) + *lib/timeutils/*.o*(.literal*, .text*) + *lib/utils/*.o*(.literal*, .text*) + + *stmhal/pybstdio.o(.literal*, .text*) + *gccollect.o(.literal* .text*) *gchelper.o(.literal* .text*) *modpyb.o(.literal*, .text*) *modpybpin.o(.literal*, .text*) *modpybrtc.o(.literal*, .text*) + *modpybadc.o(.literal*, .text*) *modesp.o(.literal* .text*) *modnetwork.o(.literal* .text*) *moduos.o(.literal* .text*) *modutime.o(.literal* .text*) *modlwip.o(.literal* .text*) + *modsocket.o(.literal* .text*) /* we put as much rodata as possible in this section */ /* note that only rodata accessed as a machine word is allowed here */ *py/qstr.o(.rodata.const_pool) - *py/*.o(.rodata.mp_type_*) /* catches type: mp_obj_type_t */ - *py/*.o(.rodata.*_locals_dict*) /* catches types: mp_obj_dict_t, mp_map_elem_t */ - *py/*.o(.rodata.mp_module_*) /* catches types: mp_obj_module_t, mp_obj_dict_t, mp_map_elem_t */ + *.o(.rodata.mp_type_*) /* catches type: mp_obj_type_t */ + *.o(.rodata.*_locals_dict*) /* catches types: mp_obj_dict_t, mp_map_elem_t */ + *.o(.rodata.mp_module_*) /* catches types: mp_obj_module_t, mp_obj_dict_t, mp_map_elem_t */ _irom0_text_end = ABSOLUTE(.); } >irom0_0_seg :irom0_0_phdr |