uclinux核心引數處理 3 mem

2021-04-24 15:40:52 字數 993 閱讀 3457

rev 0.1

快樂蝦

本文適用於

adi bf561 dsp

優視bf561evb

開發板

uclinux-2008r1.5-rc3 (smp patch)

visual dsp++ 5.0(update 5)

這是uclinux

最先處理的幾個核心引數之一,對它的處理由

parse_cmdline_early

函式完成,在此函式的注釋中,簡單說明了此引數的作用及其格式:

*- controlling the linux memory size: mem=***[kmg]

即它將用來控制核心可管理的記憶體大小,此大小可能比整個物理記憶體小,比如在典型的

bf561

的雙核應用中,一般的

uclinux使用a

核及一半的

sdram

,另一半交由

b核程式管理,此時就必須使用

mem引數。

看看檢測到

mem引數時的處理**片段:

……………

if (!memcmp(to, "mem=", 4)) else

if (!memcmp(to, "max_mem=", 8))

return ret; }

在得到正確的數字後,簡單地將此數字賦給

_ramend

這一全域性變數。

_ramend

用於指向核心可管理的記憶體的最後乙個位元組,在預設情況下,它將指向可用記憶體的末尾。

uclinux

核心引數處理

(1):引數接收

(2009-1-29)

uclinux

核心引數處理

(2):

parse_cmdline_early

(2009-1-29)

M0核心與M3核心比較

m3比m0效能更高,原因是 1 m0比m3少好多指令,m0只有56條指令,其中50條是16位的,因此好多m3一條指令就能完成的功能m0需要多條指令 2 m3的資料匯流排和指令匯流排是分開的,可以同時取指和取運算元,而m0取指和取運算元是同一條匯流排 m0相對於m3的優點是更小,所以 便宜。之所以用m...

M3 M4核心位繫結

ifndef bitband h define bitband h addr 0xf0000000 0x2000000 addr 0xfffff 32 bitnum 4 位帶別名基位址 位帶偏移位址 位帶別名偏移位址 位帶中位的偏移位址 把 位帶位址 位序號 轉換成別名位址的巨集 define bi...

關於核心引數的處理

今天無意中想到,我們在bootload中新增到核心中的引數是如何在核心中處理的 比如console ttys0 root dev nfs nfsroot opt nfsroot 等等 原來,這些引數是通過 setup與early param 來實現的 比如核心nfsroot.c中的 setup nf...