@@ -26,45 +26,8 @@ SECTIONS
2626 . = ALIGN (4 );
2727 _sdata = .; /* create a global symbol at data start; used by startup code in order to initialise the .data section in RAM */
2828
29- /* These functions must be in RAM for USB to respond in time. */
30- *(.text .timer0_ev_pending_write )
31- *(.text .mp_parse )
32- *(.text .parse_compile_execute )
33- *(.text .cmp_lfn )
34- *(.text .qstr_find_strn )
35- *(.text .dcd_edpt_xfer )
36- *(.text .pop_rule )
37- *(.text .ff_wtoupper )
38- *(.text .dir_find )
39- *(.text .push_rule )
40- *(.text .csr_writel )
41- *(.text .csr_readl )
42- *(.text .autoreload_tick )
43- *(.text .filesystem_tick )
44-
45- /* These two functions are called twice as often as any other function */
46- *(.text .mp_map_lookup )
47- *(.text .mp_execute_bytecode ) /* Note: this function is 7kb */
48-
49- /* These functions are hot, and placing them in ram greatly
50- * improves performance
51- */
52- *(.text .mp_decode_uint_value )
53- *(.text .tud_cdc_n_write_flush )
54- *(.text .mp_load_method_maybe )
55- *(.text .mp_convert_member_lookup )
56- *(.text .irq_getmask )
57- *(.text .irq_setmask )
58- *(.text .tu_edpt_dir )
59- *(.text .tu_fifo_empty )
60- *(.text .irq_pending )
61- *(.text .tud_task )
62- *(.text .usb_background )
63- *(.text ._osal_q_lock )
64- *(.text .osal_queue_receive )
65- *(.text .mp_obj_get_type )
66- *(.text .usbd_edpt_busy )
67-
29+ *(.itcm .*) /* Instruction Tightly Coupled Memory */
30+ *(.dtcm_data .*) /* Data Tightly Coupled Memory */
6831 *(.ramtext ) /* .text* sections (code) */
6932 *(.ramtext *) /* .text* sections (code) */
7033 *(.data ) /* .data sections */
@@ -100,6 +63,7 @@ SECTIONS
10063 _sbss = .; /* define a global symbol at bss start; used by startup code */
10164 *(.bss )
10265 *(.bss *)
66+ *(.dtcm_bss .*) /* Data Tightly Coupled Memory */
10367 *(.sbss )
10468 *(.sbss *)
10569 *(COMMON )
0 commit comments