chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux中如何修改ddr的分配容量

jf_44130326 ? 來源:Linux1024 ? 2026-01-30 16:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在 U-Boot 中修改 DDR 容量通常涉及以下幾個步驟,尤其是在嵌入式系統(tǒng)中,當(dāng)更換或升級DDR內(nèi)存芯片后:

硬件配置更新:

如果你實際更換了物理DDR模塊以增大容量,首先要確保新的DDR模塊與SoC兼容,并且主板的電路設(shè)計能夠支持新內(nèi)存的規(guī)格。

2. 設(shè)備樹(Device Tree)調(diào)整:

對于基于Device Tree的Linux內(nèi)核系統(tǒng),需要在設(shè)備樹(DTS或DTB文件)中正確描述DDR內(nèi)存的大小和參數(shù)。這意味著要更新內(nèi)存節(jié)點中的大小信息和其他相關(guān)屬性,以便內(nèi)核能識別并使用全部的新內(nèi)存。

3. U-Boot 配置及編譯:

在U-Boot源代碼中,如果存在DDR初始化相關(guān)的代碼或者宏定義,需要檢查并根據(jù)實際情況修改這些配置,如DDR控制器的設(shè)置、時序參數(shù)等。

重新編譯U-Boot,確保它包含對更大容量DDR的支持。

4. 啟動參數(shù)調(diào)整:

在某些情況下,可能需要通過U-Boot環(huán)境變量來傳遞給內(nèi)核正確的內(nèi)存大小參數(shù),例如修改bootargs環(huán)境變量中的mem=部分來指定系統(tǒng)的總內(nèi)存大小。

5. 保存環(huán)境變量:

修改完啟動參數(shù)后,務(wù)必用saveenv命令將新的環(huán)境變量保存到非易失性存儲器中,比如SPI Flash上的環(huán)境變量分區(qū)。

以下介紹rk是如何修改DDR容量的:

開機時DDR初始化代碼會把DDR容量傳遞給U-Boot,U-Boot會去除一些安全內(nèi)存后再傳遞給內(nèi)核。用戶可以在U-Boot階段修改傳遞給內(nèi)核的DDR容量。 傳遞范例:

......// 傳遞給內(nèi)核的可用內(nèi)存塊(已去除安全內(nèi)存塊)。Adding bank: 0x00200000 - 0x08400000 (size: 0x08200000)Adding bank: 0x0a200000 - 0x40000000 (size: 0x35e00000)Total: 895.411 msStarting kernel ...[ 0.000000] Booting Linux on physical CPU 0x0

代碼位置:

arch/arm/mach-rockchip/param.c

修改位置:

struct memblock *param_parse_ddr_mem(int *out_count){......// 這里就是ddr傳遞給U-Boot的容量信息。// 因為可能出現(xiàn)不連續(xù)的地址,所以會分塊傳遞,分別指明各個內(nèi)存塊的起始地址和大小。// PS: 一般情況下都是連續(xù)內(nèi)存,不會需要分塊。for (i = 0, n = 0; i < count; i++, n++) {// 比如2GB容量(連續(xù)地址),則:count=1, base = 0,size = 0x80000000。// 用戶調(diào)試時可以在這里按需修改。base = t->u.ddr_mem.bank[i];size = t->u.ddr_mem.bank[i + count];/* 0~4GB */if (base < SZ_4GB) {mem[n].base = base;mem[n].size = ddr_mem_get_usable_size(base, size);if (base + size > SZ_4GB) {n++;mem[n].base_u64 = SZ_4GB;mem[n].size_u64 = base + size - SZ_4GB;}} else {/* 4GB+ */mem[n].base_u64 = base;mem[n].size_u64 = size;}assert(n < count + MEM_RESV_COUNT);}......}

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • DDR
    DDR
    +關(guān)注

    關(guān)注

    11

    文章

    750

    瀏覽量

    68828
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11701

    瀏覽量

    218681
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    9

    文章

    3194

    瀏覽量

    76274
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    【「Linux 設(shè)備驅(qū)動開發(fā)(第 2 版)」閱讀體驗】+讀深入理解Linux內(nèi)核內(nèi)存分配

    每個內(nèi)存地址是虛擬的,不是直接指向RAM的任何地址。當(dāng)用戶訪問內(nèi)存的存儲單元時,都會進行地址轉(zhuǎn)換以匹配相應(yīng)的物理內(nèi)存。書籍的第10章討論了五個主題,對Linux內(nèi)核內(nèi)存分配進行詳細
    發(fā)表于 01-16 20:05

    Hbirdv2移植到Nexys4 DDR和Nexys Video開發(fā)板

    的接口,添加訪問DDR接口等。在我們的項目中暫時只需要兩個uart接口,即GPIO的16、17位,為了避免在約束文件中分配過多接口,將system.v的頂層接口中的GPIO修改為以下
    發(fā)表于 10-31 07:26

    如何為蜂鳥添加DDR內(nèi)存擴展

    ,蜂鳥本身提供了外部存儲器的訪問接口,在e203_subsys_mems.v文件可以找到: 同時在這個源文件實現(xiàn)了一主多從的總線系統(tǒng),可以看到sysmem被分配到0x80000000到
    發(fā)表于 10-31 06:07

    DDR存儲拓展教程

    的MIG控制器,將DDR控制器的DDR通道引出到IO,并根據(jù)自己開發(fā)板的原理圖,完成DDR到FPGA IO bank的引腳分配和約束。 芯來科技的D
    發(fā)表于 10-28 07:25

    DDR200TDDR的使用與時序介紹

    SD卡和OV5640的數(shù)據(jù)搬運進DDR。 Setting Value Memory Type DDR3 SDRAM Max. clock period 3000ps Clock ratio 4
    發(fā)表于 10-28 07:24

    E203分享之DDR擴展方案實施流程(下)

    3下載程序,需要修改鏈接文件) 該擴展方案支持程序的下載方式兩種: (1)ILM下載方式,程序先下載到ITCM,溢出的部分則下載到DDR3里頭。 在鏈接文件gcc_hbirdv2_ilm.ld
    發(fā)表于 10-23 06:16

    DDR200TDDR3的使用配置

    蜂鳥DDR200TDDR3的ip配置案列,提供DDR3引腳配置。具體參數(shù)可更具項目實際更改。 這里選用的axi接口 在賽靈思的IP配置
    發(fā)表于 10-21 11:19

    如何利用 DDR 參數(shù)文件生成 Linux 映像?

    如何利用 DDR 參數(shù)文件生成 Linux 映像
    發(fā)表于 09-02 06:39

    AD設(shè)計DDR3時等長設(shè)計技巧

    的講解數(shù)據(jù)線等長設(shè)計。? ? ? 在另一個文件《AD設(shè)計DDR3時等長設(shè)計技巧-地址線T型等長》著重講解使用AD設(shè)計DDR地址線走線T型走線等長處理的方法和技巧。
    發(fā)表于 07-28 16:33 ?5次下載

    Linux系統(tǒng)查看及修改設(shè)備型號信息,觸覺智能RK3562開發(fā)板演示

    本文介紹Linux系統(tǒng)如何查看及修改設(shè)備型號信息的方法,適用于想查看設(shè)備型號信息或者想將設(shè)備型號信息修改為自己項目的名稱的情況。觸覺智能RK3562開發(fā)板演示。查看設(shè)備信息命令如下:cat/proc
    的頭像 發(fā)表于 06-19 15:58 ?949次閱讀
    <b class='flag-5'>Linux</b>系統(tǒng)查看及<b class='flag-5'>修改</b>設(shè)備型號信息,觸覺智能RK3562開發(fā)板演示

    Linux修改uboot啟動延時方法詳細攻略,觸覺智能RK3568開發(fā)板演示

    本文介紹Linux系統(tǒng)修改uboot啟動延時方法,使用觸覺智能EVB3568鴻蒙開發(fā)板演示,搭載瑞芯微RK3568,四核A55處理器,主頻2.0Ghz,1T算力NPU;支持開源鴻蒙
    的頭像 發(fā)表于 06-06 18:07 ?865次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>修改</b>uboot啟動延時方法詳細攻略,觸覺智能RK3568開發(fā)板演示

    DDR模塊的PCB設(shè)計要點

    在高速PCB設(shè)計DDR模塊是絕對繞不過去的一關(guān)。無論你用的是DDRDDR2還是DDR3,只要設(shè)計不規(guī)范,后果就是——信號反射、時序混亂
    的頭像 發(fā)表于 04-29 13:51 ?2667次閱讀
    <b class='flag-5'>DDR</b>模塊的PCB設(shè)計要點

    golang內(nèi)存分配

    以前 go 的堆地址空間是線性連續(xù)擴展的, 比如在 1.10(linux amd64), 最大可擴展到 512GB. 因為 go 在 gc 的時候會根據(jù)拿
    的頭像 發(fā)表于 03-31 15:00 ?461次閱讀
    golang內(nèi)存<b class='flag-5'>分配</b>

    RAM容量不足導(dǎo)致的數(shù)據(jù)溢出如何預(yù)防和處理?

    在 STM32F411 ,RAM 容量是有限的,特別是在進行復(fù)雜的數(shù)據(jù)處理和存儲時,可能會遇到數(shù)據(jù)溢出問題。數(shù)據(jù)溢出是指程序運行時,數(shù)據(jù)超出了 RAM 的分配區(qū)域,導(dǎo)致程序崩潰或數(shù)據(jù)丟失。STM32F411 的 RAM
    發(fā)表于 03-07 16:09

    linux修改cst時區(qū)

    Linux 系統(tǒng),可以通過以下步驟將時區(qū)修改為 CST(中國標(biāo)準(zhǔn)時間,GMT+8 或稱 Asia/Shanghai): 方法 1:通過?timedatectl?命令修改(適用于大
    的頭像 發(fā)表于 02-12 10:27 ?1255次閱讀