This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

visibility of functions names in Library

Hi, I made a library. when i build executable using library, the map file created shows all functions/variables of library.

Can i strip the library, so that only functions used by executable are visible in map file ?

or when i build library, i can somehow achieve the same by some settings ?

thanks in advance for your time.

regards,
-rajan batra

Parents
  • Hi Hans-Bernhard Broeker, Westonsupermare Pier

    my code consumes 7 banks + common bank. There is one bank left. I have arranged
    code such that, each bank has inter-related functionalities. this is to avoid much
    of bank switching code at run time.

    I have to make object files out of my code and make it available for anyone making
    an executable. executable will use code functions via set of defined APIs.

    I directly make .LIB for each bank code. This gives me common.LIB, BANK0.LIB, BANK1.LIB,
    BANK2.LIB, BANK3.LIB, BANK4.LIB,BANK5.LIB and BANK6.LIB.

    www.keil.com/.../uv4_ca_createlibraryfile.htm

    This i call as library. Main function executable will go in bank7 and it will link these .LIB.

Reply
  • Hi Hans-Bernhard Broeker, Westonsupermare Pier

    my code consumes 7 banks + common bank. There is one bank left. I have arranged
    code such that, each bank has inter-related functionalities. this is to avoid much
    of bank switching code at run time.

    I have to make object files out of my code and make it available for anyone making
    an executable. executable will use code functions via set of defined APIs.

    I directly make .LIB for each bank code. This gives me common.LIB, BANK0.LIB, BANK1.LIB,
    BANK2.LIB, BANK3.LIB, BANK4.LIB,BANK5.LIB and BANK6.LIB.

    www.keil.com/.../uv4_ca_createlibraryfile.htm

    This i call as library. Main function executable will go in bank7 and it will link these .LIB.

Children
  • Hi Pier, Since i am having 7 .LIB files to be linked in to executable, MAP
    file created by linker will contain all functions/variables referred between 7 .LIB

    As per your suggestion, i will have to make one single .LIB for final linking.
    Size of this One .LIB will be greater then single bank size. so in final linking,using keil,
    i will get warning of .LIB being greater then bank.

    I am using LX51, LX51 creates single HEX format executable as output. Currently i split it into 8 banks before flashing.

    If i could build final executable without assigning .LIB to any bank, i can build my code into
    one big .LIB .

    so the question is

    is it possible to build program in KEIL without assigning bank to .LIB.

    regards,
    -rajan