[uClinux-dev] ucLinux and XIP memory savings
baker at usgs.gov
Thu Jul 4 11:02:25 EDT 2013
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.
I have since discovered PlugPCs and similar systems based on ARM SoCs. Marvell's Kirkwood processors have ~512 MB RAM, and ~512MB-1GB flash -- plus an MMU (no FPU). I am currently prototyping a system using a Glomation GESBC-9G20. That box has an Atmel AT91 SAM processor, 64 MB RAM, 256 MB flash, MMU, no FPU. They have a very inexpensive board (US$35) on their web site (http://www.glomationinc.com) that you might consider. The one I chose has an RS-232 port and an enclosure and power supply, all for about US$100 in the quantities I'll need. The Atmel AT91 SAM processors are not bleeding edge ARM SoCs, but I am able to use a modern U-Boot and Linux 3.2 kernel. I haven't found a drop-in root FS small enough yet. Soon.
US Geological Survey
baker at usgs.gov
On Jul 4, 2013, at 5:32 AM, Anna Fischer (novero/Bochum) wrote:
> Hi everyone,
> I was wondering if anyone had any experiences they can share about using XIP on ucLinux? As far as I can see it is supported for the bootloader, the kernel and also for applications, if the toolchain supports this. My question though is if anyone has done any studies on how much memory is really saved doing XIP. Instead of copying executables to RAM, just .data and .bss sections of programs are copied to RAM. Also, boot time is usually reduced when using XIP. However, I'm quite keen to hear about some practical examples on this and some real numbers on what is exactly saved. Can anyone provide more information on this? I could not find any resources online.
> Thanks for any pointers.
> uClinux-dev mailing list
> uClinux-dev at uclinux.org
> This message was resent by uclinux-dev at uclinux.org
> To unsubscribe see:
More information about the uClinux-dev