高通增大分区以及烧录失败解决
来源:互联网 发布:js获取input选中的值 编辑:程序博客网 时间:2024/05/21 20:29
版权声明:本文为博主原创文章,未经博主允许不得转载。
一.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;
}
...........................
}
这样就解决了分区和烧录的问题了!谢谢.
- 高通增大分区以及烧录失败解决
- 高通增大分区以及烧录失败解决
- 高通增大分区以及烧录失败解决
- linux增大交换分区
- 增大swap分区
- 【system】利用Diskpart命令(cmd)解决装机分区格式不对,增大C盘空间问题
- linux 修改分区之后启动失败以及分区相关命令
- LVM中增大根分区方法
- Linux 制作分区和增大LVM
- LVM增大和减小ext4、xfs分区
- AndroidKiller高版本反编译失败解决
- 解决ubuntu下windows分区挂载失败
- Ionic以及Cordova安装失败解决案例
- 安装Angular-Cli以及失败原因解决
- 安装Angular-Cli以及失败原因解决
- 高通平台开发环境搭建、编译、烧录(android5.1以上系统)
- 内存溢出以及增大 JVM 虚拟内存
- Win7 解决C盘用量不断增大
- oracle的sql查询
- 项目中如何使用solr
- Cookie的分类和Cookie的常用API
- 内存分配与回收策略
- android javap命令生成自定义类签名
- 高通增大分区以及烧录失败解决
- CRC校验
- POJ2536-Gopher II
- ajax具有返回值,但是返回值无法使用
- 理解之 原型链
- js 随机参数
- Python书籍推荐
- 支付宝服务窗API接口开发php版本
- POJ3176 Cow Bowling