You are reading a single comment by @Gordon and its replies. Click here to read the full conversation.
  • Just checked, and as you suggest, it's this commit: https://github.com/espruino/Espruino/com­mit/9781bacee8185b58438604cb22672389bc3f­f42d

    Extremely frustrating as the 'built-in' maths functions that were removed were pretty bad, and doing the removal has actually improved the situation on pretty much all platforms.

    @tve do you have any ideas how this could be fixed? I increased the size of iram1_0_seg in the linker so it builds, then grabbed these out of the listing:

    40107778 g     F .text	00000002 rcUpdateDataRxDone
    40102970 g     F .text	00000007 __errno
    40102850 g     F .text	00000007 nan
    40105300 g     F .text	0000000b phy_get_mactime
    40102978 g     F .text	0000000f srand
    40104258 g     F .text	00000010 ets_timer_setfn
    40102840 g     F .text	00000010 finite
    40102934 g     F .text	00000011 copysign
    40102948 g     F .text	00000013 atoi
    40109970 g     F .text	00000018 strchr
    40104550 g     F .text	0000001b xPortWantedSizeAlign
    40108600 g     F .text	0000001e wDev_DisableTransmit
    40104460 g     F .text	0000001f prvInsertBlockIntoUsedList
    40104134 l     F .text	00000020 dhcp_timer_fine
    40104184 l     F .text	00000020 dns_timer
    40108668 g     F .text	00000023 wDev_ProcessCollision
    40104104 l     F .text	00000026 dhcp_timer_coarse
    40104524 g     F .text	00000029 prvRemoveBlockFromUsedList
    40105470 g     F .text	0000002b clockgate_watchdog
    40104698 g     F .text	0000002e pvPortCalloc
    40109988 g     F .text	0000002f strncat
    40100588 g     F .text	00000034 .hidden jslIsToken$1409$constprop$21
    40100094 g     F .text	00000035 jshGetSystemTime
    40103890 g     F .text	00000036 .hidden __muldi3
    40107444 g     F .text	0000003a RC_GetBlockAckTime
    40104780 g     F .text	0000003b Cache_Read_Disable_2
    40102988 g     F .text	0000003b rand
    40108620 g     F .text	00000045 Tx_Copy2Queue
    40106754 g     F .text	00000048 lmacProcessCtsTimeout
    40109920 g     F .text	00000050 memset
    40104640 g     F .text	00000051 vPortFree
    40104964 g     F .text	00000055 spi_flash_read
    40108720 g     F .text	00000058 wDev_SetFrameAckType
    40105340 g     F .text	00000061 phy_get_bb_freqoffset
    40106268 g     F .text	00000067 lmacProcessTxTimeout
    40106898 g     F .text	0000007f lmacProcessTxError
    40106344 g     F .text	00000081 lmacProcessCollision
    40100114 g     F .text	00000084 jshPushIOEvent
    40104498 g     F .text	0000008b pvShowMalloc
    40104498 g     F .text	0000008b system_show_malloc
    40107688 g     F .text	00000093 rcUpdateTxDone
    40107878 g     F .text	00000099 rcGetRate
    40104578 g     F .text	000000c3 pvPortMalloc
    40102858 g     F .text	000000dc scalbn
    40107794 g     F .text	000000df rcGetSched
    40104368 g     F .text	000000f3 ets_timer_arm_new
    40101048 g     F .text	000000f7 log
    40106920 g     F .text	00000130 lmacTxFrame
    40108784 g     F .text	00000142 wDev_AppendRxBlocks
    40101140 g     F .text	000001cc __ieee754_atan2
    40109430 g     F .text	0000033a .hidden __umoddi3
    40101980 g     F .text	000003e0 __ieee754_rem_pio2
    

    So it looks like the 3 biggest functions are maths ones, which potentially could be excluded from iram (somehow??).

About

Avatar for Gordon @Gordon started