高端內(nèi)存是Linux中一個重要的概念,初涉Linux時曾經(jīng)對這個概念非常迷惑。實際上這個概念比較簡單,理解這個概念,需要追溯一下Linux的內(nèi)存管理。
從前,CPU的地址總線只有32位,再早的就不再追溯了。32的地址總線無論是從邏輯上還是從物理上都只能描述4G的地址空間,在物理上理論上最多擁有4G內(nèi)存(除了IO地址空間,實際內(nèi)存容量小于4G),邏輯空間也只能描述4G的線性地址空間。為了合理的利用4G空間,Linux采用了3:1的策略,即內(nèi)核占用1G的線性地址空間,用戶占用3G的線性地址空間。所以用戶進程的地址范圍從0~3G,內(nèi)核地址范圍從3G~4G,也就是說,內(nèi)核空間只能管理1G的內(nèi)存。
對于如此緊張的線性地址資源,內(nèi)核空間與用戶空間的肆意瓜分,導(dǎo)致了內(nèi)存管理上的問題:當(dāng)物理內(nèi)存大于1G時,內(nèi)核線性地址空間小于實際的物理內(nèi)存容量,內(nèi)核如何實現(xiàn)對大于1G內(nèi)存的管理呢?說到這里,需要提一下內(nèi)核空間對內(nèi)存的管理方法。一方面為了提高內(nèi)核空間對內(nèi)存的管理效率;另一方面,為了簡化內(nèi)核空間對內(nèi)存的管理方法,內(nèi)核采用線性映射的方法實現(xiàn)對內(nèi)存的管理,從Linux實現(xiàn)的方法來看,物理地址與內(nèi)核的虛擬地址只差一個偏移量。所以,當(dāng)物理內(nèi)存大于1G時,物理內(nèi)存無法全部映射到內(nèi)核線性地址空間,這就產(chǎn)生了上述問題。
從上述描述可以看出,地址空間大于1G的內(nèi)存區(qū)域稱之為高端內(nèi)存,同理,小于1G的內(nèi)存區(qū)域稱之為低端內(nèi)存。高端內(nèi)存的管理需要進行非線性映射,為此,在內(nèi)核線性地址空間預(yù)留了128M的空間,位于線性地址空間的高端。如今,CPU的地址總線都擴大到64位了,線性地址資源非常豐富,所以,可以給內(nèi)核空間預(yù)留足夠的線性地址資源,在最近一段時間內(nèi),內(nèi)核線性地址資源與物理內(nèi)存容量之間的矛盾將不再突出,高端內(nèi)存的概念也就在64位CPU上消失了。
原先一直都對Linux高端內(nèi)存的管理認識模模糊糊的,可能主要是初次接觸linux kernel 是0.11版吧,當(dāng)初的內(nèi)存設(shè)計是16M,Linus對擁有32M的內(nèi)存都是覬覦萬分,1G內(nèi)存恐怕是天方夜譚了。16M內(nèi)存哪里還顧得上高端內(nèi)存,腦子就一直沒有這種概念。先我們還是來看看為什么要有高端內(nèi)存?
80386的線性尋址空間是4G,內(nèi)核空間從3G開始,如果全部采用"線性映射"(物理地址和邏輯地址只差一個常量 PAGE_OFFSET ),最多管理1G物理內(nèi)存,也就是1G的物理內(nèi)存挨著挨著對應(yīng)的是虛擬地址的3G到4G的位置。你想想如果多于1G的內(nèi)存,我們用什么線性地址來裝下這些多出的地址呢? 我朋友的機器有2G,據(jù)說玩游戲巨爽(AMD64300+).顯然如果線性映射我的朋友就會浪費1G內(nèi)存.為了使內(nèi)核能夠訪問這些"高端內(nèi)存",內(nèi)核使用HighMem.做法是不將內(nèi)核1G的虛擬地址空間全部映射成物理內(nèi)存,而是預(yù)留一部分給高端內(nèi)存做臨時映射使用.
其實內(nèi)核不僅僅預(yù)留了highmem的地址空間,還給fixmap,vmalloc預(yù)留了虛存空間.實際上,系統(tǒng)初始化的時候預(yù)留128M虛存,896M用于"直接"映射物理內(nèi)存。下面我們先貼上一幅圖,摘自《understand linux kernel 》
畢竟意淫是很考大家的空間想象能力的,所以我們還是依照圖片來看圖說話:
高端內(nèi)存映射有三種方式:
1、映射到“內(nèi)核動態(tài)映射空間”
這種方式很簡單,因為通過 vmalloc() ,在"內(nèi)核動態(tài)映射空間"(上圖的VMALLOC_START到VMALLOC_END)申請內(nèi)存的時候,就可能從高端內(nèi)存獲得頁面(參看 vmalloc 的實現(xiàn)),因此說高端內(nèi)存有可能映射到"內(nèi)核動態(tài)映射空間" 中。
2、永久內(nèi)核映射
如果是通過 alloc_page() 獲得了高端內(nèi)存對應(yīng)的 page,如何給它找個線性空間?
內(nèi)核專門為此留出一塊線性空間,從 PKMAP_BASE 到 FIXADDR_START (上圖的倒數(shù)第二塊區(qū)域),用于映射高端內(nèi)存。在 2.4 內(nèi)核上,這個地址范圍是 4G-8M 到 4G-4M 之間。這個空間起叫“內(nèi)核永久映射空間”或者“永久內(nèi)核映射空間”。
這個空間和其它空間使用同樣的頁目錄表,對于內(nèi)核來說,就是 swapper_pg_dir,對普通進程來說,通過 CR3 寄存器指向。
通常情況下,這個空間是 4M 大小,因此僅僅需要一個頁表即可,內(nèi)核通過來 pkmap_page_table 尋找這個頁表。通過 kmap(), 可以把一個 page 映射到這個空間來。由于這個空間是 4M 大小,最多能同時映射 1024 個 page。因此,對于不使用的的 page,及應(yīng)該時從這個空間釋放掉(也就是解除映射關(guān)系),通過 kunmap() ,可以把一個 page 對應(yīng)的線性地址從這個空間釋放出來。
3、臨時映射
內(nèi)核在 FIXADDR_START 到 FIXADDR_TOP 之間保留了一些線性空間用于特殊需求。這個空間稱為“固定映射空間”
在這個空間中,有一部分用于高端內(nèi)存的臨時映射。
這塊空間具有如下特點:
1、每個 CPU 占用一塊空間
2、在每個 CPU 占用的那塊空間中,又分為多個小空間,每個小空間大小是 1 個 page,每個小空間用于一個目的,這些目的定義在 kmap_types.h 中的 km_type 中。
當(dāng)要進行一次臨時映射的時候,需要指定映射的目的,根據(jù)映射目的,可以找到對應(yīng)的小空間,然后把這個空間的地址作為映射地址。這意味著一次臨時映射會導(dǎo)致以前的映射被覆蓋.通過 kmap_atomic() 可實現(xiàn)臨時映射。
想學(xué)習(xí)的你和我聯(lián)系預(yù)約就可以免費聽課了。
以下課程可免費試聽C語言、電子、PCB、STM32、Linux、FPGA、JAVA、安卓等。
宋工企鵝號:3524-6590-88 Tel/WX:173--1795--1908
通俗易懂!高手帶你理解嵌入式Linux中高端內(nèi)存與低端內(nèi)存
相關(guān)推薦
5G最通俗易懂的解釋
5G最通俗易懂的解釋,縮略語中英文全稱3GPP3rd Generation Partnership Project第三代合作伙伴計劃5GC5G Core Network5G核心網(wǎng)AAUActive Anten...
2021-07-27 07:09:03
Linux作為嵌入式操作系統(tǒng)的優(yōu)勢是什么?如何建立嵌入式Linux?
Linux作為嵌入式操作系統(tǒng)的優(yōu)勢是什么如何建立嵌入式Linux?當(dāng)前流行的幾種嵌入式Linux系統(tǒng)
2021-04-27 06:34:40
嵌入式Linux
,但這種努力將是白費。現(xiàn)在需要的是一個便宜、成熟并且提供高端嵌入式系統(tǒng)所必須特性的操作系統(tǒng),嵌入式Linux操作系統(tǒng)以價格低廉、功能強大又易于移植而正在被廣泛采用,成為新興的力量,所以,眾多商家紛紛轉(zhuǎn)向
2016-05-13 14:42:44
嵌入式Linux內(nèi)存管理的知識
這個內(nèi)存管理的知識點還真的需要我們專門的去理解一下,今天大家一起來學(xué)習(xí)學(xué)習(xí)嵌入式Linux內(nèi)存管理的知識。
2021-02-03 06:30:19
嵌入式Linux內(nèi)存管理知識點
這個內(nèi)存管理的知識點還真的需要我們專門的去理解一下,今天大家一起來學(xué)習(xí)學(xué)習(xí)嵌入式Linux內(nèi)存管理的知識。
2021-03-04 06:22:50
嵌入式Linux應(yīng)用開發(fā)詳解 光盤
所有實例的完整代碼,讀者可以作為學(xué)習(xí)和研究之用。全書涵蓋了嵌入式Linux下應(yīng)用開發(fā)的各個方面,實用性高,針對性強。 本書內(nèi)容豐富,圖文并茂,語言流暢,通俗易懂,可操作性強。本書既可作為各高等院校有關(guān)嵌入式Linux專業(yè)的教學(xué)用書,也可供在嵌入式Linux平臺下進行應(yīng)用開發(fā)的廣大工作人員學(xué)習(xí)和參考 `
2013-06-02 10:26:46
嵌入式Linux驅(qū)動開發(fā)之DDR內(nèi)存介紹
嵌入式Linux驅(qū)動開發(fā)(一)DDR內(nèi)存DDRUARTI2CSPIDDR內(nèi)存RAM: 隨機存儲器,可以隨時進行讀寫操作,速度很快,掉電以后數(shù)據(jù)會丟失。比如內(nèi)存條、 SRAM、 SDRAM、 DDR
2021-12-16 07:10:10
嵌入式linux入門學(xué)習(xí)書籍推薦
,由淺入深地講解,使讀者最終可以配置、移植、裁剪內(nèi)核,編寫驅(qū)動程序,移植gui系統(tǒng),掌握整個嵌入式linux系統(tǒng)的開發(fā)方法。這本書是韋東山寫的。配套這本書有一個開發(fā)板的視頻。講的很好。 第三:《深入理解
2015-10-08 09:17:16
嵌入式linux入門學(xué)習(xí)書籍推薦
系統(tǒng),掌握整個嵌入式linux系統(tǒng)的開發(fā)方法。這本書是韋東山寫的。配套這本書有一個開發(fā)板的視頻。講的很好。 第三:《深入理解Linux內(nèi)核》 簡稱ULK,相比于LKD的內(nèi)容不夠深入、覆蓋面不廣
2015-10-18 10:13:53
嵌入式Web訪問時的內(nèi)存丟失的問題怎么解決?
嵌入式Web在系統(tǒng)中的應(yīng)用是什么嵌入式Web訪問時的內(nèi)存丟失的問題怎么解決?
2021-04-28 06:28:09
嵌入式arm學(xué)習(xí)開發(fā)的要點
學(xué)習(xí)嵌入式linux必不可少的秘密武器資料有應(yīng)用領(lǐng)域,編輯工具,編輯環(huán)境,典型應(yīng)用等重點知識及案例來通俗易懂的講解,開發(fā)學(xué)習(xí)的要點,讓你一學(xué)就會。
2018-05-17 13:22:26
嵌入式從哪里入手?
,成本等等有嚴(yán)格要求的一個計算機系統(tǒng)。看起來是很復(fù)雜的,其實我們來總結(jié)一下就是兩點: 第一,嵌入式系統(tǒng)是一個計算機系統(tǒng) 第二,嵌入式系統(tǒng)是針對某個應(yīng)用的,也就是通常所說的“專用的”。 其實再說的通俗易懂點
2022-11-22 17:03:46
嵌入式名詞簡單的理解和定義
呢?當(dāng)然是。只不過呢,我們現(xiàn)在把它看成一個低端的嵌入式系統(tǒng)。通常我們所說的嵌入式系統(tǒng)是指什么呢?指像“ARM+LINUX”這樣結(jié)構(gòu)的系統(tǒng)。 低端的單片機系統(tǒng)和高端的ARM+LINUX這種結(jié)構(gòu)有
2013-10-29 09:59:03
嵌入式基礎(chǔ)名詞介紹
通常我們都有這么一個模糊的概念,我以前做單片機,單片機是不是嵌入式系統(tǒng)呢?當(dāng)然是。只不過呢,我們現(xiàn)在把它看成一個低端的嵌入式系統(tǒng)。通常我們所說的嵌入式系統(tǒng)是指什么呢?指像“ARM+LINUX”這樣
2020-05-21 22:55:50
嵌入式學(xué)習(xí)-嵌入式名詞
,我以前做單片機,單片機是不是嵌入式系統(tǒng)呢?當(dāng)然是。只不過呢,我們現(xiàn)在把它看成一個低端的嵌入式系統(tǒng)。通常我們所說的嵌入式系統(tǒng)是指什么呢?指像“ARM+LINUX”這樣結(jié)構(gòu)的系統(tǒng)。 低端的單片機系統(tǒng)和高端
2016-07-01 14:51:06
嵌入式學(xué)習(xí)分析
我對嵌入式概念名詞簡單的理解通常我們都有這么一個模糊的概念,我以前做單片機,單片機是不是嵌入式系統(tǒng)呢?嵌入式系統(tǒng)是指什么呢?指像“ARM+LINUX”這樣結(jié)構(gòu)的系統(tǒng)。 低端的單片機系統(tǒng)和高端
2021-05-13 10:28:49
嵌入式新手應(yīng)該怎么學(xué)?
的”。 其實再說的通俗易懂點就是針對某個應(yīng)用的計算機系統(tǒng)!這樣的話就很好理解了。 那么重點來了,那就是要學(xué)什么,對于嵌入式來說,不要覺得他學(xué)很多東西,你就會沒有目的的學(xué)這學(xué)那的,這樣只會讓自己更加迷茫,不知道
2023-09-08 10:22:20
嵌入式概念
我對嵌入式概念名詞簡單的理解通常我們都有這么一個模糊的概念,我以前做單片機,單片機是不是嵌入式系統(tǒng)呢?嵌入式系統(tǒng)是指什么呢?指像“ARM+LINUX”這樣結(jié)構(gòu)的系統(tǒng)。 低端的單片機系統(tǒng)和高端
2021-05-05 16:57:11
嵌入式程序為什么不能用堆內(nèi)存
關(guān)于單片機使用mallco函數(shù)的問題:(malloc()到底從哪里得到了內(nèi)存空間?答案是從堆里面獲得空間。因此樓主請檢查是否分配了heap空間以及heap是否足夠大。)1、嵌入式程序為什么不能用堆
2022-01-27 07:39:21
嵌入式系統(tǒng)內(nèi)存優(yōu)化使用
響應(yīng)運行。并且經(jīng)過實踐證明,嵌入式系統(tǒng)內(nèi)存優(yōu)化使用,能夠提升系統(tǒng)空間5%內(nèi)存,確保系統(tǒng)順利運行。【關(guān)鍵詞】 嵌入式 Linux系統(tǒng) 內(nèi)存優(yōu)化 使用方法研究現(xiàn)如今,嵌入式系統(tǒng)軟件被廣泛應(yīng)用于各行...
2021-11-04 06:23:46
嵌入式系統(tǒng)內(nèi)存管理
本帖最后由 VVX 于 2016-9-18 13:15 編輯
1、概述操作系統(tǒng)的內(nèi)存管理功能用于向操作系統(tǒng)提供一致的地址映射功能和內(nèi)存頁面的申請、釋放操作。在嵌入式實時系統(tǒng)中,內(nèi)存管理根據(jù)
2016-09-17 19:40:05
帶你走進嵌入式ARM MMU神秘的內(nèi)部世界
table的信盈達嵌入式企鵝要妖氣嗚嗚吧就零久要。但在linux內(nèi)核啟動的初始化階段,臨時建立頁表(initial page tables)以供linux內(nèi)核初始化提供執(zhí)行環(huán)境,這時L1的頁表項使用的就是
2017-08-22 11:22:34
通俗易懂之電子稱開發(fā)導(dǎo)航篇
通俗易懂之電子稱開發(fā)立項篇https://bbs.elecfans.com/jishu_919726_1_1.html通俗易懂之電子稱開發(fā)硬件篇https://bbs.elecfans.com
2016-07-18 21:22:53
通俗易懂之電子稱開發(fā)硬件篇
本帖最后由 hobbye501 于 2016-7-18 20:52 編輯
通俗易懂之電子稱開發(fā)硬件篇:即前篇之后,按照我們一貫的開發(fā)流程,顯示硬件,后是軟件,最后連調(diào)綜合實驗。下面我們先重點講
2016-07-18 20:45:13
通俗易懂之電子稱開發(fā)立項篇
本帖最后由 hobbye501 于 2016-7-18 20:40 編輯
通俗易懂之電子稱開發(fā)立項篇:就是說我們要開發(fā)一個項目的前期功能與選型,功能: 1.實時稱重并顯示; 2.限位控制
2016-07-18 20:34:38
通俗易懂之電子稱開發(fā)軟件篇
通俗易懂之電子稱開發(fā)軟件篇 :程序才是一個項目的靈魂,就像心于人一樣。。。前兩篇鏈接:通俗易懂之電子稱開發(fā)立項篇https://bbs.elecfans.com
2016-07-18 21:05:21
通俗易懂之電子稱綜合演示篇
通俗易懂之電子稱綜合演示篇:前幾篇鏈接如下:通俗易懂之電子稱開發(fā)立項篇https://bbs.elecfans.com/jishu_919726_1_1.html通俗易懂之電子稱開發(fā)硬件篇https
2016-07-18 21:17:55
通俗易懂的PID教程
本帖最后由 Calvin248 于 2013-5-5 15:31 編輯
幫助大家更好的理解PID算法,講解的很通俗易懂,并且附有程序,幫助大家理解掌握!
2013-05-05 15:30:29
通俗易懂系列整合—電源基礎(chǔ)知識講解
之前發(fā)表了六篇用通俗易懂的話講解電源知識的文章,分別是關(guān)于三極管、電阻、電容、電感、二極管和場效應(yīng)管的講解。怕想學(xué)習(xí)的壇友找不到內(nèi)容,所以這邊整合一下,給大家分享文章的鏈接。用通俗易懂的話讓你明白
2016-02-17 09:43:07
ARM嵌入式Linux系統(tǒng)開發(fā)從入門到精通
`編輯推薦 Linux是一個成熟而穩(wěn)定的開放源代碼操作系統(tǒng),將Linux植入嵌入式設(shè)備具有眾多的優(yōu)點。 《ARM嵌入式Linux系統(tǒng)開發(fā)從入門到精通》通俗易懂,可作為高等院校電子類、電氣類、控制
2017-10-31 13:36:35
ARM嵌入式Linux系統(tǒng)開發(fā)詳解
“Linux典藏大系”自2010年陸續(xù)出版以來,因其內(nèi)容豐富、講解細膩、通俗易懂和實用性強等特色而深受廣大讀者的喜愛,2014年2月“Linux典藏大系“全新升級版(第2版)正式出版,第2版圖書迎合
2018-09-14 08:57:17
C語言內(nèi)存分配-通俗理解
最近很多同學(xué)希望了解C語言的內(nèi)存分配,雖然可以在互聯(lián)網(wǎng)上找到諸多的講解,但是你會發(fā)現(xiàn)要么不通俗易懂,要么不算太全面。而這些對于新手而言,又絕對會把你弄得暈頭轉(zhuǎn)向的,所以在此對網(wǎng)上和書本上的諸般講解
2016-10-08 14:57:24
FPGA通俗易懂入門書籍教程
書籍內(nèi)容通俗易懂,推薦大家下載學(xué)習(xí)!內(nèi)容太大,打包4個壓縮包。內(nèi)容包括:1 AD采集 2 FIR濾波器設(shè)計3 信號發(fā)生器4 VGA...............等十多個案例分析。
2018-11-15 10:51:04
RTOS和Linux中的內(nèi)存映射及移植方法
映射到相應(yīng)得用戶空間去。同樣重要的是,在I/O調(diào)用密集的嵌入式程序中怎么樣把RTOS的硬件接口代碼移植到更加規(guī)范的Linux設(shè)備驅(qū)動程序中去。 本文把概述幾種常用的經(jīng)常出現(xiàn)于現(xiàn)有嵌入式應(yīng)用中的內(nèi)存映射I
2019-07-03 07:43:06
stm32移植linux方法
stm32移植linux方法,推薦分享一個朋友的人工智能教程,零基礎(chǔ)!通俗易懂!希望你也加入到人工智能的隊伍中來!Ⅰ、概述該文寫針對初學(xué)μC/OS的朋友,基于以下平臺來一步一步移植μC/OS嵌入式操作系統(tǒng)。UCOS移植相關(guān)平臺:系統(tǒng)平臺:μC/OS-II(最新V2.92版)硬件平臺:STM3...
2021-08-09 09:17:59
【高手問答】12—韋東山老師VS嵌入式LINUX應(yīng)用開發(fā)完全手冊
—韋東山老師VS嵌入式LINUX應(yīng)用開發(fā)完全手冊【高手問答】11——與張飛老師一起成為硬件電路設(shè)計的expert【高手問答】第10期—宋雪松老師l手把手教你學(xué)51單片機【高手問答】第9期——張工帶你
2014-09-15 09:58:29
【下載】《ARM9 嵌入式系統(tǒng)設(shè)計與開發(fā)教程》
`編輯推薦 本書以ARM920T微處理器為硬件平臺,結(jié)合Linux操作系統(tǒng),詳細介紹了嵌入式應(yīng)用系統(tǒng)的設(shè)計、調(diào)試方法,以及嵌入式驅(qū)動程序開發(fā)。全書內(nèi)容豐富,語言通俗易懂,具有很強的可讀性。內(nèi)容簡介
2017-12-25 17:33:32
為什么要選擇嵌入式內(nèi)存數(shù)據(jù)庫引擎?
嵌入式內(nèi)存數(shù)據(jù)庫技術(shù)發(fā)展的現(xiàn)狀內(nèi)存數(shù)據(jù)庫的定義內(nèi)存數(shù)據(jù)庫的特點面向3G平臺嵌入式內(nèi)存數(shù)據(jù)庫引擎的設(shè)計
2021-04-27 07:08:12
什么是嵌入式Linux?
,這些都進一步促進了Linux在嵌入式系統(tǒng)中的應(yīng)用。2、內(nèi)核高效穩(wěn)定Linux內(nèi)核的高效和穩(wěn)定已經(jīng)在各個領(lǐng)域內(nèi)得到了大量事實的驗證,Linux的內(nèi)核設(shè)計非常精巧,分成進程調(diào)度、內(nèi)存管理、進程間通信
2015-01-23 11:59:01
什么是嵌入式操作系統(tǒng)內(nèi)存管理技術(shù)?
收內(nèi)存。智能手機操作系統(tǒng)作為嵌入式操作系統(tǒng)的一種,較之普通桌面型操作系統(tǒng),其內(nèi)存管理有著獨特之處:受硬件成本、設(shè)備體積等因素制約,內(nèi)存容量一般相當(dāng)有限,需要高效地使用;電源管理尤為重要,一次充電要保證數(shù)
2019-07-30 07:19:11
什么是嵌入式系統(tǒng)?深嵌入式系統(tǒng)又是什么
物聯(lián)網(wǎng)中“事物”的定義差異很大。我們將事務(wù)定義為通過網(wǎng)絡(luò)發(fā)送和接收信息的嵌入式計算設(shè)備(或嵌入式系統(tǒng))。什么是嵌入式系統(tǒng)?嵌入式系統(tǒng)基于微控制器(MCU),并運行占用內(nèi)存少的軟件。某些基于Linux
2021-12-21 06:48:10
從樹莓派帶你掌握嵌入式linux產(chǎn)品實戰(zhàn)開發(fā)
從樹莓派帶你掌握嵌入式linux產(chǎn)品實戰(zhàn)開發(fā)–什么是嵌入式linux(二)作者:伍俊偉 本文非作者授權(quán),,這個問題你真的答得出來嗎?但絕大多數(shù)人耳熟能詳。嵌入式產(chǎn)品是軟件硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)
2021-11-04 06:21:04
使用go開發(fā)嵌入式linux
經(jīng)一段時間的實戰(zhàn),使用go開發(fā)嵌入式linux完全沒問題。使用高級語言開發(fā)嵌入式,是一種享受!( 注:是嵌入式linux,而非內(nèi)存和空間都很吃緊的嵌入式其他系統(tǒng)。)速度,穩(wěn)定性及開發(fā)效率都是最高
2021-11-04 09:07:17
使用memtester工具對嵌入式Linux內(nèi)存壓力進行測試
使用memtester工具對嵌入式Linux內(nèi)存壓力測試新的改變Memtest工具工具編譯與使用使用命令使用格式測試新的改變內(nèi)存是電子計算機的最重要組成要素之一。 與內(nèi)存對應(yīng)的就是外存,如硬盤、外部
2021-12-15 06:29:25
共享嵌入式開發(fā)資料
://www.embedu.org/xuexi/C語言入門視頻教程女聲完整版,聲音甜美、代碼瀟灑、通俗易懂! 嵌入式入門經(jīng)典并且不收費呦! 詳情鏈接:http://www.embedu.org/C/嵌入式、安卓軟件開發(fā)群 177836540,還有好多上傳的嵌入式開發(fā)資料,需要的下載吧
2015-12-28 14:19:42
在嵌入式系統(tǒng)中怎樣對內(nèi)存進行分配?
嵌入式系統(tǒng)中對內(nèi)存分配有什么要求?靜態(tài)分配與動態(tài)分配有何不同?一次分配多次使用的內(nèi)存分配方案有什么特點?
2021-04-27 06:01:50
如何使用嵌入式的內(nèi)存分配管理技術(shù)
嵌入式---內(nèi)存分配管理嵌入式的內(nèi)存一般都非常的小,最進在學(xué)習(xí)LWIP協(xié)議棧的移植,在正點原子的學(xué)習(xí)資料中找到了許多關(guān)于怎么移植協(xié)議棧的東西,其中使用到了內(nèi)存的分配管理技術(shù),能夠高效的管理和使用內(nèi)存
2021-12-17 06:41:46
如何學(xué)習(xí)嵌入式linux?學(xué)習(xí)嵌入式linux有什么技術(shù)門檻嗎?
如何學(xué)習(xí)嵌入式linux?學(xué)習(xí)嵌入式linux有什么技術(shù)門檻嗎?
2021-10-20 07:23:59
怎么設(shè)計嵌入式系統(tǒng)的內(nèi)存管理
系列文章:一篇講透嵌入式操作系統(tǒng)任務(wù)調(diào)度從需求反推設(shè)計方案,假如讓你設(shè)計嵌入式系統(tǒng)的內(nèi)存管理,你怎么設(shè)計?最簡單的,用一個雙鏈表控制,所有已分配和未分配的內(nèi)存用兩個雙鏈表標(biāo)識:...
2021-12-17 06:54:55
我對嵌入式一些概念名詞的理解。
通常我們都有這么一個模糊的概念,我以前做單片機,單片機是不是嵌入式系統(tǒng)呢?嵌入式系統(tǒng)是指什么呢?指像“ARM+LINUX”這樣結(jié)構(gòu)的系統(tǒng)。 低端的單片機系統(tǒng)和高端的ARM+LINUX這種結(jié)構(gòu)有
2021-05-31 09:48:39
樹莓派帶你掌握嵌入式linux產(chǎn)品實戰(zhàn)開發(fā)
從樹莓派帶你掌握嵌入式linux產(chǎn)品實戰(zhàn)開發(fā)–我們實戰(zhàn)開發(fā)的paipai one設(shè)備介紹附原理圖(三)本文非作者授權(quán),禁止轉(zhuǎn)載2020年8月5日文章目錄從樹莓派帶你掌握嵌入式linux產(chǎn)品實戰(zhàn)開發(fā)
2021-11-05 06:39:12
求一本通俗易懂的led電源驅(qū)動設(shè)計的書籍,包含PCB設(shè)計
[size=17.1429px]現(xiàn)在想學(xué)一下LED驅(qū)動電源,哪本書比較好呢?上周日去書店看了下,相關(guān)的書不多,且很多講的很高深,看不懂。因本人基礎(chǔ)不是特別好,想找一本通俗易懂的。我曾經(jīng)買過一本單片機
2016-04-01 13:00:19
求大神推薦一本通俗易懂的led電源設(shè)計的書籍,包含PCB設(shè)計
[size=17.1429px]現(xiàn)在想學(xué)一下LED驅(qū)動電源,哪本書比較好呢?上周日去書店看了下,相關(guān)的書不多,且很多講的很高深,看不懂。因本人基礎(chǔ)不是特別好,想找一本通俗易懂的。我曾經(jīng)買過一本單片機
2016-04-01 13:02:20
用最基礎(chǔ)的繼電器通俗易懂地講解門電路
【轉(zhuǎn)載理由:用最基礎(chǔ)的繼電器通俗易懂地講解門電路,對于理解CPU的與非或等門電路、觸發(fā)器和寄存器有很大幫助】PS:很久之前看的文章了,現(xiàn)在翻出來看看,對于門電路理解很有裨益,也是CPU設(shè)計的基礎(chǔ)閱讀
2021-07-30 06:42:43
請問c++入門用哪本書比較通俗易懂啊?
請問c++入門用哪本書比較通俗易懂啊?本人c語言入門用的譚浩強的,后來發(fā)現(xiàn)編程不規(guī)范,又去看的c程序設(shè)計。
2018-03-24 22:51:14
請問如何成為嵌入式高手?
成為嵌入式高手的技能清單和升級線路圖第一部分:Linux平臺搭建與環(huán)境熟悉了解linux系統(tǒng);區(qū)分各種版本的Linux系統(tǒng),以便于拓展 Linux視野。1、Linux 簡介;2、Linux 系統(tǒng)
2020-08-30 11:28:25
誰能通俗易懂的講下這些協(xié)議有哪些特點?
誰能通俗易懂的講下這些協(xié)議有哪些特點?RS485 232422MODBUS 藍牙 ZIGBEE紅外 以太網(wǎng)TCP/IPHART 串口MPIUARTCANBUS profibus ASI PPIUDP、S7、profibus、pofinet ,,,等等 歡迎補充
2018-05-31 11:11:40
ARM嵌入式入門級教程
ARM嵌入式入門級教程
本書由淺入深、通俗易懂地講解了嵌入式Linux的系統(tǒng)設(shè)計與開發(fā)。全書共25章,從嵌入式處理器ARM開始,講解了ARM處理器的資源、ARM的指令
2010-03-09 14:39:21
141

通俗易懂的《路由和交換》
通俗易懂的《路由和交換》
路由和交換是網(wǎng)絡(luò)世界中兩個重要的概念。傳統(tǒng)的交換發(fā)生在網(wǎng)絡(luò)的第二層,即數(shù)據(jù)鏈路層,而路由則發(fā)
2009-08-01 10:39:41
863

2009年筆記本技術(shù)發(fā)展回顧(通俗易懂)
2009年筆記本技術(shù)發(fā)展回顧(通俗易懂)
· 導(dǎo)語
2010年,您是否有購買筆記本的計劃?作為一款對多數(shù)人來說都價格不
2010-02-04 15:55:28
472

區(qū)塊鏈最通俗易懂的闡述
區(qū)塊鏈如何運作的? 下面這篇文翻譯自How Does the Blockchain Work?全文。作者Michele DAliessi用通俗易懂的文字闡述了區(qū)塊鏈(Blockchain
2017-12-22 16:37:52
3946


怎樣通俗易懂地解釋貝葉斯網(wǎng)絡(luò)和它的應(yīng)用?
怎樣通俗易懂地解釋貝葉斯網(wǎng)絡(luò)和它的應(yīng)用?詳情請看下文。貝葉斯網(wǎng)絡(luò)是一個用嚴(yán)格的數(shù)學(xué)方法來模擬一個世界的方法,是靈活的,適應(yīng)于任何你擁有的知識程度的方法,同時也是計算效率的方法。
2018-02-02 16:09:16
3937


嵌入式Linux內(nèi)存管理的知識匯總
這個內(nèi)存管理的知識點還真的需要我們專門的去理解一下,今天大家一起來學(xué)習(xí)學(xué)習(xí)嵌入式Linux內(nèi)存管理的知識。 1.不涉及linux內(nèi)核的匯編知識,僅C語言層面解析 1.回答:匯編主要處理的是寄存器地址
2018-04-09 05:58:00
887


通俗易懂的講解FFT的讓你快速了解FFT
相信網(wǎng)上現(xiàn)在有很多關(guān)于FFT的教程,我曾經(jīng)也參閱了很多網(wǎng)上的教程,感覺都不怎么通俗易懂。在基本上的研究FFT,并且通過編程的形式實現(xiàn)之后。我決定寫一篇通俗易懂的關(guān)于FFT的講解。因此我在接下來的敘述中盡量非常通俗細致的講解。
2019-03-24 11:52:25
34610


通俗易懂的無源濾波器的時域和頻域特性
近期看了一些無源濾波器的資料,其中Robert Keim寫的文章通俗易懂,讓我們一起來看看處理EMC問題中最常用的手段-RC濾波。
2019-07-19 09:55:40
15222


高手進階SDR的SDRAM內(nèi)存原理
高手進階SDR的SDRAM內(nèi)存原理(c++嵌入式開發(fā)linux)-作為電腦中必不可少的三大件之一(其余的兩個是主板與CPU),內(nèi)存是決定系統(tǒng)性能的關(guān)鍵設(shè)備之一,它就像一個臨時的倉庫,負責(zé)數(shù)據(jù)的中轉(zhuǎn)
2021-08-04 13:21:06
16

嵌入式系統(tǒng)的內(nèi)存指針操作
在嵌入式系統(tǒng)中,對內(nèi)存地址的操作是一個重要的方面,從廣義上講,嵌入式系統(tǒng)的地址空間可以分成以下三種類型: 系統(tǒng)的內(nèi)存 處理器內(nèi)部的寄存器映射 處理器外部部件的內(nèi)存映射 無論哪種內(nèi)存,一般都映射
2021-08-27 11:33:22
5781

嵌入式linux+io+優(yōu)化,嵌入式Linux系統(tǒng)內(nèi)存優(yōu)化使用方法研究
優(yōu)化進而確保響應(yīng)運行。并且經(jīng)過實踐證明,嵌入式系統(tǒng)內(nèi)存優(yōu)化使用,能夠提升系統(tǒng)空間5%內(nèi)存,確保系統(tǒng)順利運行。【關(guān)鍵詞】 嵌入式 Linux系統(tǒng) 內(nèi)存優(yōu)化 使用方法研究現(xiàn)如今,嵌入式系統(tǒng)軟件被廣泛應(yīng)用于各行...
2021-11-01 16:31:48
10

通俗易懂,嵌入式Linux驅(qū)動基礎(chǔ)
前言上一篇分享的:《從單片機工程師的角度看嵌入式Linux》中有簡單提到Linux的三大類驅(qū)動:我們學(xué)習(xí)編程的時候都會從hello程序開始。同樣的,學(xué)習(xí)Linux驅(qū)動我們也從最簡單的he...
2021-11-01 16:57:03
10

FFT原理通俗易懂的解釋
FFT原理通俗易懂的解釋? 傅里葉變換(Fourier Transform,簡稱FFT)是一個廣泛應(yīng)用的數(shù)學(xué)工具,它可以將一個連續(xù)或離散信號分解成一系列單一的正弦函數(shù),這些正弦函數(shù)名稱為頻率成分
2023-09-07 16:35:03
1405

如何通俗易懂地解釋卷積?
在本問題 如何通俗易懂地解釋卷積?中排名第一的馬同學(xué)在中舉了一個很好的例子(下面的一些圖摘自馬同學(xué)的文章,在此表示感謝),用丟骰子說明了卷積的應(yīng)用。
2023-12-26 17:36:24
118


評論