[uClinux-dev] ucLinux and XIP memory savings
Anna Fischer (novero/Bochum)
Anna.Fischer at novero.com
Thu Jul 4 09:20:12 EDT 2013
> Subject: Re: [uClinux-dev] ucLinux and XIP memory savings
> it is quite some time ago since I tried XIP on uClinux/Coldfire, but
> could not get it to run. I do not recall which exact problem I had,
> because I was fine without it in the end.
> What is it you want to achieve? Is XIP the only possible option?
> In my case, I was hoping to reduce startup and boot time in general,
> and I ended up with a different compression scheme for the kernel and
> rootfs (U-Boot images), because load time from flash and decompression
> were what really made my system slow. And, even more, flash access time
> becomes an even more critical factor when using XIP.
> On the other hand, my system was quite specialized with only one
> application running being started on boot and only terminated in case
> of power failure or watchdog reset. ;-) However, this might be a common
> scenario for many embedded applications.
> Just asking, because memory is not a cost factor any more in most
> cases, so maybe focusing on XIP is not the way to go, especially
> considering flash access being slower than DRAM in most cases anyways.
I'm considering XIP, because it could potentially allow me to run a small microcontroller with just internal SRAM (which is very little) instead of adding external SDRAM. I'm hoping that XIP could help me save RAM here, because I don't need to load any program code into RAM. I'm talking about a small microcontroller system here, so any saving on RAM are very beneficial.
In my case the access time to flash would be OK compared to external RAM. Especially when using a parallel NOR flash. There are D/I-caches on the chip as well and a tightly-coupled memory (TCM) module where critical code can be placed for low-latency access. So really, for now I just care about saving RAM as much as possible. XIP seems to help, but I'm looking for some numbers to help quantify the benefit.
More information about the uClinux-dev