> Subject: Re: [uClinux-dev] ucLinux and XIP memory savings
> 
> Anna,
> 
> >> Subject: Re: [uClinux-dev] ucLinux and XIP memory savings
> >>
> >> Hi Larry,
> >>
> >> Thanks for your response.
> >>
> >>> Subject: Re: [uClinux-dev] ucLinux and XIP memory savings
> >>>
> >>> Anna,
> >>>
> >>> It is a national holiday in the US, so I am out of the office until
> >>> Monday when I will be able to send you more details.
> >>>
> >>> I tried to use a Lantronix EDS2100 for an RS-232 data-logging
> >>> application with remote access.  That box has an M68K ColdFire
> >>> processor, 8MB RAM, 8 MB flash.  I used XIP and any other technique
> >>> I could find to increase RAM.  The biggest headache was the Linux
> >>> 2.6
> >>> power-of-2 buddy system memory allocator.  I guess in the 2.4
> >>> kernel, there was a boxcar memory allocator.  That would have been
> >>> better for such a small memory system.  I had to resort to fixing
> >>> GCC to try to catch stack overflow problems in standard apps (NTP,
> >>> for time -- no RTC).  But, I ran out of time to get the system to
> >>> run reliably -- it kept locking up because of memory allocation
> >>> failures due to the
> >>> power-
> >>> of-2 memory allocation scheme.
> >>
> >> Is this really still true? I had read somewhere that it is possible
> >> to replace the standard kernel memory allocator under ucLinux with
> >> one that is better suited to embedded systems, e.g. a block-based
> >> memory pool type allocator. I cannot find the reference anymore now
> though.
> >
> > Actually I have just found that you are right and this was just the
> > case for Linux 2.4 which is completely irrelevant now :-(
> >
> > However, the power-of-2 memory allocation is a general problem for
> ucLinux which is independent of XIP, isn't it?
> 
> Yes.  There was a non-power-of-2 user memory allocator in Linux 2.4 (a
> uClinux project?).  That was never ported to 2.6 or later.  When I
> looked at the code, I came to the conclusion that too many places in
> the kernel rely on the power-of-2 allocations.  I could be wrong, and
> something like a Fibonacci-based buddy memory allocator might work, as
> long as the smallest memory allocation unit is at least the page size.
> It is an interesting academic exercise, made a bit irrelevant by the
> cheap ARM SoCs I've started using.  I don't have enough lifetimes to
> pursue all the things that interest me. :)
> 
> > XIP does not make this any worse, does it? I'd say it should be more
> the opposite as by using XIP we use less RAM in general and therefore
> memory fragmentation hopefully has a little less impact.
> 
> This was my result.  At work I have my notes for the development effort
> on the Lantronix EDS2100.  I employed every technique I could find to
> free RAM for use by the programs I needed for my application.

Have you experienced other limitations when using XIP? I assume that, for 
example, it can be harder to debug XIP code?

Thanks,
Anna
_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to