Exmem provides a way to get larger amounts of RAM for various temporary operations.
I've been
working on adding exmem support to CHDK.
edit:Link to thread discussing (static) use of Exmem as a way to get memory for CHDK on models with low amounts of free RAM (heap).
One of the potential uses I have in mind is providing a way for the user to format the card and keeping CHDK on it. Most cameras don't have a large enough amount of regular heap for keeping CHDK files in RAM.
As a first step, I made a
simple module (based on 'module inspector') for displaying active exmem allocations.
To my surprise, it seems that some exmem is always in use.
The module stays loaded if the ALT button is used to exit it. This allows one to examine situations where file operations don't work (e.g. playing or recording a movie).
From what I've seen so far, the firmware's allocation table seems to have remained a list of 'start address' + 'size' pairs, from the first supported models to the last ones.
The core interface and the export(s) are subject to change.
Patch against current trunk attached.
edit2:
Patch updated, exmem_type_count is now a separate export, the module can now log changes of exmem use.
exmem_demo_module_v1.diff (6.96 kB - downloaded 4 times.)