AnsweredAssumed Answered

Custom made loader file and questions about linking.

Question asked by djerem on Jan 27, 2012
Latest reply on Jan 30, 2012 by CraigG

Hello everyone,

 

I'm having a hard time designing my project because of my lack of knowledge on the Linker and Loader tools. This is a project i am doing with VisualDsp++ 5.0 for a Blackfin processor BF538F8.

 

I would appreciate if someone could orient me toward some good documentation and tutorials on the Linker and Loader tools as well as on how to make simple ldf files. I will also try to describe my problems in full details in case someone could give me more specific advices.

 

I am trying to make a sort of bootloader offering a choice between several small applications that are part of the project and another larger application.

Until now i mannaged to make the part offering the choice (used as an init block in the booting process) as well as most of the code of the smaller applications but here are the problems i now have:

  1. The smaller DXE have a lot of code in common... Since im trying to keep the size of my project as small as possible, i thought of having the common parts in a library that could be used by any of those applications... However i have no idea on how to add a custom made library to a project and how to use its method. I think it has to do with the linking step and the ldf file but i am not sure. (The library is coded in c and simply includes the header files and their implementaions... anything else i should add/do to it?)
  2. Since all those DXE sharing the same libraries have to be programmed on the same flash memory, i thought of having a separate block for the libraries in the ldr file. This block would be the last of the ldr file (excluding the larger application dxe which is not important here) and therefor be flagged as final. Then i would also need some small init blocks after each of the small applications blocks to jump to the libraries block. However i don't know if the Loader tool can produce such a complex ldf file or if i have to "handcraft" it.
  3. Since i do not understand yet how ldf files work, i just use the ldf file given by the "add Startup Code/LDF" function of VisualDSP++. However this seems to add a lot of libraries that looks useless to my applications as well ad the startup code which also seems useless to me. What i require is a minimalist ldf file with no startup code and an "how to" add what my application requires to it.

Thank you for reading this. I'm a little bit ashamed to have asked soo much but my project is starting to get off schedule now and i'm slowly becomming depressed about it .

Outcomes