Firefly开源社区

[Linux] LibreELEC 系统内存

75

积分

0

威望

0

贡献

技术小白

积分
75
发表于 2018-4-21 22:20:41     
我买的是2G内存的版本为什么看到的系统内存是1G这个怎么调整
LibreELEC:/etc # free
             total       used       free     shared    buffers     cached
Mem:        947292     363652     583640      35672      44428     170232
-/+ buffers/cache:     148992     798300
Swap:            0          0          0
回复

使用道具 举报

75

积分

0

威望

0

贡献

技术小白

积分
75
发表于 2018-4-21 22:31:38     
我看到我 DDR芯片上 都是1G一片的 总共两片
以前玩的linux是可以在uboot的 cmdline 里面指定 内存大小
但是我用的这个系统没有呀

root=/dev/ram0 rdinit=/init BOOT_IMAGE=/Image usbcore.autosuspend=-1 rockchip_jtag earlyprintk=uart8250-32bit,0xff130000 boot=UUID=2003-1555 disk=UUID=c002a273-7c3e-4fea-ac8c-248124873d69 quiet console=uart8250,mmio32,0xff130000 console=tty0
回复

使用道具 举报

4万

积分

10

威望

12

贡献

神级创客

Rank: 8Rank: 8

积分
40230
发表于 2018-5-21 11:37:13     
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

371

积分

5

威望

0

贡献

技术达人

Rank: 2

积分
371
发表于 2018-5-30 09:57:52     
diff --git a/arch/arm/mach-rockchip/sdram_common.c b/arch/arm/mach-rockchip/sdram_common.c
index 76dbdc8..5233e7f 100644
--- a/arch/arm/mach-rockchip/sdram_common.c
+++ b/arch/arm/mach-rockchip/sdram_common.c
@@ -14,7 +14,7 @@
DECLARE_GLOBAL_DATA_PTR;
size_t rockchip_sdram_size(phys_addr_t reg)
{
-       u32 rank, col, bk, cs0_row, cs1_row, bw, row_3_4;
+       u32 rank, col, bk, cs0_row, cs1_row, bw, row_3_4, dbw, bg;
        size_t chipsize_mb = 0;
        size_t size_mb = 0;
        u32 ch;
@@ -37,16 +37,19 @@ size_t rockchip_sdram_size(phys_addr_t reg)
                        SYS_REG_BW_MASK));
                row_3_4 = sys_reg >> SYS_REG_ROW_3_4_SHIFT(ch) &
                        SYS_REG_ROW_3_4_MASK;
+               dbw = sys_reg >> SYS_REG_DBW_SHIFT(ch) & SYS_REG_DBW_MASK;
+               /* only used by DDR4 */
+               bg = (dbw == 1) ? 1 : 2;

-               chipsize_mb = (1 << (cs0_row + col + bk + bw - 20));
+               chipsize_mb = (1 << (cs0_row + col + bg + bk + bw - 20));

                if (rank > 1)
                        chipsize_mb += chipsize_mb >> (cs0_row - cs1_row);
                if (row_3_4)
                        chipsize_mb = chipsize_mb * 3 / 4;
                size_mb += chipsize_mb;
-               debug("rank %d col %d bk %d cs0_row %d bw %d row_3_4 %d\n",
-                     rank, col, bk, cs0_row, bw, row_3_4);
+               debug("rank %d col %d bk %d cs0_row %d bw %d row_3_4 %d dbw %d\n",
+                     rank, col, bk, cs0_row, bw, row_3_4, dbw);
        }

        return (size_t)size_mb << 20;
uboot 打上补丁
回复

使用道具 举报

6

积分

0

威望

0

贡献

技术小白

积分
6
发表于 2018-8-25 10:05:08     
zouxf 发表于 2018-5-21 11:37
内存大小是kernel自动识别的。

请问显存要如何调整呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2014-2022 中山市天启智能科技有限公司 粤ICP备14022046号
快速回复 返回顶部 返回列表