I'm having some problems mapping a library to external SDRAM.
I'm
using an 21161N EZ-KIT Lite. I've included a third party library by
adding it in the file section of the Project window. When I try to
compile my c++ program I'm running out of room in the seg_pmco
segment. I looked in the map file and some of the third party
library components are taking a large amount of room. I created a segment in the external SDRAM as follows : seg_sdram { TYPE(DM RAM) START(0x200000) END(0x27ffff) WIDTH(48) } I then used the Expert Linker to drag the library from the seg_pmco input section to the seg_sdram segment resulting in the following : seg_sdram{ INPUT_SECTIONS($OBJECTS(seg_sdram) SigLib.dlb(seg_pmco) ]) }>seg_sdram When I try to compile the file I run out of room again. Output Section seg_pmco Input section Address Size Input file . . . seg_pmco 0x40288 0x2b C:\NumerixDSP\lib\21k\SigLib.dlb(iirfilt.doj) seg_pmco 0x402b3 0x337 C:\NumerixDSP\lib\21k\SigLib.dlb(dtmf.doj) seg_pmco 0x405ea 0x2c C:\NumerixDSP\lib\21k\SigLib.dlb(minmax.doj) seg_pmco 0x40616 0x8f C:\NumerixDSP\lib\21k\SigLib.dlb(filter.doj) seg_pmco 0x406a5 0x10 C:\NumerixDSP\lib\21k\SigLib.dlb(complex.doj) Which indicates that the library functions (Siglib.dlb) are still being put in the seg_pmco output section. Also, I've noticed that the library Siglib.dlb shows up in both the Input Sections seg_pmco->$objects->$COMMAND_LINE_OBJECTS->Siglib.dlb and seg_pmco->Siglib.dlb. Why does it show up in both places? Can anyone show me how to place and execute Siglib.dlb in external SDRAM? Thanks for your help. |
Linker
Started by ●August 13, 2003