当前位置: 首页 > news >正文

从MTK的scat文件谈ROM和RAM的分配,管理和问题解决

mtk25平台默认的是128Mbit flash memory和32Mbit SRAM,因为1BYTE等于8BIT,所以就是我们通常所说的是16M ROM和4M RAM,不过由于文件系统占用2M,这2M一般又被分为系统盘和用户盘,系统盘存储NV文件和MMS相关文件,对用户不可见,用户盘用户连上电脑就可以看到,但由于一些原因,有不少手机是不设用户盘的,用户盘过大,会导致彩信等一些模块不稳定,所以很多使用NORFALSH时不设用户盘,但NAND FALSH一般都会设置一定的用户盘。如果需要设置,只要修改宏PARTITION_SIZE值就可以控制。所以我们能够使用的就只剩下14,这一点可以从BUILD目录下的scatWINGTECH25_GEMINI.txt文件的声明部分看到,在SCAT文件中,有一行是SCHEME : external 14MB flash memory and 4MB SRAM,就是说14MROM和4MRAM。

由于用户需求不同,有些时候我们会修改RAM和ROM大小,一般就要相应的修改SCAT文件。在SCAT文件中,我们可以看到行ROM 0x00000000 0x00e00000,就是说可以使用的ROM从0x00000000开始,到0x00e00000结束,共计0x00e00000字节,在下面又可以看到这些ROM被分成四个4M的段使用。在SCAT的行EXTSRAM_LARGEPOOL_NORMAL 0x08000000处我们可以看到RAM的使用情况,地址从0x08000000开始, 到0x08400000 结束,共计0x00400000BYTE,即4MBYTE,如果你是32MROM,8MRAM,就要修改ROM 0x00000000 0x00e00000为
ROM 0x00000000 0x01c00000,修改DUMMY_END 0x08400000 0x04为 DUMMY_END 0x08800000 0x04,这样的修改,现在的ROM和RAM大小都为以前默认的2倍。

其实有时RAM紧张时不一定非要采用增加RAM来实现,这样成本较大,可以采用复用内存也可以节约大量内存。在SCAT文件中,很多时候,我们可以看到关健字overlay,这是一些手机的应用中为节省内存使用的复合内存,如INTSRAM_MULTIMEDIA 0x40000000 0xC000,声明了MED复用内存的起始地址,只要不冲突,这几乎是最好的解决内存紧张的方法。如果ROM超过了,可能会比较麻烦一些,去掉不必要的图片,音乐,减小图片的质量,去掉一些不必要的功能,把宏函数转为普通函数都可以节约一部分ROM。

如果RAM或者ROM编绎到最后出错,提示ROM超了或者RAM超过了,这时就要精确计算超出部分的大小,然后再根据计算的大小寻找解决办法。计算的方法是打开LIS文件,把RAM或者ROM加起来,减去14或者4,超过的字节数,就是需要调整的内存大小

相关文章:

  • MTK资源管理和问题解决
  • 基于树莓派使用DuerOS的笔记,待续
  • 树莓派、百度DuerOS等RAW格式的镜像浏览、提取文件的方法
  • 几个常见的C语言面试题分析
  • Linux定期备份mysql
  • MTK基于基站和小区的定位技术研究
  • 第一次交叉编译基于群晖 213j(CPU:Armada 370)的iperf过程
  • MTK界面设计中消除PNG图片的杂色背景
  • 知道这20个正则表达式,能让你少写1,000行代码
  • MTK一些有用的层函数
  • 基于SWOOLE的分布式SOCKET消息服务器架构
  • MTK的铃声修改与替换
  • 基于SWOOLE的高可用分布式SOKET服务器系统搭建V2.0
  • 美化MTK的拨号窗口
  • javascript 18位身份证校验程序
  • JS 中的深拷贝与浅拷贝
  • [译]CSS 居中(Center)方法大合集
  • 【面试系列】之二:关于js原型
  • 3.7、@ResponseBody 和 @RestController
  • JavaScript设计模式之工厂模式
  • Java超时控制的实现
  • Node项目之评分系统(二)- 数据库设计
  • PHP 的 SAPI 是个什么东西
  • SwizzleMethod 黑魔法
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 漂亮刷新控件-iOS
  • 入口文件开始,分析Vue源码实现
  • 我的zsh配置, 2019最新方案
  • 我看到的前端
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • 【云吞铺子】性能抖动剖析(二)
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • ​你们这样子,耽误我的工作进度怎么办?
  • # 计算机视觉入门
  • #图像处理
  • (1)Nginx简介和安装教程
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (javascript)再说document.body.scrollTop的使用问题
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (zt)最盛行的警世狂言(爆笑)
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (十三)Maven插件解析运行机制
  • (一) storm的集群安装与配置
  • .apk文件,IIS不支持下载解决
  • .NET CLR Hosting 简介
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • .net Signalr 使用笔记
  • /etc/X11/xorg.conf 文件被误改后进不了图形化界面
  • @reference注解_Dubbo配置参考手册之dubbo:reference
  • [ 渗透工具篇 ] 一篇文章让你掌握神奇的shuize -- 信息收集自动化工具
  • [@Controller]4 详解@ModelAttribute
  • [<事务专题>]
  • [04] Android逐帧动画(一)