一.EMMC分区

1.修改modem惻 msm7627ym/core/storage/tools/jsdcc/partition_load/partition.xml里面的system或userdata空间大小.

2.然后编译modem侧代码,将生成的在msm7627ym/core/storage/tools/jsdcc/partition_load/目录下的文件rawprogram0.xml替换掉AP惻

的vendor/qcom/proprietary/tools/ext4_sparse/rawprogram0.xml.

3.然后修改device/qcom/msmxx/Boardconfig.mk里面的分区宏,使这个分区恰好小于modem惻的分区大小(因为modem惻被认为是物理分区)

4.编译system即可.

二.nandflash分区

只需要修改AP惻的lk和vendor两个目录即可:

1.在bootable/bootloader/lk/target/msmxx/init.c中有个board_part_list的数组,system的分区在里面修改,同样被认为是物理分区.

2.然后修改vendor下面的Boardconfig.mk,这个和前面emmc分区第三条一样.

3.编译system即可.


三.fastboot分布烧录(download)

进文件engine.c msm7627a/system/core/fastboot/

里面的函数fb_queue_flash添加如下补丁:

void fb_queue_flash(const char *ptn, void *data, unsigned sz)
{
Action *a;
//[modify for fastboot download img step by step 2013.1.4] {begain
int i;
int imax= sz/54067200;//50MB
int imod= sz%54067200;

for(i=0; i<imax; i++){
a = queue_action(OP_DOWNLOAD, "");
a->data = data+i*54067200;
a->size = 54067200;
a->msg = mkmsg("sending '%s' (%d KB)", ptn, 54067200 / 1024);

a = queue_action(OP_COMMAND, "flash:%s", ptn);
a->msg = mkmsg("writing '%s'", ptn);
}

if(imod){
a = queue_action(OP_DOWNLOAD, "");
a->data = data+imax*54067200;
a->size = imod;
a->msg = mkmsg("sending '%s' (%d KB)", ptn, imod / 1024);

a = queue_action(OP_COMMAND, "flash:%s", ptn);
a->msg = mkmsg("writing '%s'", ptn);
}

}

进文件nand.c msm7627a/bootable/bootloader/lk/platform/msm_shared/

里面的flash_write函数 添加补丁

int flash_write(struct ptentry *ptn, unsigned extra_per_page, const void *data,
unsigned bytes)
{
unsigned page = ptn->start * num_pages_per_blk;
unsigned lastpage = (ptn->start + ptn->length) * num_pages_per_blk;
unsigned *spare = (unsigned*) flash_spare;
const unsigned char *image = data;
unsigned wsize = flash_pagesize + extra_per_page;
unsigned n;
int r;
//[modify for fastboot download img step by step 2013.1.4] {begain
static unsigned index=0;

if (!strcmp(ptn->name, "system") ){
page=page+index*25600;
index++;
}

if (!strcmp(ptn->name, "system")&&bytes!=54067200 )
index=0;
//[modify for fastboot download img step by step 2013.1.4] }end

if ((flash_info.type == FLASH_ONENAND_DEVICE) && (ptn->type == TYPE_MODEM_PARTITION))
{
dprintf(CRITICAL, "flash_write_image: feature not supported\n");
return -1;
}
...........................

}


这样就解决了分区和烧录的问题了!谢谢.

更多相关文章

  1. android 文件下载
  2. Android使用主题配置文件,去掉程序启动界面的短暂黑屏。
  3. 关于Android中的几个文件目录
  4. Android生成Xml文件
  5. Android 生成签名及APK 文件
  6. Android文件系统的结构及目录用途、操作方法
  7. android文件系统

随机推荐

  1. Android(安卓)adb 常用技巧
  2. android——彻底关闭——应用程序
  3. 离线安装 Android(安卓)4.0 SDK
  4. Android游戏引擎选择
  5. Android总结篇系列:Android(安卓)权限
  6. 第七章 Android(安卓)动画机制与使用技巧
  7. Android开发中的logcat工具使用
  8. android关闭应用
  9. android中使用sqlite、复制assets下的数
  10. Android(安卓)Service生命周期及用法!