下文描述的挺好,

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的scat文件谈ROM和RAM的分配,管理和问题解决(拷贝)相关推荐

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

    从MTK的scat文件谈ROM和RAM的分配,管理和问题解决 mtk25平台默认的是128Mbit flash memory 和 32Mbit SRAM,因为1BYTE等于8BIT,所以就是我们通常所 ...

  2. 根据scat文件,谈ROM和RAM的分配

    根据scat文件,谈ROM和RAM的分配 1.首先,使用大的FLASH,改scatter文件只改结束地址就OK,所以只要做你所说的第一步.后面的是按照偏移量自动去算的,除非是加特殊的第三方软件,一般是 ...

  3. scat 文件及Flash

    本文分为3部分: 1. 网上找的关于nand和nor flash 的比较; 2. mtk 26 上面norflash的scat划分; 3. scat 的深入应用; ●PART 1: NOR和NAND是 ...

  4. MTK 驱动 (70)---MTK Projiectconfig.mk文件详细解释

    MTK Projiectconfig.mk文件详细解释 AUTO_ADD_GLOBAL_DEFINE_BY_NAME AUTO_ADD_GLOBAL_DEFINE_BY_VALUE AUTO_ADD_ ...

  5. IAR软件*.map文件查看程序占用ROM和RAM大小

    查看单片机程序占用rom和ram的大小: IAR程序编译后会在Project\Debug\List文件夹下生成一个*,map文件,用文本编辑软件打开,在最后面的部分会有空间占用信息,例如下图 read ...

  6. 计算机flash ram是什么意思,ROM、RAM、CPU、CACHE、FLASH的区别

    内存一般采用半导体存储单元,包括随机存储器(RAM),只读存储器(ROM),以及高速缓存(CACHE).只不过因为RAM是其中最重要的存储器,所以通常所说的内存即指电脑系统中的RAM. RAM要求每时 ...

  7. 扫盲:关于Android手机内存ROM、RAM还有SD卡的解释

    买Android手机,除了CPU外,接下来最重要的可能就是ROM.RAM.SD卡的大小了.那就赶紧来了解一下手机内存ROM.RAM还有SD卡的重要性吧,不然在买手机的时候可能会吃亏. 因为一些手机厂家 ...

  8. stm32中堆、栈、flash、ROM、RAM、bss段、data段、text段、Code、Ro-data、 ZI-data、RW-data简介

    1. 堆.栈.flash.ROM.RAM.bss段.data段.text段.Code.Ro-data ZI-data.RW-data的区别? 1.1 堆.栈简介 堆栈是指在stm32启动文件中定义的那 ...

  9. 嵌入式--深入理解单片机(一)单片机程序是如何运行起来的以及单片机的ROM和RAM

    目录 一.两种处理器的结构体系 1.哈佛结构体系(Harvard architecture) 2.冯·诺依曼结构体系 3.两种结构的总结 哈佛结构的优势 冯·诺依曼结构的优势 当前很多芯片都是混合结构 ...

最新文章

  1. 城市生态的机器人革命
  2. mysql预处理 更新_MySQL 预处理方法更新删除-2018年04月27日00时59分
  3. 深度学习(主要是CNN)用于图片的分类和检测总结
  4. 我的世界光影mod怎么用_用“戏剧化”光影艺术 唤醒千年沉睡世界!
  5. 牛客多校9 - Groundhog Chasing Death(质因子分解+思维)
  6. ASP.NET中密码保护,MD5和SHA1算法的使用
  7. js基础 之 引用类型
  8. c语言明解课后答案,《明解C语言》第三章笔记和练习题
  9. this指针常识性问题
  10. php openssl 处理pkcs8,openssl生成RSA格式,并转为pkcs8格式
  11. 会计计算机二级考试试题,计算机二级考试真题-Word-小刘-会计电算化节节高升...
  12. TensorFlow 人脸识别网络与对抗网络搭建
  13. 大学计算机课程学习路线 左飞老师
  14. ubuntu16.04+七彩虹GTX1060的NVIDIA驱动+Cuda8.0+cudnn5.1+tensorflow+keras搭建深度学习环境【学习笔记】【原创】
  15. 华硕笔记本电脑一键重装系统详细教程
  16. 分享大神的一些博文、视频、资料--持续更新
  17. word2016背景色如何设置为保护眼睛的苹果绿
  18. 求1000以内的“完数”
  19. 段永平-雪球专刊·段永平投资问答录(上册 商业逻辑篇)(二)
  20. 华为怎么退出子用户_华为游戏中心怎么退出账号的具体步骤

热门文章

  1. HTML5外包团队—Sencha Touch 2.3 正式版下载
  2. 怎么使用flashfxp,5步学会使用flashfxp
  3. java代码批量下载_Java代码实战:线程池实现批量下载文件
  4. 如何用Pyqt5实现在程序中动态修改界面的语言(英语转中文或者中文转英语)
  5. MySQL- 23- 视图
  6. mysql报错2052_mysql常用错误代码和消息
  7. 18、ADS使用记录之超宽带功放设计
  8. Arduino ESP32 中断计时器
  9. JAVA计算两个日期相差多少天
  10. python五子棋算法_BetaMeow----利用机器学习做五子棋AI