This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hello, I'm writing an application for Cortex-M3 (so no "real" OS). I have to write a small bootloader, which will run other "binaries" (let's say - "code blobs") and optionally update them. I'm using gcc (C language). There is a chance that I should look for an answer on groups dedicated to ARM, but I have a compiler-related question - or maybe it's related to binutils. Anyway, I'm sorry if this is not an appropriate group. I understand that I should perform manually job that is normally done by linker. Since I start with doing instead of reading, I've created code that is in attachment. This works, but it's quite simple - there are no global variables, no static data and no calls from module to main binary. I have problems with them for obvious reason - linker script places everything in fixed places and no linking is performed. So my question is: what is the best way to tackle these problems. I understand that I could implement something horrible: I could place in a known place in memory an address of module (unfortunately it can't be fixed) and access all global variables using this address. Horrible. Is there a better solution for this? Thanks in advance (for an answer or redirection to proper group). -- JÄdrzej Dudkiewicz I really hate this damn machine, I wish that they would sell it. It never does just what I want, but only what I tell it.
Attachment:
code.tar.bz2
Description: BZip2 compressed data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |