SDK Libaries consume tooooooooooo much iRam1_0_seg. How?
Posted: Mon Dec 23, 2019 11:49 pm
Recenetly, we hope our project codes upgradedd from old libphy to new version, but to find that libphy_1134(in SDK2.1.0) and libphy_libphy_1136(in SDK2.2.0) will occupy additional 0x32C=812Bytes(around), compared with libphy from SDK1.5.4. And if upgraded to ibphy_1143(in SDK3.0.1), there is additional 0x474=1140Bytes of iRam1_0_seg cumsumption !!
However, considering only 32KB for iRam_0_seg and Other SDK libaries aldready takes around 27KBytes of iRam_0_seg and leave user codes only less than 5KBytes of Non-ICACHE iRam1_0_seg barely no. Why Espressif SDK still continues to consume iRam1_0_Seg further?
We tried to place the text codes of libphy.a into ICACHE iRom0 seg, but brings about failures of exceptipn 0 IllegalInstructionCause. All code that could be placed into ICACHE iRom0 of the SDK libaries are placed by our project, but still has no additional iRam1_0_seg for new version of libphy.a. Then How?
However, considering only 32KB for iRam_0_seg and Other SDK libaries aldready takes around 27KBytes of iRam_0_seg and leave user codes only less than 5KBytes of Non-ICACHE iRam1_0_seg barely no. Why Espressif SDK still continues to consume iRam1_0_Seg further?
We tried to place the text codes of libphy.a into ICACHE iRom0 seg, but brings about failures of exceptipn 0 IllegalInstructionCause. All code that could be placed into ICACHE iRom0 of the SDK libaries are placed by our project, but still has no additional iRam1_0_seg for new version of libphy.a. Then How?