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]

gcc/arm and implementing libraries by hand


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]