[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [microblaze-uclinux] uclinux memory exhausted, unable to allocate RAM
John,
Thank you for the reply. I am refactoring my makefile.
> The pain associated with (3) is why we've gone to the effort of creating
> a standalone toolchain, and why snapgear created the ucfront tool.
I guess the standalone toolchain here refers to microblaze-uclinux-gcc. However, I have a mixture of .c and .cpp files, and I have to use microblaze-uclinux-g++ for linking.
Is there a way to invoke compiler and linking in one single phase for c and cpp source files?
Rgds,
Victor
-----Original Message-----
From: owner-microblaze-uclinux@xxxxxxxxxxxxxx [mailto:owner-microblaze-uclinux@xxxxxxxxxxxxxx] On Behalf Of John Williams
Sent: Thursday, June 28, 2007 10:31 AM
To: microblaze-uclinux@xxxxxxxxxxxxxx
Subject: Re: [microblaze-uclinux] uclinux memory exhausted, unable to allocate RAM
Victor,
A couple of things:
1. you probably need "export FLTFLAGS" in microblaze.mk
2. it looks like you are using a custom link script. This is likely to
cause pain.
3. explicitly invoking the compiler and linker in separate phases will
cause pain.
The pain associated with (3) is why we've gone to the effort of creating
a standalone toolchain, and why snapgear created the ucfront tool.
If you really have to do this, then you'll need to look carefully at the
output of a command line
microblaze-uclinux-gcc --save-temps -v -o foo foo.c
and split it into the indiviual commands that are invoked by the gcc
frontend. In particular, have a look at the link phase (actually it
will invoke a binary called "collect2", but it's the same as ld)
There are many, many flags that get passed in addition to -elf2flt.
You'll need to munge these into your Makefile infrstructure.
My advice is to refactor your makefile so that it looks more like the
ones created by petalinux-new-app, or those in
petalinux-dist/user/*/Makefile
At the very least, you want something resembling this stuff at the top
(to get sensible CFLAGS and LDFLAGS):
# Point to default PetaLinux root directory
ifndef ROOTDIR
ROOTDIR=$(PETALINUX)/software/petalinux-dist
endif
PATH := $(PATH):$(ROOTDIR)/tools
UCLINUX_BUILD_USER = 1
-include $(ROOTDIR)/.config
-include $(ROOTDIR)/$(CONFIG_LINUXDIR)/.config
LIBCDIR = $(CONFIG_LIBCDIR)
-include $(ROOTDIR)/config.arch
ROMFSDIR=$(ROOTDIR)/romfs
ROMFSINST=$(ROOTDIR)/tools/romfs-inst.sh
regards,
John
victor-sv_yeo@xxxxxxxxxxx wrote:
> John,
>
> The makefiles are pretty complicated. I will attach them here, though I doubt anyone will have the patience to go through them.
>
> Summary of the makefiles:
> 1) Makefile make use of FLTFLAGS in the linking stage, and basically it says how to link the object files. You might want to search for "echo Linking" to go directly to the linking part.
>
> 2) FLTFLAGS+=-v is defined in microblaze.mk
> 3) In rules.mk, it says how to compile the object files.
>
> Am I missing something in the makefile, such as invoking mb-elf2flt?
>
> There is a tutorial on binary flat format:
> http://www.beyondlogic.org/uClinux/bflt.htm
>
> Anyone knows what the criterion is for the code to go into either .text segment or relocations segment?
>
> Thanks
> Victor
>
> -----Original Message-----
> From: owner-microblaze-uclinux@xxxxxxxxxxxxxx [mailto:owner-microblaze-uclinux@xxxxxxxxxxxxxx] On Behalf Of John Williams
> Sent: Wednesday, June 27, 2007 6:29 PM
> To: microblaze-uclinux@xxxxxxxxxxxxxx
> Subject: Re: [microblaze-uclinux] uclinux memory exhausted, unable to allocate RAM
>
> Hi Victor,
>
>
>>Yeah, I added FLTFLAGS+=-v to my makefile. However, my makefile is not using the FLTFLAGS anywhere. I am not calling mb-elf2flt anywhere too.
>>
>>In fact, I am not sure where to add the FLTFLAGS thingy.
>
>
> Can you please post the app Makefile?
>
> John
>
> ___________________________
> microblaze-uclinux mailing list
> microblaze-uclinux@xxxxxxxxxxxxxx
> Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
> Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/
- References:
- [microblaze-uclinux] mounting smbfs
- Re: [microblaze-uclinux] mounting smbfs
- Re: [microblaze-uclinux] mounting smbfs
- [microblaze-uclinux] Trace/BPT trap message
- Re: [microblaze-uclinux] Trace/BPT trap message
- [microblaze-uclinux] uclinux memory exhausted, unable to allocate RAM
- Re: [microblaze-uclinux] uclinux memory exhausted, unable to allocate RAM
- RE: [microblaze-uclinux] uclinux memory exhausted, unable to allocate RAM
- Re: [microblaze-uclinux] uclinux memory exhausted, unable to allocate RAM
- RE: [microblaze-uclinux] uclinux memory exhausted, unable to allocate RAM
- Re: [microblaze-uclinux] uclinux memory exhausted, unable to allocate RAM
- RE: [microblaze-uclinux] uclinux memory exhausted, unable to allocate RAM
- Re: [microblaze-uclinux] uclinux memory exhausted, unable to allocate RAM
- RE: [microblaze-uclinux] uclinux memory exhausted, unable to allocate RAM
- Re: [microblaze-uclinux] uclinux memory exhausted, unable to allocate RAM
- RE: [microblaze-uclinux] uclinux memory exhausted, unable to allocate RAM
- Re: [microblaze-uclinux] uclinux memory exhausted, unable to allocate RAM