Skip to main content

释放RMem中的内存以共享所有的内存空间

​ rmem通常是linux系统为特定的模块预留的内存空间, 常用的是camera、lcd. 但是如果客户产品没有这些功能需求, 可以释放rmem以求得更大的可用系统内存空间. 那么如何释放rmem中的内存以共享所有的内存空间?

  1. 确定配置文件
bhu@bhu-PC:~/work/build$  cat ./configs/x1600e_halley6_nand_factory_defconfig | grep uboot
APP_uboot_toolchain_dir=../tools/toolchains/mips-gcc520-glibc222
APP_uboot_dir=../bootloader/uboot-x2000
APP_uboot_config=x1600e_base_halley6_xImage_sfc_nand

可知, 当前uboot编译目录为: ../bootloader/uboot-x2000

所用的uboot配置文件为: x1600e_base_halley6_xImage_sfc_nand

  1. 删除保留内存设置
bhu@bhu-PC:~/work/build$ cd ../bootloader/uboot-x2000
bhu@bhu-PC:~/work/bootloader/uboot-x2000$ vi boards.cfg

在boads.cfg中找到x1600e_base_halley6_xImage_sfc_nand对应的一行,删除RMEM_MB=XXX

  1. 重新编译uboot并烧录生成的uboot镜像
bhu@bhu-PC:~/work/bootloader/uboot-x2000$ cd ../../build
bhu@bhu-PC:~/work/build$ make uboot
  1. 确认是否释放rmem成功(在开发板的串口端)

33

可见, 已经没有了rmem的内存段显示. 至此,释放rmem的操作已完成.