At Mon, 29 Jul 2019 05:56:00 -0700 (PDT) [email protected] wrote:

> 
> 
> 
> A traditional embedded system boots from flash memory and code runs from 
> flash memory.  Usually application isn't copied to RAM, only read/write 
> variables are copied to RAM.  
> Does system running embedded Linux execute from RAM?
> 
> A typical embedded Linux evaluation board running some Linux distribution 
> boots from SD card.  I believe entire kernel code, rwdata, rodata, init, 
> bss, etc. is copied to RAM and code execution occurs in RAM.  Is that 
> correct?
> 
> I need to know what size DRAM I need for my embedded Linux system?  If 
> Linux distribution takes up 3GB in SD card.  Then, does this mean I need 
> 3GB DRAM?

It depends...

If your target system only runs some limited subset of program, no, of course 
not.  What is taking up the 3GB on the SD card are things like the usuall 
"zillion" utilities, libraries, and so on.  Also, an embedded Linux appliance 
(like your router or Blu-Ray player), is going to use BusyBox rather than have 
a /bin and /usr/bin populated with all the usually little programs (ls, cp, 
mv, rm, etc.).  Instead, /bin, /sbin, /usr/bin and /usr/sbin will have links 
to BusyBox.  Basically, it is just like a Linux boot init "ramdisk" that never 
bothers to mount a real "root" file system and continues to a full multi-user 
boot with all the trimmings.

Next time you fire up your Beagle Bone, use the free and top commands to have
a look at what is running and how (RAM) memory is being used. For example, my
Raspberry Pi fruitloops is currently using just under 1 GB of RAM, running
about 100 processes:

Tasks: 109 total,   1 running,  60 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:    948308 total,   908924 used,    39384 free,   142516 buffers
KiB Swap:   102396 total,    21248 used,    81148 free.   138932 cached Mem

It is also using 21GB of a 32GB SD card. This is Raspbian, and includes a
pretty typical Linux multi-user system, eg systemd, ssh server, X11, a
compilete native G++ toolchain and libraries, with multiple cross-build G++
toolchain and libraries, for Arduino (arm, avr, xtensa) and OpenMRN (arm), 
along with a full LaTeX install, Doxygen, etc. -- this is my general purpose 
build box for both native Raspbian (and also Beagle Debian targets), and for 
various little MCUs: Avr, Arm (samd), and esp32 Arduino supported, and various 
ARM-based MCUs supported by OpenMRN.

-- 
Robert Heller             -- 978-544-6933
Deepwoods Software        -- Custom Software Services
http://www.deepsoft.com/  -- Linux Administration Services
[email protected]       -- Webhosting Services
                                              

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/20190729134448.1511526C0166%40sharky3.deepsoft.com.

Reply via email to