unicore -> more IRAM0 ?
Posted: Thu Dec 24, 2020 4:41 am
I'm running into trouble moving MicroPython to esp-idf v4.2 because IRAM usage has shot through the roof, it seems. Compiled with the same options it's 20k over iram0_0_seg. Questions:
- if I set CONFIG_FREERTOS_UNICORE=y is there a way to get the 32KB of core 1's cache added to iram0_0_seg?
- Is there a way to drastically cut down BlueTooth IRAM usage?
- I slashed a bunch of stuff, including compiler optimization and I have the following "size-components" output (sorted by iram size), does that suggest anything I can do?
- if I set CONFIG_FREERTOS_UNICORE=y is there a way to get the 32KB of core 1's cache added to iram0_0_seg?
- Is there a way to drastically cut down BlueTooth IRAM usage?
- I slashed a bunch of stuff, including compiler optimization and I have the following "size-components" output (sorted by iram size), does that suggest anything I can do?
Code: Select all
Archive File DRAM .data & .bss & other IRAM D/IRAM Flash code & rodata Total
libbtdm_app.a 763 2405 0 27614 0 67298 4551 102631
libpp.a 1262 3785 0 20825 0 35005 4485 65362
libfreertos.a 2084 736 0 13487 0 141 1460 17908
libnet80211.a 1038 6181 0 11724 0 98623 21536 139102
libsoc.a 267 4 0 11479 0 6800 2008 20558
libphy.a 1621 675 0 7829 0 32399 0 42524
libdriver.a 335 248 0 5375 0 37763 9739 53460
libspi_flash.a 746 288 0 5085 0 1281 292 7692
libcoexist.a 2030 28 0 3696 0 4632 325 10711
libesp32.a 88 127 0 3573 0 3999 781 8568
libesp_ringbuf.a 0 0 0 3442 0 0 569 4011
librtc.a 0 4 0 2231 0 0 0 2235
libesp_system.a 1682 17 0 2188 0 266 68 4221
libheap.a 12 8 0 1811 0 921 35 2787
libnewlib.a 190 272 0 961 0 999 95 2517
libesp_timer.a 16 20 0 954 0 926 87 2003
libbootloader_support.a 0 4 0 886 0 2642 1110 4642
libesp_wifi.a 500 72 0 509 0 4762 2222 8065
libhal.a 0 0 0 443 0 0 32 475
libmain.a 65 1935 0 416 0 193398 96236 292050
libxtensa.a 0 0 0 416 0 0 58 474
libbt.a 387 4829 0 394 0 58950 2767 67327
liblog.a 8 268 0 258 0 552 2 1088
libesp_common.a 61 98 0 225 0 2037 5724 8145
libgcc.a 8 12 0 193 0 5653 872 6738
libpthread.a 16 12 0 186 0 658 220 1092
libapp_update.a 1 12 0 154 0 1198 645 2010
libmbedcrypto.a 64 85 0 30 0 72810 10755 83744
(exe) 0 0 0 3 0 3 12 18
libc.a 4 0 0 0 0 55411 4115 59530
libcore.a 0 29 0 0 0 605 228 862
libcxx.a 0 0 0 0 0 11 0 11
libefuse.a 36 4 0 0 0 728 136 904
libesp_eth.a 4 0 0 0 0 0 10 14
libesp_event.a 4 13 0 0 0 2901 945 3863
libesp_netif.a 16 25 0 0 0 6295 2721 9057
liblwip.a 25 3820 0 0 0 102983 8207 115035
libm.a 4 0 0 0 0 24435 1882 26321
libmbedtls.a 60 200 0 0 0 22131 4935 27326
libmbedx509.a 0 0 0 0 0 6268 105 6373
libmdns.a 0 1882 0 0 0 20082 410 22374
libmesh.a 0 0 0 0 0 0 0 0
libnvs_flash.a 0 24 0 0 0 10595 80 10699
libsoc_esp32.a 0 0 0 0 0 0 1780 1780
libstdc++.a 8 20 0 0 0 2553 1044 3625
libtcpip_adapter.a 0 17 0 0 0 596 169 782
libulp.a 0 0 0 0 0 432 0 432
libvfs.a 308 48 0 0 0 5631 323 6310
libwpa_supplicant.a 12 844 0 0 0 36784 3104 40744