由于需要兼容更多的emcp,mcp,discrete dram,以及由于新的需求修改preloader code都可能会增大preloader bin的size,这时就可能会在build preloader阶段发生build error,log中会报类似以下的错误信息:===================== Building Fail =========================== IMG ROM Size: 101340 bytes > 100828 bytes!! WARNING: Reduce your code size first then compile again!! ========================================================= 以上这段error log是mediatek/platform//preloader/check_size.sh这个script报出来的,脚本中会比较build出的preloader bin和PL_MAX_ROM_SIZE的value,如果build出的preloader bin size超过这个值,就会报错。你会发现这个值一般都会设置的很小,不会超过128KB,也许你很奇怪为什么要限制的这么小,请继续看[SOLUTION]部分的说明。 PL_MAX_ROM_SIZE的value的值之所以设置的比较小,是因为开机时由于external dram还未被初始化,BROM会把preloader bin整体从flash(emmc or nand)load到chip内部的shared sram中。又由于chip内部的shared sram的size一般都会很小,典型的size是128KB(MT6572/71/82/92等),MT6595是256KB,因此preloader bin的size不能超过internal shared sram的size。 同时,还需要扣除Header, GFH 以及rum time BSS段,stack等占用的ram空间,留给真正preloader bin的空间就肯定会小于internal shared sram size。 因此当发生preloader bin size过大时,请不要自己增大PL_MAX_ROM_SIZE的value,这样做虽然可以build通过,但是可能会发生无法开机等奇怪的问题,且不容易debug。 對於JB版本,目前唯一的解决方法就是严格控制兼容的emcp,mcp,discrete dram个数,同时尽量避免在preloader中添加新的feature,如果要客制化新feature的话,建议移到lk去实做。相关的FAQ请参考"[FAQ07839]【Storage】eMMC和NAND Flash的兼容个数" 對於KK版本,由於Preloader新增了對LPDDR3的支援,因此default可能無法配置出10顆兼容的mcp/emcp/discrete dram,需要參考以下的說明修改code,減少debug code佔用的size。* MT6589/72/71平台,请修改alps\mediatek\platform\$PLATFORM\preloader\src\drivers\inc\mt_pmic_wrap_init.h文件* MT6582/92平台,请修改alps\mediatek\platform\$PLATFORM\preloader\src\drivers\inc\pmic_wrap_init.h文件 具体修改code的方法是一样的:(1)#define PMIC_WRAP_DEBUG //注释掉这一行(2)#define PWRAPERR(fmt, arg...) printf(PWRAPTAG "ERROR,line=%d " fmt, __LINE__, ##arg)修改为:#define PWRAPERR(fmt, arg...) printf(PWRAPTAG "ERROR,line=%d ", __LINE__) 另外JB3.MP MT6572版本的check_size.sh脚本存在bug,size检查机制会失效,如果您发现在这个脚本中PL_MAX_ROM_SIZE定义的方法如下,那么就说明您没有打上patch,需要提e-service申请ALPS00869854这笔patch。 # Keep ROM size smaller than 90KB PL_MAX_ROM_SIZE=(95*1024)
详细解决方案
Preloader bin size过大编译报错怎么办
热度:15 发布时间:2024-01-19 17:17:25.0
相关解决方案
- java.lang.IllegalArgumentException: Unsupported size
四、总结
C#是一种相当新的编程语言,C#的重要性体现在以下两个方面:- 要对页面中所有的表格应用<font size="2">如何实现呢
- org.springframework.dao.EmptyResultDataAccessException: Incorrect result size: expected 一, actual 0
另外说明,project_tree_view最新下载已经改换地址了,redmine中的版本已经不是最新的,最新的版本应该是0.0.4,但是问题依然存在,需要修改,最新地址为:https://github.com/cforce/projects_tree_view
- 请问:网页显示,诸如“<input type=text maxLength=64 size=64"之类的网页源码
那怎么解决用户控件的可见性问题?答案是Panel,把用户控件放到Panel控件中,通过控制Panel的可见性间接控制用户控件的可见性。

面向对象开发方法又称为快速原型化, 客观世界是由各种各样的对象组成的,每种对象都有各自的内部状态和运动规律,不同对象之间的相互作用和联系就构成了各种不同的系统。经历以下过程:

QML是从Qt 4.7开始引入的,QML是一种声明语言,使得可以像设计师思考的一样编码,并且Qt Quick元素就是应用程序的编译单元,每一帧的故事板被声明为元素树中的一个分支,每一个视觉方面的分支元素的属性被声明为一帧,每帧之间的过渡可装饰各种动画和特效。
安装一切正常,可是当要运行Xcode时,却提示“由于某个问题,Xcode不能打开!”
(1)k{n},表示n个k- out.println(onlineuserids.size());如何赋值到变量中
- html文本编辑器中的[size=十][/size],[b][/b]这是什么标签?专业术语是什么
- 请教html中<font size='12'>和<div style= 'font-size: 12px;'>有什么区别
- <hr size=50 width=1>用firefox浏览变成一个圆,为什么会这样?该如何处理
- phpstorm the jvm could not be started the maximum heap size
- 请教swfupload下传出现File exceeds the maximum allowed size
- Fatal error: Allowed memory size of 8388608 bytes exhausted解决办法
- $_FILES["file"]["size"] 结果单位疑问解决办法
- Maximum call stack size exceeded错误原因
- ajaxfileupload下传图片抱java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
- chrome浏览器font-size<12px无效解决方法
- flash.net.FileReference size 属性在air与web中差别