首页 > 代码库 > Preloader bin size过大编译报错怎么办
Preloader bin size过大编译报错怎么办
由于需要兼容更多的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过大编译报错怎么办
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。