Skip to content

Commit 9514d84

Browse files
committed
esp8266: Add MP_FASTCODE modifier to put a function to iRAM.
It can be used in the following manner: void MP_FASTCODE(foo)(int arg) { ... }
1 parent 462748d commit 9514d84

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

esp8266/esp8266.ld

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,8 @@ SECTIONS
202202
*(.entry.text)
203203
*(.init.literal)
204204
*(.init)
205-
*(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
205+
*(.literal .text .literal.* .text.* .iram0.literal .iram0.text .iram0.text.*.literal .iram0.text.*)
206+
*(.stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
206207
*(.fini.literal)
207208
*(.fini)
208209
*(.gnu.version)

esp8266/mpconfigport.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,4 +182,6 @@ extern const struct _mp_obj_module_t onewire_module;
182182
#define MICROPY_HW_MCU_NAME "ESP8266"
183183
#define MICROPY_PY_SYS_PLATFORM "esp8266"
184184

185+
#define MP_FASTCODE(n) __attribute__((section(".iram0.text." #n))) n
186+
185187
#define _assert(expr) ((expr) ? (void)0 : __assert_func(__FILE__, __LINE__, __func__, #expr))

0 commit comments

Comments
 (0)