Skip to content

Commit 3fbbbec

Browse files
dpgeorgepfalcon
authored andcommitted
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.
1 parent 04a9ac7 commit 3fbbbec

1 file changed

Lines changed: 51 additions & 7 deletions

File tree

esp8266/esp8266.ld

Lines changed: 51 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -80,28 +80,72 @@ SECTIONS
8080
*(.irom0.literal .irom.literal .irom.text.literal .irom0.text .irom.text)
8181

8282
/* we put some specific text in this section */
83-
*py/*.o*(.literal* .text*)
83+
84+
*py/argcheck.o*(.literal* .text*)
85+
*py/asm*.o*(.literal* .text*)
86+
*py/bc.o*(.literal* .text*)
87+
*py/binary.o*(.literal* .text*)
88+
*py/builtin*.o*(.literal* .text*)
89+
*py/compile.o*(.literal* .text*)
90+
*py/emit*.o*(.literal* .text*)
91+
*py/formatfloat.o*(.literal* .text*)
92+
*py/frozenmod.o*(.literal* .text*)
93+
*py/gc.o*(.literal* .text*)
94+
*py/lexer*.o*(.literal* .text*)
95+
*py/malloc*.o*(.literal* .text*)
96+
*py/map*.o*(.literal* .text*)
97+
*py/mod*.o*(.literal* .text*)
98+
*py/mpprint.o*(.literal* .text*)
99+
*py/mpstate.o*(.literal* .text*)
100+
*py/mpz.o*(.literal* .text*)
101+
*py/native*.o*(.literal* .text*)
102+
*py/nlr*.o*(.literal* .text*)
103+
*py/obj*.o*(.literal* .text*)
104+
*py/opmethods.o*(.literal* .text*)
105+
*py/parse*.o*(.literal* .text*)
106+
*py/qstr.o*(.literal* .text*)
107+
*py/repl.o*(.literal* .text*)
108+
*py/runtime.o*(.literal* .text*)
109+
*py/scope.o*(.literal* .text*)
110+
*py/sequence.o*(.literal* .text*)
111+
*py/showbc.o*(.literal* .text*)
112+
*py/smallint.o*(.literal* .text*)
113+
*py/stackctrl.o*(.literal* .text*)
114+
*py/stream.o*(.literal* .text*)
115+
*py/unicode.o*(.literal* .text*)
116+
*py/vm.o*(.literal* .text*)
117+
*py/vstr.o*(.literal* .text*)
118+
*py/warning.o*(.literal* .text*)
119+
120+
*extmod/*.o*(.literal* .text*)
121+
84122
*lib/libm/*.o*(.literal*, .text*)
85-
*pyexec.o(.literal*, .text*)
86-
*readline.o(.literal*, .text*)
87-
*pybstdio.o(.literal*, .text*)
123+
*lib/mp-readline/*.o(.literal*, .text*)
124+
*lib/netutils/*.o*(.literal*, .text*)
125+
*lib/timeutils/*.o*(.literal*, .text*)
126+
*lib/utils/*.o*(.literal*, .text*)
127+
128+
*stmhal/pybstdio.o(.literal*, .text*)
129+
88130
*gccollect.o(.literal* .text*)
89131
*gchelper.o(.literal* .text*)
90132
*modpyb.o(.literal*, .text*)
91133
*modpybpin.o(.literal*, .text*)
92134
*modpybrtc.o(.literal*, .text*)
135+
*modpybadc.o(.literal*, .text*)
93136
*modesp.o(.literal* .text*)
94137
*modnetwork.o(.literal* .text*)
95138
*moduos.o(.literal* .text*)
96139
*modutime.o(.literal* .text*)
97140
*modlwip.o(.literal* .text*)
141+
*modsocket.o(.literal* .text*)
98142
99143
/* we put as much rodata as possible in this section */
100144
/* note that only rodata accessed as a machine word is allowed here */
101145
*py/qstr.o(.rodata.const_pool)
102-
*py/*.o(.rodata.mp_type_*) /* catches type: mp_obj_type_t */
103-
*py/*.o(.rodata.*_locals_dict*) /* catches types: mp_obj_dict_t, mp_map_elem_t */
104-
*py/*.o(.rodata.mp_module_*) /* catches types: mp_obj_module_t, mp_obj_dict_t, mp_map_elem_t */
146+
*.o(.rodata.mp_type_*) /* catches type: mp_obj_type_t */
147+
*.o(.rodata.*_locals_dict*) /* catches types: mp_obj_dict_t, mp_map_elem_t */
148+
*.o(.rodata.mp_module_*) /* catches types: mp_obj_module_t, mp_obj_dict_t, mp_map_elem_t */
105149

106150
_irom0_text_end = ABSOLUTE(.);
107151
} >irom0_0_seg :irom0_0_phdr

0 commit comments

Comments
 (0)