How does embedded linux boot up differ from traditional system?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

How does embedded linux boot up differ from traditional system?

跳至解决方案
1,179 次查看
anaseem
Contributor IV

In a typical embedded system entire application code runs from flash memory.  What about embedded system running embedded Linux?

When NXP MCIMX8QXP-CPU evaluation board running Android distribution boots from SD card, it looks like entire application code, kernel, Read only variables, read/write variables, boot code are copied from SD card to DRAM and code execution occurs on DRAM.  Is that correct?  If correct, why?  Why doesn't embedded Linux based system run from non-volatile memory like SD card or flash?

I say this because when I look at the log in PC console, it tells me about 1.7GB of 3GB is available.  This means about 1.3GB is used.  And this 1.3GB is used by kernel code, rwdata, rodata, init, bss, etc. 

3GB is size of DRAM.  This means code execution is occurring in DRAM.

标记 (1)
1 解答
1,069 次查看
gusarambula
NXP TechSupport
NXP TechSupport

Hello Amer Naseem,

The kernel and required libraries are loaded on DRAM. I don’t think the Linux Kernel had support to run from non-volatile memory up until very lately and these versions are not available on the BSP Releases for the i.MX Processors.

You could have a very small kernel if you wished to limit the DRAM use. However, Android and other graphically intensive distributions do require large amounts of RAM.

I hope this helps!

Regards,

在原帖中查看解决方案

1 回复
1,070 次查看
gusarambula
NXP TechSupport
NXP TechSupport

Hello Amer Naseem,

The kernel and required libraries are loaded on DRAM. I don’t think the Linux Kernel had support to run from non-volatile memory up until very lately and these versions are not available on the BSP Releases for the i.MX Processors.

You could have a very small kernel if you wished to limit the DRAM use. However, Android and other graphically intensive distributions do require large amounts of RAM.

I hope this helps!

Regards,