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