Hi,
I have a copy of the application code which was working fine with CC2541. After that I need to add few lines of code for new feature. After adding that I tried to compile it to generate the OAD image, but compiler was giving following error, though we have a enough free flash memory available:
Linking
Error[e104]: Failed to fit all segments into specified ranges. Problem discovered in segment BANKED_CODE. Unable to place 79 block(s) (0x1bde5 byte(s) total) in
0x1bdde byte(s) of memory. The problem occurred while processing the segment placement command
"-P(CODE)BANKED_CODE=_CODE_BEG-_CODE_END,_BANK1_BEG-_BANK1_END,_BANK2_BEG-_BANK2_END,_BANK3_BEG-_BANK3_END,_BANK4_BEG-_BANK4_END", where at the moment of placement
the available memory ranges were "CODE:6f4c-7ff7,CODE:18000-1ffff,CODE:28000-2ffff,CODE:38000-3ffff,CODE:482ce-4afff"
Error while running Linker
I am using default XCL file, "C:\Texas Instruments\BLE-CC254x-1.4.0\Projects\ble\common\cc2540\cc254x_f256_imgB.xcl".
Following is the output of *.map file for successful case i.e. before adding new code:
126 950 bytes of CODE memory (+ 26 range fill )
35 bytes of DATA memory (+ 87 absolute )
7 193 bytes of XDATA memory
194 bytes of IDATA memory
8 bits of BIT memory
718 bytes of CONST memory
This becomes blocker issue for us. Please help us to resolve this ASAP.
Thanks,
Dhaval