高通增大分区以及烧录失败解决
来源:互联网 发布:windows 查看mac地址 编辑:程序博客网 时间:2024/05/22 05:42
一.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盘用量不断增大
- 数据库性能优化
- js高级语言
- android播放器如何获取音乐文件信息
- Ebay一些数据分析
- 混迹于C++之继承机制中的构造器和析构器
- 高通增大分区以及烧录失败解决
- gvim安装配置
- Java 普通算法研究一
- HttpClient 教程 (一)
- shell脚本详解
- Struts2 的工作原理
- Byte、KB、MB、GB、TB、PB、EB、ZB、YB、DB、NB你知多少
- android 中Intent 的用法
- js网页打印