Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

Re: [lpc2000] the race is on

2006-05-30 by Robert Adsett

At 07:11 PM 5/30/2006 -0400, Tom Walsh wrote:
>As long as you don't use malloc() and free() in your software, no, there
>is no need for it.  However, the MMU allows you to compress your heap
>and make the "holes" appear as a larger segment instead of a lot of tiny
>ones scattered about.  Memory fragmentation can also be a big issue with
>an embedded system.
>
>The other advantage would be to virtualize large arrays of structures
>onto Flash memory devices such as Secure Digital or Compact Flash.
>Having a miniscule 32K of RAM is a PITA.  I have an array of structures
>which are 72 bytes in size and one element of that struct is a 48 char
>text field.  This text field is only needed for the initial report but
>must be kept if the system is told to 're-report all events'.  Since I
>have 100 structures, that is 7K of data.  of which, 4K is something that
>could be stored on a disk drive.  Virtualization could allow me to
>extend the "RAM" and hold that infrequently accessed data in slower memory.

Even without the relocating memory a MMU could be useful.  MMUs usually 
(It's almost a necessary side effect of their operation) include memory 
protection so accesses to addresses outside of the 'mapped' addresses are 
trapped.  By limiting access to address ranges to certain process's a whole 
class of errors can be reduced significantly.

At this point a distinction between user and supervisor modes can be really 
useful.

I don't care about virtualization or compressing the heap but making sure 
only certain processes can write to specific address ranges, now that I'd 
like to see.  I just haven't seen an implementation on a microcontroller yet.

Robert

" 'Freedom' has no meaning of itself.  There are always restrictions,   be 
they legal, genetic, or physical.  If you don't believe me, try to chew a 
radio signal. "  -- Kelvin Throop, III
http://www.aeolusdevelopment.com/

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.