[DESCRIPTION]//Project mk中的宏優先級比較高
默認的分區表文件partition_table_${PLATFORM}.xls是放在alps/mediatek/build/tools/ptgen/{PLATFORM}/目錄(JB/KK)或alps/device/mediatek/build/build/tools/ptgen/{PLATFORM}/ 目錄(L)下,對於一個平臺來說只有這一份。在客戶端經常會有在一套代碼的多個項目上設定不同的分區size的需求,具體的解決方案參考[SOLUTION]部分的說明。
[KEYWORD]
Partition Size
[SOLUTION]
(1) 在JB版本上(JB2.MP ~ JB9.MP),不同的平臺針對這個需求有不同的處理方法。
MT6572 (JB3.MP)和MT6571(JB7.MP)支援在alps/mediatek/config/<PROJECT>/目錄下放置project對應的分區表文件partition_table_MT65XX.xls,直接添加和修改分區表文件即可。
MT6589(JB2.MP),MT6582(JB5.MP),MT6592(JB9.MP)都不支援MT6572/71的方式。對於JB2.MP和JB5.MP如果有這樣的需求,可以參考"[FAQ09996] 同一套代碼實現不同的項目使用不同的客製化分區表" 進行客製化。
MT6592(JB9.MP)新增了一種客製化分區size的方法,即添加和設定alps/mediatek/config/${PROJECT}/BoardConfig.mk文件,在這個文件裏添加類似如下的設置,即可覆蓋分區表中對應分區的size。
BOARD_MTK_USRDATA_SIZE_KB := 942080
BOARD_MTK_ANDROID_SIZE_KB := 102400
BOARD_MTK_CACHE_SIZE_KB := 131072
這種方法有個限制就是隻能調整分區的size,而不能調整分區的結構。
(2) 在KK版本上,MT6572,MT6571,MT6592的客製化方法與JB版本完全相同,對於MT6589,MT6582也可以採用JB9.MP的方式,即修改BoardConfig.mk來修改各自project的partition size。
(3) 在L版本上,所有的平臺都支援修改alps/device/${COMPANY}/${PROJECT}/BoardConfig.mk來修改分區size,注意在BoardConfig.mk中定義的BOARD_MTK_${PARTITION_NAME}_SIZE_KB := XXXXXX 優先級高於分區表中定義的size,因此如果發現修改分區表中某個分區的size後,最後在out/target/product/${PROJECT}/${PLATFORM}_Android_scatter.txt中沒有生效,那麼請檢查BoardConfig.mk中的設定。