summaryrefslogtreecommitdiffstatshomepage
path: root/esp8266/esp8266.ld
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2015-12-28 17:38:40 +0000
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2016-03-08 11:31:39 +0700
commit3fbbbecec9537c56646e9dcd160e393a3f0e0828 (patch)
tree5ea6520f2da1c279e0e89be41706aace95b0c4f9 /esp8266/esp8266.ld
parent04a9ac7f388d4c2741c6c4345122a1a7c4a6d7f5 (diff)
downloadmicropython-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.ld58
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